Matrak API Reference

Hello, it’s nice to meet you! Welcome to the Matrak API Reference.

The Matrak API integrates into your internal tech solutions, giving everyone across your supply chain a trusted single source of truth.

You’ll gain insight into your materials tracking and control over your raw data, which can then be used for analyses and reporting to your team. By creating supply chain visibility, you can mitigate potential risks to construction projects, as well as enable better communication between your team members.

This API was built to allow you to edit, track and link materials in bulk. You can also create, update, delete and fetch material records. Or even link and associate materials to other containers and stillages.

That’s just a few of the many things you can do with the Matrak API. This reference was written to guide you on its many capabilities, what you can do and how you can easily execute these features into your own tech solutions.

Contact

Matrak Support

support@matrak.com

API Endpoints
https://graphql.matrak.com.au/
Headers
Authorization: <YOUR_TOKEN_HERE>
Version

1.0.0

Getting Started

Authentication

To access our APIs, you need an authentication key (API key). To obtain your API key, please contact our technical support team at support@matrak.com. Once you have your API key, include it in your requests to authenticate and interact with our services.

Using the API Explorer

You can explore and test our API using the Matrak GraphQL Explorer, available at https://graphql.matrak.com.au/. This web-based tool allows you to run queries and mutations against our live production data. Please use caution when making changes, as they will directly impact the live environment.

Sandbox Environment

Overview

Our Sandbox environment provides a safe and fully functional replica of our production environment, allowing developers to test their API integrations without affecting live production data. This environment is synced with production data daily, ensuring it remains up-to-date.

Access

The Sandbox environment can be accessed at https://sandbox.matrak.com.au/.

Using the GraphQL Editor

Developers can test their API usage in the GraphQL editor available at https://graphql.sandbox.matrak.com.au/.

Changelog

Future changes in this document will reflect changes in our API's

Queries

ColourStatus

Description

Return one colour status by its internal ID

Response

Returns a ColourStatus

Arguments
Name Description
id - Int! Internal ID for the colour status

Example

Query
query ColourStatus($id: Int!) {
  ColourStatus(id: $id) {
    id
    project {
      ...ProjectFragment
    }
    status
    colour
  }
}
Variables
{"id": 987}
Response
{
  "data": {
    "ColourStatus": {
      "id": 987,
      "project": Project,
      "status": "xyz789",
      "colour": "abc123"
    }
  }
}

Description

Description

Return one description by its internal ID

Response

Returns a Description

Arguments
Name Description
id - Int! Internal ID for the description

Example

Query
query Description($id: Int!) {
  Description(id: $id) {
    id
    recordType {
      ...RecordTypeFragment
    }
    name
    type
    descriptionType
    order
    listValues {
      ...ListValueFragment
    }
    listValuesCount
    list
  }
}
Variables
{"id": 123}
Response
{
  "data": {
    "Description": {
      "id": 123,
      "recordType": RecordType,
      "name": "xyz789",
      "type": "abc123",
      "descriptionType": "TEXT",
      "order": 123,
      "listValues": [ListValue],
      "listValuesCount": 123,
      "list": 123
    }
  }
}

Drawing

Description

Return one drawing by its internal ID

Response

Returns a Drawing

Arguments
Name Description
id - Int! Internal ID for the drawing

Example

Query
query Drawing($id: Int!) {
  Drawing(id: $id) {
    id
    displayName
    type
    project {
      ...ProjectFragment
    }
    createdAt
    updatedAt
    overlays {
      ...RecordOverlayFragment
    }
    overlayCount
    url
    maxResolutionUrl
    thumbnailUrl
    svgPath
    svgUrl
    pdfTextUrl
    originalFileUrl
    filename
  }
}
Variables
{"id": 987}
Response
{
  "data": {
    "Drawing": {
      "id": 123,
      "displayName": "abc123",
      "type": "abc123",
      "project": Project,
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "overlays": [RecordOverlay],
      "overlayCount": 987,
      "url": "abc123",
      "maxResolutionUrl": "xyz789",
      "thumbnailUrl": "abc123",
      "svgPath": "abc123",
      "svgUrl": "xyz789",
      "pdfTextUrl": "abc123",
      "originalFileUrl": "abc123",
      "filename": "xyz789"
    }
  }
}

HistoryDescriptionValues

Description

Return one history description value by its internal ID

Response

Returns a HistoryDescriptionValues!

Arguments
Name Description
id - Int! Internal ID for the history description value

Example

Query
query HistoryDescriptionValues($id: Int!) {
  HistoryDescriptionValues(id: $id) {
    id
    userId
    recordId
    recordValueId
    descriptionId
    timestamp
    action
    prevValue
    newValue
    app
  }
}
Variables
{"id": 987}
Response
{
  "data": {
    "HistoryDescriptionValues": {
      "id": 987,
      "userId": 987,
      "recordId": 123,
      "recordValueId": 123,
      "descriptionId": 987,
      "timestamp": "2007-12-03",
      "action": "xyz789",
      "prevValue": "xyz789",
      "newValue": "xyz789",
      "app": "xyz789"
    }
  }
}

HistoryRecord

Description

Return one history record by its internal ID

Response

Returns a HistoryRecord

Arguments
Name Description
id - Int! Internal ID for the history record

Example

Query
query HistoryRecord($id: Int!) {
  HistoryRecord(id: $id) {
    id
    userId
    projectId
    action
    timestamp
    recordId
    previousRecordTypeId
    newRecordTypeId
    recordTypeId
  }
}
Variables
{"id": 123}
Response
{
  "data": {
    "HistoryRecord": {
      "id": 987,
      "userId": 987,
      "projectId": 123,
      "action": "xyz789",
      "timestamp": "2007-12-03",
      "recordId": 123,
      "previousRecordTypeId": 123,
      "newRecordTypeId": 123,
      "recordTypeId": 987
    }
  }
}

HistoryRecordType

Description

Return one history record type by its internal ID

Response

Returns a HistoryRecordType

Arguments
Name Description
id - Int! Internal ID for the history record type

Example

Query
query HistoryRecordType($id: Int!) {
  HistoryRecordType(id: $id) {
    id
    user {
      ...UserFragment
    }
    projectId
    action
    timestamp
    recordTypeId
    prevRecordType
    nextRecordType
    prevCategory
    nextCategory
    prevSubcategory
    nextSubcategory
    prevRecordTypeOrder
    nextRecordTypeOrder
  }
}
Variables
{"id": 123}
Response
{
  "data": {
    "HistoryRecordType": {
      "id": 123,
      "user": User,
      "projectId": 123,
      "action": "xyz789",
      "timestamp": "abc123",
      "recordTypeId": 987,
      "prevRecordType": "abc123",
      "nextRecordType": "xyz789",
      "prevCategory": "xyz789",
      "nextCategory": "xyz789",
      "prevSubcategory": "abc123",
      "nextSubcategory": "xyz789",
      "prevRecordTypeOrder": 987,
      "nextRecordTypeOrder": 123
    }
  }
}

HistoryWorkflowRules

Description

Return one history workflow rule by its internal ID

Response

Returns a HistoryWorkflowRules

Arguments
Name Description
id - Int! Internal ID for the history workflow rule

Example

Query
query HistoryWorkflowRules($id: Int!) {
  HistoryWorkflowRules(id: $id) {
    id
    workflowRuleId
    workflowRule {
      ...WorkflowRulesFragment
    }
    name
    description
    companyId
    company {
      ...CompanyFragment
    }
    projectId
    project {
      ...ProjectFragment
    }
    trigger
    conditions
    actions
    isEnabled
    createdByUserId
    createdByUser {
      ...UserFragment
    }
    modifiedByUserId
    modifiedByUser {
      ...UserFragment
    }
    createdAt
    action
  }
}
Variables
{"id": 987}
Response
{
  "data": {
    "HistoryWorkflowRules": {
      "id": 123,
      "workflowRuleId": 123,
      "workflowRule": WorkflowRules,
      "name": "abc123",
      "description": "abc123",
      "companyId": 987,
      "company": Company,
      "projectId": 123,
      "project": Project,
      "trigger": "abc123",
      "conditions": {},
      "actions": {},
      "isEnabled": true,
      "createdByUserId": 123,
      "createdByUser": User,
      "modifiedByUserId": 123,
      "modifiedByUser": User,
      "createdAt": "2007-12-03",
      "action": "abc123"
    }
  }
}

ImportBatch

Description

Return one import batch by its internal ID

Response

Returns an ImportBatch

Arguments
Name Description
id - Int! Internal ID for the import batch

Example

Query
query ImportBatch($id: Int!) {
  ImportBatch(id: $id) {
    id
    user {
      ...UserFragment
    }
    company {
      ...CompanyFragment
    }
    project {
      ...ProjectFragment
    }
    createdRecords
    updatedRecords
    linkedRecords
    createdAt
    updatedAt
    completedAt
    importResultId
    status
    source
    name
  }
}
Variables
{"id": 123}
Response
{
  "data": {
    "ImportBatch": {
      "id": 123,
      "user": User,
      "company": Company,
      "project": Project,
      "createdRecords": 123,
      "updatedRecords": 123,
      "linkedRecords": 987,
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "completedAt": "2007-12-03",
      "importResultId": "abc123",
      "status": "QUEUED",
      "source": "abc123",
      "name": "abc123"
    }
  }
}

Project

Description

Get a specific Project

Response

Returns a Project

Arguments
Name Description
id - Int! Internal ID for the project

Example

Query
query Project($id: Int!) {
  Project(id: $id) {
    id
    name
    address
    owner
    contactDetails
    comments
    startDate
    endDate
    createdAt
    updatedAt
    companies {
      ...CompanyFragment
    }
    users {
      ...UserFragment
    }
    usersCount
  }
}
Variables
{"id": 123}
Response
{
  "data": {
    "Project": {
      "id": 987,
      "name": "abc123",
      "address": "abc123",
      "owner": "xyz789",
      "contactDetails": "abc123",
      "comments": "abc123",
      "startDate": "2007-12-03",
      "endDate": "2007-12-03",
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "companies": [Company],
      "users": [User],
      "usersCount": 123
    }
  }
}

Record

Description

Get a specific Record

Response

Returns a Record

Arguments
Name Description
id - Int Internal ID for the record

Example

Query
query Record($id: Int) {
  Record(id: $id) {
    id
    recordId
    project {
      ...ProjectFragment
    }
    recordType {
      ...RecordTypeFragment
    }
    values {
      ...RecordValueFragment
    }
    value {
      ...RecordValueFragment
    }
    attachments {
      ...AttachmentFragment
    }
    childLink {
      ...LinkFragment
    }
    parentLink {
      ...LinkFragment
    }
    linkedRecords {
      ...RecordFragment
    }
  }
}
Variables
{"id": 123}
Response
{
  "data": {
    "Record": {
      "id": 987,
      "recordId": "xyz789",
      "project": Project,
      "recordType": RecordType,
      "values": [RecordValue],
      "value": RecordValue,
      "attachments": [Attachment],
      "childLink": [Link],
      "parentLink": [Link],
      "linkedRecords": [Record]
    }
  }
}

RecordOverlay

Description

Return one record overlay by its internal ID

Response

Returns a RecordOverlay

Arguments
Name Description
id - Int! Internal ID for the record overlay

Example

Query
query RecordOverlay($id: Int!) {
  RecordOverlay(id: $id) {
    id
    record {
      ...RecordFragment
    }
    drawing {
      ...DrawingFragment
    }
    shape
    data
    createdAt
    updatedAt
  }
}
Variables
{"id": 123}
Response
{
  "data": {
    "RecordOverlay": {
      "id": 123,
      "record": Record,
      "drawing": Drawing,
      "shape": "polygon",
      "data": "abc123",
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03"
    }
  }
}

RecordType

Description

Get a specific Record Type

Response

Returns a RecordType

Arguments
Name Description
id - Int Internal ID for the record type

Example

Query
query RecordType($id: Int) {
  RecordType(id: $id) {
    id
    name
    category
    subCategory
    order
    descriptions {
      ...DescriptionFragment
    }
    descriptionsCount
    trade {
      ...TradeFragment
    }
  }
}
Variables
{"id": 123}
Response
{
  "data": {
    "RecordType": {
      "id": 123,
      "name": "xyz789",
      "category": "abc123",
      "subCategory": "abc123",
      "order": 987,
      "descriptions": [Description],
      "descriptionsCount": 123,
      "trade": Trade
    }
  }
}

Sheet

Description

Return one sheet by its internal ID

Response

Returns a Sheet

Arguments
Name Description
id - Int! Internal ID for the sheet

Example

Query
query Sheet($id: Int!) {
  Sheet(id: $id) {
    id
    title
    order
    isEditable
    isCompanySharable
    isFavourite
    view
    isDefaultForNewUsers
    columns {
      ...SheetColumnFragment
    }
    columnGroups {
      ...SheetColumnGroupFragment
    }
    filters {
      ...SheetDataFilterFragment
    }
    sort {
      ...SheetSortFragment
    }
    user {
      ...UserFragment
    }
    project {
      ...ProjectFragment
    }
    lists {
      ...SheetListFragment
    }
    colorStatus {
      ...ColourStatusFragment
    }
    treeData
    sharing
  }
}
Variables
{"id": 123}
Response
{
  "data": {
    "Sheet": {
      "id": 123,
      "title": "xyz789",
      "order": 987,
      "isEditable": false,
      "isCompanySharable": false,
      "isFavourite": true,
      "view": "abc123",
      "isDefaultForNewUsers": true,
      "columns": [SheetColumn],
      "columnGroups": [SheetColumnGroup],
      "filters": [SheetDataFilter],
      "sort": [SheetSort],
      "user": User,
      "project": Project,
      "lists": [SheetList],
      "colorStatus": [ColourStatus],
      "treeData": true,
      "sharing": "abc123"
    }
  }
}

SheetColumn

Description

Return one sheet column by its internal ID

Response

Returns a SheetColumn

Arguments
Name Description
id - Int! Internal ID for the sheet column

Example

Query
query SheetColumn($id: Int!) {
  SheetColumn(id: $id) {
    id
    title
    visible
    width
    type
    columnOrder
    aggregate
    columnGroup {
      ...SheetColumnGroupFragment
    }
  }
}
Variables
{"id": 123}
Response
{
  "data": {
    "SheetColumn": {
      "id": 987,
      "title": "xyz789",
      "visible": true,
      "width": 123,
      "type": "index",
      "columnOrder": 123,
      "aggregate": "none",
      "columnGroup": SheetColumnGroup
    }
  }
}

SheetGroupBy

Description

Return one sheet group by by its internal ID

Response

Returns a SheetGroupBy

Arguments
Name Description
id - Int! Internal ID for the sheet group by

Example

Query
query SheetGroupBy($id: Int!) {
  SheetGroupBy(id: $id) {
    id
    title
    sheetColumn {
      ...SheetColumnFragment
    }
    sheet {
      ...SheetFragment
    }
    groupByOrder
  }
}
Variables
{"id": 987}
Response
{
  "data": {
    "SheetGroupBy": {
      "id": 123,
      "title": "abc123",
      "sheetColumn": SheetColumn,
      "sheet": Sheet,
      "groupByOrder": 123
    }
  }
}

SheetSort

Description

Return one sheet sort by its internal ID

Response

Returns a SheetSort

Arguments
Name Description
id - Int! Internal ID for the sheet sort

Example

Query
query SheetSort($id: Int!) {
  SheetSort(id: $id) {
    id
    column {
      ...SheetColumnFragment
    }
    sheet {
      ...SheetFragment
    }
    order
    direction
  }
}
Variables
{"id": 123}
Response
{
  "data": {
    "SheetSort": {
      "id": 987,
      "column": SheetColumn,
      "sheet": Sheet,
      "order": 123,
      "direction": "asc"
    }
  }
}

Team

Description

Return one team by its internal ID

Response

Returns a Team

Arguments
Name Description
id - Int! Internal ID for the team

Example

Query
query Team($id: Int!) {
  Team(id: $id) {
    id
    name
    company {
      ...CompanyFragment
    }
    color
    createdAt
    updatedAt
  }
}
Variables
{"id": 123}
Response
{
  "data": {
    "Team": {
      "id": 987,
      "name": "xyz789",
      "company": Company,
      "color": "abc123",
      "createdAt": "xyz789",
      "updatedAt": "xyz789"
    }
  }
}

Trade

Description

Return one trade by its internal ID

Response

Returns a Trade

Arguments
Name Description
id - Int! Internal ID for the trade

Example

Query
query Trade($id: Int!) {
  Trade(id: $id) {
    id
    name
    createdAt
    updatedAt
  }
}
Variables
{"id": 987}
Response
{
  "data": {
    "Trade": {
      "id": 987,
      "name": "abc123",
      "createdAt": "abc123",
      "updatedAt": "xyz789"
    }
  }
}

User

Description

Return one user by its internal ID

Response

Returns a User

Arguments
Name Description
id - Int! Internal ID for the user

Example

Query
query User($id: Int!) {
  User(id: $id) {
    id
    company {
      ...CompanyFragment
    }
    companyId
    firstName
    lastName
    email
    phoneNumber
    role
    jobTitle
    createdAt
    updatedAt
    lastLogin
    projectAccess {
      ...ProjectAccessFragment
    }
    projects {
      ...ProjectFragment
    }
    team
    language
    timezone
    userTeams {
      ...TeamFragment
    }
  }
}
Variables
{"id": 987}
Response
{
  "data": {
    "User": {
      "id": 123,
      "company": Company,
      "companyId": 987,
      "firstName": "xyz789",
      "lastName": "abc123",
      "email": "abc123",
      "phoneNumber": "xyz789",
      "role": "abc123",
      "jobTitle": "xyz789",
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "lastLogin": "2007-12-03",
      "projectAccess": [ProjectAccess],
      "projects": [Project],
      "team": "xyz789",
      "language": "english",
      "timezone": Timezone,
      "userTeams": [Team]
    }
  }
}

WorkflowRules

Description

Return one workflow rule by its internal ID

Response

Returns a WorkflowRules

Arguments
Name Description
id - Int! Internal ID for the workflow rule

Example

Query
query WorkflowRules($id: Int!) {
  WorkflowRules(id: $id) {
    id
    name
    description
    company {
      ...CompanyFragment
    }
    companyId
    project {
      ...ProjectFragment
    }
    projectId
    trigger
    conditions
    actions
    isEnabled
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    modifiedByUser {
      ...UserFragment
    }
    modifiedByUserId
    createdAt
    updatedAt
  }
}
Variables
{"id": 987}
Response
{
  "data": {
    "WorkflowRules": {
      "id": 987,
      "name": "xyz789",
      "description": "abc123",
      "company": Company,
      "companyId": 123,
      "project": Project,
      "projectId": 987,
      "trigger": "CREATE_RECORD",
      "conditions": {},
      "actions": {},
      "isEnabled": false,
      "createdByUser": User,
      "createdByUserId": 123,
      "modifiedByUser": User,
      "modifiedByUserId": 123,
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03"
    }
  }
}

_allColourStatusMeta

Description

Return count metadata for colour status matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - ColourStatusFilter Filter criteria for colour status

Example

Query
query _allColourStatusMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: ColourStatusFilter
) {
  _allColourStatusMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 987,
  "perPage": 123,
  "sortField": "abc123",
  "sortOrder": "abc123",
  "filter": ColourStatusFilter
}
Response
{"data": {"_allColourStatusMeta": {"count": 123}}}

_allDescriptionsMeta

Description

Return count metadata for descriptions matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - DescriptionFilter Filter criteria for descriptions

Example

Query
query _allDescriptionsMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: DescriptionFilter
) {
  _allDescriptionsMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 123,
  "perPage": 987,
  "sortField": "abc123",
  "sortOrder": "abc123",
  "filter": DescriptionFilter
}
Response
{"data": {"_allDescriptionsMeta": {"count": 987}}}

_allDrawingsMeta

Description

Return count metadata for drawings matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - DrawingFilter Filter criteria for drawings

Example

Query
query _allDrawingsMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: DrawingFilter
) {
  _allDrawingsMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 987,
  "perPage": 987,
  "sortField": "xyz789",
  "sortOrder": "abc123",
  "filter": DrawingFilter
}
Response
{"data": {"_allDrawingsMeta": {"count": 123}}}

_allHistoryDescriptionValuesMeta

Description

Return count metadata for history description values matching the supplied filters

Response

Returns a ListMetadata!

Arguments
Name Description
offset - Int Offset used by all history description values meta
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
filter - HistoryDescriptionValuesFilter Filter criteria for history description values
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set

Example

Query
query _allHistoryDescriptionValuesMeta(
  $offset: Int,
  $page: Int,
  $perPage: Int,
  $filter: HistoryDescriptionValuesFilter,
  $sortField: String,
  $sortOrder: String
) {
  _allHistoryDescriptionValuesMeta(
    offset: $offset,
    page: $page,
    perPage: $perPage,
    filter: $filter,
    sortField: $sortField,
    sortOrder: $sortOrder
  ) {
    count
  }
}
Variables
{
  "offset": 987,
  "page": 987,
  "perPage": 987,
  "filter": HistoryDescriptionValuesFilter,
  "sortField": "abc123",
  "sortOrder": "xyz789"
}
Response
{"data": {"_allHistoryDescriptionValuesMeta": {"count": 987}}}

_allHistoryLinksMeta

Description

Return count metadata for history links matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - HistoryLinkFilter Filter criteria for history links

Example

Query
query _allHistoryLinksMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: HistoryLinkFilter
) {
  _allHistoryLinksMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 123,
  "perPage": 987,
  "sortField": "abc123",
  "sortOrder": "xyz789",
  "filter": HistoryLinkFilter
}
Response
{"data": {"_allHistoryLinksMeta": {"count": 987}}}

_allHistoryRecordTypesMeta

Description

Return count metadata for history record types matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - HistoryRecordTypeFilter Filter criteria for history record types

Example

Query
query _allHistoryRecordTypesMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: HistoryRecordTypeFilter
) {
  _allHistoryRecordTypesMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 123,
  "perPage": 123,
  "sortField": "xyz789",
  "sortOrder": "xyz789",
  "filter": HistoryRecordTypeFilter
}
Response
{"data": {"_allHistoryRecordTypesMeta": {"count": 987}}}

_allHistoryRecordsMeta

Description

Return count metadata for history records matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - HistoryRecordFilter Filter criteria for history records

Example

Query
query _allHistoryRecordsMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: HistoryRecordFilter
) {
  _allHistoryRecordsMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 123,
  "perPage": 123,
  "sortField": "abc123",
  "sortOrder": "abc123",
  "filter": HistoryRecordFilter
}
Response
{"data": {"_allHistoryRecordsMeta": {"count": 987}}}

_allHistoryWorkflowRulesMeta

Description

Return count metadata for history workflow rules matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - HistoryWorkflowRulesFilter Filter criteria for history workflow rules

Example

Query
query _allHistoryWorkflowRulesMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: HistoryWorkflowRulesFilter
) {
  _allHistoryWorkflowRulesMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 123,
  "perPage": 123,
  "sortField": "abc123",
  "sortOrder": "abc123",
  "filter": HistoryWorkflowRulesFilter
}
Response
{"data": {"_allHistoryWorkflowRulesMeta": {"count": 123}}}

_allImportBatchesMeta

Description

Return count metadata for import batches matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - ImportBatchFilter Filter criteria for import batches

Example

Query
query _allImportBatchesMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: ImportBatchFilter
) {
  _allImportBatchesMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 123,
  "perPage": 123,
  "sortField": "abc123",
  "sortOrder": "xyz789",
  "filter": ImportBatchFilter
}
Response
{"data": {"_allImportBatchesMeta": {"count": 123}}}

_allProjectsMeta

Description

Return count metadata for projects matching the supplied filters

Response

Returns a ListMetadata!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - ProjectFilter Filter criteria for projects

Example

Query
query _allProjectsMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: ProjectFilter
) {
  _allProjectsMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 987,
  "perPage": 123,
  "sortField": "abc123",
  "sortOrder": "abc123",
  "filter": ProjectFilter
}
Response
{"data": {"_allProjectsMeta": {"count": 987}}}

_allRecordOverlaysMeta

Description

Return count metadata for record overlays matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - RecordOverlayFilter Filter criteria for record overlays

Example

Query
query _allRecordOverlaysMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: RecordOverlayFilter
) {
  _allRecordOverlaysMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 123,
  "perPage": 123,
  "sortField": "abc123",
  "sortOrder": "abc123",
  "filter": RecordOverlayFilter
}
Response
{"data": {"_allRecordOverlaysMeta": {"count": 123}}}

_allRecordTypesMeta

Description

Get metadata about how many Record Types would be available after a filter is applied

Response

Returns a ListMetadata!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - RecordTypeFilter Filter criteria for record types

Example

Query
query _allRecordTypesMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: RecordTypeFilter
) {
  _allRecordTypesMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 987,
  "perPage": 987,
  "sortField": "abc123",
  "sortOrder": "abc123",
  "filter": RecordTypeFilter
}
Response
{"data": {"_allRecordTypesMeta": {"count": 987}}}

_allRecordValueHistoryAggregationsMeta

Description

Return count metadata for record value history aggregations matching the supplied filters

Response

Returns a ListMetadata!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
filter - HistoryDescriptionValuesFilter Filter criteria for record value history aggregations
groupBy - AggregationGroupByOptions! Group by used by all record value history aggregations meta
description - DescriptionByNameOrId! Description used by all record value history aggregations meta
recordFilter - RecordFilter Record filter used by all record value history aggregations meta

Example

Query
query _allRecordValueHistoryAggregationsMeta(
  $page: Int,
  $perPage: Int,
  $filter: HistoryDescriptionValuesFilter,
  $groupBy: AggregationGroupByOptions!,
  $description: DescriptionByNameOrId!,
  $recordFilter: RecordFilter
) {
  _allRecordValueHistoryAggregationsMeta(
    page: $page,
    perPage: $perPage,
    filter: $filter,
    groupBy: $groupBy,
    description: $description,
    recordFilter: $recordFilter
  ) {
    count
  }
}
Variables
{
  "page": 987,
  "perPage": 987,
  "filter": HistoryDescriptionValuesFilter,
  "groupBy": "DAILY",
  "description": DescriptionByNameOrId,
  "recordFilter": RecordFilter
}
Response
{"data": {"_allRecordValueHistoryAggregationsMeta": {"count": 987}}}

_allRecordsMeta

Description

Get metadata about how many records would be available after a filter is applied

Response

Returns a ListMetadata!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - RecordFilter Filter criteria for records

Example

Query
query _allRecordsMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: RecordFilter
) {
  _allRecordsMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 123,
  "perPage": 123,
  "sortField": "xyz789",
  "sortOrder": "abc123",
  "filter": RecordFilter
}
Response
{"data": {"_allRecordsMeta": {"count": 987}}}

_allSheetColumnsMeta

Description

Return count metadata for sheet columns matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - SheetColumnFilter Filter criteria for sheet columns

Example

Query
query _allSheetColumnsMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: SheetColumnFilter
) {
  _allSheetColumnsMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 123,
  "perPage": 123,
  "sortField": "xyz789",
  "sortOrder": "xyz789",
  "filter": SheetColumnFilter
}
Response
{"data": {"_allSheetColumnsMeta": {"count": 123}}}

_allSheetGroupBysMeta

Description

Return count metadata for sheet group bys matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - SheetGroupByFilter Filter criteria for sheet group bys

Example

Query
query _allSheetGroupBysMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: SheetGroupByFilter
) {
  _allSheetGroupBysMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 987,
  "perPage": 123,
  "sortField": "xyz789",
  "sortOrder": "abc123",
  "filter": SheetGroupByFilter
}
Response
{"data": {"_allSheetGroupBysMeta": {"count": 987}}}

_allSheetRowsMeta

Description

Return count metadata for sheet rows matching the supplied filters

Response

Returns a SheetRowMetadata!

Arguments
Name Description
sheetId - Int! Sheet ID used by all sheet rows meta
offset - Int Offset used by all sheet rows meta
perPage - Int Maximum number of records to return
projectId - Int Project ID used to scope the operation
filter - RecordFilter Filter criteria for sheet rows
groupKeys - [String!] Group keys used by all sheet rows meta
rowGroupCols - [SheetGroupColInput!] Row group cols used by all sheet rows meta
aggCols - [SheetAggregateColInput!] Agg cols used by all sheet rows meta
treeData - Boolean Tree data used by all sheet rows meta

Example

Query
query _allSheetRowsMeta(
  $sheetId: Int!,
  $offset: Int,
  $perPage: Int,
  $projectId: Int,
  $filter: RecordFilter,
  $groupKeys: [String!],
  $rowGroupCols: [SheetGroupColInput!],
  $aggCols: [SheetAggregateColInput!],
  $treeData: Boolean
) {
  _allSheetRowsMeta(
    sheetId: $sheetId,
    offset: $offset,
    perPage: $perPage,
    projectId: $projectId,
    filter: $filter,
    groupKeys: $groupKeys,
    rowGroupCols: $rowGroupCols,
    aggCols: $aggCols,
    treeData: $treeData
  ) {
    count
    recordCount
  }
}
Variables
{
  "sheetId": 123,
  "offset": 123,
  "perPage": 123,
  "projectId": 987,
  "filter": RecordFilter,
  "groupKeys": ["abc123"],
  "rowGroupCols": [SheetGroupColInput],
  "aggCols": [SheetAggregateColInput],
  "treeData": false
}
Response
{"data": {"_allSheetRowsMeta": {"count": 987, "recordCount": 123}}}

_allSheetSortsMeta

Description

Return count metadata for sheet sorts matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - SheetSortFilter Filter criteria for sheet sorts

Example

Query
query _allSheetSortsMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: SheetSortFilter
) {
  _allSheetSortsMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 987,
  "perPage": 123,
  "sortField": "xyz789",
  "sortOrder": "xyz789",
  "filter": SheetSortFilter
}
Response
{"data": {"_allSheetSortsMeta": {"count": 987}}}

_allSheetsMeta

Description

Return count metadata for sheets matching the supplied filters

Response

Returns a ListMetadata!

Arguments
Name Description
projectId - Int Project ID used to scope the operation
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - AllSheetsFilter Filter criteria for sheets

Example

Query
query _allSheetsMeta(
  $projectId: Int,
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: AllSheetsFilter
) {
  _allSheetsMeta(
    projectId: $projectId,
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "projectId": 123,
  "page": 987,
  "perPage": 987,
  "sortField": "abc123",
  "sortOrder": "abc123",
  "filter": AllSheetsFilter
}
Response
{"data": {"_allSheetsMeta": {"count": 987}}}

_allTeamsMeta

Description

Return count metadata for teams matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - TeamFilter Filter criteria for teams

Example

Query
query _allTeamsMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: TeamFilter
) {
  _allTeamsMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 123,
  "perPage": 123,
  "sortField": "abc123",
  "sortOrder": "abc123",
  "filter": TeamFilter
}
Response
{"data": {"_allTeamsMeta": {"count": 123}}}

_allTradeMeta

Description

Return count metadata for trade matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - TradeFilter Filter criteria for trade

Example

Query
query _allTradeMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: TradeFilter
) {
  _allTradeMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 123,
  "perPage": 123,
  "sortField": "xyz789",
  "sortOrder": "xyz789",
  "filter": TradeFilter
}
Response
{"data": {"_allTradeMeta": {"count": 987}}}

_allUsersMeta

Description

Return count metadata for users matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - UserFilter Filter criteria for users

Example

Query
query _allUsersMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: UserFilter
) {
  _allUsersMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 987,
  "perPage": 987,
  "sortField": "abc123",
  "sortOrder": "xyz789",
  "filter": UserFilter
}
Response
{"data": {"_allUsersMeta": {"count": 123}}}

_allWorkflowRulesMeta

Description

Return count metadata for workflow rules matching the supplied filters

Response

Returns a ListMetadata

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - WorkflowRulesFilter Filter criteria for workflow rules

Example

Query
query _allWorkflowRulesMeta(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: WorkflowRulesFilter
) {
  _allWorkflowRulesMeta(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    count
  }
}
Variables
{
  "page": 987,
  "perPage": 987,
  "sortField": "xyz789",
  "sortOrder": "xyz789",
  "filter": WorkflowRulesFilter
}
Response
{"data": {"_allWorkflowRulesMeta": {"count": 987}}}

allColourStatus

Description

Return a paginated list of colour status matching the supplied filters

Response

Returns [ColourStatus]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - ColourStatusFilter Filter criteria for colour status
format - String Format used by all colour status

Example

Query
query allColourStatus(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: ColourStatusFilter,
  $format: String
) {
  allColourStatus(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter,
    format: $format
  ) {
    id
    project {
      ...ProjectFragment
    }
    status
    colour
  }
}
Variables
{
  "page": 123,
  "perPage": 123,
  "sortField": "xyz789",
  "sortOrder": "xyz789",
  "filter": ColourStatusFilter,
  "format": "abc123"
}
Response
{
  "data": {
    "allColourStatus": [
      {
        "id": 987,
        "project": Project,
        "status": "abc123",
        "colour": "xyz789"
      }
    ]
  }
}

allDescriptions

Description

Return a paginated list of descriptions matching the supplied filters

Response

Returns [Description]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - DescriptionFilter Filter criteria for descriptions

Example

Query
query allDescriptions(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: DescriptionFilter
) {
  allDescriptions(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    recordType {
      ...RecordTypeFragment
    }
    name
    type
    descriptionType
    order
    listValues {
      ...ListValueFragment
    }
    listValuesCount
    list
  }
}
Variables
{
  "page": 987,
  "perPage": 987,
  "sortField": "xyz789",
  "sortOrder": "xyz789",
  "filter": DescriptionFilter
}
Response
{
  "data": {
    "allDescriptions": [
      {
        "id": 987,
        "recordType": RecordType,
        "name": "xyz789",
        "type": "xyz789",
        "descriptionType": "TEXT",
        "order": 987,
        "listValues": [ListValue],
        "listValuesCount": 987,
        "list": 987
      }
    ]
  }
}

allDrawings

Description

Return a paginated list of drawings matching the supplied filters

Response

Returns [Drawing!]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - DrawingFilter Filter criteria for drawings

Example

Query
query allDrawings(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: DrawingFilter
) {
  allDrawings(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    displayName
    type
    project {
      ...ProjectFragment
    }
    createdAt
    updatedAt
    overlays {
      ...RecordOverlayFragment
    }
    overlayCount
    url
    maxResolutionUrl
    thumbnailUrl
    svgPath
    svgUrl
    pdfTextUrl
    originalFileUrl
    filename
  }
}
Variables
{
  "page": 987,
  "perPage": 123,
  "sortField": "xyz789",
  "sortOrder": "abc123",
  "filter": DrawingFilter
}
Response
{
  "data": {
    "allDrawings": [
      {
        "id": 123,
        "displayName": "xyz789",
        "type": "abc123",
        "project": Project,
        "createdAt": "2007-12-03",
        "updatedAt": "2007-12-03",
        "overlays": [RecordOverlay],
        "overlayCount": 987,
        "url": "xyz789",
        "maxResolutionUrl": "abc123",
        "thumbnailUrl": "abc123",
        "svgPath": "abc123",
        "svgUrl": "xyz789",
        "pdfTextUrl": "xyz789",
        "originalFileUrl": "abc123",
        "filename": "abc123"
      }
    ]
  }
}

allHistoryDescriptionValues

Description

Get a list of updates made to record values

Response

Returns [HistoryDescriptionValues]!

Arguments
Name Description
offset - Int Offset used by all history description values
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
filter - HistoryDescriptionValuesFilter Filter criteria for history description values
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set

Example

Query
query allHistoryDescriptionValues(
  $offset: Int,
  $page: Int,
  $perPage: Int,
  $filter: HistoryDescriptionValuesFilter,
  $sortField: String,
  $sortOrder: String
) {
  allHistoryDescriptionValues(
    offset: $offset,
    page: $page,
    perPage: $perPage,
    filter: $filter,
    sortField: $sortField,
    sortOrder: $sortOrder
  ) {
    id
    userId
    recordId
    recordValueId
    descriptionId
    timestamp
    action
    prevValue
    newValue
    app
  }
}
Variables
{
  "offset": 123,
  "page": 987,
  "perPage": 987,
  "filter": HistoryDescriptionValuesFilter,
  "sortField": "xyz789",
  "sortOrder": "xyz789"
}
Response
{
  "data": {
    "allHistoryDescriptionValues": [
      {
        "id": 987,
        "userId": 123,
        "recordId": 123,
        "recordValueId": 987,
        "descriptionId": 987,
        "timestamp": "2007-12-03",
        "action": "abc123",
        "prevValue": "xyz789",
        "newValue": "xyz789",
        "app": "xyz789"
      }
    ]
  }
}

allHistoryDescriptions

Description

Return a paginated list of history descriptions matching the supplied filters

Response

Returns [HistoryDescription!]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - HistoryDescriptionFilter Filter criteria for history descriptions

Example

Query
query allHistoryDescriptions(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: HistoryDescriptionFilter
) {
  allHistoryDescriptions(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    user {
      ...UserFragment
    }
    projectId
    descriptionId
    action
    timestamp
    prevDescription
    nextDescription
    prevList
    nextList
    prevDescriptionType
    nextDescriptionType
    prevDescriptionOrder
    nextDescriptionOrder
    recordTypeId
  }
}
Variables
{
  "page": 123,
  "perPage": 987,
  "sortField": "abc123",
  "sortOrder": "xyz789",
  "filter": HistoryDescriptionFilter
}
Response
{
  "data": {
    "allHistoryDescriptions": [
      {
        "id": 123,
        "user": User,
        "projectId": 987,
        "descriptionId": 987,
        "action": "abc123",
        "timestamp": "xyz789",
        "prevDescription": "xyz789",
        "nextDescription": "xyz789",
        "prevList": 987,
        "nextList": 123,
        "prevDescriptionType": "xyz789",
        "nextDescriptionType": "abc123",
        "prevDescriptionOrder": 987,
        "nextDescriptionOrder": "abc123",
        "recordTypeId": 987
      }
    ]
  }
}

allHistoryListValues

Description

Return a paginated list of history list values matching the supplied filters

Response

Returns [HistoryListValue!]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - HistoryListValueFilter Filter criteria for history list values

Example

Query
query allHistoryListValues(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: HistoryListValueFilter
) {
  allHistoryListValues(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    user {
      ...UserFragment
    }
    action
    timestamp
    listValueId
    prevListValue
    nextListValue
    prevListValueOrder
    nextListValueOrder
  }
}
Variables
{
  "page": 123,
  "perPage": 123,
  "sortField": "abc123",
  "sortOrder": "xyz789",
  "filter": HistoryListValueFilter
}
Response
{
  "data": {
    "allHistoryListValues": [
      {
        "id": 123,
        "user": User,
        "action": "abc123",
        "timestamp": "xyz789",
        "listValueId": 987,
        "prevListValue": "abc123",
        "nextListValue": "abc123",
        "prevListValueOrder": 987,
        "nextListValueOrder": 123
      }
    ]
  }
}

allHistoryRecordTypes

Description

Return a paginated list of history record types matching the supplied filters

Response

Returns [HistoryRecordType!]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - HistoryRecordTypeFilter Filter criteria for history record types

Example

Query
query allHistoryRecordTypes(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: HistoryRecordTypeFilter
) {
  allHistoryRecordTypes(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    user {
      ...UserFragment
    }
    projectId
    action
    timestamp
    recordTypeId
    prevRecordType
    nextRecordType
    prevCategory
    nextCategory
    prevSubcategory
    nextSubcategory
    prevRecordTypeOrder
    nextRecordTypeOrder
  }
}
Variables
{
  "page": 987,
  "perPage": 123,
  "sortField": "xyz789",
  "sortOrder": "abc123",
  "filter": HistoryRecordTypeFilter
}
Response
{
  "data": {
    "allHistoryRecordTypes": [
      {
        "id": 987,
        "user": User,
        "projectId": 987,
        "action": "xyz789",
        "timestamp": "xyz789",
        "recordTypeId": 123,
        "prevRecordType": "abc123",
        "nextRecordType": "xyz789",
        "prevCategory": "xyz789",
        "nextCategory": "abc123",
        "prevSubcategory": "xyz789",
        "nextSubcategory": "xyz789",
        "prevRecordTypeOrder": 123,
        "nextRecordTypeOrder": 987
      }
    ]
  }
}

allHistoryRecords

Description

Return a paginated list of history records matching the supplied filters

Response

Returns [HistoryRecord]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - HistoryRecordFilter Filter criteria for history records

Example

Query
query allHistoryRecords(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: HistoryRecordFilter
) {
  allHistoryRecords(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    userId
    projectId
    action
    timestamp
    recordId
    previousRecordTypeId
    newRecordTypeId
    recordTypeId
  }
}
Variables
{
  "page": 123,
  "perPage": 987,
  "sortField": "xyz789",
  "sortOrder": "abc123",
  "filter": HistoryRecordFilter
}
Response
{
  "data": {
    "allHistoryRecords": [
      {
        "id": 123,
        "userId": 123,
        "projectId": 123,
        "action": "xyz789",
        "timestamp": "2007-12-03",
        "recordId": 987,
        "previousRecordTypeId": 987,
        "newRecordTypeId": 123,
        "recordTypeId": 987
      }
    ]
  }
}

allHistoryWorkflowRules

Description

Return a paginated list of history workflow rules matching the supplied filters

Response

Returns [HistoryWorkflowRules!]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - HistoryWorkflowRulesFilter Filter criteria for history workflow rules

Example

Query
query allHistoryWorkflowRules(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: HistoryWorkflowRulesFilter
) {
  allHistoryWorkflowRules(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    workflowRuleId
    workflowRule {
      ...WorkflowRulesFragment
    }
    name
    description
    companyId
    company {
      ...CompanyFragment
    }
    projectId
    project {
      ...ProjectFragment
    }
    trigger
    conditions
    actions
    isEnabled
    createdByUserId
    createdByUser {
      ...UserFragment
    }
    modifiedByUserId
    modifiedByUser {
      ...UserFragment
    }
    createdAt
    action
  }
}
Variables
{
  "page": 123,
  "perPage": 987,
  "sortField": "abc123",
  "sortOrder": "abc123",
  "filter": HistoryWorkflowRulesFilter
}
Response
{
  "data": {
    "allHistoryWorkflowRules": [
      {
        "id": 987,
        "workflowRuleId": 987,
        "workflowRule": WorkflowRules,
        "name": "abc123",
        "description": "xyz789",
        "companyId": 123,
        "company": Company,
        "projectId": 123,
        "project": Project,
        "trigger": "xyz789",
        "conditions": {},
        "actions": {},
        "isEnabled": false,
        "createdByUserId": 123,
        "createdByUser": User,
        "modifiedByUserId": 987,
        "modifiedByUser": User,
        "createdAt": "2007-12-03",
        "action": "xyz789"
      }
    ]
  }
}

allImportBatches

Description

Return a paginated list of import batches matching the supplied filters

Response

Returns [ImportBatch]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - ImportBatchFilter Filter criteria for import batches

Example

Query
query allImportBatches(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: ImportBatchFilter
) {
  allImportBatches(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    user {
      ...UserFragment
    }
    company {
      ...CompanyFragment
    }
    project {
      ...ProjectFragment
    }
    createdRecords
    updatedRecords
    linkedRecords
    createdAt
    updatedAt
    completedAt
    importResultId
    status
    source
    name
  }
}
Variables
{
  "page": 987,
  "perPage": 987,
  "sortField": "xyz789",
  "sortOrder": "abc123",
  "filter": ImportBatchFilter
}
Response
{
  "data": {
    "allImportBatches": [
      {
        "id": 123,
        "user": User,
        "company": Company,
        "project": Project,
        "createdRecords": 987,
        "updatedRecords": 123,
        "linkedRecords": 123,
        "createdAt": "2007-12-03",
        "updatedAt": "2007-12-03",
        "completedAt": "2007-12-03",
        "importResultId": "xyz789",
        "status": "QUEUED",
        "source": "abc123",
        "name": "xyz789"
      }
    ]
  }
}

allLists

Description

Return a paginated list of lists matching the supplied filters

Response

Returns [ListValues!]!

Arguments
Name Description
projectId - Int! Project ID used to scope the operation

Example

Query
query allLists($projectId: Int!) {
  allLists(projectId: $projectId) {
    listId
    listValue
    listValueOrder
  }
}
Variables
{"projectId": 123}
Response
{
  "data": {
    "allLists": [
      {
        "listId": 123,
        "listValue": "abc123",
        "listValueOrder": 987
      }
    ]
  }
}

allProjects

Description

Get all projects for your company

Response

Returns [Project!]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - ProjectFilter Filter criteria for projects

Example

Query
query allProjects(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: ProjectFilter
) {
  allProjects(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    name
    address
    owner
    contactDetails
    comments
    startDate
    endDate
    createdAt
    updatedAt
    companies {
      ...CompanyFragment
    }
    users {
      ...UserFragment
    }
    usersCount
  }
}
Variables
{
  "page": 123,
  "perPage": 987,
  "sortField": "xyz789",
  "sortOrder": "abc123",
  "filter": ProjectFilter
}
Response
{
  "data": {
    "allProjects": [
      {
        "id": 123,
        "name": "abc123",
        "address": "xyz789",
        "owner": "xyz789",
        "contactDetails": "abc123",
        "comments": "xyz789",
        "startDate": "2007-12-03",
        "endDate": "2007-12-03",
        "createdAt": "2007-12-03",
        "updatedAt": "2007-12-03",
        "companies": [Company],
        "users": [User],
        "usersCount": 987
      }
    ]
  }
}

allRecordOverlays

Description

Return a paginated list of record overlays matching the supplied filters

Response

Returns [RecordOverlay]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - RecordOverlayFilter Filter criteria for record overlays

Example

Query
query allRecordOverlays(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: RecordOverlayFilter
) {
  allRecordOverlays(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    record {
      ...RecordFragment
    }
    drawing {
      ...DrawingFragment
    }
    shape
    data
    createdAt
    updatedAt
  }
}
Variables
{
  "page": 123,
  "perPage": 987,
  "sortField": "xyz789",
  "sortOrder": "abc123",
  "filter": RecordOverlayFilter
}
Response
{
  "data": {
    "allRecordOverlays": [
      {
        "id": 123,
        "record": Record,
        "drawing": Drawing,
        "shape": "polygon",
        "data": "xyz789",
        "createdAt": "2007-12-03",
        "updatedAt": "2007-12-03"
      }
    ]
  }
}

allRecordTypes

Description

Get a all the Record Types

Response

Returns [RecordType!]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - RecordTypeFilter Filter criteria for record types

Example

Query
query allRecordTypes(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: RecordTypeFilter
) {
  allRecordTypes(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    name
    category
    subCategory
    order
    descriptions {
      ...DescriptionFragment
    }
    descriptionsCount
    trade {
      ...TradeFragment
    }
  }
}
Variables
{
  "page": 123,
  "perPage": 123,
  "sortField": "abc123",
  "sortOrder": "abc123",
  "filter": RecordTypeFilter
}
Response
{
  "data": {
    "allRecordTypes": [
      {
        "id": 123,
        "name": "abc123",
        "category": "abc123",
        "subCategory": "xyz789",
        "order": 123,
        "descriptions": [Description],
        "descriptionsCount": 987,
        "trade": Trade
      }
    ]
  }
}

allRecordValueHistoryAggregations

Description

Return a paginated list of record value history aggregations matching the supplied filters

Response

Returns a RecordValueHistoryAggregation!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
filter - HistoryDescriptionValuesFilter Filter criteria for record value history aggregations
groupBy - AggregationGroupByOptions! Group by used by all record value history aggregations
description - DescriptionByNameOrId! Description used by all record value history aggregations
recordFilter - RecordFilter Record filter used by all record value history aggregations

Example

Query
query allRecordValueHistoryAggregations(
  $page: Int,
  $perPage: Int,
  $filter: HistoryDescriptionValuesFilter,
  $groupBy: AggregationGroupByOptions!,
  $description: DescriptionByNameOrId!,
  $recordFilter: RecordFilter
) {
  allRecordValueHistoryAggregations(
    page: $page,
    perPage: $perPage,
    filter: $filter,
    groupBy: $groupBy,
    description: $description,
    recordFilter: $recordFilter
  ) {
    groupBy
    fieldValues
    groupedUpdates {
      ...GroupedUpdateFragment
    }
    groupedUpdatesByDate {
      ...GroupedUpdatesByDateFragment
    }
  }
}
Variables
{
  "page": 987,
  "perPage": 123,
  "filter": HistoryDescriptionValuesFilter,
  "groupBy": "DAILY",
  "description": DescriptionByNameOrId,
  "recordFilter": RecordFilter
}
Response
{
  "data": {
    "allRecordValueHistoryAggregations": {
      "groupBy": "DAILY",
      "fieldValues": ["abc123"],
      "groupedUpdates": [GroupedUpdate],
      "groupedUpdatesByDate": [GroupedUpdatesByDate]
    }
  }
}

allRecords

Description

Get a list of Records

Response

Returns [Record!]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - RecordFilter Filter criteria for records

Example

Query
query allRecords(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: RecordFilter
) {
  allRecords(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    recordId
    project {
      ...ProjectFragment
    }
    recordType {
      ...RecordTypeFragment
    }
    values {
      ...RecordValueFragment
    }
    value {
      ...RecordValueFragment
    }
    attachments {
      ...AttachmentFragment
    }
    childLink {
      ...LinkFragment
    }
    parentLink {
      ...LinkFragment
    }
    linkedRecords {
      ...RecordFragment
    }
  }
}
Variables
{
  "page": 987,
  "perPage": 123,
  "sortField": "xyz789",
  "sortOrder": "xyz789",
  "filter": RecordFilter
}
Response
{
  "data": {
    "allRecords": [
      {
        "id": 123,
        "recordId": "xyz789",
        "project": Project,
        "recordType": RecordType,
        "values": [RecordValue],
        "value": RecordValue,
        "attachments": [Attachment],
        "childLink": [Link],
        "parentLink": [Link],
        "linkedRecords": [Record]
      }
    ]
  }
}

allSheetColumnOptions

Description

Return a paginated list of sheet column options matching the supplied filters

Response

Returns [SheetColumnOption]!

Arguments
Name Description
sheetId - Int! Sheet ID used by all sheet column options
projectId - Int Project ID used to scope the operation

Example

Query
query allSheetColumnOptions(
  $sheetId: Int!,
  $projectId: Int
) {
  allSheetColumnOptions(
    sheetId: $sheetId,
    projectId: $projectId
  ) {
    id
    title
    type
    available
    enabled
    width
    columnOrder
    dbId
    groupName
  }
}
Variables
{"sheetId": 987, "projectId": 987}
Response
{
  "data": {
    "allSheetColumnOptions": [
      {
        "id": "abc123",
        "title": "xyz789",
        "type": "index",
        "available": true,
        "enabled": true,
        "width": 987,
        "columnOrder": 987,
        "dbId": 123,
        "groupName": "abc123"
      }
    ]
  }
}

allSheetColumns

Description

Return a paginated list of sheet columns matching the supplied filters

Response

Returns [SheetColumn]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - SheetColumnFilter Filter criteria for sheet columns

Example

Query
query allSheetColumns(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: SheetColumnFilter
) {
  allSheetColumns(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    title
    visible
    width
    type
    columnOrder
    aggregate
    columnGroup {
      ...SheetColumnGroupFragment
    }
  }
}
Variables
{
  "page": 123,
  "perPage": 123,
  "sortField": "xyz789",
  "sortOrder": "abc123",
  "filter": SheetColumnFilter
}
Response
{
  "data": {
    "allSheetColumns": [
      {
        "id": 123,
        "title": "xyz789",
        "visible": false,
        "width": 123,
        "type": "index",
        "columnOrder": 123,
        "aggregate": "none",
        "columnGroup": SheetColumnGroup
      }
    ]
  }
}

allSheetGroupBys

Description

Return a paginated list of sheet group bys matching the supplied filters

Response

Returns [SheetGroupBy!]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - SheetGroupByFilter Filter criteria for sheet group bys

Example

Query
query allSheetGroupBys(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: SheetGroupByFilter
) {
  allSheetGroupBys(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    title
    sheetColumn {
      ...SheetColumnFragment
    }
    sheet {
      ...SheetFragment
    }
    groupByOrder
  }
}
Variables
{
  "page": 123,
  "perPage": 123,
  "sortField": "abc123",
  "sortOrder": "xyz789",
  "filter": SheetGroupByFilter
}
Response
{
  "data": {
    "allSheetGroupBys": [
      {
        "id": 987,
        "title": "abc123",
        "sheetColumn": SheetColumn,
        "sheet": Sheet,
        "groupByOrder": 123
      }
    ]
  }
}

allSheetRowUpdates

Description

Return a paginated list of sheet row updates matching the supplied filters

Response

Returns [SheetRow!]!

Arguments
Name Description
sheetId - Int! Sheet ID used by all sheet row updates
offset - Int Offset used by all sheet row updates
perPage - Int Maximum number of records to return
projectId - Int Project ID used to scope the operation
filter - RecordFilter Filter criteria for sheet row updates
groupKeys - [String!] Group keys used by all sheet row updates
rowGroupCols - [SheetGroupColInput!] Row group cols used by all sheet row updates
aggCols - [SheetAggregateColInput!] Agg cols used by all sheet row updates
treeData - Boolean Tree data used by all sheet row updates

Example

Query
query allSheetRowUpdates(
  $sheetId: Int!,
  $offset: Int,
  $perPage: Int,
  $projectId: Int,
  $filter: RecordFilter,
  $groupKeys: [String!],
  $rowGroupCols: [SheetGroupColInput!],
  $aggCols: [SheetAggregateColInput!],
  $treeData: Boolean
) {
  allSheetRowUpdates(
    sheetId: $sheetId,
    offset: $offset,
    perPage: $perPage,
    projectId: $projectId,
    filter: $filter,
    groupKeys: $groupKeys,
    rowGroupCols: $rowGroupCols,
    aggCols: $aggCols,
    treeData: $treeData
  ) {
    cells {
      ...SheetCellFragment
    }
    type
  }
}
Variables
{
  "sheetId": 987,
  "offset": 987,
  "perPage": 987,
  "projectId": 987,
  "filter": RecordFilter,
  "groupKeys": ["xyz789"],
  "rowGroupCols": [SheetGroupColInput],
  "aggCols": [SheetAggregateColInput],
  "treeData": true
}
Response
{
  "data": {
    "allSheetRowUpdates": [
      {"cells": [SheetCell], "type": "record"}
    ]
  }
}

allSheetRows

Description

Return a paginated list of sheet rows matching the supplied filters

Response

Returns [SheetRow!]!

Arguments
Name Description
sheetId - Int! Sheet ID used by all sheet rows
offset - Int Offset used by all sheet rows
perPage - Int Maximum number of records to return
projectId - Int Project ID used to scope the operation
filter - RecordFilter Filter criteria for sheet rows
groupKeys - [String!] Group keys used by all sheet rows
rowGroupCols - [SheetGroupColInput!] Row group cols used by all sheet rows
aggCols - [SheetAggregateColInput!] Agg cols used by all sheet rows
treeData - Boolean Tree data used by all sheet rows

Example

Query
query allSheetRows(
  $sheetId: Int!,
  $offset: Int,
  $perPage: Int,
  $projectId: Int,
  $filter: RecordFilter,
  $groupKeys: [String!],
  $rowGroupCols: [SheetGroupColInput!],
  $aggCols: [SheetAggregateColInput!],
  $treeData: Boolean
) {
  allSheetRows(
    sheetId: $sheetId,
    offset: $offset,
    perPage: $perPage,
    projectId: $projectId,
    filter: $filter,
    groupKeys: $groupKeys,
    rowGroupCols: $rowGroupCols,
    aggCols: $aggCols,
    treeData: $treeData
  ) {
    cells {
      ...SheetCellFragment
    }
    type
  }
}
Variables
{
  "sheetId": 987,
  "offset": 123,
  "perPage": 987,
  "projectId": 123,
  "filter": RecordFilter,
  "groupKeys": ["abc123"],
  "rowGroupCols": [SheetGroupColInput],
  "aggCols": [SheetAggregateColInput],
  "treeData": false
}
Response
{
  "data": {
    "allSheetRows": [
      {"cells": [SheetCell], "type": "record"}
    ]
  }
}

allSheetSorts

Description

Return a paginated list of sheet sorts matching the supplied filters

Response

Returns [SheetSort]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - SheetSortFilter Filter criteria for sheet sorts

Example

Query
query allSheetSorts(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: SheetSortFilter
) {
  allSheetSorts(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    column {
      ...SheetColumnFragment
    }
    sheet {
      ...SheetFragment
    }
    order
    direction
  }
}
Variables
{
  "page": 123,
  "perPage": 987,
  "sortField": "abc123",
  "sortOrder": "xyz789",
  "filter": SheetSortFilter
}
Response
{
  "data": {
    "allSheetSorts": [
      {
        "id": 987,
        "column": SheetColumn,
        "sheet": Sheet,
        "order": 987,
        "direction": "asc"
      }
    ]
  }
}

allSheets

Description

Return a paginated list of sheets matching the supplied filters

Response

Returns [Sheet!]!

Arguments
Name Description
projectId - Int Project ID used to scope the operation
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - AllSheetsFilter Filter criteria for sheets

Example

Query
query allSheets(
  $projectId: Int,
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: AllSheetsFilter
) {
  allSheets(
    projectId: $projectId,
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    title
    order
    isEditable
    isCompanySharable
    isFavourite
    view
    isDefaultForNewUsers
    columns {
      ...SheetColumnFragment
    }
    columnGroups {
      ...SheetColumnGroupFragment
    }
    filters {
      ...SheetDataFilterFragment
    }
    sort {
      ...SheetSortFragment
    }
    user {
      ...UserFragment
    }
    project {
      ...ProjectFragment
    }
    lists {
      ...SheetListFragment
    }
    colorStatus {
      ...ColourStatusFragment
    }
    treeData
    sharing
  }
}
Variables
{
  "projectId": 987,
  "page": 123,
  "perPage": 987,
  "sortField": "xyz789",
  "sortOrder": "abc123",
  "filter": AllSheetsFilter
}
Response
{
  "data": {
    "allSheets": [
      {
        "id": 987,
        "title": "xyz789",
        "order": 987,
        "isEditable": false,
        "isCompanySharable": false,
        "isFavourite": false,
        "view": "xyz789",
        "isDefaultForNewUsers": false,
        "columns": [SheetColumn],
        "columnGroups": [SheetColumnGroup],
        "filters": [SheetDataFilter],
        "sort": [SheetSort],
        "user": User,
        "project": Project,
        "lists": [SheetList],
        "colorStatus": [ColourStatus],
        "treeData": true,
        "sharing": "abc123"
      }
    ]
  }
}

allTeams

Description

Return a paginated list of teams matching the supplied filters

Response

Returns [Team]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - TeamFilter Filter criteria for teams

Example

Query
query allTeams(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: TeamFilter
) {
  allTeams(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    name
    company {
      ...CompanyFragment
    }
    color
    createdAt
    updatedAt
  }
}
Variables
{
  "page": 123,
  "perPage": 987,
  "sortField": "xyz789",
  "sortOrder": "xyz789",
  "filter": TeamFilter
}
Response
{
  "data": {
    "allTeams": [
      {
        "id": 123,
        "name": "xyz789",
        "company": Company,
        "color": "xyz789",
        "createdAt": "abc123",
        "updatedAt": "abc123"
      }
    ]
  }
}

allTrades

Description

Return a paginated list of trades matching the supplied filters

Response

Returns [Trade]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - TradeFilter Filter criteria for trades

Example

Query
query allTrades(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: TradeFilter
) {
  allTrades(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    name
    createdAt
    updatedAt
  }
}
Variables
{
  "page": 123,
  "perPage": 123,
  "sortField": "abc123",
  "sortOrder": "abc123",
  "filter": TradeFilter
}
Response
{
  "data": {
    "allTrades": [
      {
        "id": 987,
        "name": "xyz789",
        "createdAt": "abc123",
        "updatedAt": "xyz789"
      }
    ]
  }
}

allUsers

Description

Return a paginated list of users matching the supplied filters

Response

Returns [User]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - UserFilter Filter criteria for users

Example

Query
query allUsers(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: UserFilter
) {
  allUsers(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    company {
      ...CompanyFragment
    }
    companyId
    firstName
    lastName
    email
    phoneNumber
    role
    jobTitle
    createdAt
    updatedAt
    lastLogin
    projectAccess {
      ...ProjectAccessFragment
    }
    projects {
      ...ProjectFragment
    }
    team
    language
    timezone
    userTeams {
      ...TeamFragment
    }
  }
}
Variables
{
  "page": 987,
  "perPage": 123,
  "sortField": "abc123",
  "sortOrder": "abc123",
  "filter": UserFilter
}
Response
{
  "data": {
    "allUsers": [
      {
        "id": 123,
        "company": Company,
        "companyId": 123,
        "firstName": "xyz789",
        "lastName": "abc123",
        "email": "abc123",
        "phoneNumber": "xyz789",
        "role": "abc123",
        "jobTitle": "xyz789",
        "createdAt": "2007-12-03",
        "updatedAt": "2007-12-03",
        "lastLogin": "2007-12-03",
        "projectAccess": [ProjectAccess],
        "projects": [Project],
        "team": "abc123",
        "language": "english",
        "timezone": Timezone,
        "userTeams": [Team]
      }
    ]
  }
}

allWorkflowRules

Description

Return a paginated list of workflow rules matching the supplied filters

Response

Returns [WorkflowRules]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - WorkflowRulesFilter Filter criteria for workflow rules

Example

Query
query allWorkflowRules(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: WorkflowRulesFilter
) {
  allWorkflowRules(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    name
    description
    company {
      ...CompanyFragment
    }
    companyId
    project {
      ...ProjectFragment
    }
    projectId
    trigger
    conditions
    actions
    isEnabled
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    modifiedByUser {
      ...UserFragment
    }
    modifiedByUserId
    createdAt
    updatedAt
  }
}
Variables
{
  "page": 987,
  "perPage": 123,
  "sortField": "xyz789",
  "sortOrder": "xyz789",
  "filter": WorkflowRulesFilter
}
Response
{
  "data": {
    "allWorkflowRules": [
      {
        "id": 987,
        "name": "abc123",
        "description": "abc123",
        "company": Company,
        "companyId": 123,
        "project": Project,
        "projectId": 987,
        "trigger": "CREATE_RECORD",
        "conditions": {},
        "actions": {},
        "isEnabled": true,
        "createdByUser": User,
        "createdByUserId": 987,
        "modifiedByUser": User,
        "modifiedByUserId": 987,
        "createdAt": "2007-12-03",
        "updatedAt": "2007-12-03"
      }
    ]
  }
}

authenticatedUser

Description

Return the user associated with the current authenticated request

Response

Returns a User

Example

Query
query authenticatedUser {
  authenticatedUser {
    id
    company {
      ...CompanyFragment
    }
    companyId
    firstName
    lastName
    email
    phoneNumber
    role
    jobTitle
    createdAt
    updatedAt
    lastLogin
    projectAccess {
      ...ProjectAccessFragment
    }
    projects {
      ...ProjectFragment
    }
    team
    language
    timezone
    userTeams {
      ...TeamFragment
    }
  }
}
Response
{
  "data": {
    "authenticatedUser": {
      "id": 987,
      "company": Company,
      "companyId": 987,
      "firstName": "xyz789",
      "lastName": "abc123",
      "email": "xyz789",
      "phoneNumber": "xyz789",
      "role": "abc123",
      "jobTitle": "abc123",
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "lastLogin": "2007-12-03",
      "projectAccess": [ProjectAccess],
      "projects": [Project],
      "team": "xyz789",
      "language": "english",
      "timezone": Timezone,
      "userTeams": [Team]
    }
  }
}

companySheets

Description

Return company-scoped sheets for the current user context

Response

Returns [Sheet!]!

Arguments
Name Description
page - Int Zero-based page number to return
perPage - Int Maximum number of records to return
sortField - String Field name used to sort the result set
sortOrder - String Sort direction for the result set
filter - AllSheetsFilter Filter criteria for company sheets

Example

Query
query companySheets(
  $page: Int,
  $perPage: Int,
  $sortField: String,
  $sortOrder: String,
  $filter: AllSheetsFilter
) {
  companySheets(
    page: $page,
    perPage: $perPage,
    sortField: $sortField,
    sortOrder: $sortOrder,
    filter: $filter
  ) {
    id
    title
    order
    isEditable
    isCompanySharable
    isFavourite
    view
    isDefaultForNewUsers
    columns {
      ...SheetColumnFragment
    }
    columnGroups {
      ...SheetColumnGroupFragment
    }
    filters {
      ...SheetDataFilterFragment
    }
    sort {
      ...SheetSortFragment
    }
    user {
      ...UserFragment
    }
    project {
      ...ProjectFragment
    }
    lists {
      ...SheetListFragment
    }
    colorStatus {
      ...ColourStatusFragment
    }
    treeData
    sharing
  }
}
Variables
{
  "page": 123,
  "perPage": 987,
  "sortField": "xyz789",
  "sortOrder": "xyz789",
  "filter": AllSheetsFilter
}
Response
{
  "data": {
    "companySheets": [
      {
        "id": 987,
        "title": "abc123",
        "order": 987,
        "isEditable": false,
        "isCompanySharable": false,
        "isFavourite": false,
        "view": "abc123",
        "isDefaultForNewUsers": true,
        "columns": [SheetColumn],
        "columnGroups": [SheetColumnGroup],
        "filters": [SheetDataFilter],
        "sort": [SheetSort],
        "user": User,
        "project": Project,
        "lists": [SheetList],
        "colorStatus": [ColourStatus],
        "treeData": false,
        "sharing": "abc123"
      }
    ]
  }
}

getRecordTypeTemplates

Description

Return get record type templates from the public GraphQL API

Response

Returns [RecordType!]!

Example

Query
query getRecordTypeTemplates {
  getRecordTypeTemplates {
    id
    name
    category
    subCategory
    order
    descriptions {
      ...DescriptionFragment
    }
    descriptionsCount
    trade {
      ...TradeFragment
    }
  }
}
Response
{
  "data": {
    "getRecordTypeTemplates": [
      {
        "id": 987,
        "name": "xyz789",
        "category": "xyz789",
        "subCategory": "abc123",
        "order": 987,
        "descriptions": [Description],
        "descriptionsCount": 123,
        "trade": Trade
      }
    ]
  }
}

getWorkflowRulesForCreateRecords

Description

Return all enabled workflow rules applicable for createRecord based on the provided createRecords input

Response

Returns [WorkflowRules!]!

Arguments
Name Description
projectId - Int! Project ID used to scope the operation
createRecordsInput - [CreateRecordInput!]! Input payload for get workflow rules for create records

Example

Query
query getWorkflowRulesForCreateRecords(
  $projectId: Int!,
  $createRecordsInput: [CreateRecordInput!]!
) {
  getWorkflowRulesForCreateRecords(
    projectId: $projectId,
    createRecordsInput: $createRecordsInput
  ) {
    id
    name
    description
    company {
      ...CompanyFragment
    }
    companyId
    project {
      ...ProjectFragment
    }
    projectId
    trigger
    conditions
    actions
    isEnabled
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    modifiedByUser {
      ...UserFragment
    }
    modifiedByUserId
    createdAt
    updatedAt
  }
}
Variables
{
  "projectId": 987,
  "createRecordsInput": [CreateRecordInput]
}
Response
{
  "data": {
    "getWorkflowRulesForCreateRecords": [
      {
        "id": 987,
        "name": "abc123",
        "description": "xyz789",
        "company": Company,
        "companyId": 987,
        "project": Project,
        "projectId": 987,
        "trigger": "CREATE_RECORD",
        "conditions": {},
        "actions": {},
        "isEnabled": false,
        "createdByUser": User,
        "createdByUserId": 987,
        "modifiedByUser": User,
        "modifiedByUserId": 987,
        "createdAt": "2007-12-03",
        "updatedAt": "2007-12-03"
      }
    ]
  }
}

getWorkflowRulesForUpdateRecords

Description

Return all enabled workflow rules applicable for updateRecords based on the provided filter and new values

Response

Returns [WorkflowRules!]!

Arguments
Name Description
filter - RecordFilter! Filter criteria for get workflow rules for update records
values - [RecordValueUpdate!]! Values used by get workflow rules for update records

Example

Query
query getWorkflowRulesForUpdateRecords(
  $filter: RecordFilter!,
  $values: [RecordValueUpdate!]!
) {
  getWorkflowRulesForUpdateRecords(
    filter: $filter,
    values: $values
  ) {
    id
    name
    description
    company {
      ...CompanyFragment
    }
    companyId
    project {
      ...ProjectFragment
    }
    projectId
    trigger
    conditions
    actions
    isEnabled
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    modifiedByUser {
      ...UserFragment
    }
    modifiedByUserId
    createdAt
    updatedAt
  }
}
Variables
{
  "filter": RecordFilter,
  "values": [RecordValueUpdate]
}
Response
{
  "data": {
    "getWorkflowRulesForUpdateRecords": [
      {
        "id": 123,
        "name": "abc123",
        "description": "xyz789",
        "company": Company,
        "companyId": 123,
        "project": Project,
        "projectId": 987,
        "trigger": "CREATE_RECORD",
        "conditions": {},
        "actions": {},
        "isEnabled": false,
        "createdByUser": User,
        "createdByUserId": 123,
        "modifiedByUser": User,
        "modifiedByUserId": 987,
        "createdAt": "2007-12-03",
        "updatedAt": "2007-12-03"
      }
    ]
  }
}

hasListValuesInUse

Description

Return whether list values in use is true

Response

Returns a Boolean

Arguments
Name Description
listId - Int! List ID used by has list values in use

Example

Query
query hasListValuesInUse($listId: Int!) {
  hasListValuesInUse(listId: $listId)
}
Variables
{"listId": 123}
Response
{"data": {"hasListValuesInUse": false}}

isSheetFavourited

Description

Return whether sheet favourited is true

Response

Returns a Boolean!

Arguments
Name Description
id - ID! Internal ID for the is sheet favourited

Example

Query
query isSheetFavourited($id: ID!) {
  isSheetFavourited(id: $id)
}
Variables
{"id": "4"}
Response
{"data": {"isSheetFavourited": false}}

summariseRecordTypeCategoryPermissions

Description

Return summarise record type category permissions from the public GraphQL API

Response

Returns a PermissionsCategorySummary!

Arguments
Name Description
projectId - Int! Project ID used to scope the operation
category - RecordTypeCategory! Category used by summarise record type category permissions
companyId - Int! Company ID used to scope the operation

Example

Query
query summariseRecordTypeCategoryPermissions(
  $projectId: Int!,
  $category: RecordTypeCategory!,
  $companyId: Int!
) {
  summariseRecordTypeCategoryPermissions(
    projectId: $projectId,
    category: $category,
    companyId: $companyId
  ) {
    id
    companyId
    projectId
    summary
    permissions {
      ...PermissionsSummaryFragment
    }
  }
}
Variables
{"projectId": 123, "category": "container", "companyId": 123}
Response
{
  "data": {
    "summariseRecordTypeCategoryPermissions": {
      "id": "xyz789",
      "companyId": 123,
      "projectId": 123,
      "summary": "FULL",
      "permissions": [PermissionsSummary]
    }
  }
}

Mutations

addCompanyToProject

Description

Add company to project

Response

Returns a Project!

Arguments
Name Description
projectId - Int! Project ID used to scope the operation
companyId - Int! Company ID used to scope the operation

Example

Query
mutation addCompanyToProject(
  $projectId: Int!,
  $companyId: Int!
) {
  addCompanyToProject(
    projectId: $projectId,
    companyId: $companyId
  ) {
    id
    name
    address
    owner
    contactDetails
    comments
    startDate
    endDate
    createdAt
    updatedAt
    companies {
      ...CompanyFragment
    }
    users {
      ...UserFragment
    }
    usersCount
  }
}
Variables
{"projectId": 987, "companyId": 987}
Response
{
  "data": {
    "addCompanyToProject": {
      "id": 123,
      "name": "abc123",
      "address": "abc123",
      "owner": "abc123",
      "contactDetails": "abc123",
      "comments": "abc123",
      "startDate": "2007-12-03",
      "endDate": "2007-12-03",
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "companies": [Company],
      "users": [User],
      "usersCount": 987
    }
  }
}

applyPermissionsToDescription

Description

Apply permissions for a description. Requires companyId and projectId with project admin access

Response

Returns an Int

Arguments
Name Description
descriptionId - Int! Description ID used by apply permissions to description
companyId - Int! Company ID used to scope the operation
projectId - Int! Project ID used to scope the operation
permissions - SummarisedPermissionsLevel! Permissions used by apply permissions to description

Example

Query
mutation applyPermissionsToDescription(
  $descriptionId: Int!,
  $companyId: Int!,
  $projectId: Int!,
  $permissions: SummarisedPermissionsLevel!
) {
  applyPermissionsToDescription(
    descriptionId: $descriptionId,
    companyId: $companyId,
    projectId: $projectId,
    permissions: $permissions
  )
}
Variables
{
  "descriptionId": 123,
  "companyId": 987,
  "projectId": 123,
  "permissions": "FULL"
}
Response
{"data": {"applyPermissionsToDescription": 987}}

applyPermissionsToListValue

Description

Apply permissions for a list value. Requires companyId and projectId with project admin access

Response

Returns an Int

Arguments
Name Description
descriptionId - Int! Description ID used by apply permissions to list value
listValueId - Int! List value ID used by apply permissions to list value
companyId - Int! Company ID used to scope the operation
projectId - Int! Project ID used to scope the operation
permissions - SummarisedPermissionsLevel! Permissions used by apply permissions to list value

Example

Query
mutation applyPermissionsToListValue(
  $descriptionId: Int!,
  $listValueId: Int!,
  $companyId: Int!,
  $projectId: Int!,
  $permissions: SummarisedPermissionsLevel!
) {
  applyPermissionsToListValue(
    descriptionId: $descriptionId,
    listValueId: $listValueId,
    companyId: $companyId,
    projectId: $projectId,
    permissions: $permissions
  )
}
Variables
{
  "descriptionId": 123,
  "listValueId": 987,
  "companyId": 123,
  "projectId": 987,
  "permissions": "FULL"
}
Response
{"data": {"applyPermissionsToListValue": 987}}

applyPermissionsToRecordType

Description

Apply permissions for a record type. Requires companyId and projectId with project admin access

Response

Returns an Int

Arguments
Name Description
recordTypeId - Int! Record type ID used by apply permissions to record type
companyId - Int! Company ID used to scope the operation
projectId - Int! Project ID used to scope the operation
permissions - SummarisedPermissionsLevel! Permissions used by apply permissions to record type

Example

Query
mutation applyPermissionsToRecordType(
  $recordTypeId: Int!,
  $companyId: Int!,
  $projectId: Int!,
  $permissions: SummarisedPermissionsLevel!
) {
  applyPermissionsToRecordType(
    recordTypeId: $recordTypeId,
    companyId: $companyId,
    projectId: $projectId,
    permissions: $permissions
  )
}
Variables
{"recordTypeId": 123, "companyId": 123, "projectId": 123, "permissions": "FULL"}
Response
{"data": {"applyPermissionsToRecordType": 987}}

applyPermissionsToRecordTypeCategory

Description

Apply permissions for a record type category. Requires companyId and projectId with project admin access

Response

Returns an Int

Arguments
Name Description
projectId - Int! Project ID used to scope the operation
category - RecordTypeCategory! Category used by apply permissions to record type category
companyId - Int! Company ID used to scope the operation
permissions - SummarisedPermissionsLevel! Permissions used by apply permissions to record type category

Example

Query
mutation applyPermissionsToRecordTypeCategory(
  $projectId: Int!,
  $category: RecordTypeCategory!,
  $companyId: Int!,
  $permissions: SummarisedPermissionsLevel!
) {
  applyPermissionsToRecordTypeCategory(
    projectId: $projectId,
    category: $category,
    companyId: $companyId,
    permissions: $permissions
  )
}
Variables
{
  "projectId": 123,
  "category": "container",
  "companyId": 123,
  "permissions": "FULL"
}
Response
{"data": {"applyPermissionsToRecordTypeCategory": 987}}

archiveProjectByName

Description

Archive a project by its name. Returns null if no active project with that name exists for the company

Response

Returns a Project

Arguments
Name Description
companyId - Int! Company ID used to scope the operation
name - String! Name used by archive project by name

Example

Query
mutation archiveProjectByName(
  $companyId: Int!,
  $name: String!
) {
  archiveProjectByName(
    companyId: $companyId,
    name: $name
  ) {
    id
    name
    address
    owner
    contactDetails
    comments
    startDate
    endDate
    createdAt
    updatedAt
    companies {
      ...CompanyFragment
    }
    users {
      ...UserFragment
    }
    usersCount
  }
}
Variables
{"companyId": 123, "name": "xyz789"}
Response
{
  "data": {
    "archiveProjectByName": {
      "id": 123,
      "name": "abc123",
      "address": "abc123",
      "owner": "abc123",
      "contactDetails": "abc123",
      "comments": "xyz789",
      "startDate": "2007-12-03",
      "endDate": "2007-12-03",
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "companies": [Company],
      "users": [User],
      "usersCount": 987
    }
  }
}

bulkUpdateSheetColumns

Description

Bulk update sheet columns

Response

Returns an Int!

Arguments
Name Description
updateSheetColumnsInput - [UpdateSheetColumnsInput!]! Input payload for bulk update sheet columns

Example

Query
mutation bulkUpdateSheetColumns($updateSheetColumnsInput: [UpdateSheetColumnsInput!]!) {
  bulkUpdateSheetColumns(updateSheetColumnsInput: $updateSheetColumnsInput)
}
Variables
{"updateSheetColumnsInput": [UpdateSheetColumnsInput]}
Response
{"data": {"bulkUpdateSheetColumns": 987}}

bulkUpdateUsersTeams

Description

Bulk update users teams

Response

Returns [User]

Arguments
Name Description
userIds - [Int!]! User IDs used to scope the operation
teamIds - [Int!]! Team IDs used by bulk update users teams

Example

Query
mutation bulkUpdateUsersTeams(
  $userIds: [Int!]!,
  $teamIds: [Int!]!
) {
  bulkUpdateUsersTeams(
    userIds: $userIds,
    teamIds: $teamIds
  ) {
    id
    company {
      ...CompanyFragment
    }
    companyId
    firstName
    lastName
    email
    phoneNumber
    role
    jobTitle
    createdAt
    updatedAt
    lastLogin
    projectAccess {
      ...ProjectAccessFragment
    }
    projects {
      ...ProjectFragment
    }
    team
    language
    timezone
    userTeams {
      ...TeamFragment
    }
  }
}
Variables
{"userIds": [987], "teamIds": [123]}
Response
{
  "data": {
    "bulkUpdateUsersTeams": [
      {
        "id": 987,
        "company": Company,
        "companyId": 123,
        "firstName": "xyz789",
        "lastName": "abc123",
        "email": "abc123",
        "phoneNumber": "xyz789",
        "role": "abc123",
        "jobTitle": "abc123",
        "createdAt": "2007-12-03",
        "updatedAt": "2007-12-03",
        "lastLogin": "2007-12-03",
        "projectAccess": [ProjectAccess],
        "projects": [Project],
        "team": "abc123",
        "language": "english",
        "timezone": Timezone,
        "userTeams": [Team]
      }
    ]
  }
}

changeRecordsRecordType

Description

Move records from one type to another, when the schema is not the same

Response

Returns [Record!]!

Arguments
Name Description
records - [Int!]! Records used by change records record type
targetRecordTypeId - Int! Target record type ID used by change records record type
descriptionMapping - [ChangeRecordTypeDescriptionMapping!]! Description mapping used by change records record type
listValueMapping - [ChangeRecordTypeListValueMapping!]! List value mapping used by change records record type

Example

Query
mutation changeRecordsRecordType(
  $records: [Int!]!,
  $targetRecordTypeId: Int!,
  $descriptionMapping: [ChangeRecordTypeDescriptionMapping!]!,
  $listValueMapping: [ChangeRecordTypeListValueMapping!]!
) {
  changeRecordsRecordType(
    records: $records,
    targetRecordTypeId: $targetRecordTypeId,
    descriptionMapping: $descriptionMapping,
    listValueMapping: $listValueMapping
  ) {
    id
    recordId
    project {
      ...ProjectFragment
    }
    recordType {
      ...RecordTypeFragment
    }
    values {
      ...RecordValueFragment
    }
    value {
      ...RecordValueFragment
    }
    attachments {
      ...AttachmentFragment
    }
    childLink {
      ...LinkFragment
    }
    parentLink {
      ...LinkFragment
    }
    linkedRecords {
      ...RecordFragment
    }
  }
}
Variables
{
  "records": [987],
  "targetRecordTypeId": 123,
  "descriptionMapping": [
    ChangeRecordTypeDescriptionMapping
  ],
  "listValueMapping": [ChangeRecordTypeListValueMapping]
}
Response
{
  "data": {
    "changeRecordsRecordType": [
      {
        "id": 123,
        "recordId": "xyz789",
        "project": Project,
        "recordType": RecordType,
        "values": [RecordValue],
        "value": RecordValue,
        "attachments": [Attachment],
        "childLink": [Link],
        "parentLink": [Link],
        "linkedRecords": [Record]
      }
    ]
  }
}

closeSheet

Description

Close sheet

Response

Returns a Boolean!

Arguments
Name Description
id - Int! Internal ID for the sheet
projectId - Int! Project ID used to scope the operation

Example

Query
mutation closeSheet(
  $id: Int!,
  $projectId: Int!
) {
  closeSheet(
    id: $id,
    projectId: $projectId
  )
}
Variables
{"id": 123, "projectId": 123}
Response
{"data": {"closeSheet": false}}

convertDrawingToGreyScale

Description

Perform the convert drawing to grey scale mutation

Response

Returns [Drawing!]!

Arguments
Name Description
filter - DrawingFilter! Filter criteria for convert drawing to grey scale

Example

Query
mutation convertDrawingToGreyScale($filter: DrawingFilter!) {
  convertDrawingToGreyScale(filter: $filter) {
    id
    displayName
    type
    project {
      ...ProjectFragment
    }
    createdAt
    updatedAt
    overlays {
      ...RecordOverlayFragment
    }
    overlayCount
    url
    maxResolutionUrl
    thumbnailUrl
    svgPath
    svgUrl
    pdfTextUrl
    originalFileUrl
    filename
  }
}
Variables
{"filter": DrawingFilter}
Response
{
  "data": {
    "convertDrawingToGreyScale": [
      {
        "id": 123,
        "displayName": "abc123",
        "type": "abc123",
        "project": Project,
        "createdAt": "2007-12-03",
        "updatedAt": "2007-12-03",
        "overlays": [RecordOverlay],
        "overlayCount": 123,
        "url": "abc123",
        "maxResolutionUrl": "xyz789",
        "thumbnailUrl": "abc123",
        "svgPath": "xyz789",
        "svgUrl": "xyz789",
        "pdfTextUrl": "xyz789",
        "originalFileUrl": "abc123",
        "filename": "xyz789"
      }
    ]
  }
}

copySheetForUsers

Description

Copy sheet for users

Response

Returns [Sheet]!

Arguments
Name Description
id - Int! Internal ID for the sheet for user
userIds - [Int]! User IDs used to scope the operation
projectIds - [Int!] Project IDs used to scope the operation
overrideExisting - Boolean Override existing used by copy sheet for users

Example

Query
mutation copySheetForUsers(
  $id: Int!,
  $userIds: [Int]!,
  $projectIds: [Int!],
  $overrideExisting: Boolean
) {
  copySheetForUsers(
    id: $id,
    userIds: $userIds,
    projectIds: $projectIds,
    overrideExisting: $overrideExisting
  ) {
    id
    title
    order
    isEditable
    isCompanySharable
    isFavourite
    view
    isDefaultForNewUsers
    columns {
      ...SheetColumnFragment
    }
    columnGroups {
      ...SheetColumnGroupFragment
    }
    filters {
      ...SheetDataFilterFragment
    }
    sort {
      ...SheetSortFragment
    }
    user {
      ...UserFragment
    }
    project {
      ...ProjectFragment
    }
    lists {
      ...SheetListFragment
    }
    colorStatus {
      ...ColourStatusFragment
    }
    treeData
    sharing
  }
}
Variables
{"id": 987, "userIds": [987], "projectIds": [123], "overrideExisting": false}
Response
{
  "data": {
    "copySheetForUsers": [
      {
        "id": 123,
        "title": "xyz789",
        "order": 987,
        "isEditable": true,
        "isCompanySharable": true,
        "isFavourite": false,
        "view": "xyz789",
        "isDefaultForNewUsers": false,
        "columns": [SheetColumn],
        "columnGroups": [SheetColumnGroup],
        "filters": [SheetDataFilter],
        "sort": [SheetSort],
        "user": User,
        "project": Project,
        "lists": [SheetList],
        "colorStatus": [ColourStatus],
        "treeData": false,
        "sharing": "xyz789"
      }
    ]
  }
}

createColourStatus

Description

Create colour status

Response

Returns a ColourStatus!

Arguments
Name Description
createColourStatusInput - CreateColourStatusInput! Input payload for create colour status

Example

Query
mutation createColourStatus($createColourStatusInput: CreateColourStatusInput!) {
  createColourStatus(createColourStatusInput: $createColourStatusInput) {
    id
    project {
      ...ProjectFragment
    }
    status
    colour
  }
}
Variables
{"createColourStatusInput": CreateColourStatusInput}
Response
{
  "data": {
    "createColourStatus": {
      "id": 123,
      "project": Project,
      "status": "abc123",
      "colour": "abc123"
    }
  }
}

createImportBatch

Description

Create import batch

Response

Returns an ImportBatch!

Arguments
Name Description
createImportBatchInput - CreateImportBatchInput! Input payload for create import batch

Example

Query
mutation createImportBatch($createImportBatchInput: CreateImportBatchInput!) {
  createImportBatch(createImportBatchInput: $createImportBatchInput) {
    id
    user {
      ...UserFragment
    }
    company {
      ...CompanyFragment
    }
    project {
      ...ProjectFragment
    }
    createdRecords
    updatedRecords
    linkedRecords
    createdAt
    updatedAt
    completedAt
    importResultId
    status
    source
    name
  }
}
Variables
{"createImportBatchInput": CreateImportBatchInput}
Response
{
  "data": {
    "createImportBatch": {
      "id": 123,
      "user": User,
      "company": Company,
      "project": Project,
      "createdRecords": 987,
      "updatedRecords": 987,
      "linkedRecords": 987,
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "completedAt": "2007-12-03",
      "importResultId": "xyz789",
      "status": "QUEUED",
      "source": "abc123",
      "name": "abc123"
    }
  }
}

createListValues

Description

Add a new selectable option to an existing list-backed description. Use this for requests like adding a Status or Location option; do not update the description itself

Response

Returns a ListValues!

Arguments
Name Description
createListValuesInput - CreateListValuesInput! Input payload for the new list option
projectId - Int! Project ID used to scope the operation
descriptionId - Int Description ID used to grant permissions for the new list option
privateCreation - Boolean Whether the option should initially be visible only to the creating user's company

Example

Query
mutation createListValues(
  $createListValuesInput: CreateListValuesInput!,
  $projectId: Int!,
  $descriptionId: Int,
  $privateCreation: Boolean
) {
  createListValues(
    createListValuesInput: $createListValuesInput,
    projectId: $projectId,
    descriptionId: $descriptionId,
    privateCreation: $privateCreation
  ) {
    listId
    listValue
    listValueOrder
  }
}
Variables
{
  "createListValuesInput": CreateListValuesInput,
  "projectId": 987,
  "descriptionId": 987,
  "privateCreation": true
}
Response
{
  "data": {
    "createListValues": {
      "listId": 123,
      "listValue": "abc123",
      "listValueOrder": 123
    }
  }
}

createOrUpdateSheet

Description

Create or update sheet

Response

Returns a Sheet!

Arguments
Name Description
createOrUpdateSheetInput - CreateOrUpdateSheetInput! Input payload for create or update sheet

Example

Query
mutation createOrUpdateSheet($createOrUpdateSheetInput: CreateOrUpdateSheetInput!) {
  createOrUpdateSheet(createOrUpdateSheetInput: $createOrUpdateSheetInput) {
    id
    title
    order
    isEditable
    isCompanySharable
    isFavourite
    view
    isDefaultForNewUsers
    columns {
      ...SheetColumnFragment
    }
    columnGroups {
      ...SheetColumnGroupFragment
    }
    filters {
      ...SheetDataFilterFragment
    }
    sort {
      ...SheetSortFragment
    }
    user {
      ...UserFragment
    }
    project {
      ...ProjectFragment
    }
    lists {
      ...SheetListFragment
    }
    colorStatus {
      ...ColourStatusFragment
    }
    treeData
    sharing
  }
}
Variables
{"createOrUpdateSheetInput": CreateOrUpdateSheetInput}
Response
{
  "data": {
    "createOrUpdateSheet": {
      "id": 987,
      "title": "abc123",
      "order": 123,
      "isEditable": false,
      "isCompanySharable": true,
      "isFavourite": true,
      "view": "abc123",
      "isDefaultForNewUsers": true,
      "columns": [SheetColumn],
      "columnGroups": [SheetColumnGroup],
      "filters": [SheetDataFilter],
      "sort": [SheetSort],
      "user": User,
      "project": Project,
      "lists": [SheetList],
      "colorStatus": [ColourStatus],
      "treeData": true,
      "sharing": "abc123"
    }
  }
}

createProject

Description

Create project

Response

Returns a CreateProjectResponse!

Arguments
Name Description
createProjectInput - CreateProjectInput Input payload for create project

Example

Query
mutation createProject($createProjectInput: CreateProjectInput) {
  createProject(createProjectInput: $createProjectInput) {
    project {
      ...ProjectFragment
    }
  }
}
Variables
{"createProjectInput": CreateProjectInput}
Response
{"data": {"createProject": {"project": Project}}}

createRecordOverlay

Description

Create record overlay

Response

Returns a RecordOverlay!

Arguments
Name Description
createRecordOverlayInput - CreateRecordOverlayInput! Input payload for create record overlay

Example

Query
mutation createRecordOverlay($createRecordOverlayInput: CreateRecordOverlayInput!) {
  createRecordOverlay(createRecordOverlayInput: $createRecordOverlayInput) {
    id
    record {
      ...RecordFragment
    }
    drawing {
      ...DrawingFragment
    }
    shape
    data
    createdAt
    updatedAt
  }
}
Variables
{"createRecordOverlayInput": CreateRecordOverlayInput}
Response
{
  "data": {
    "createRecordOverlay": {
      "id": 987,
      "record": Record,
      "drawing": Drawing,
      "shape": "polygon",
      "data": "xyz789",
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03"
    }
  }
}

createRecordType

Description

Create record type

Response

Returns a RecordType!

Arguments
Name Description
projectId - Int! Project ID used to scope the operation
permissions - NewRecordTypePermissions! Permissions used by create record type
createRecordTypeInput - CreateRecordTypeInput! Input payload for create record type
copyOf - Int Copy of used by create record type

Example

Query
mutation createRecordType(
  $projectId: Int!,
  $permissions: NewRecordTypePermissions!,
  $createRecordTypeInput: CreateRecordTypeInput!,
  $copyOf: Int
) {
  createRecordType(
    projectId: $projectId,
    permissions: $permissions,
    createRecordTypeInput: $createRecordTypeInput,
    copyOf: $copyOf
  ) {
    id
    name
    category
    subCategory
    order
    descriptions {
      ...DescriptionFragment
    }
    descriptionsCount
    trade {
      ...TradeFragment
    }
  }
}
Variables
{
  "projectId": 987,
  "permissions": "PRIVATE",
  "createRecordTypeInput": CreateRecordTypeInput,
  "copyOf": 987
}
Response
{
  "data": {
    "createRecordType": {
      "id": 123,
      "name": "abc123",
      "category": "xyz789",
      "subCategory": "abc123",
      "order": 987,
      "descriptions": [Description],
      "descriptionsCount": 123,
      "trade": Trade
    }
  }
}

createRecords

Description

Create one or many Records

Response

Returns [Record]!

Arguments
Name Description
projectId - Int! Project ID used to scope the operation
createRecordsInput - [CreateRecordInput!]! Input payload for create records

Example

Query
mutation createRecords(
  $projectId: Int!,
  $createRecordsInput: [CreateRecordInput!]!
) {
  createRecords(
    projectId: $projectId,
    createRecordsInput: $createRecordsInput
  ) {
    id
    recordId
    project {
      ...ProjectFragment
    }
    recordType {
      ...RecordTypeFragment
    }
    values {
      ...RecordValueFragment
    }
    value {
      ...RecordValueFragment
    }
    attachments {
      ...AttachmentFragment
    }
    childLink {
      ...LinkFragment
    }
    parentLink {
      ...LinkFragment
    }
    linkedRecords {
      ...RecordFragment
    }
  }
}
Variables
{
  "projectId": 123,
  "createRecordsInput": [CreateRecordInput]
}
Response
{
  "data": {
    "createRecords": [
      {
        "id": 123,
        "recordId": "xyz789",
        "project": Project,
        "recordType": RecordType,
        "values": [RecordValue],
        "value": RecordValue,
        "attachments": [Attachment],
        "childLink": [Link],
        "parentLink": [Link],
        "linkedRecords": [Record]
      }
    ]
  }
}

createSheet

Description

Create sheet

Response

Returns a Sheet!

Arguments
Name Description
newSheet - CreateSheetInput! New sheet used by create sheet

Example

Query
mutation createSheet($newSheet: CreateSheetInput!) {
  createSheet(newSheet: $newSheet) {
    id
    title
    order
    isEditable
    isCompanySharable
    isFavourite
    view
    isDefaultForNewUsers
    columns {
      ...SheetColumnFragment
    }
    columnGroups {
      ...SheetColumnGroupFragment
    }
    filters {
      ...SheetDataFilterFragment
    }
    sort {
      ...SheetSortFragment
    }
    user {
      ...UserFragment
    }
    project {
      ...ProjectFragment
    }
    lists {
      ...SheetListFragment
    }
    colorStatus {
      ...ColourStatusFragment
    }
    treeData
    sharing
  }
}
Variables
{"newSheet": CreateSheetInput}
Response
{
  "data": {
    "createSheet": {
      "id": 987,
      "title": "abc123",
      "order": 123,
      "isEditable": true,
      "isCompanySharable": true,
      "isFavourite": true,
      "view": "abc123",
      "isDefaultForNewUsers": true,
      "columns": [SheetColumn],
      "columnGroups": [SheetColumnGroup],
      "filters": [SheetDataFilter],
      "sort": [SheetSort],
      "user": User,
      "project": Project,
      "lists": [SheetList],
      "colorStatus": [ColourStatus],
      "treeData": true,
      "sharing": "xyz789"
    }
  }
}

createSheetColumn

Description

Create sheet column

Response

Returns a SheetColumn!

Arguments
Name Description
createSheetColumnInput - CreateSheetColumnInput! Input payload for create sheet column

Example

Query
mutation createSheetColumn($createSheetColumnInput: CreateSheetColumnInput!) {
  createSheetColumn(createSheetColumnInput: $createSheetColumnInput) {
    id
    title
    visible
    width
    type
    columnOrder
    aggregate
    columnGroup {
      ...SheetColumnGroupFragment
    }
  }
}
Variables
{"createSheetColumnInput": CreateSheetColumnInput}
Response
{
  "data": {
    "createSheetColumn": {
      "id": 123,
      "title": "xyz789",
      "visible": true,
      "width": 987,
      "type": "index",
      "columnOrder": 987,
      "aggregate": "none",
      "columnGroup": SheetColumnGroup
    }
  }
}

createSheetFromSchema

Description

Create sheet from schema

Response

Returns [Sheet]!

Arguments
Name Description
schema - SheetSchemaInput! Schema used by create sheet from schema
userIds - [Int!]! User IDs used to scope the operation
projectIds - [Int!] Project IDs used to scope the operation
overrideExisting - Boolean Override existing used by create sheet from schema

Example

Query
mutation createSheetFromSchema(
  $schema: SheetSchemaInput!,
  $userIds: [Int!]!,
  $projectIds: [Int!],
  $overrideExisting: Boolean
) {
  createSheetFromSchema(
    schema: $schema,
    userIds: $userIds,
    projectIds: $projectIds,
    overrideExisting: $overrideExisting
  ) {
    id
    title
    order
    isEditable
    isCompanySharable
    isFavourite
    view
    isDefaultForNewUsers
    columns {
      ...SheetColumnFragment
    }
    columnGroups {
      ...SheetColumnGroupFragment
    }
    filters {
      ...SheetDataFilterFragment
    }
    sort {
      ...SheetSortFragment
    }
    user {
      ...UserFragment
    }
    project {
      ...ProjectFragment
    }
    lists {
      ...SheetListFragment
    }
    colorStatus {
      ...ColourStatusFragment
    }
    treeData
    sharing
  }
}
Variables
{
  "schema": SheetSchemaInput,
  "userIds": [987],
  "projectIds": [987],
  "overrideExisting": false
}
Response
{
  "data": {
    "createSheetFromSchema": [
      {
        "id": 987,
        "title": "xyz789",
        "order": 123,
        "isEditable": true,
        "isCompanySharable": false,
        "isFavourite": true,
        "view": "abc123",
        "isDefaultForNewUsers": false,
        "columns": [SheetColumn],
        "columnGroups": [SheetColumnGroup],
        "filters": [SheetDataFilter],
        "sort": [SheetSort],
        "user": User,
        "project": Project,
        "lists": [SheetList],
        "colorStatus": [ColourStatus],
        "treeData": false,
        "sharing": "xyz789"
      }
    ]
  }
}

createSheetFromTemplate

Description

Create sheet from template

Response

Returns a Sheet

Arguments
Name Description
newSheet - CreateSheetFromTemplateInput! New sheet used by create sheet from template

Example

Query
mutation createSheetFromTemplate($newSheet: CreateSheetFromTemplateInput!) {
  createSheetFromTemplate(newSheet: $newSheet) {
    id
    title
    order
    isEditable
    isCompanySharable
    isFavourite
    view
    isDefaultForNewUsers
    columns {
      ...SheetColumnFragment
    }
    columnGroups {
      ...SheetColumnGroupFragment
    }
    filters {
      ...SheetDataFilterFragment
    }
    sort {
      ...SheetSortFragment
    }
    user {
      ...UserFragment
    }
    project {
      ...ProjectFragment
    }
    lists {
      ...SheetListFragment
    }
    colorStatus {
      ...ColourStatusFragment
    }
    treeData
    sharing
  }
}
Variables
{"newSheet": CreateSheetFromTemplateInput}
Response
{
  "data": {
    "createSheetFromTemplate": {
      "id": 987,
      "title": "xyz789",
      "order": 987,
      "isEditable": false,
      "isCompanySharable": false,
      "isFavourite": true,
      "view": "abc123",
      "isDefaultForNewUsers": false,
      "columns": [SheetColumn],
      "columnGroups": [SheetColumnGroup],
      "filters": [SheetDataFilter],
      "sort": [SheetSort],
      "user": User,
      "project": Project,
      "lists": [SheetList],
      "colorStatus": [ColourStatus],
      "treeData": true,
      "sharing": "xyz789"
    }
  }
}

createSheetGroupBy

Description

Create sheet group by

Response

Returns a SheetGroupBy!

Arguments
Name Description
createSheetGroupByInput - CreateSheetGroupByInput! Input payload for create sheet group by

Example

Query
mutation createSheetGroupBy($createSheetGroupByInput: CreateSheetGroupByInput!) {
  createSheetGroupBy(createSheetGroupByInput: $createSheetGroupByInput) {
    id
    title
    sheetColumn {
      ...SheetColumnFragment
    }
    sheet {
      ...SheetFragment
    }
    groupByOrder
  }
}
Variables
{"createSheetGroupByInput": CreateSheetGroupByInput}
Response
{
  "data": {
    "createSheetGroupBy": {
      "id": 123,
      "title": "xyz789",
      "sheetColumn": SheetColumn,
      "sheet": Sheet,
      "groupByOrder": 123
    }
  }
}

createSheetSort

Description

Create sheet sort

Response

Returns a SheetSort!

Arguments
Name Description
createSheetSortInput - CreateSheetSortInput! Input payload for create sheet sort

Example

Query
mutation createSheetSort($createSheetSortInput: CreateSheetSortInput!) {
  createSheetSort(createSheetSortInput: $createSheetSortInput) {
    id
    column {
      ...SheetColumnFragment
    }
    sheet {
      ...SheetFragment
    }
    order
    direction
  }
}
Variables
{"createSheetSortInput": CreateSheetSortInput}
Response
{
  "data": {
    "createSheetSort": {
      "id": 123,
      "column": SheetColumn,
      "sheet": Sheet,
      "order": 123,
      "direction": "asc"
    }
  }
}

createTeam

Description

Create team

Response

Returns a Team!

Arguments
Name Description
createTeamInput - CreateTeamInput! Input payload for create team

Example

Query
mutation createTeam($createTeamInput: CreateTeamInput!) {
  createTeam(createTeamInput: $createTeamInput) {
    id
    name
    company {
      ...CompanyFragment
    }
    color
    createdAt
    updatedAt
  }
}
Variables
{"createTeamInput": CreateTeamInput}
Response
{
  "data": {
    "createTeam": {
      "id": 123,
      "name": "abc123",
      "company": Company,
      "color": "abc123",
      "createdAt": "abc123",
      "updatedAt": "xyz789"
    }
  }
}

createWorkflowRules

Description

Create workflow rules

Response

Returns a WorkflowRules!

Arguments
Name Description
createWorkflowRulesInput - CreateWorkflowRulesInput! Input payload for create workflow rules

Example

Query
mutation createWorkflowRules($createWorkflowRulesInput: CreateWorkflowRulesInput!) {
  createWorkflowRules(createWorkflowRulesInput: $createWorkflowRulesInput) {
    id
    name
    description
    company {
      ...CompanyFragment
    }
    companyId
    project {
      ...ProjectFragment
    }
    projectId
    trigger
    conditions
    actions
    isEnabled
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    modifiedByUser {
      ...UserFragment
    }
    modifiedByUserId
    createdAt
    updatedAt
  }
}
Variables
{"createWorkflowRulesInput": CreateWorkflowRulesInput}
Response
{
  "data": {
    "createWorkflowRules": {
      "id": 123,
      "name": "abc123",
      "description": "xyz789",
      "company": Company,
      "companyId": 123,
      "project": Project,
      "projectId": 987,
      "trigger": "CREATE_RECORD",
      "conditions": {},
      "actions": {},
      "isEnabled": false,
      "createdByUser": User,
      "createdByUserId": 987,
      "modifiedByUser": User,
      "modifiedByUserId": 987,
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03"
    }
  }
}

deleteAllSheetGroupBy

Description

Delete all sheet group by

Response

Returns an Int

Arguments
Name Description
sheetId - Int! Sheet ID used by delete all sheet group by

Example

Query
mutation deleteAllSheetGroupBy($sheetId: Int!) {
  deleteAllSheetGroupBy(sheetId: $sheetId)
}
Variables
{"sheetId": 123}
Response
{"data": {"deleteAllSheetGroupBy": 123}}

deleteColourStatus

Description

Delete a colourStatus. Only allowed if ColourStatus.project is set and user is a ProjectAdmin

Response

Returns an Int!

Arguments
Name Description
id - Int! Internal ID for the colour status

Example

Query
mutation deleteColourStatus($id: Int!) {
  deleteColourStatus(id: $id)
}
Variables
{"id": 123}
Response
{"data": {"deleteColourStatus": 987}}

deleteDescriptions

Description

Delete descriptions

Response

Returns an Int!

Arguments
Name Description
ids - [Int!]! Internal IDs for the descriptions
projectId - Int! Project ID used to scope the operation

Example

Query
mutation deleteDescriptions(
  $ids: [Int!]!,
  $projectId: Int!
) {
  deleteDescriptions(
    ids: $ids,
    projectId: $projectId
  )
}
Variables
{"ids": [123], "projectId": 987}
Response
{"data": {"deleteDescriptions": 987}}

deleteDrawing

Description

Delete a drawing, returning 1 if successfully deleted

Response

Returns an Int!

Arguments
Name Description
id - Int! Internal ID for the drawing

Example

Query
mutation deleteDrawing($id: Int!) {
  deleteDrawing(id: $id)
}
Variables
{"id": 123}
Response
{"data": {"deleteDrawing": 987}}

deleteListValues

Description

Delete one or more selectable options from an existing list

Response

Returns an Int!

Arguments
Name Description
ids - [Int!]! Internal IDs for the list values
listId - Int! List ID used by delete list values

Example

Query
mutation deleteListValues(
  $ids: [Int!]!,
  $listId: Int!
) {
  deleteListValues(
    ids: $ids,
    listId: $listId
  )
}
Variables
{"ids": [123], "listId": 123}
Response
{"data": {"deleteListValues": 123}}

deleteRecordOverlay

Description

Delete a RecordOverlay, returning 1 if successfully deleted

Response

Returns an Int!

Arguments
Name Description
id - Int! Internal ID for the record overlay

Example

Query
mutation deleteRecordOverlay($id: Int!) {
  deleteRecordOverlay(id: $id)
}
Variables
{"id": 987}
Response
{"data": {"deleteRecordOverlay": 987}}

deleteRecordType

Description

Delete record type

Response

Returns an Int!

Arguments
Name Description
id - Int Internal ID for the record type

Example

Query
mutation deleteRecordType($id: Int) {
  deleteRecordType(id: $id)
}
Variables
{"id": 987}
Response
{"data": {"deleteRecordType": 123}}

deleteRecords

Description

Delete one or many Records

Response

Returns an Int!

Arguments
Name Description
filter - RecordFilter! Filter criteria for records
sourceApp - String Name of the client application making the change
sourceDevice - String Name or type of the device making the change

Example

Query
mutation deleteRecords(
  $filter: RecordFilter!,
  $sourceApp: String,
  $sourceDevice: String
) {
  deleteRecords(
    filter: $filter,
    sourceApp: $sourceApp,
    sourceDevice: $sourceDevice
  )
}
Variables
{
  "filter": RecordFilter,
  "sourceApp": "xyz789",
  "sourceDevice": "abc123"
}
Response
{"data": {"deleteRecords": 987}}

deleteSheet

Description

Delete sheet

Response

Returns an Int!

Arguments
Name Description
id - Int! Internal ID for the sheet

Example

Query
mutation deleteSheet($id: Int!) {
  deleteSheet(id: $id)
}
Variables
{"id": 123}
Response
{"data": {"deleteSheet": 123}}

deleteSheetColumn

Description

Delete a sheetColumn, returning 1 if successfully deleted

Response

Returns an Int!

Arguments
Name Description
id - Int! Internal ID for the sheet column

Example

Query
mutation deleteSheetColumn($id: Int!) {
  deleteSheetColumn(id: $id)
}
Variables
{"id": 123}
Response
{"data": {"deleteSheetColumn": 987}}

deleteSheetGroupBy

Description

Delete a sheetGroupBy, returning 1 if successfully deleted

Response

Returns an Int!

Arguments
Name Description
id - Int! Internal ID for the sheet group by

Example

Query
mutation deleteSheetGroupBy($id: Int!) {
  deleteSheetGroupBy(id: $id)
}
Variables
{"id": 987}
Response
{"data": {"deleteSheetGroupBy": 987}}

deleteSheetSort

Description

Delete a sheetSort, returning 1 if successfully deleted

Response

Returns an Int!

Arguments
Name Description
id - Int! Internal ID for the sheet sort

Example

Query
mutation deleteSheetSort($id: Int!) {
  deleteSheetSort(id: $id)
}
Variables
{"id": 123}
Response
{"data": {"deleteSheetSort": 987}}

deleteTeam

Description

Delete a team, returning 1 if successfully deleted

Response

Returns an Int!

Arguments
Name Description
id - Int! Internal ID for the team

Example

Query
mutation deleteTeam($id: Int!) {
  deleteTeam(id: $id)
}
Variables
{"id": 987}
Response
{"data": {"deleteTeam": 987}}

deleteWorkflowRules

Description

Delete a workflowRules, returning 1 if successfully deleted

Response

Returns an Int!

Arguments
Name Description
id - Int! Internal ID for the workflow rule

Example

Query
mutation deleteWorkflowRules($id: Int!) {
  deleteWorkflowRules(id: $id)
}
Variables
{"id": 987}
Response
{"data": {"deleteWorkflowRules": 123}}

detachListFromDescription

Description

Detach (copy) a list, returning the new list id if successful

Response

Returns an Int!

Arguments
Name Description
id - Int! Internal ID for the detach list from description

Example

Query
mutation detachListFromDescription($id: Int!) {
  detachListFromDescription(id: $id)
}
Variables
{"id": 987}
Response
{"data": {"detachListFromDescription": 123}}

duplicateSheet

Description

Duplicate sheet

Response

Returns a Sheet!

Arguments
Name Description
id - Int! Internal ID for the sheet
projectId - Int Project ID used to scope the operation
sharing - String Sharing used by duplicate sheet

Example

Query
mutation duplicateSheet(
  $id: Int!,
  $projectId: Int,
  $sharing: String
) {
  duplicateSheet(
    id: $id,
    projectId: $projectId,
    sharing: $sharing
  ) {
    id
    title
    order
    isEditable
    isCompanySharable
    isFavourite
    view
    isDefaultForNewUsers
    columns {
      ...SheetColumnFragment
    }
    columnGroups {
      ...SheetColumnGroupFragment
    }
    filters {
      ...SheetDataFilterFragment
    }
    sort {
      ...SheetSortFragment
    }
    user {
      ...UserFragment
    }
    project {
      ...ProjectFragment
    }
    lists {
      ...SheetListFragment
    }
    colorStatus {
      ...ColourStatusFragment
    }
    treeData
    sharing
  }
}
Variables
{
  "id": 987,
  "projectId": 987,
  "sharing": "abc123"
}
Response
{
  "data": {
    "duplicateSheet": {
      "id": 123,
      "title": "abc123",
      "order": 987,
      "isEditable": false,
      "isCompanySharable": false,
      "isFavourite": true,
      "view": "abc123",
      "isDefaultForNewUsers": true,
      "columns": [SheetColumn],
      "columnGroups": [SheetColumnGroup],
      "filters": [SheetDataFilter],
      "sort": [SheetSort],
      "user": User,
      "project": Project,
      "lists": [SheetList],
      "colorStatus": [ColourStatus],
      "treeData": false,
      "sharing": "xyz789"
    }
  }
}

generateWorkflowRules

Description

Generate workflow rules

Response

Returns [WorkflowRules!]!

Arguments
Name Description
projectId - Int! Project ID used to scope the operation
prompt - String! Prompt used by generate workflow rules

Example

Query
mutation generateWorkflowRules(
  $projectId: Int!,
  $prompt: String!
) {
  generateWorkflowRules(
    projectId: $projectId,
    prompt: $prompt
  ) {
    id
    name
    description
    company {
      ...CompanyFragment
    }
    companyId
    project {
      ...ProjectFragment
    }
    projectId
    trigger
    conditions
    actions
    isEnabled
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    modifiedByUser {
      ...UserFragment
    }
    modifiedByUserId
    createdAt
    updatedAt
  }
}
Variables
{"projectId": 987, "prompt": "xyz789"}
Response
{
  "data": {
    "generateWorkflowRules": [
      {
        "id": 987,
        "name": "xyz789",
        "description": "xyz789",
        "company": Company,
        "companyId": 987,
        "project": Project,
        "projectId": 987,
        "trigger": "CREATE_RECORD",
        "conditions": {},
        "actions": {},
        "isEnabled": false,
        "createdByUser": User,
        "createdByUserId": 987,
        "modifiedByUser": User,
        "modifiedByUserId": 123,
        "createdAt": "2007-12-03",
        "updatedAt": "2007-12-03"
      }
    ]
  }
}

inviteExistingCompanyToProject

Description

Invite existing company to project

Response

Returns a Project!

Arguments
Name Description
input - InviteExistingCompanyInput! Input used by invite existing company to project

Example

Query
mutation inviteExistingCompanyToProject($input: InviteExistingCompanyInput!) {
  inviteExistingCompanyToProject(input: $input) {
    id
    name
    address
    owner
    contactDetails
    comments
    startDate
    endDate
    createdAt
    updatedAt
    companies {
      ...CompanyFragment
    }
    users {
      ...UserFragment
    }
    usersCount
  }
}
Variables
{"input": InviteExistingCompanyInput}
Response
{
  "data": {
    "inviteExistingCompanyToProject": {
      "id": 123,
      "name": "xyz789",
      "address": "xyz789",
      "owner": "xyz789",
      "contactDetails": "abc123",
      "comments": "xyz789",
      "startDate": "2007-12-03",
      "endDate": "2007-12-03",
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "companies": [Company],
      "users": [User],
      "usersCount": 987
    }
  }
}

inviteNewCompanyToProject

Description

Invite new company to project

Response

Returns a Project!

Arguments
Name Description
input - InviteNewCompanyInput! Input used by invite new company to project

Example

Query
mutation inviteNewCompanyToProject($input: InviteNewCompanyInput!) {
  inviteNewCompanyToProject(input: $input) {
    id
    name
    address
    owner
    contactDetails
    comments
    startDate
    endDate
    createdAt
    updatedAt
    companies {
      ...CompanyFragment
    }
    users {
      ...UserFragment
    }
    usersCount
  }
}
Variables
{"input": InviteNewCompanyInput}
Response
{
  "data": {
    "inviteNewCompanyToProject": {
      "id": 987,
      "name": "xyz789",
      "address": "abc123",
      "owner": "abc123",
      "contactDetails": "xyz789",
      "comments": "abc123",
      "startDate": "2007-12-03",
      "endDate": "2007-12-03",
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "companies": [Company],
      "users": [User],
      "usersCount": 987
    }
  }
}

moveRecordsToDifferentProject

Description

Move records to a record type in a different project, when the schema is the same

Response

Returns an Int!

Arguments
Name Description
records - [Int!]! Records used by move records to different project
targetRecordTypeId - Int! Target record type ID used by move records to different project
status - String Status used by move records to different project

Example

Query
mutation moveRecordsToDifferentProject(
  $records: [Int!]!,
  $targetRecordTypeId: Int!,
  $status: String
) {
  moveRecordsToDifferentProject(
    records: $records,
    targetRecordTypeId: $targetRecordTypeId,
    status: $status
  )
}
Variables
{
  "records": [987],
  "targetRecordTypeId": 123,
  "status": "abc123"
}
Response
{"data": {"moveRecordsToDifferentProject": 123}}

openSheet

Description

Open sheet

Response

Returns a Boolean!

Arguments
Name Description
id - Int! Internal ID for the sheet
projectId - Int! Project ID used to scope the operation

Example

Query
mutation openSheet(
  $id: Int!,
  $projectId: Int!
) {
  openSheet(
    id: $id,
    projectId: $projectId
  )
}
Variables
{"id": 123, "projectId": 123}
Response
{"data": {"openSheet": true}}

removeCompanyFromProject

Description

Remove company from project

Response

Returns a Project!

Arguments
Name Description
projectId - Int! Project ID used to scope the operation
companyId - Int Company ID used to scope the operation

Example

Query
mutation removeCompanyFromProject(
  $projectId: Int!,
  $companyId: Int
) {
  removeCompanyFromProject(
    projectId: $projectId,
    companyId: $companyId
  ) {
    id
    name
    address
    owner
    contactDetails
    comments
    startDate
    endDate
    createdAt
    updatedAt
    companies {
      ...CompanyFragment
    }
    users {
      ...UserFragment
    }
    usersCount
  }
}
Variables
{"projectId": 123, "companyId": 987}
Response
{
  "data": {
    "removeCompanyFromProject": {
      "id": 123,
      "name": "xyz789",
      "address": "abc123",
      "owner": "abc123",
      "contactDetails": "abc123",
      "comments": "abc123",
      "startDate": "2007-12-03",
      "endDate": "2007-12-03",
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "companies": [Company],
      "users": [User],
      "usersCount": 123
    }
  }
}

resetSheetColumnOrder

Description

Reset sheet column order

Response

Returns an Int!

Arguments
Name Description
id - Int! Internal ID for the sheet column order

Example

Query
mutation resetSheetColumnOrder($id: Int!) {
  resetSheetColumnOrder(id: $id)
}
Variables
{"id": 987}
Response
{"data": {"resetSheetColumnOrder": 123}}

reviseDrawing

Description

Perform the revise drawing mutation

Response

Returns an Int!

Arguments
Name Description
id - Int! Internal ID for the revise drawing
newDrawingId - Int! New drawing ID used by revise drawing

Example

Query
mutation reviseDrawing(
  $id: Int!,
  $newDrawingId: Int!
) {
  reviseDrawing(
    id: $id,
    newDrawingId: $newDrawingId
  )
}
Variables
{"id": 123, "newDrawingId": 123}
Response
{"data": {"reviseDrawing": 987}}

saveSheetAsCompanyTemplate

Description

Save sheet as company template

Response

Returns a Sheet!

Arguments
Name Description
id - Int! Internal ID for the sheet as company template
projectId - Int Project ID used to scope the operation

Example

Query
mutation saveSheetAsCompanyTemplate(
  $id: Int!,
  $projectId: Int
) {
  saveSheetAsCompanyTemplate(
    id: $id,
    projectId: $projectId
  ) {
    id
    title
    order
    isEditable
    isCompanySharable
    isFavourite
    view
    isDefaultForNewUsers
    columns {
      ...SheetColumnFragment
    }
    columnGroups {
      ...SheetColumnGroupFragment
    }
    filters {
      ...SheetDataFilterFragment
    }
    sort {
      ...SheetSortFragment
    }
    user {
      ...UserFragment
    }
    project {
      ...ProjectFragment
    }
    lists {
      ...SheetListFragment
    }
    colorStatus {
      ...ColourStatusFragment
    }
    treeData
    sharing
  }
}
Variables
{"id": 987, "projectId": 987}
Response
{
  "data": {
    "saveSheetAsCompanyTemplate": {
      "id": 987,
      "title": "abc123",
      "order": 123,
      "isEditable": true,
      "isCompanySharable": false,
      "isFavourite": true,
      "view": "xyz789",
      "isDefaultForNewUsers": true,
      "columns": [SheetColumn],
      "columnGroups": [SheetColumnGroup],
      "filters": [SheetDataFilter],
      "sort": [SheetSort],
      "user": User,
      "project": Project,
      "lists": [SheetList],
      "colorStatus": [ColourStatus],
      "treeData": false,
      "sharing": "abc123"
    }
  }
}

saveSheetAsProjectTemplate

Description

Save sheet as project template

Response

Returns a Sheet!

Arguments
Name Description
id - Int! Internal ID for the sheet as project template
projectId - Int Project ID used to scope the operation

Example

Query
mutation saveSheetAsProjectTemplate(
  $id: Int!,
  $projectId: Int
) {
  saveSheetAsProjectTemplate(
    id: $id,
    projectId: $projectId
  ) {
    id
    title
    order
    isEditable
    isCompanySharable
    isFavourite
    view
    isDefaultForNewUsers
    columns {
      ...SheetColumnFragment
    }
    columnGroups {
      ...SheetColumnGroupFragment
    }
    filters {
      ...SheetDataFilterFragment
    }
    sort {
      ...SheetSortFragment
    }
    user {
      ...UserFragment
    }
    project {
      ...ProjectFragment
    }
    lists {
      ...SheetListFragment
    }
    colorStatus {
      ...ColourStatusFragment
    }
    treeData
    sharing
  }
}
Variables
{"id": 123, "projectId": 987}
Response
{
  "data": {
    "saveSheetAsProjectTemplate": {
      "id": 123,
      "title": "abc123",
      "order": 987,
      "isEditable": false,
      "isCompanySharable": false,
      "isFavourite": false,
      "view": "abc123",
      "isDefaultForNewUsers": false,
      "columns": [SheetColumn],
      "columnGroups": [SheetColumnGroup],
      "filters": [SheetDataFilter],
      "sort": [SheetSort],
      "user": User,
      "project": Project,
      "lists": [SheetList],
      "colorStatus": [ColourStatus],
      "treeData": false,
      "sharing": "xyz789"
    }
  }
}

toggleFavouriteSheet

Description

Toggle favourite sheet

Response

Returns a Boolean!

Arguments
Name Description
id - Int! Internal ID for the favourite sheet

Example

Query
mutation toggleFavouriteSheet($id: Int!) {
  toggleFavouriteSheet(id: $id)
}
Variables
{"id": 987}
Response
{"data": {"toggleFavouriteSheet": true}}

updateAndInsertSheetFilterRecordTypes

Description

Update and insert sheet filter record types

Response

Returns [SheetRecordTypeFilter]!

Arguments
Name Description
sheetId - Int! Sheet ID used by update and insert sheet filter record types
updateAndInsertSheetFilterRecordTypeInput - [UpdateAndInsertSheetFilterRecordTypeInput]! Input payload for update and insert sheet filter record types

Example

Query
mutation updateAndInsertSheetFilterRecordTypes(
  $sheetId: Int!,
  $updateAndInsertSheetFilterRecordTypeInput: [UpdateAndInsertSheetFilterRecordTypeInput]!
) {
  updateAndInsertSheetFilterRecordTypes(
    sheetId: $sheetId,
    updateAndInsertSheetFilterRecordTypeInput: $updateAndInsertSheetFilterRecordTypeInput
  ) {
    id
    title
    enabled
    type
    group
    recordType {
      ...RecordTypeFragment
    }
    order
  }
}
Variables
{
  "sheetId": 123,
  "updateAndInsertSheetFilterRecordTypeInput": [
    UpdateAndInsertSheetFilterRecordTypeInput
  ]
}
Response
{
  "data": {
    "updateAndInsertSheetFilterRecordTypes": [
      {
        "id": "xyz789",
        "title": "abc123",
        "enabled": false,
        "type": "RecordType",
        "group": "abc123",
        "recordType": RecordType,
        "order": 987
      }
    ]
  }
}

updateColourStatus

Description

Update colour status

Response

Returns a ColourStatus!

Arguments
Name Description
id - Int! Internal ID for the colour status
updateColourStatusInput - UpdateColourStatusInput! Input payload for update colour status

Example

Query
mutation updateColourStatus(
  $id: Int!,
  $updateColourStatusInput: UpdateColourStatusInput!
) {
  updateColourStatus(
    id: $id,
    updateColourStatusInput: $updateColourStatusInput
  ) {
    id
    project {
      ...ProjectFragment
    }
    status
    colour
  }
}
Variables
{
  "id": 987,
  "updateColourStatusInput": UpdateColourStatusInput
}
Response
{
  "data": {
    "updateColourStatus": {
      "id": 987,
      "project": Project,
      "status": "xyz789",
      "colour": "xyz789"
    }
  }
}

updateCompanyTeams

Description

Update company teams

Response

Returns [Team]!

Arguments
Name Description
teams - [TeamInput!]! Teams used by update company teams
companyId - Int! Company ID used to scope the operation

Example

Query
mutation updateCompanyTeams(
  $teams: [TeamInput!]!,
  $companyId: Int!
) {
  updateCompanyTeams(
    teams: $teams,
    companyId: $companyId
  ) {
    id
    name
    company {
      ...CompanyFragment
    }
    color
    createdAt
    updatedAt
  }
}
Variables
{"teams": [TeamInput], "companyId": 123}
Response
{
  "data": {
    "updateCompanyTeams": [
      {
        "id": 987,
        "name": "abc123",
        "company": Company,
        "color": "xyz789",
        "createdAt": "xyz789",
        "updatedAt": "xyz789"
      }
    ]
  }
}

updateDescription

Description

Update description

Response

Returns a Description!

Arguments
Name Description
id - Int! Internal ID for the description
updateDescriptionInput - UpdateDescriptionInput! Input payload for update description

Example

Query
mutation updateDescription(
  $id: Int!,
  $updateDescriptionInput: UpdateDescriptionInput!
) {
  updateDescription(
    id: $id,
    updateDescriptionInput: $updateDescriptionInput
  ) {
    id
    recordType {
      ...RecordTypeFragment
    }
    name
    type
    descriptionType
    order
    listValues {
      ...ListValueFragment
    }
    listValuesCount
    list
  }
}
Variables
{
  "id": 987,
  "updateDescriptionInput": UpdateDescriptionInput
}
Response
{
  "data": {
    "updateDescription": {
      "id": 123,
      "recordType": RecordType,
      "name": "xyz789",
      "type": "abc123",
      "descriptionType": "TEXT",
      "order": 123,
      "listValues": [ListValue],
      "listValuesCount": 987,
      "list": 123
    }
  }
}

updateDrawing

Description

Update drawing

Response

Returns a Drawing!

Arguments
Name Description
id - Int! Internal ID for the drawing
updateDrawingInput - UpdateDrawingInput! Input payload for update drawing

Example

Query
mutation updateDrawing(
  $id: Int!,
  $updateDrawingInput: UpdateDrawingInput!
) {
  updateDrawing(
    id: $id,
    updateDrawingInput: $updateDrawingInput
  ) {
    id
    displayName
    type
    project {
      ...ProjectFragment
    }
    createdAt
    updatedAt
    overlays {
      ...RecordOverlayFragment
    }
    overlayCount
    url
    maxResolutionUrl
    thumbnailUrl
    svgPath
    svgUrl
    pdfTextUrl
    originalFileUrl
    filename
  }
}
Variables
{"id": 123, "updateDrawingInput": UpdateDrawingInput}
Response
{
  "data": {
    "updateDrawing": {
      "id": 987,
      "displayName": "xyz789",
      "type": "abc123",
      "project": Project,
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "overlays": [RecordOverlay],
      "overlayCount": 987,
      "url": "xyz789",
      "maxResolutionUrl": "abc123",
      "thumbnailUrl": "xyz789",
      "svgPath": "xyz789",
      "svgUrl": "xyz789",
      "pdfTextUrl": "abc123",
      "originalFileUrl": "xyz789",
      "filename": "abc123"
    }
  }
}

updateListValues

Description

Edit the text, list, or order of an existing selectable list option

Response

Returns a ListValues!

Arguments
Name Description
updateListValuesInput - UpdateListValuesInput! Input payload for the existing list option

Example

Query
mutation updateListValues($updateListValuesInput: UpdateListValuesInput!) {
  updateListValues(updateListValuesInput: $updateListValuesInput) {
    listId
    listValue
    listValueOrder
  }
}
Variables
{"updateListValuesInput": UpdateListValuesInput}
Response
{
  "data": {
    "updateListValues": {
      "listId": 123,
      "listValue": "xyz789",
      "listValueOrder": 123
    }
  }
}

updateProject

Description

Update project

Response

Returns a Project!

Arguments
Name Description
id - Int! Internal ID for the project
updateProjectInput - UpdateProjectInput! Input payload for update project

Example

Query
mutation updateProject(
  $id: Int!,
  $updateProjectInput: UpdateProjectInput!
) {
  updateProject(
    id: $id,
    updateProjectInput: $updateProjectInput
  ) {
    id
    name
    address
    owner
    contactDetails
    comments
    startDate
    endDate
    createdAt
    updatedAt
    companies {
      ...CompanyFragment
    }
    users {
      ...UserFragment
    }
    usersCount
  }
}
Variables
{"id": 123, "updateProjectInput": UpdateProjectInput}
Response
{
  "data": {
    "updateProject": {
      "id": 987,
      "name": "xyz789",
      "address": "xyz789",
      "owner": "xyz789",
      "contactDetails": "abc123",
      "comments": "xyz789",
      "startDate": "2007-12-03",
      "endDate": "2007-12-03",
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "companies": [Company],
      "users": [User],
      "usersCount": 987
    }
  }
}

updateRecordOverlay

Description

Update record overlay

Response

Returns a RecordOverlay!

Arguments
Name Description
id - Int! Internal ID for the record overlay
updateRecordOverlayInput - UpdateRecordOverlayInput! Input payload for update record overlay

Example

Query
mutation updateRecordOverlay(
  $id: Int!,
  $updateRecordOverlayInput: UpdateRecordOverlayInput!
) {
  updateRecordOverlay(
    id: $id,
    updateRecordOverlayInput: $updateRecordOverlayInput
  ) {
    id
    record {
      ...RecordFragment
    }
    drawing {
      ...DrawingFragment
    }
    shape
    data
    createdAt
    updatedAt
  }
}
Variables
{
  "id": 123,
  "updateRecordOverlayInput": UpdateRecordOverlayInput
}
Response
{
  "data": {
    "updateRecordOverlay": {
      "id": 987,
      "record": Record,
      "drawing": Drawing,
      "shape": "polygon",
      "data": "abc123",
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03"
    }
  }
}

updateRecordType

Description

Update record type

Response

Returns a RecordType!

Arguments
Name Description
id - Int! Internal ID for the record type
updateRecordTypeInput - UpdateRecordTypeInput! Input payload for update record type

Example

Query
mutation updateRecordType(
  $id: Int!,
  $updateRecordTypeInput: UpdateRecordTypeInput!
) {
  updateRecordType(
    id: $id,
    updateRecordTypeInput: $updateRecordTypeInput
  ) {
    id
    name
    category
    subCategory
    order
    descriptions {
      ...DescriptionFragment
    }
    descriptionsCount
    trade {
      ...TradeFragment
    }
  }
}
Variables
{
  "id": 123,
  "updateRecordTypeInput": UpdateRecordTypeInput
}
Response
{
  "data": {
    "updateRecordType": {
      "id": 123,
      "name": "xyz789",
      "category": "xyz789",
      "subCategory": "xyz789",
      "order": 987,
      "descriptions": [Description],
      "descriptionsCount": 987,
      "trade": Trade
    }
  }
}

updateRecordTypeCategory

Description

Update record type category

Response

Returns a RecordType

Arguments
Name Description
id - Int! Internal ID for the record type category
category - RecordTypeCategory! Category used by update record type category
subcategory - RecordTypeSubCategory Subcategory used by update record type category

Example

Query
mutation updateRecordTypeCategory(
  $id: Int!,
  $category: RecordTypeCategory!,
  $subcategory: RecordTypeSubCategory
) {
  updateRecordTypeCategory(
    id: $id,
    category: $category,
    subcategory: $subcategory
  ) {
    id
    name
    category
    subCategory
    order
    descriptions {
      ...DescriptionFragment
    }
    descriptionsCount
    trade {
      ...TradeFragment
    }
  }
}
Variables
{"id": 123, "category": "container", "subcategory": "building"}
Response
{
  "data": {
    "updateRecordTypeCategory": {
      "id": 987,
      "name": "abc123",
      "category": "xyz789",
      "subCategory": "abc123",
      "order": 123,
      "descriptions": [Description],
      "descriptionsCount": 987,
      "trade": Trade
    }
  }
}

updateRecords

Description

Update one or many Records

Response

Returns an Int

Arguments
Name Description
filter - RecordFilter! Filter criteria for records
values - [RecordValueUpdate!]! Values used by update records
sourceApp - String Name of the client application making the change
sourceDevice - String Name or type of the device making the change

Example

Query
mutation updateRecords(
  $filter: RecordFilter!,
  $values: [RecordValueUpdate!]!,
  $sourceApp: String,
  $sourceDevice: String
) {
  updateRecords(
    filter: $filter,
    values: $values,
    sourceApp: $sourceApp,
    sourceDevice: $sourceDevice
  )
}
Variables
{
  "filter": RecordFilter,
  "values": [RecordValueUpdate],
  "sourceApp": "abc123",
  "sourceDevice": "xyz789"
}
Response
{"data": {"updateRecords": 123}}

updateSheet

Description

Update sheet

Response

Returns a Sheet!

Arguments
Name Description
id - Int! Internal ID for the sheet
updateSheetInput - UpdateSheetInput! Input payload for update sheet

Example

Query
mutation updateSheet(
  $id: Int!,
  $updateSheetInput: UpdateSheetInput!
) {
  updateSheet(
    id: $id,
    updateSheetInput: $updateSheetInput
  ) {
    id
    title
    order
    isEditable
    isCompanySharable
    isFavourite
    view
    isDefaultForNewUsers
    columns {
      ...SheetColumnFragment
    }
    columnGroups {
      ...SheetColumnGroupFragment
    }
    filters {
      ...SheetDataFilterFragment
    }
    sort {
      ...SheetSortFragment
    }
    user {
      ...UserFragment
    }
    project {
      ...ProjectFragment
    }
    lists {
      ...SheetListFragment
    }
    colorStatus {
      ...ColourStatusFragment
    }
    treeData
    sharing
  }
}
Variables
{"id": 987, "updateSheetInput": UpdateSheetInput}
Response
{
  "data": {
    "updateSheet": {
      "id": 987,
      "title": "abc123",
      "order": 987,
      "isEditable": true,
      "isCompanySharable": false,
      "isFavourite": false,
      "view": "xyz789",
      "isDefaultForNewUsers": false,
      "columns": [SheetColumn],
      "columnGroups": [SheetColumnGroup],
      "filters": [SheetDataFilter],
      "sort": [SheetSort],
      "user": User,
      "project": Project,
      "lists": [SheetList],
      "colorStatus": [ColourStatus],
      "treeData": true,
      "sharing": "abc123"
    }
  }
}

updateSheetColumn

Description

Update sheet column

Response

Returns a SheetColumn!

Arguments
Name Description
id - Int! Internal ID for the sheet column
updateSheetColumnInput - UpdateSheetColumnInput! Input payload for update sheet column

Example

Query
mutation updateSheetColumn(
  $id: Int!,
  $updateSheetColumnInput: UpdateSheetColumnInput!
) {
  updateSheetColumn(
    id: $id,
    updateSheetColumnInput: $updateSheetColumnInput
  ) {
    id
    title
    visible
    width
    type
    columnOrder
    aggregate
    columnGroup {
      ...SheetColumnGroupFragment
    }
  }
}
Variables
{
  "id": 123,
  "updateSheetColumnInput": UpdateSheetColumnInput
}
Response
{
  "data": {
    "updateSheetColumn": {
      "id": 987,
      "title": "xyz789",
      "visible": false,
      "width": 987,
      "type": "index",
      "columnOrder": 987,
      "aggregate": "none",
      "columnGroup": SheetColumnGroup
    }
  }
}

updateSheetColumnOptions

Description

Update sheet column options

Response

Returns [SheetColumn]!

Arguments
Name Description
sheetId - Int! Sheet ID used by update sheet column options
updates - [SheetColumnUpdate!]! Updates used by update sheet column options
projectId - Int Project ID used to scope the operation

Example

Query
mutation updateSheetColumnOptions(
  $sheetId: Int!,
  $updates: [SheetColumnUpdate!]!,
  $projectId: Int
) {
  updateSheetColumnOptions(
    sheetId: $sheetId,
    updates: $updates,
    projectId: $projectId
  ) {
    id
    title
    visible
    width
    type
    columnOrder
    aggregate
    columnGroup {
      ...SheetColumnGroupFragment
    }
  }
}
Variables
{
  "sheetId": 987,
  "updates": [SheetColumnUpdate],
  "projectId": 123
}
Response
{
  "data": {
    "updateSheetColumnOptions": [
      {
        "id": 987,
        "title": "xyz789",
        "visible": true,
        "width": 987,
        "type": "index",
        "columnOrder": 123,
        "aggregate": "none",
        "columnGroup": SheetColumnGroup
      }
    ]
  }
}

updateSheetColumns

Description

Update sheet columns

Response

Returns [SheetColumn]!

Arguments
Name Description
filters - SheetColumnFilter! Filters used by update sheet columns
updateSheetColumnsInput - UpdateSheetColumnsInput! Input payload for update sheet columns

Example

Query
mutation updateSheetColumns(
  $filters: SheetColumnFilter!,
  $updateSheetColumnsInput: UpdateSheetColumnsInput!
) {
  updateSheetColumns(
    filters: $filters,
    updateSheetColumnsInput: $updateSheetColumnsInput
  ) {
    id
    title
    visible
    width
    type
    columnOrder
    aggregate
    columnGroup {
      ...SheetColumnGroupFragment
    }
  }
}
Variables
{
  "filters": SheetColumnFilter,
  "updateSheetColumnsInput": UpdateSheetColumnsInput
}
Response
{
  "data": {
    "updateSheetColumns": [
      {
        "id": 123,
        "title": "abc123",
        "visible": false,
        "width": 123,
        "type": "index",
        "columnOrder": 987,
        "aggregate": "none",
        "columnGroup": SheetColumnGroup
      }
    ]
  }
}

updateSheetFilterDate

Description

Update sheet filter date

Response

Returns a SheetFilterDate!

Arguments
Name Description
sheetId - Int! Sheet ID used by update sheet filter date
updateSheetFilterDateInput - UpdateSheetFilterDateInput! Input payload for update sheet filter date

Example

Query
mutation updateSheetFilterDate(
  $sheetId: Int!,
  $updateSheetFilterDateInput: UpdateSheetFilterDateInput!
) {
  updateSheetFilterDate(
    sheetId: $sheetId,
    updateSheetFilterDateInput: $updateSheetFilterDateInput
  ) {
    id
    group
    enabled
    type
    title
    descriptionName
    startDate
    endDate
    filterType
    value
    sheet {
      ...SheetFragment
    }
    createdAt
    updatedAt
  }
}
Variables
{
  "sheetId": 987,
  "updateSheetFilterDateInput": UpdateSheetFilterDateInput
}
Response
{
  "data": {
    "updateSheetFilterDate": {
      "id": "abc123",
      "group": "xyz789",
      "enabled": true,
      "type": "RecordType",
      "title": "abc123",
      "descriptionName": "xyz789",
      "startDate": "2007-12-03",
      "endDate": "2007-12-03",
      "filterType": "exactDate",
      "value": 123,
      "sheet": Sheet,
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03"
    }
  }
}

updateSheetFilterProject

Description

Update sheet filter project

Response

Returns [SheetProjectFilter]!

Arguments
Name Description
sheetId - Int! Sheet ID used by update sheet filter project
updateSheetFilterProjectInput - [UpdateSheetFilterProjectInput]! Input payload for update sheet filter project

Example

Query
mutation updateSheetFilterProject(
  $sheetId: Int!,
  $updateSheetFilterProjectInput: [UpdateSheetFilterProjectInput]!
) {
  updateSheetFilterProject(
    sheetId: $sheetId,
    updateSheetFilterProjectInput: $updateSheetFilterProjectInput
  ) {
    id
    title
    enabled
    type
    projectId
    projectName
    group
  }
}
Variables
{
  "sheetId": 123,
  "updateSheetFilterProjectInput": [
    UpdateSheetFilterProjectInput
  ]
}
Response
{
  "data": {
    "updateSheetFilterProject": [
      {
        "id": "xyz789",
        "title": "xyz789",
        "enabled": false,
        "type": "RecordType",
        "projectId": 987,
        "projectName": "abc123",
        "group": "abc123"
      }
    ]
  }
}

updateSheetFilterRecordListValue

Description

Update sheet filter record list value

Response

Returns a SheetFilterByListValue!

Arguments
Name Description
sheetId - Int! Sheet ID used by update sheet filter record list value
updateSheetFilterRecordListValueInput - UpdateSheetFilterRecordListValueInput! Input payload for update sheet filter record list value

Example

Query
mutation updateSheetFilterRecordListValue(
  $sheetId: Int!,
  $updateSheetFilterRecordListValueInput: UpdateSheetFilterRecordListValueInput!
) {
  updateSheetFilterRecordListValue(
    sheetId: $sheetId,
    updateSheetFilterRecordListValueInput: $updateSheetFilterRecordListValueInput
  ) {
    value
    id
    listValueIds
    descriptionName
    enabled
  }
}
Variables
{
  "sheetId": 123,
  "updateSheetFilterRecordListValueInput": UpdateSheetFilterRecordListValueInput
}
Response
{
  "data": {
    "updateSheetFilterRecordListValue": {
      "value": "abc123",
      "id": "xyz789",
      "listValueIds": [987],
      "descriptionName": "abc123",
      "enabled": false
    }
  }
}

updateSheetFilterRecordText

Description

Update sheet filter record text

Response

Returns a SheetRecordTextFilter!

Arguments
Name Description
sheetId - Int! Sheet ID used by update sheet filter record text
updateSheetFilterRecordTextInput - UpdateSheetFilterRecordTextInput! Input payload for update sheet filter record text

Example

Query
mutation updateSheetFilterRecordText(
  $sheetId: Int!,
  $updateSheetFilterRecordTextInput: UpdateSheetFilterRecordTextInput!
) {
  updateSheetFilterRecordText(
    sheetId: $sheetId,
    updateSheetFilterRecordTextInput: $updateSheetFilterRecordTextInput
  ) {
    id
    title
    type
    enabled
    group
    value
    descriptions {
      ...DescriptionFragment
    }
  }
}
Variables
{
  "sheetId": 123,
  "updateSheetFilterRecordTextInput": UpdateSheetFilterRecordTextInput
}
Response
{
  "data": {
    "updateSheetFilterRecordText": {
      "id": "abc123",
      "title": "xyz789",
      "type": "RecordType",
      "enabled": true,
      "group": "xyz789",
      "value": "xyz789",
      "descriptions": [Description]
    }
  }
}

updateSheetFilterRecordType

Description

Update sheet filter record type

Response

Returns [SheetRecordTypeFilter]!

Arguments
Name Description
sheetId - Int! Sheet ID used by update sheet filter record type
updateSheetFilterRecordTypeInput - UpdateSheetFilterRecordTypeInput! Input payload for update sheet filter record type

Example

Query
mutation updateSheetFilterRecordType(
  $sheetId: Int!,
  $updateSheetFilterRecordTypeInput: UpdateSheetFilterRecordTypeInput!
) {
  updateSheetFilterRecordType(
    sheetId: $sheetId,
    updateSheetFilterRecordTypeInput: $updateSheetFilterRecordTypeInput
  ) {
    id
    title
    enabled
    type
    group
    recordType {
      ...RecordTypeFragment
    }
    order
  }
}
Variables
{
  "sheetId": 123,
  "updateSheetFilterRecordTypeInput": UpdateSheetFilterRecordTypeInput
}
Response
{
  "data": {
    "updateSheetFilterRecordType": [
      {
        "id": "xyz789",
        "title": "abc123",
        "enabled": false,
        "type": "RecordType",
        "group": "abc123",
        "recordType": RecordType,
        "order": 987
      }
    ]
  }
}

updateSheetFilterRecordTypeByName

Description

Update sheet filter record type by name

Response

Returns a SheetRecordTypeFilter!

Arguments
Name Description
sheetId - Int! Sheet ID used by update sheet filter record type by name
updateSheetFilterRecordTypeByNameInput - UpdateSheetFilterRecordTypeByNameInput! Input payload for update sheet filter record type by name

Example

Query
mutation updateSheetFilterRecordTypeByName(
  $sheetId: Int!,
  $updateSheetFilterRecordTypeByNameInput: UpdateSheetFilterRecordTypeByNameInput!
) {
  updateSheetFilterRecordTypeByName(
    sheetId: $sheetId,
    updateSheetFilterRecordTypeByNameInput: $updateSheetFilterRecordTypeByNameInput
  ) {
    id
    title
    enabled
    type
    group
    recordType {
      ...RecordTypeFragment
    }
    order
  }
}
Variables
{
  "sheetId": 123,
  "updateSheetFilterRecordTypeByNameInput": UpdateSheetFilterRecordTypeByNameInput
}
Response
{
  "data": {
    "updateSheetFilterRecordTypeByName": {
      "id": "xyz789",
      "title": "abc123",
      "enabled": true,
      "type": "RecordType",
      "group": "abc123",
      "recordType": RecordType,
      "order": 123
    }
  }
}

updateSheetGroupBy

Description

Update sheet group by

Response

Returns a SheetGroupBy!

Arguments
Name Description
id - Int! Internal ID for the sheet group by
updateSheetGroupByInput - UpdateSheetGroupByInput! Input payload for update sheet group by

Example

Query
mutation updateSheetGroupBy(
  $id: Int!,
  $updateSheetGroupByInput: UpdateSheetGroupByInput!
) {
  updateSheetGroupBy(
    id: $id,
    updateSheetGroupByInput: $updateSheetGroupByInput
  ) {
    id
    title
    sheetColumn {
      ...SheetColumnFragment
    }
    sheet {
      ...SheetFragment
    }
    groupByOrder
  }
}
Variables
{
  "id": 987,
  "updateSheetGroupByInput": UpdateSheetGroupByInput
}
Response
{
  "data": {
    "updateSheetGroupBy": {
      "id": 987,
      "title": "abc123",
      "sheetColumn": SheetColumn,
      "sheet": Sheet,
      "groupByOrder": 123
    }
  }
}

updateSheetRecordRows

Description

Update sheet rows

Response

Returns an Int!

Arguments
Name Description
sheetId - Int! Sheet ID used by update sheet record rows
updateSheetRecordRows - [UpdateSheetRecordRowInput]! Update sheet record rows used by update sheet record rows

Example

Query
mutation updateSheetRecordRows(
  $sheetId: Int!,
  $updateSheetRecordRows: [UpdateSheetRecordRowInput]!
) {
  updateSheetRecordRows(
    sheetId: $sheetId,
    updateSheetRecordRows: $updateSheetRecordRows
  )
}
Variables
{
  "sheetId": 987,
  "updateSheetRecordRows": [UpdateSheetRecordRowInput]
}
Response
{"data": {"updateSheetRecordRows": 987}}

updateSheetSort

Description

Update sheet sort

Response

Returns [SheetSort!]!

Arguments
Name Description
sheetId - Int! Sheet ID used by update sheet sort
updateSheetSortInput - [UpdateSheetSortInput!]! Input payload for update sheet sort

Example

Query
mutation updateSheetSort(
  $sheetId: Int!,
  $updateSheetSortInput: [UpdateSheetSortInput!]!
) {
  updateSheetSort(
    sheetId: $sheetId,
    updateSheetSortInput: $updateSheetSortInput
  ) {
    id
    column {
      ...SheetColumnFragment
    }
    sheet {
      ...SheetFragment
    }
    order
    direction
  }
}
Variables
{
  "sheetId": 987,
  "updateSheetSortInput": [UpdateSheetSortInput]
}
Response
{
  "data": {
    "updateSheetSort": [
      {
        "id": 987,
        "column": SheetColumn,
        "sheet": Sheet,
        "order": 987,
        "direction": "asc"
      }
    ]
  }
}

updateTeam

Description

Update team

Response

Returns a Team!

Arguments
Name Description
id - Int! Internal ID for the team
updateTeamInput - UpdateTeamInput! Input payload for update team

Example

Query
mutation updateTeam(
  $id: Int!,
  $updateTeamInput: UpdateTeamInput!
) {
  updateTeam(
    id: $id,
    updateTeamInput: $updateTeamInput
  ) {
    id
    name
    company {
      ...CompanyFragment
    }
    color
    createdAt
    updatedAt
  }
}
Variables
{"id": 987, "updateTeamInput": UpdateTeamInput}
Response
{
  "data": {
    "updateTeam": {
      "id": 123,
      "name": "abc123",
      "company": Company,
      "color": "xyz789",
      "createdAt": "xyz789",
      "updatedAt": "xyz789"
    }
  }
}

updateUser

Description

Update user

Response

Returns a User!

Arguments
Name Description
id - Int! Internal ID for the user
updateUserInput - UpdateUserInput! Input payload for update user

Example

Query
mutation updateUser(
  $id: Int!,
  $updateUserInput: UpdateUserInput!
) {
  updateUser(
    id: $id,
    updateUserInput: $updateUserInput
  ) {
    id
    company {
      ...CompanyFragment
    }
    companyId
    firstName
    lastName
    email
    phoneNumber
    role
    jobTitle
    createdAt
    updatedAt
    lastLogin
    projectAccess {
      ...ProjectAccessFragment
    }
    projects {
      ...ProjectFragment
    }
    team
    language
    timezone
    userTeams {
      ...TeamFragment
    }
  }
}
Variables
{"id": 987, "updateUserInput": UpdateUserInput}
Response
{
  "data": {
    "updateUser": {
      "id": 987,
      "company": Company,
      "companyId": 123,
      "firstName": "abc123",
      "lastName": "abc123",
      "email": "xyz789",
      "phoneNumber": "abc123",
      "role": "xyz789",
      "jobTitle": "xyz789",
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "lastLogin": "2007-12-03",
      "projectAccess": [ProjectAccess],
      "projects": [Project],
      "team": "abc123",
      "language": "english",
      "timezone": Timezone,
      "userTeams": [Team]
    }
  }
}

updateUserTeams

Description

Update user teams

Response

Returns a User

Arguments
Name Description
userId - Int! User ID used to scope the operation
teamIds - [Int!]! Team IDs used by update user teams

Example

Query
mutation updateUserTeams(
  $userId: Int!,
  $teamIds: [Int!]!
) {
  updateUserTeams(
    userId: $userId,
    teamIds: $teamIds
  ) {
    id
    company {
      ...CompanyFragment
    }
    companyId
    firstName
    lastName
    email
    phoneNumber
    role
    jobTitle
    createdAt
    updatedAt
    lastLogin
    projectAccess {
      ...ProjectAccessFragment
    }
    projects {
      ...ProjectFragment
    }
    team
    language
    timezone
    userTeams {
      ...TeamFragment
    }
  }
}
Variables
{"userId": 123, "teamIds": [987]}
Response
{
  "data": {
    "updateUserTeams": {
      "id": 987,
      "company": Company,
      "companyId": 123,
      "firstName": "abc123",
      "lastName": "abc123",
      "email": "abc123",
      "phoneNumber": "abc123",
      "role": "abc123",
      "jobTitle": "xyz789",
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "lastLogin": "2007-12-03",
      "projectAccess": [ProjectAccess],
      "projects": [Project],
      "team": "xyz789",
      "language": "english",
      "timezone": Timezone,
      "userTeams": [Team]
    }
  }
}

updateWorkflowRules

Description

Update workflow rules

Response

Returns a WorkflowRules!

Arguments
Name Description
id - Int! Internal ID for the workflow rule
updateWorkflowRulesInput - UpdateWorkflowRulesInput! Input payload for update workflow rules

Example

Query
mutation updateWorkflowRules(
  $id: Int!,
  $updateWorkflowRulesInput: UpdateWorkflowRulesInput!
) {
  updateWorkflowRules(
    id: $id,
    updateWorkflowRulesInput: $updateWorkflowRulesInput
  ) {
    id
    name
    description
    company {
      ...CompanyFragment
    }
    companyId
    project {
      ...ProjectFragment
    }
    projectId
    trigger
    conditions
    actions
    isEnabled
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    modifiedByUser {
      ...UserFragment
    }
    modifiedByUserId
    createdAt
    updatedAt
  }
}
Variables
{
  "id": 123,
  "updateWorkflowRulesInput": UpdateWorkflowRulesInput
}
Response
{
  "data": {
    "updateWorkflowRules": {
      "id": 987,
      "name": "abc123",
      "description": "abc123",
      "company": Company,
      "companyId": 123,
      "project": Project,
      "projectId": 123,
      "trigger": "CREATE_RECORD",
      "conditions": {},
      "actions": {},
      "isEnabled": false,
      "createdByUser": User,
      "createdByUserId": 987,
      "modifiedByUser": User,
      "modifiedByUserId": 123,
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03"
    }
  }
}

upsertSheetColumns

Description

This method will upsert (update if exists/insert if needed) a sheet column

Response

Returns [SheetColumn]!

Arguments
Name Description
sheetId - Int! Sheet ID used by upsert sheet columns
upsertSheetColumnsInput - [UpsertSheetColumns!]! Input payload for upsert sheet columns

Example

Query
mutation upsertSheetColumns(
  $sheetId: Int!,
  $upsertSheetColumnsInput: [UpsertSheetColumns!]!
) {
  upsertSheetColumns(
    sheetId: $sheetId,
    upsertSheetColumnsInput: $upsertSheetColumnsInput
  ) {
    id
    title
    visible
    width
    type
    columnOrder
    aggregate
    columnGroup {
      ...SheetColumnGroupFragment
    }
  }
}
Variables
{
  "sheetId": 987,
  "upsertSheetColumnsInput": [UpsertSheetColumns]
}
Response
{
  "data": {
    "upsertSheetColumns": [
      {
        "id": 987,
        "title": "xyz789",
        "visible": false,
        "width": 987,
        "type": "index",
        "columnOrder": 123,
        "aggregate": "none",
        "columnGroup": SheetColumnGroup
      }
    ]
  }
}

Types

AggregationGroupByOptions

Description

Allowed values for aggregation group by options

Values
Enum Value Description

DAILY

Represents daily for aggregation group by options

WEEKLY

Represents weekly for aggregation group by options

MONTHLY

Represents monthly for aggregation group by options
Example
"DAILY"

AllSheetsFilter

Description

Input object for all sheets filter values

Fields
Input Field Description
id - Int

Internal ID for the all sheets filter item

ids - [Int!]

Internal IDs for all sheets filter items

title - String

Filter by title

titleLike - String

Filter by title using a partial text match

titleRegex - String

Filter by title regex

includeShared - Boolean

Filter by include shared

order - Int

Filter by order

view - String

Filter by view

open - Boolean

Filter by open

projectIds - [Int!]

Filter by project IDs

projectId - Int

Project ID used to scope this input

userId - Int

User ID used to scope this input

sharing - String

Filter by sharing

Example
{
  "id": 987,
  "ids": [987],
  "title": "abc123",
  "titleLike": "abc123",
  "titleRegex": "abc123",
  "includeShared": true,
  "order": 987,
  "view": "abc123",
  "open": true,
  "projectIds": [987],
  "projectId": 987,
  "userId": 987,
  "sharing": "abc123"
}

Attachment

Description

Represents a user-uploaded file associated with a record, including its metadata and access information

Fields
Field Name Description
id - Int! Unique identifier for the attachment
format - String! MIME type of the attachment (e.g., 'image/jpeg', 'application/pdf')
data - String Base64-encoded string of the attachment data
url - String Signed URL where the attachment can temporarily be downloaded
Example
{
  "id": 123,
  "format": "xyz789",
  "data": "abc123",
  "url": "abc123"
}

Boolean

Description

The Boolean scalar type represents true or false

ChangeRecordTypeDescriptionMapping

Description

Input object for change record type description mapping values

Fields
Input Field Description
sourceDescriptionId - Int!

Source description ID value for change record type description mapping

targetDescriptionId - Int!

Target description ID value for change record type description mapping

Example
{"sourceDescriptionId": 123, "targetDescriptionId": 987}

ChangeRecordTypeListValueMapping

Description

Input object for change record type list value mapping values

Fields
Input Field Description
sourceListValueId - Int!

Source list value ID value for change record type list value mapping

targetListValueId - Int!

Target list value ID value for change record type list value mapping

Example
{"sourceListValueId": 123, "targetListValueId": 987}

ColourStatus

Description

Colour status object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this colour status
project - Project Project for this colour status
status - String Status for this colour status
colour - String Colour for this colour status
Example
{
  "id": 123,
  "project": Project,
  "status": "xyz789",
  "colour": "abc123"
}

ColourStatusFilter

Description

Input object for colour status filter values

Fields
Input Field Description
id - Int

Internal ID for the colour status filter item

ids - [Int]

Internal IDs for colour status filter items

projectId - Int

Project ID used to scope this input

status - String

Filter by status

statusLike - String

Filter by status using a partial text match

colour - String

Filter by colour

colourLike - String

Filter by colour using a partial text match

Example
{
  "id": 123,
  "ids": [123],
  "projectId": 987,
  "status": "xyz789",
  "statusLike": "abc123",
  "colour": "xyz789",
  "colourLike": "abc123"
}

ColumnTypes

Description

Allowed values for column types

Values
Enum Value Description

index

Represents index for column types

recordType

Represents record type for column types

description

Represents description for column types

project

Represents project for column types

photo

Represents photo for column types

attachment

Represents attachment for column types

link

Represents link for column types

lookup

Represents lookup for column types
Example
"index"

Company

Description

Company object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this company
name - String Name for this company
type - String Type for this company
location - String Location for this company
companyTrade - String Company trade for this company
contactName - String Contact name for this company
contactPhone - String Contact phone for this company
contactEmail - String Contact email for this company
projects - [Project!]! Projects for this company
projectIds - [Int] Project IDs associated with this company
createdAt - Date Created at timestamp for this company
updatedAt - Date Updated at timestamp for this company
users - [User]! Users for this company
Arguments
page - Int

Zero-based page number to return

perPage - Int

Maximum number of records to return

sortField - String

Field name used to sort the result set

sortOrder - String

Sort direction for the result set

filter - UserFilter

Filter criteria for users

usersCount - Int Number of users for this company
Arguments
filter - UserFilter

Filter criteria for users count

Example
{
  "id": 987,
  "name": "abc123",
  "type": "abc123",
  "location": "abc123",
  "companyTrade": "xyz789",
  "contactName": "abc123",
  "contactPhone": "abc123",
  "contactEmail": "abc123",
  "projects": [Project],
  "projectIds": [123],
  "createdAt": "2007-12-03",
  "updatedAt": "2007-12-03",
  "users": [User],
  "usersCount": 123
}

CreateColourStatusInput

Description

Input object for create colour status input values

Fields
Input Field Description
projectId - Int

Project ID used to scope this input

status - String

Status value for create colour status input

colour - String

Colour value for create colour status input

Example
{
  "projectId": 123,
  "status": "abc123",
  "colour": "xyz789"
}

CreateImportBatchInput

Description

Input object for create import batch input values

Fields
Input Field Description
projectId - Int

Project ID used to scope this input

name - String

Name value for create import batch input

source - String

Source value for create import batch input

importDrawings - Boolean

Import drawings value for create import batch input

Example
{
  "projectId": 987,
  "name": "xyz789",
  "source": "xyz789",
  "importDrawings": true
}

CreateListValueInput

Description

Input object for create list value input values

Fields
Input Field Description
value - String!

Value value for create list value input

order - Int!

Order value for create list value input

Example
{"value": "abc123", "order": 123}

CreateListValuesInput

Description

Input for adding a selectable option to an existing list

Fields
Input Field Description
listId - Int

ID of the existing list that should receive the new option

listValue - String

Display text for the new selectable option

listValueOrder - Int

Zero-based order for the new option within the list

Example
{
  "listId": 987,
  "listValue": "xyz789",
  "listValueOrder": 987
}

CreateOrUpdateSheetColumnsInput

Description

Input object for create or update sheet columns input values

Fields
Input Field Description
id - Int!

Internal ID for the create or update sheet columns input item

visible - Int

Visible value for create or update sheet columns input

title - String

Title value for create or update sheet columns input

width - Int

Width value for create or update sheet columns input

Example
{
  "id": 123,
  "visible": 123,
  "title": "xyz789",
  "width": 987
}

CreateOrUpdateSheetInput

Description

Input object for create or update sheet input values

Fields
Input Field Description
id - Int!

Internal ID for the create or update sheet input item

title - String

Title value for create or update sheet input

order - Int

Order value for create or update sheet input

isDefaultForNewUsers - Boolean

Is default for new users value for create or update sheet input

columns - [CreateOrUpdateSheetColumnsInput]

Columns value for create or update sheet input

filters - [UpdateSheetFiltersInput]

Filters value for create or update sheet input

sort - CreateOrUpdateSheetSort

Sort value for create or update sheet input

Example
{
  "id": 123,
  "title": "abc123",
  "order": 987,
  "isDefaultForNewUsers": false,
  "columns": [CreateOrUpdateSheetColumnsInput],
  "filters": [UpdateSheetFiltersInput],
  "sort": CreateOrUpdateSheetSort
}

CreateOrUpdateSheetSort

Description

Input object for create or update sheet sort values

Fields
Input Field Description
columnId - Int!

Column ID value for create or update sheet sort

direction - SortDirections!

Direction value for create or update sheet sort

visible - Boolean!

Visible value for create or update sheet sort

Example
{"columnId": 123, "direction": "asc", "visible": false}

CreateProjectInput

Description

Input object for create project input values

Fields
Input Field Description
name - String!

Name value for create project input

copyOf - Int

A project id to copy from. Record type data will be copied but not records, links and drawings unless you pass 'fullCopy: true'

fullCopy - Boolean

Copy records, links and drawings when supplying 'copyOf'

copyRecordTypeIds - [Int]

An alternative to copying an entire project. You can specify individual record type ids from another project. Only the record types are copied

Example
{
  "name": "abc123",
  "copyOf": 123,
  "fullCopy": false,
  "copyRecordTypeIds": [123]
}

CreateProjectResponse

Description

Create project response object exposed by the public GraphQL schema

Fields
Field Name Description
project - Project! Project for this create project response
Example
{"project": Project}

CreateRecordInput

Description

Input object for create record input values

Fields
Input Field Description
recordTypeId - Int!

Type ID for this record. Eg: 1234

recordId - String!

Humanized Record ID eg: Window 001

values - [RecordValueCreate!]

Object contains properties descriptionID and value

quantity - Int

Auto increase record id if quantity > 1

Example
{
  "recordTypeId": 987,
  "recordId": "abc123",
  "values": [RecordValueCreate],
  "quantity": 123
}

CreateRecordOverlayInput

Description

Input object for create record overlay input values

Fields
Input Field Description
recordId - Int

Record ID value for create record overlay input

drawingId - Int

Drawing ID value for create record overlay input

shape - RecordOverlayShape

Shape value for create record overlay input

shapeData - String

Shape data value for create record overlay input

Example
{
  "recordId": 123,
  "drawingId": 123,
  "shape": "polygon",
  "shapeData": "xyz789"
}

CreateRecordTypeInput

Description

Input object for create record type input values

Fields
Input Field Description
name - String!

Name value for create record type input

category - RecordTypeCategory!

Category value for create record type input

subCategory - RecordTypeSubCategory

Sub category value for create record type input

order - Int!

Order value for create record type input

copyOf - Int

Copy of value for create record type input

tradeId - Int

Trade ID value for create record type input

Example
{
  "name": "abc123",
  "category": "container",
  "subCategory": "building",
  "order": 987,
  "copyOf": 987,
  "tradeId": 987
}

CreateSheetColumnInput

Description

Input object for create sheet column input values

Fields
Input Field Description
title - String

Title value for create sheet column input

columnGroupId - Int

Column group ID value for create sheet column input

visible - Boolean!

Visible value for create sheet column input

width - Int

Width value for create sheet column input

type - String

Type value for create sheet column input

columnOrder - Int

Column order value for create sheet column input

Example
{
  "title": "xyz789",
  "columnGroupId": 987,
  "visible": false,
  "width": 987,
  "type": "abc123",
  "columnOrder": 987
}

CreateSheetFromTemplateInput

Description

Input object for create sheet from template input values

Fields
Input Field Description
projectId - Int!

Project ID used to scope this input

order - Int

Order value for create sheet from template input

type - SheetTemplateTypes!

Type value for create sheet from template input

view - String

View value for create sheet from template input

sharing - String

Sharing value for create sheet from template input

Example
{
  "projectId": 987,
  "order": 987,
  "type": "Default",
  "view": "abc123",
  "sharing": "abc123"
}

CreateSheetGroupByInput

Description

Input object for create sheet group by input values

Fields
Input Field Description
title - String

Title value for create sheet group by input

sheetColumnId - Int

Sheet column ID value for create sheet group by input

sheetId - Int

Sheet ID value for create sheet group by input

groupByOrder - Int

Group by order value for create sheet group by input

Example
{
  "title": "xyz789",
  "sheetColumnId": 987,
  "sheetId": 123,
  "groupByOrder": 123
}

CreateSheetInput

Description

Input object for create sheet input values

Fields
Input Field Description
title - String!

Title value for create sheet input

order - Int!

Order value for create sheet input

projectId - Int!

Project ID used to scope this input

sharing - String

Sharing value for create sheet input

isDefaultForNewUsers - Boolean

Is default for new users value for create sheet input

Example
{
  "title": "abc123",
  "order": 987,
  "projectId": 123,
  "sharing": "abc123",
  "isDefaultForNewUsers": false
}

CreateSheetSortInput

Description

Input object for create sheet sort input values

Fields
Input Field Description
columnId - Int!

Column ID value for create sheet sort input

sheetId - Int!

Sheet ID value for create sheet sort input

order - Int

Order value for create sheet sort input

direction - SortDirections!

Direction value for create sheet sort input

Example
{"columnId": 987, "sheetId": 987, "order": 123, "direction": "asc"}

CreateTeamInput

Description

Input object for create team input values

Fields
Input Field Description
name - String!

Name value for create team input

color - String!

Color value for create team input

Example
{
  "name": "abc123",
  "color": "xyz789"
}

CreateWorkflowRulesInput

Description

Input object for create workflow rules input values

Fields
Input Field Description
name - String

Name value for create workflow rules input

description - String

Description value for create workflow rules input

companyId - Int

Company ID used to scope this input

projectId - Int

Project ID used to scope this input

trigger - WorkflowRuleTrigger

Trigger value for create workflow rules input

conditions - JSON

Workflow condition tree encoded as JSON. See WorkflowRules.conditions for the supported structure and operator names

actions - JSON

Workflow action as a single JSON object (NOT an array). See WorkflowRules.actions for the supported structure and action types

isEnabled - Boolean

Is enabled value for create workflow rules input

Example
{
  "name": "xyz789",
  "description": "xyz789",
  "companyId": 987,
  "projectId": 123,
  "trigger": "CREATE_RECORD",
  "conditions": {},
  "actions": {},
  "isEnabled": true
}

Date

Description

Custom scalar value for date

Example
"2007-12-03"

Description

Description

Description object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this description
recordType - RecordType! Record type for this description
name - String! Name for this description
type - String! Type for this description
descriptionType - DescriptionType Description type for this description
order - Int Order for this description
listValues - [ListValue!] List values for this description
Arguments
isAdmin - Boolean

Is admin used by list values

isEdit - Boolean

Is edit used by list values

listValuesCount - Int! Number of list values for this description
Arguments
isAdmin - Boolean

Is admin used by list values count

list - Int List for this description
Example
{
  "id": 123,
  "recordType": RecordType,
  "name": "xyz789",
  "type": "xyz789",
  "descriptionType": "TEXT",
  "order": 987,
  "listValues": [ListValue],
  "listValuesCount": 123,
  "list": 987
}

DescriptionByNameOrId

Description

Input object for description by name or ID values

Fields
Input Field Description
id - Int

Internal ID for the description by name or ID item

name - String

Name value for description by name or ID

Example
{"id": 987, "name": "abc123"}

DescriptionColumn

Description

Description column object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this description column
title - String! Title for this description column
visible - Boolean! Visible for this description column
columnOrder - Int! Column order for this description column
width - Int! Width for this description column
type - ColumnTypes! Type for this description column
aggregate - SheetColumnAggregate! Aggregate for this description column
columnGroup - SheetColumnGroup! Column group for this description column
descriptions - [Description!]! Descriptions for this description column
Arguments
projectId - Int

Project ID used to scope the operation

Example
{
  "id": 123,
  "title": "xyz789",
  "visible": false,
  "columnOrder": 987,
  "width": 987,
  "type": "index",
  "aggregate": "none",
  "columnGroup": SheetColumnGroup,
  "descriptions": [Description]
}

DescriptionFilter

Description

Input object for description filter values

Fields
Input Field Description
id - Int

Internal ID for the description filter item

ids - [Int]

Internal IDs for description filter items

recordTypeId - Int

Filter by record type ID

recordTypeIds - [Int]

Filter by record type IDs

projectId - Int

Project ID used to scope this input

list - Int

Filter by list

name - String

Filter by name

nameLike - String

Filter by name using a partial text match

descriptionType - String

Filter by description type

descriptionTypeLike - String

Filter by description type using a partial text match

descriptionOrder - Int

Filter by description order

descriptionOrderGT - Int

Filter where description order is greater than this value

descriptionOrderLT - Int

Filter where description order is less than this value

descriptionOrderLTE - Int

Filter where description order is less than or equal to this value

descriptionOrderGTE - Int

Filter where description order is greater than or equal to this value

Example
{
  "id": 987,
  "ids": [123],
  "recordTypeId": 987,
  "recordTypeIds": [123],
  "projectId": 123,
  "list": 987,
  "name": "xyz789",
  "nameLike": "xyz789",
  "descriptionType": "abc123",
  "descriptionTypeLike": "abc123",
  "descriptionOrder": 123,
  "descriptionOrderGT": 123,
  "descriptionOrderLT": 123,
  "descriptionOrderLTE": 123,
  "descriptionOrderGTE": 123
}

DescriptionType

Description

Allowed values for description type

Values
Enum Value Description

TEXT

Represents text for description type

LIST

Represents list for description type

DATE

Represents date for description type

TIME

Represents time for description type

PHONE

Represents phone for description type

DRAWING

Represents drawing for description type

NUMBER

Represents number for description type

PRICE

Represents price for description type

TRAFFICLIGHT

Represents trafficlight for description type

BUTTON_LIST

Represents button list for description type

WEBSITE_LINK

Represents website link for description type

TEXT_AREA

Represents text area for description type

PHOTO

Represents photo for description type
Example
"TEXT"

Drawing

Description

Drawing object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this drawing
displayName - String! Display name for this drawing
type - String Type for this drawing
project - Project! Project for this drawing
createdAt - Date Created at timestamp for this drawing
updatedAt - Date Updated at timestamp for this drawing
overlays - [RecordOverlay!]! Overlays for this drawing
Arguments
page - Int

Zero-based page number to return

perPage - Int

Maximum number of records to return

sortField - String

Field name used to sort the result set

sortOrder - String

Sort direction for the result set

filter - RecordOverlayFilter

Filter criteria for overlays

overlayCount - Int! Number of overlay for this drawing
Arguments
filter - RecordOverlayFilter

Filter criteria for overlay count

url - String URL for this drawing
maxResolutionUrl - String Max resolution URL for this drawing
thumbnailUrl - String Thumbnail URL for this drawing
svgPath - String SVG path for this drawing
svgUrl - String SVG URL for this drawing
pdfTextUrl - String PDF text URL for this drawing
originalFileUrl - String Original file URL for this drawing
filename - String Filename for this drawing
Example
{
  "id": 123,
  "displayName": "abc123",
  "type": "xyz789",
  "project": Project,
  "createdAt": "2007-12-03",
  "updatedAt": "2007-12-03",
  "overlays": [RecordOverlay],
  "overlayCount": 123,
  "url": "abc123",
  "maxResolutionUrl": "abc123",
  "thumbnailUrl": "xyz789",
  "svgPath": "abc123",
  "svgUrl": "xyz789",
  "pdfTextUrl": "abc123",
  "originalFileUrl": "abc123",
  "filename": "abc123"
}

DrawingFilter

Description

Input object for drawing filter values

Fields
Input Field Description
id - Int

Internal ID for the drawing filter item

ids - [Int]

Internal IDs for drawing filter items

displayName - String

Filter by display name

displayNameLike - String

Filter by display name using a partial text match

type - String

Filter by type

typeLike - String

Filter by type using a partial text match

projectId - Int

Project ID used to scope this input

containedInResultSetId - Int

Drawings that has records in a QueryResult

createdAt - String

Filter by created at

createdAtLike - String

Filter by created at using a partial text match

updatedAt - String

Filter by updated at

updatedAtLike - String

Filter by updated at using a partial text match

Example
{
  "id": 123,
  "ids": [987],
  "displayName": "abc123",
  "displayNameLike": "xyz789",
  "type": "xyz789",
  "typeLike": "xyz789",
  "projectId": 123,
  "containedInResultSetId": 987,
  "createdAt": "xyz789",
  "createdAtLike": "xyz789",
  "updatedAt": "abc123",
  "updatedAtLike": "xyz789"
}

GenericColumn

Description

Generic column object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this generic column
title - String! Title for this generic column
visible - Boolean! Visible for this generic column
columnOrder - Int! Column order for this generic column
width - Int! Width for this generic column
type - ColumnTypes! Type for this generic column
aggregate - SheetColumnAggregate! Aggregate for this generic column
columnGroup - SheetColumnGroup! Column group for this generic column
Example
{
  "id": 123,
  "title": "abc123",
  "visible": true,
  "columnOrder": 987,
  "width": 123,
  "type": "index",
  "aggregate": "none",
  "columnGroup": SheetColumnGroup
}

GroupedUpdate

Description

Grouped update object exposed by the public GraphQL schema

Fields
Field Name Description
date - String! Date for this grouped update
fieldValue - String! Field value for this grouped update
count - Int! Count for this grouped update
Example
{
  "date": "xyz789",
  "fieldValue": "abc123",
  "count": 987
}

GroupedUpdatesByDate

Description

Grouped updates by date object exposed by the public GraphQL schema

Fields
Field Name Description
date - String! Date for this grouped updates by date
updates - [GroupedUpdate!]! Updates for this grouped updates by date
Example
{
  "date": "abc123",
  "updates": [GroupedUpdate]
}

HistoryDescription

Description

History description object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this history description
user - User User for this history description
projectId - Int Project ID associated with this history description
descriptionId - Int Description ID associated with this history description
action - String Action for this history description
timestamp - String Timestamp for this history description
prevDescription - String Prev description for this history description
nextDescription - String Next description for this history description
prevList - Int Prev list for this history description
nextList - Int Next list for this history description
prevDescriptionType - String Prev description type for this history description
nextDescriptionType - String Next description type for this history description
prevDescriptionOrder - Int Prev description order for this history description
nextDescriptionOrder - String Next description order for this history description
recordTypeId - Int Record type ID associated with this history description
Example
{
  "id": 987,
  "user": User,
  "projectId": 987,
  "descriptionId": 987,
  "action": "xyz789",
  "timestamp": "abc123",
  "prevDescription": "abc123",
  "nextDescription": "xyz789",
  "prevList": 123,
  "nextList": 987,
  "prevDescriptionType": "xyz789",
  "nextDescriptionType": "xyz789",
  "prevDescriptionOrder": 123,
  "nextDescriptionOrder": "xyz789",
  "recordTypeId": 987
}

HistoryDescriptionFilter

Description

Input object for history description filter values

Fields
Input Field Description
id - Int

Internal ID for the history description filter item

ids - [Int]

Internal IDs for history description filter items

userId - Int

User ID used to scope this input

projectId - Int

Project ID used to scope this input

descriptionId - Int

Filter by description ID

action - String

Filter by action

actionLike - String

Filter by action using a partial text match

timestamp - String

Filter by timestamp

timestampLike - String

Filter by timestamp using a partial text match

timestampGT - String

Filter where timestamp is greater than this value

timestampGTE - String

Filter where timestamp is greater than or equal to this value

timestampLT - String

Filter where timestamp is less than this value

timestampLTE - String

Filter where timestamp is less than or equal to this value

prevDescription - String

Filter by prev description

prevDescriptionLike - String

Filter by prev description using a partial text match

nextDescription - String

Filter by next description

nextDescriptionLike - String

Filter by next description using a partial text match

prevList - Int

Filter by prev list

nextList - Int

Filter by next list

prevDescriptionType - String

Filter by prev description type

prevDescriptionTypeLike - String

Filter by prev description type using a partial text match

nextDescriptionType - String

Filter by next description type

nextDescriptionTypeLike - String

Filter by next description type using a partial text match

prevDescriptionOrder - Int

Filter by prev description order

nextDescriptionOrder - String

Filter by next description order

nextDescriptionOrderLike - String

Filter by next description order using a partial text match

recordTypeId - Int

Filter by record type ID

Example
{
  "id": 123,
  "ids": [123],
  "userId": 987,
  "projectId": 123,
  "descriptionId": 987,
  "action": "xyz789",
  "actionLike": "abc123",
  "timestamp": "xyz789",
  "timestampLike": "xyz789",
  "timestampGT": "abc123",
  "timestampGTE": "xyz789",
  "timestampLT": "abc123",
  "timestampLTE": "abc123",
  "prevDescription": "xyz789",
  "prevDescriptionLike": "abc123",
  "nextDescription": "abc123",
  "nextDescriptionLike": "abc123",
  "prevList": 123,
  "nextList": 123,
  "prevDescriptionType": "abc123",
  "prevDescriptionTypeLike": "abc123",
  "nextDescriptionType": "abc123",
  "nextDescriptionTypeLike": "xyz789",
  "prevDescriptionOrder": 123,
  "nextDescriptionOrder": "xyz789",
  "nextDescriptionOrderLike": "xyz789",
  "recordTypeId": 987
}

HistoryDescriptionValues

Description

History of changes to record description values (renamed from RecordsValueHistory). Tracks individual field value changes on records

Fields
Field Name Description
id - Int! Internal ID for this history description values
userId - Int User ID associated with this history description values
recordId - Int! Record ID associated with this history description values
recordValueId - Int Record value ID associated with this history description values
descriptionId - Int Description ID associated with this history description values
timestamp - Date! Timestamp for this history description values
action - String! Action for this history description values
prevValue - String Prev value for this history description values
newValue - String New value for this history description values
app - String App for this history description values
Example
{
  "id": 123,
  "userId": 123,
  "recordId": 123,
  "recordValueId": 987,
  "descriptionId": 123,
  "timestamp": "2007-12-03",
  "action": "abc123",
  "prevValue": "abc123",
  "newValue": "xyz789",
  "app": "xyz789"
}

HistoryDescriptionValuesFilter

Description

Input object for history description values filter values

Fields
Input Field Description
id - Int

Internal ID for the history description values filter item

userId - Int

The user id that made the change

recordId - Int

The record that was modified

recordValueId - Int

The record value that has been modified

descriptionId - Int

The description that has been modified

descriptionNameLike - String

Filter by description name using a partial text match

projectId - Int

The ID project the record belongs to

projectIds - [Int!]

Filter by project IDs

companyId - Int

Company ID used to scope this input

timestamp - String

When this action occured

timestampLike - String

Filter by timestamp using a partial text match

timestampGT - String

Filter where timestamp is greater than this value

timestampGTE - String

Filter where timestamp is greater than or equal to this value

timestampLT - String

Filter where timestamp is less than this value

timestampLTE - String

Filter where timestamp is less than or equal to this value

action - RecordHistoryActions

What action was done to create this history item

actionLike - String

Filter by action using a partial text match

prevValue - String

The value the record had before the update

prevValueLike - String

Filter by prev value using a partial text match

newValue - String

The new value for the record

newValueLike - String

Filter by new value using a partial text match

Example
{
  "id": 123,
  "userId": 987,
  "recordId": 987,
  "recordValueId": 987,
  "descriptionId": 123,
  "descriptionNameLike": "xyz789",
  "projectId": 123,
  "projectIds": [987],
  "companyId": 987,
  "timestamp": "xyz789",
  "timestampLike": "xyz789",
  "timestampGT": "xyz789",
  "timestampGTE": "abc123",
  "timestampLT": "abc123",
  "timestampLTE": "xyz789",
  "action": "INSERT",
  "actionLike": "abc123",
  "prevValue": "xyz789",
  "prevValueLike": "abc123",
  "newValue": "xyz789",
  "newValueLike": "xyz789"
}

HistoryLinkFilter

Description

Input object for history link filter values

Fields
Input Field Description
id - Int

Internal ID for the history link filter item

ids - [Int]

Internal IDs for history link filter items

userId - Int

User ID used to scope this input

projectId - Int

Project ID used to scope this input

action - String

Filter by action

timestamp - String

Filter by timestamp

timestampGTE - Date

Filter where timestamp is greater than or equal to this value

timestampLTE - Date

Filter where timestamp is less than or equal to this value

timestampLike - String

Filter by timestamp using a partial text match

linkId - Int

Filter by link ID

primaryRecordId - Int

Filter by primary record ID

secondaryRecordId - Int

Filter by secondary record ID

relationship - String

Filter by relationship

Example
{
  "id": 987,
  "ids": [123],
  "userId": 987,
  "projectId": 123,
  "action": "xyz789",
  "timestamp": "abc123",
  "timestampGTE": "2007-12-03",
  "timestampLTE": "2007-12-03",
  "timestampLike": "xyz789",
  "linkId": 987,
  "primaryRecordId": 123,
  "secondaryRecordId": 987,
  "relationship": "abc123"
}

HistoryListValue

Description

History list value object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this history list value
user - User User for this history list value
action - String Action for this history list value
timestamp - String Timestamp for this history list value
listValueId - Int List value ID associated with this history list value
prevListValue - String Prev list value for this history list value
nextListValue - String Next list value for this history list value
prevListValueOrder - Int Prev list value order for this history list value
nextListValueOrder - Int Next list value order for this history list value
Example
{
  "id": 987,
  "user": User,
  "action": "abc123",
  "timestamp": "xyz789",
  "listValueId": 987,
  "prevListValue": "abc123",
  "nextListValue": "xyz789",
  "prevListValueOrder": 987,
  "nextListValueOrder": 987
}

HistoryListValueFilter

Description

Input object for history list value filter values

Fields
Input Field Description
id - Int

Internal ID for the history list value filter item

ids - [Int]

Internal IDs for history list value filter items

userId - Int

User ID used to scope this input

projectId - Int

Project ID used to scope this input

action - String

Filter by action

actionLike - String

Filter by action using a partial text match

timestamp - String

Filter by timestamp

timestampLike - String

Filter by timestamp using a partial text match

timestampGT - String

Filter where timestamp is greater than this value

timestampGTE - String

Filter where timestamp is greater than or equal to this value

timestampLT - String

Filter where timestamp is less than this value

timestampLTE - String

Filter where timestamp is less than or equal to this value

listValueId - Int

Filter by list value ID

prevListValue - String

Filter by prev list value

prevListValueLike - String

Filter by prev list value using a partial text match

nextListValue - String

Filter by next list value

nextListValueLike - String

Filter by next list value using a partial text match

prevListValueOrder - Int

Filter by prev list value order

prevListValueOrderGT - Int

Filter where prev list value order is greater than this value

prevListValueOrderLT - Int

Filter where prev list value order is less than this value

prevListValueOrderLTE - Int

Filter where prev list value order is less than or equal to this value

prevListValueOrderGTE - Int

Filter where prev list value order is greater than or equal to this value

nextListValueOrder - Int

Filter by next list value order

nextListValueOrderGT - Int

Filter where next list value order is greater than this value

nextListValueOrderLT - Int

Filter where next list value order is less than this value

nextListValueOrderLTE - Int

Filter where next list value order is less than or equal to this value

nextListValueOrderGTE - Int

Filter where next list value order is greater than or equal to this value

Example
{
  "id": 987,
  "ids": [123],
  "userId": 987,
  "projectId": 123,
  "action": "xyz789",
  "actionLike": "abc123",
  "timestamp": "abc123",
  "timestampLike": "xyz789",
  "timestampGT": "xyz789",
  "timestampGTE": "xyz789",
  "timestampLT": "xyz789",
  "timestampLTE": "abc123",
  "listValueId": 987,
  "prevListValue": "xyz789",
  "prevListValueLike": "abc123",
  "nextListValue": "xyz789",
  "nextListValueLike": "abc123",
  "prevListValueOrder": 123,
  "prevListValueOrderGT": 987,
  "prevListValueOrderLT": 987,
  "prevListValueOrderLTE": 987,
  "prevListValueOrderGTE": 987,
  "nextListValueOrder": 123,
  "nextListValueOrderGT": 123,
  "nextListValueOrderLT": 987,
  "nextListValueOrderLTE": 123,
  "nextListValueOrderGTE": 123
}

HistoryRecord

Description

History record object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this history record
userId - Int User ID associated with this history record
projectId - Int! Project ID associated with this history record
action - String! Action for this history record
timestamp - Date! Timestamp for this history record
recordId - Int! Record ID associated with this history record
previousRecordTypeId - Int Previous record type ID associated with this history record
newRecordTypeId - Int New record type ID associated with this history record
recordTypeId - Int Record type ID associated with this history record
Example
{
  "id": 123,
  "userId": 123,
  "projectId": 123,
  "action": "xyz789",
  "timestamp": "2007-12-03",
  "recordId": 123,
  "previousRecordTypeId": 123,
  "newRecordTypeId": 987,
  "recordTypeId": 123
}

HistoryRecordFilter

Description

Input object for history record filter values

Fields
Input Field Description
id - Int

Internal ID for the history record filter item

ids - [Int]

Internal IDs for history record filter items

userId - Int

User ID used to scope this input

projectId - Int

Project ID used to scope this input

action - String

Filter by action

timestamp - String

Filter by timestamp

timestampGTE - Date

Filter where timestamp is greater than or equal to this value

timestampLTE - Date

Filter where timestamp is less than or equal to this value

timestampLike - String

Filter by timestamp using a partial text match

recordId - Int

Filter by record ID

previousRecordTypeId - Int

Filter by previous record type ID

newRecordTypeId - Int

Filter by new record type ID

recordTypeId - Int

Filter by record type ID

Example
{
  "id": 123,
  "ids": [123],
  "userId": 987,
  "projectId": 123,
  "action": "xyz789",
  "timestamp": "abc123",
  "timestampGTE": "2007-12-03",
  "timestampLTE": "2007-12-03",
  "timestampLike": "abc123",
  "recordId": 123,
  "previousRecordTypeId": 987,
  "newRecordTypeId": 987,
  "recordTypeId": 987
}

HistoryRecordType

Description

History of changes to record types (renamed from HistoryMaterialType)

Fields
Field Name Description
id - Int! Internal ID for this history record type
user - User User for this history record type
projectId - Int Project ID associated with this history record type
action - String Action for this history record type
timestamp - String Timestamp for this history record type
recordTypeId - Int Record type ID associated with this history record type
prevRecordType - String Prev record type for this history record type
nextRecordType - String Next record type for this history record type
prevCategory - String Prev category for this history record type
nextCategory - String Next category for this history record type
prevSubcategory - String Prev subcategory for this history record type
nextSubcategory - String Next subcategory for this history record type
prevRecordTypeOrder - Int Prev record type order for this history record type
nextRecordTypeOrder - Int Next record type order for this history record type
Example
{
  "id": 987,
  "user": User,
  "projectId": 123,
  "action": "xyz789",
  "timestamp": "xyz789",
  "recordTypeId": 987,
  "prevRecordType": "xyz789",
  "nextRecordType": "xyz789",
  "prevCategory": "xyz789",
  "nextCategory": "xyz789",
  "prevSubcategory": "abc123",
  "nextSubcategory": "xyz789",
  "prevRecordTypeOrder": 123,
  "nextRecordTypeOrder": 987
}

HistoryRecordTypeFilter

Description

Input object for history record type filter values

Fields
Input Field Description
id - Int

Internal ID for the history record type filter item

ids - [Int]

Internal IDs for history record type filter items

userId - Int

User ID used to scope this input

projectId - Int

Project ID used to scope this input

action - String

Filter by action

actionLike - String

Filter by action using a partial text match

timestamp - String

Filter by timestamp

timestampLike - String

Filter by timestamp using a partial text match

timestampGT - String

Filter where timestamp is greater than this value

timestampGTE - String

Filter where timestamp is greater than or equal to this value

timestampLT - String

Filter where timestamp is less than this value

timestampLTE - String

Filter where timestamp is less than or equal to this value

recordTypeId - Int

Filter by record type ID

prevRecordType - String

Filter by prev record type

prevRecordTypeLike - String

Filter by prev record type using a partial text match

nextRecordType - String

Filter by next record type

nextRecordTypeLike - String

Filter by next record type using a partial text match

prevCategory - String

Filter by prev category

prevCategoryLike - String

Filter by prev category using a partial text match

nextCategory - String

Filter by next category

nextCategoryLike - String

Filter by next category using a partial text match

prevSubcategory - String

Filter by prev subcategory

prevSubcategoryLike - String

Filter by prev subcategory using a partial text match

nextSubcategory - String

Filter by next subcategory

nextSubcategoryLike - String

Filter by next subcategory using a partial text match

prevRecordTypeOrder - Int

Filter by prev record type order

prevRecordTypeOrderGT - Int

Filter where prev record type order is greater than this value

prevRecordTypeOrderLT - Int

Filter where prev record type order is less than this value

prevRecordTypeOrderLTE - Int

Filter where prev record type order is less than or equal to this value

prevRecordTypeOrderGTE - Int

Filter where prev record type order is greater than or equal to this value

nextRecordTypeOrder - Int

Filter by next record type order

nextRecordTypeOrderGT - Int

Filter where next record type order is greater than this value

nextRecordTypeOrderLT - Int

Filter where next record type order is less than this value

nextRecordTypeOrderLTE - Int

Filter where next record type order is less than or equal to this value

nextRecordTypeOrderGTE - Int

Filter where next record type order is greater than or equal to this value

Example
{
  "id": 987,
  "ids": [123],
  "userId": 987,
  "projectId": 123,
  "action": "abc123",
  "actionLike": "abc123",
  "timestamp": "abc123",
  "timestampLike": "abc123",
  "timestampGT": "xyz789",
  "timestampGTE": "xyz789",
  "timestampLT": "abc123",
  "timestampLTE": "abc123",
  "recordTypeId": 123,
  "prevRecordType": "xyz789",
  "prevRecordTypeLike": "abc123",
  "nextRecordType": "abc123",
  "nextRecordTypeLike": "xyz789",
  "prevCategory": "xyz789",
  "prevCategoryLike": "xyz789",
  "nextCategory": "abc123",
  "nextCategoryLike": "xyz789",
  "prevSubcategory": "abc123",
  "prevSubcategoryLike": "abc123",
  "nextSubcategory": "abc123",
  "nextSubcategoryLike": "xyz789",
  "prevRecordTypeOrder": 123,
  "prevRecordTypeOrderGT": 123,
  "prevRecordTypeOrderLT": 123,
  "prevRecordTypeOrderLTE": 123,
  "prevRecordTypeOrderGTE": 987,
  "nextRecordTypeOrder": 987,
  "nextRecordTypeOrderGT": 987,
  "nextRecordTypeOrderLT": 987,
  "nextRecordTypeOrderLTE": 123,
  "nextRecordTypeOrderGTE": 987
}

HistoryWorkflowRules

Description

History workflow rules object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this history workflow rules
workflowRuleId - Int! Workflow rule ID associated with this history workflow rules
workflowRule - WorkflowRules Workflow rule for this history workflow rules
name - String! Name for this history workflow rules
description - String Description for this history workflow rules
companyId - Int Company ID associated with this history workflow rules
company - Company Company for this history workflow rules
projectId - Int Project ID associated with this history workflow rules
project - Project Project for this history workflow rules
trigger - String! Trigger for this history workflow rules
conditions - JSON! Conditions for this history workflow rules
actions - JSON! Actions for this history workflow rules
isEnabled - Boolean! Whether this history workflow rules is enabled
createdByUserId - Int Created by user ID associated with this history workflow rules
createdByUser - User Created by user for this history workflow rules
modifiedByUserId - Int Modified by user ID associated with this history workflow rules
modifiedByUser - User Modified by user for this history workflow rules
createdAt - Date! Created at timestamp for this history workflow rules
action - String! Action for this history workflow rules
Example
{
  "id": 123,
  "workflowRuleId": 987,
  "workflowRule": WorkflowRules,
  "name": "xyz789",
  "description": "xyz789",
  "companyId": 123,
  "company": Company,
  "projectId": 987,
  "project": Project,
  "trigger": "abc123",
  "conditions": {},
  "actions": {},
  "isEnabled": false,
  "createdByUserId": 123,
  "createdByUser": User,
  "modifiedByUserId": 123,
  "modifiedByUser": User,
  "createdAt": "2007-12-03",
  "action": "xyz789"
}

HistoryWorkflowRulesFilter

Description

Input object for history workflow rules filter values

Fields
Input Field Description
id - Int

Internal ID for the history workflow rules filter item

ids - [Int]

Internal IDs for history workflow rules filter items

workflowRuleId - Int

Filter by workflow rule ID

name - String

Filter by name

nameLike - String

Filter by name using a partial text match

description - String

Filter by description

descriptionLike - String

Filter by description using a partial text match

companyId - Int

Company ID used to scope this input

projectId - Int

Project ID used to scope this input

trigger - String

Filter by trigger

triggerLike - String

Filter by trigger using a partial text match

isEnabled - Boolean

Filter by is enabled

createdByUserId - Int

Filter by created by user ID

modifiedByUserId - Int

Filter by modified by user ID

createdAt - String

Filter by created at

createdAtLike - String

Filter by created at using a partial text match

createdAtGT - String

Filter where created at is greater than this value

createdAtGTE - String

Filter where created at is greater than or equal to this value

createdAtLT - String

Filter where created at is less than this value

createdAtLTE - String

Filter where created at is less than or equal to this value

action - String

Filter by action

actionLike - String

Filter by action using a partial text match

Example
{
  "id": 123,
  "ids": [987],
  "workflowRuleId": 123,
  "name": "xyz789",
  "nameLike": "abc123",
  "description": "xyz789",
  "descriptionLike": "xyz789",
  "companyId": 123,
  "projectId": 123,
  "trigger": "xyz789",
  "triggerLike": "abc123",
  "isEnabled": false,
  "createdByUserId": 123,
  "modifiedByUserId": 987,
  "createdAt": "abc123",
  "createdAtLike": "abc123",
  "createdAtGT": "abc123",
  "createdAtGTE": "abc123",
  "createdAtLT": "xyz789",
  "createdAtLTE": "xyz789",
  "action": "abc123",
  "actionLike": "xyz789"
}

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID

Example
4

ImageResize

Description

Input type for resizing an image

Fields
Input Field Description
width - Int

Width of the image in pixels

height - Int

Height of the image in pixels

resizeMode - ResizeModeEnum

Resize mode

Example
{"width": 987, "height": 987, "resizeMode": "contain"}

ImportBatch

Description

Import batch object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this import batch
user - User! User for this import batch
company - Company! Company for this import batch
project - Project! Project for this import batch
createdRecords - Int Created records for this import batch
updatedRecords - Int Updated records for this import batch
linkedRecords - Int Linked records for this import batch
createdAt - Date! Created at timestamp for this import batch
updatedAt - Date! Updated at timestamp for this import batch
completedAt - Date Completed at timestamp for this import batch
importResultId - String Import result ID associated with this import batch
status - ImportBatchStatus Status for this import batch
source - String Source for this import batch
name - String Name for this import batch
Example
{
  "id": 123,
  "user": User,
  "company": Company,
  "project": Project,
  "createdRecords": 123,
  "updatedRecords": 123,
  "linkedRecords": 987,
  "createdAt": "2007-12-03",
  "updatedAt": "2007-12-03",
  "completedAt": "2007-12-03",
  "importResultId": "abc123",
  "status": "QUEUED",
  "source": "xyz789",
  "name": "xyz789"
}

ImportBatchFilter

Description

Input object for import batch filter values

Fields
Input Field Description
id - Int

Internal ID for the import batch filter item

ids - [Int]

Internal IDs for import batch filter items

userId - Int

User ID used to scope this input

companyId - Int

Company ID used to scope this input

projectId - Int

Project ID used to scope this input

projectIds - [Int]

Filter by project IDs

createdByIds - [Int]

Filter by created by IDs

createdRecords - Int

Filter by created records

createdRecordsGT - Int

Filter where created records is greater than this value

createdRecordsLT - Int

Filter where created records is less than this value

createdRecordsLTE - Int

Filter where created records is less than or equal to this value

createdRecordsGTE - Int

Filter where created records is greater than or equal to this value

updatedRecords - Int

Filter by updated records

updatedRecordsGT - Int

Filter where updated records is greater than this value

updatedRecordsLT - Int

Filter where updated records is less than this value

updatedRecordsLTE - Int

Filter where updated records is less than or equal to this value

updatedRecordsGTE - Int

Filter where updated records is greater than or equal to this value

linkedRecords - Int

Filter by linked records

linkedRecordsGT - Int

Filter where linked records is greater than this value

linkedRecordsLT - Int

Filter where linked records is less than this value

linkedRecordsLTE - Int

Filter where linked records is less than or equal to this value

linkedRecordsGTE - Int

Filter where linked records is greater than or equal to this value

createdAt - Date

Filter by created at

createdAtLike - String

Filter by created at using a partial text match

createdAtLTE - Date

Filter where created at is less than or equal to this value

createdAtGTE - Date

Filter where created at is greater than or equal to this value

updatedAt - Date

Filter by updated at

updatedAtLike - String

Filter by updated at using a partial text match

completedAt - Date

Filter by completed at

completedAtLike - String

Filter by completed at using a partial text match

importResultId - String

Filter by import result ID

importResultIdLike - String

Filter by import result ID using a partial text match

statusIn - [String]

Filter by status in

sourceIn - [String]

Filter by source in

Example
{
  "id": 123,
  "ids": [123],
  "userId": 123,
  "companyId": 987,
  "projectId": 987,
  "projectIds": [123],
  "createdByIds": [123],
  "createdRecords": 123,
  "createdRecordsGT": 987,
  "createdRecordsLT": 123,
  "createdRecordsLTE": 123,
  "createdRecordsGTE": 123,
  "updatedRecords": 123,
  "updatedRecordsGT": 987,
  "updatedRecordsLT": 123,
  "updatedRecordsLTE": 987,
  "updatedRecordsGTE": 123,
  "linkedRecords": 987,
  "linkedRecordsGT": 123,
  "linkedRecordsLT": 987,
  "linkedRecordsLTE": 123,
  "linkedRecordsGTE": 987,
  "createdAt": "2007-12-03",
  "createdAtLike": "xyz789",
  "createdAtLTE": "2007-12-03",
  "createdAtGTE": "2007-12-03",
  "updatedAt": "2007-12-03",
  "updatedAtLike": "xyz789",
  "completedAt": "2007-12-03",
  "completedAtLike": "xyz789",
  "importResultId": "xyz789",
  "importResultIdLike": "abc123",
  "statusIn": ["xyz789"],
  "sourceIn": ["xyz789"]
}

ImportBatchStatus

Description

Allowed values for import batch status

Values
Enum Value Description

QUEUED

Represents queued for import batch status

DRAWING_CONVERSION

Represents drawing conversion for import batch status

NOT_READY_TO_IMPORT

Represents not ready to import for import batch status

READY_TO_IMPORT

Represents ready to import for import batch status

IMPORT_IN_PROGRESS

Represents import in progress for import batch status

IMPORT_COMPLETED

Represents import completed for import batch status

IMPORT_FAILED

Represents import failed for import batch status
Example
"QUEUED"

IndexColumn

Description

Column used to display the row number

Fields
Field Name Description
id - Int! Internal ID for this index column
title - String! Title for this index column
visible - Boolean! Visible for this index column
columnOrder - Int! Column order for this index column
width - Int! Width for this index column
type - ColumnTypes! Type for this index column
aggregate - SheetColumnAggregate! Aggregate for this index column
columnGroup - SheetColumnGroup! Column group for this index column
Example
{
  "id": 123,
  "title": "xyz789",
  "visible": false,
  "columnOrder": 987,
  "width": 987,
  "type": "index",
  "aggregate": "none",
  "columnGroup": SheetColumnGroup
}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1

Example
123

InviteExistingCompanyInput

Description

Input object for invite existing company input values

Fields
Input Field Description
companyId - Int!

Company ID used to scope this input

projectId - Int!

Project ID used to scope this input

useCollaboratorSeat - Boolean!

Use collaborator seat value for invite existing company input

projectAccess - ProjectAccessLevel!

Project access value for invite existing company input

restrictAccessToTrade - ID

Restrict access to trade value for invite existing company input

Example
{
  "companyId": 987,
  "projectId": 123,
  "useCollaboratorSeat": true,
  "projectAccess": "READ",
  "restrictAccessToTrade": 4
}

InviteNewCompanyInput

Description

Input object for invite new company input values

Fields
Input Field Description
companyName - String!

Company name value for invite new company input

email - String!

Email value for invite new company input

contactName - String

Contact name value for invite new company input

contactNumber - String

Contact number value for invite new company input

projectId - Int!

Project ID used to scope this input

useCollaboratorSeat - Boolean!

Use collaborator seat value for invite new company input

projectAccess - ProjectAccessLevel!

Project access value for invite new company input

restrictAccessToTrade - ID

Restrict access to trade value for invite new company input

Example
{
  "companyName": "xyz789",
  "email": "abc123",
  "contactName": "xyz789",
  "contactNumber": "abc123",
  "projectId": 987,
  "useCollaboratorSeat": false,
  "projectAccess": "READ",
  "restrictAccessToTrade": 4
}

JSON

Description

Custom scalar value for JSON

Example
{}

LanguageEnum

Description

Enum for user language preference

Values
Enum Value Description

english

English

zh

中文

fr

Français

es

Español

de

Deutsch

th

ภาษาไทย

vn

Tiếng Anh
Example
"english"

LinkColumn

Description

Link column object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this link column
title - String! Title for this link column
visible - Boolean! Visible for this link column
columnOrder - Int! Column order for this link column
width - Int! Width for this link column
type - ColumnTypes! Type for this link column
aggregate - SheetColumnAggregate! Aggregate for this link column
columnGroup - SheetColumnGroup! Column group for this link column
recordType - RecordType! Record type for this link column
Example
{
  "id": 123,
  "title": "abc123",
  "visible": false,
  "columnOrder": 123,
  "width": 123,
  "type": "index",
  "aggregate": "none",
  "columnGroup": SheetColumnGroup,
  "recordType": RecordType
}

LinkFilter

Description

Input object for link filter values

Fields
Input Field Description
projectId - Int!

Project ID used to scope this input

Example
{"projectId": 987}

LinkInput

Description

Input object for link input values

Fields
Input Field Description
primaryRecordId - Int!

Primary record id

secondaryRecordId - Int!

Secondary record id

Example
{"primaryRecordId": 987, "secondaryRecordId": 123}

ListMetadata

Description

List metadata object exposed by the public GraphQL schema

Fields
Field Name Description
count - Int! Count for this list metadata
Example
{"count": 987}

ListValue

Description

List value object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this list value
value - String! Value for this list value
order - Int! Order for this list value
listId - Int! List ID associated with this list value
Example
{
  "id": 123,
  "value": "xyz789",
  "order": 987,
  "listId": 123
}

ListValues

Description

A selectable option in a list-backed description, such as a Status, Location, or other dropdown value

Fields
Field Name Description
listId - Int! ID of the list this option belongs to
listValue - String Display text for this selectable list option
listValueOrder - Int Zero-based order of this option within its list
Example
{
  "listId": 987,
  "listValue": "xyz789",
  "listValueOrder": 987
}

LookupColumn

Description

Lookup column object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this lookup column
title - String! Title for this lookup column
visible - Boolean! Visible for this lookup column
columnOrder - Int! Column order for this lookup column
width - Int! Width for this lookup column
type - ColumnTypes! Type for this lookup column
aggregate - SheetColumnAggregate! Aggregate for this lookup column
columnGroup - SheetColumnGroup! Column group for this lookup column
recordType - RecordType! Record type for this lookup column
description - Description! Description for this lookup column
Example
{
  "id": 123,
  "title": "abc123",
  "visible": false,
  "columnOrder": 123,
  "width": 987,
  "type": "index",
  "aggregate": "none",
  "columnGroup": SheetColumnGroup,
  "recordType": RecordType,
  "description": Description
}

NewRecordTypePermissions

Description

Allowed values for new record type permissions

Values
Enum Value Description

PRIVATE

Represents private for new record type permissions

FULL

Represents full for new record type permissions

PARTIAL

Represents partial for new record type permissions
Example
"PRIVATE"

PermissionsCategorySummary

Description

Permissions category summary object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this permissions category summary
companyId - Int! Company ID associated with this permissions category summary
projectId - Int! Project ID associated with this permissions category summary
summary - SummarisedPermissionsLevel! Summary for this permissions category summary
permissions - [PermissionsSummary!]! Permissions for this permissions category summary
Example
{
  "id": "abc123",
  "companyId": 123,
  "projectId": 123,
  "summary": "FULL",
  "permissions": [PermissionsSummary]
}

PermissionsSummary

Description

Permissions summary object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this permissions summary
recordTypeId - Int! Record type ID associated with this permissions summary
companyId - Int! Company ID associated with this permissions summary
projectId - Int! Project ID associated with this permissions summary
summary - SummarisedPermissionsLevel! Summary for this permissions summary
Example
{
  "id": "abc123",
  "recordTypeId": 123,
  "companyId": 123,
  "projectId": 123,
  "summary": "FULL"
}

Project

Description

Project object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! The matrak Internal ID of the project
name - String! The name of the project
address - String! Address for this project
owner - String! Owner for this project
contactDetails - String! Contact details for this project
comments - String! Comments for this project
startDate - Date Start date for this project
endDate - Date End date for this project
createdAt - Date Created at timestamp for this project
updatedAt - Date Updated at timestamp for this project
companies - [Company!] Companies for this project
users - [User]! Users for this project
Arguments
page - Int

Zero-based page number to return

perPage - Int

Maximum number of records to return

sortField - String

Field name used to sort the result set

sortOrder - String

Sort direction for the result set

filter - UserFilter

Filter criteria for users

usersCount - Int Number of users for this project
Example
{
  "id": 987,
  "name": "abc123",
  "address": "abc123",
  "owner": "xyz789",
  "contactDetails": "abc123",
  "comments": "xyz789",
  "startDate": "2007-12-03",
  "endDate": "2007-12-03",
  "createdAt": "2007-12-03",
  "updatedAt": "2007-12-03",
  "companies": [Company],
  "users": [User],
  "usersCount": 123
}

ProjectAccess

Description

Project access object exposed by the public GraphQL schema

Fields
Field Name Description
project - Project Project for this project access
level - ProjectAccessLevel Level for this project access
hasAccessed - Boolean Whether this project access has accessed
hasAccessedDate - Date Whether this project access has accessed date
lastAccessedDate - Date Last accessed date for this project access
Example
{
  "project": Project,
  "level": "READ",
  "hasAccessed": false,
  "hasAccessedDate": "2007-12-03",
  "lastAccessedDate": "2007-12-03"
}

ProjectAccessLevel

Description

Allowed values for project access level

Values
Enum Value Description

READ

Represents read for project access level

WRITE

Represents write for project access level

ADMIN

Represents admin for project access level
Example
"READ"

ProjectFilter

Description

Input object for project filter values

Fields
Input Field Description
id - Int

Internal ID for the project filter item

ids - [Int]

Internal IDs for project filter items

name - String

Filter by name

nameLike - String

Filter by name using a partial text match

companyId - Int

Company ID used to scope this input

address - String

Filter by address

addressLike - String

Filter by address using a partial text match

owner - String

Filter by owner

ownerLike - String

Filter by owner using a partial text match

contactDetails - String

Filter by contact details

contactDetailsLike - String

Filter by contact details using a partial text match

comments - String

Filter by comments

commentsLike - String

Filter by comments using a partial text match

startDate - String

Filter by start date

startDateGTE - Date

Filter where start date is greater than or equal to this value

startDateLTE - Date

Filter where start date is less than or equal to this value

startDateLike - String

Filter by start date using a partial text match

endDate - String

Filter by end date

endDateGTE - Date

Filter where end date is greater than or equal to this value

endDateLTE - Date

Filter where end date is less than or equal to this value

endDateLike - String

Filter by end date using a partial text match

createdAt - String

Filter by created at

createdAtGTE - Date

Filter where created at is greater than or equal to this value

createdAtLTE - Date

Filter where created at is less than or equal to this value

createdAtLike - String

Filter by created at using a partial text match

updatedAt - String

Filter by updated at

updatedAtLike - String

Filter by updated at using a partial text match

userAccess - Int

Filter by user access, currently super user bahaviour is not implemented, same as normal user

userAccessGTE - Int

Filter where user access is greater than or equal to this value

Example
{
  "id": 987,
  "ids": [987],
  "name": "abc123",
  "nameLike": "abc123",
  "companyId": 987,
  "address": "abc123",
  "addressLike": "abc123",
  "owner": "xyz789",
  "ownerLike": "xyz789",
  "contactDetails": "abc123",
  "contactDetailsLike": "xyz789",
  "comments": "xyz789",
  "commentsLike": "abc123",
  "startDate": "xyz789",
  "startDateGTE": "2007-12-03",
  "startDateLTE": "2007-12-03",
  "startDateLike": "abc123",
  "endDate": "xyz789",
  "endDateGTE": "2007-12-03",
  "endDateLTE": "2007-12-03",
  "endDateLike": "abc123",
  "createdAt": "xyz789",
  "createdAtGTE": "2007-12-03",
  "createdAtLTE": "2007-12-03",
  "createdAtLike": "xyz789",
  "updatedAt": "xyz789",
  "updatedAtLike": "xyz789",
  "userAccess": 987,
  "userAccessGTE": 987
}

Record

Description

Record object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! The globally unique ID for a record eg: 100023
recordId - String Humanized Record ID eg: Window 001
project - Project The details of the project this record belongs to, e.g. Melbourne Hotel
recordType - RecordType! Type details for this record. E.g. Joinery
values - [RecordValue!]! An array of values that this record has, e.g: WIN-0001, Complete
Arguments
description - String

Description used by values

value - RecordValue Get a specific value for a record
Arguments
description - String!

Description used by value

attachments - [Attachment!]! An array of attachments that this record has
Arguments
imageResize - ImageResize

Image resize used by attachments

childLink - [Link] Child materials that belong to this record
parentLink - [Link] Parent materials that belong to this record
linkedRecords - [Record!]! Get all linked records (both child and parent links) that match the provided filter. This allows fetching linked records without knowing the link direction
Arguments
filter - RecordFilter

Filter criteria for linked records

Example
{
  "id": 123,
  "recordId": "xyz789",
  "project": Project,
  "recordType": RecordType,
  "values": [RecordValue],
  "value": RecordValue,
  "attachments": [Attachment],
  "childLink": [Link],
  "parentLink": [Link],
  "linkedRecords": [Record]
}

RecordFilter

Description

Input object for record filter values

Fields
Input Field Description
ids - [Int]

Filter records that are passed in the array of IDS

id - Int

Filter record by internal database id. This is different than the 'ID' description on the actual record. The internal database ID is what is returned in the 'id' field of a Record

recordId - String

Filter records exactly matching this 'ID' description value. This is different than the internal database ID

recordIds - [String]

Filter record exactly matching this 'ID' description value. This is different than the internal database ID

recordTypeName - String

Filter records that have this record type name

recordTypeId - Int

Filter records that have this record type id

recordTypeIds - [Int]

Filter records that have this record type ids

values - [RecordValueFilterInput!]

Filter the records using a collection of value filters

projectName - String

Filter the records to a specific project by name

projectId - Int

Filter the records that are part of a specific project by id

Example
{
  "ids": [987],
  "id": 987,
  "recordId": "xyz789",
  "recordIds": ["abc123"],
  "recordTypeName": "abc123",
  "recordTypeId": 987,
  "recordTypeIds": [987],
  "values": [RecordValueFilterInput],
  "projectName": "xyz789",
  "projectId": 123
}

RecordHistoryActions

Description

Allowed values for record history actions

Values
Enum Value Description

INSERT

Represents insert for record history actions

UPDATE

Represents update for record history actions

DELETE

Represents delete for record history actions
Example
"INSERT"

RecordOverlay

Description

Record overlay object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this record overlay
record - Record! Record for this record overlay
drawing - Drawing! Drawing for this record overlay
shape - RecordOverlayShape! Shape for this record overlay
data - String Data for this record overlay
createdAt - Date Created at timestamp for this record overlay
updatedAt - Date Updated at timestamp for this record overlay
Example
{
  "id": 987,
  "record": Record,
  "drawing": Drawing,
  "shape": "polygon",
  "data": "abc123",
  "createdAt": "2007-12-03",
  "updatedAt": "2007-12-03"
}

RecordOverlayFilter

Description

Input object for record overlay filter values

Fields
Input Field Description
recordId - Int

Filter by record ID

drawingId - Int

Filter by drawing ID

shape - RecordOverlayShape

Filter by shape

shapeData - String

Filter by shape data

shapeDataLike - String

Filter by shape data using a partial text match

containedInResultSetId - Int

Filter by contained in result set ID

createdAt - String

Filter by created at

createdAtLike - String

Filter by created at using a partial text match

updatedAt - String

Filter by updated at

updatedAtLike - String

Filter by updated at using a partial text match

Example
{
  "recordId": 987,
  "drawingId": 123,
  "shape": "polygon",
  "shapeData": "xyz789",
  "shapeDataLike": "abc123",
  "containedInResultSetId": 123,
  "createdAt": "xyz789",
  "createdAtLike": "xyz789",
  "updatedAt": "abc123",
  "updatedAtLike": "abc123"
}

RecordOverlayShape

Description

Allowed values for record overlay shape

Values
Enum Value Description

polygon

Represents polygon for record overlay shape

rectangle

Represents rectangle for record overlay shape

circle

Represents circle for record overlay shape

line

Represents line for record overlay shape

point

Represents point for record overlay shape

bezier

Represents bezier for record overlay shape
Example
"polygon"

RecordType

Description

Record type object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this record type
name - String! Name for this record type
category - String! Category for this record type
subCategory - String Sub category for this record type
order - Int! Order for this record type
descriptions - [Description!]! Descriptions for this record type
Arguments
descriptionTypeFilters - [String]

Description type filters used by descriptions

isAdmin - Boolean

Is admin used by descriptions

descriptionsCount - Int! Number of descriptions for this record type
Arguments
isAdmin - Boolean

Is admin used by descriptions count

trade - Trade Trade for this record type
Example
{
  "id": 987,
  "name": "abc123",
  "category": "abc123",
  "subCategory": "xyz789",
  "order": 987,
  "descriptions": [Description],
  "descriptionsCount": 987,
  "trade": Trade
}

RecordTypeCategory

Description

Allowed values for record type category

Values
Enum Value Description

container

Represents container for record type category

material

Represents material for record type category

location

Represents location for record type category

delivery

Represents delivery for record type category

task

Represents task for record type category

defect

Represents defect for record type category

subtask

Represents subtask for record type category
Example
"container"

RecordTypeFilter

Description

Input object for record type filter values

Fields
Input Field Description
ids - [Int]

Internal IDs for record type filter items

projectId - Int

Project ID used to scope this input

projectIds - [Int]

Filter by project IDs

category - RecordTypeCategory

Filter by category

tradeId - Int

Filter by trade ID

tradeIds - [Int]

Filter by trade IDs

tradeIdsNin - [Int]

Filter where trade IDs is not in the supplied values

tradeName - String

Filter by trade name

tradeNameLike - String

Filter by trade name using a partial text match

Example
{
  "ids": [123],
  "projectId": 987,
  "projectIds": [987],
  "category": "container",
  "tradeId": 123,
  "tradeIds": [987],
  "tradeIdsNin": [123],
  "tradeName": "abc123",
  "tradeNameLike": "abc123"
}

RecordTypeSubCategory

Description

Allowed values for record type sub category

Values
Enum Value Description

building

Represents building for record type sub category

level

Represents level for record type sub category

apartment

Represents apartment for record type sub category

room

Represents room for record type sub category

scheduleZone

Represents schedule zone for record type sub category

none

No subcategory
Example
"building"

RecordValue

Description

Record value object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! A globally unique identifier for this Record Value
value - String! The value of a record
description - Description! The description details of this record value, e.g. name: ID, type: text
Example
{
  "id": 123,
  "value": "abc123",
  "description": Description
}

RecordValueCreate

Description

Input object for record value create values

Fields
Input Field Description
descriptionId - Int!

Specific the existing description ID eg: Status is ID: 20

value - String!

Value of the description eg: Completed

Example
{"descriptionId": 123, "value": "abc123"}

RecordValueFilterInput

Description

Input object for record value filter input values

Fields
Input Field Description
descriptionName - String

Description name value for record value filter input

descriptionId - Int

Description ID value for record value filter input

operator - RecordValueFilterOperator!

Operator value for record value filter input

values - [String!]!

Values value for record value filter input

Example
{
  "descriptionName": "xyz789",
  "descriptionId": 987,
  "operator": "EQUALS",
  "values": ["xyz789"]
}

RecordValueFilterOperator

Description

Allowed values for record value filter operator

Values
Enum Value Description

EQUALS

Value must equal the provided value

DOES_NOT_EQUAL

Value must not equal the provided value

IS_ANY_OF

Value must be any of the provided values

IS_NONE_OF

Value must be none of the provided values

CONTAINS

Value must contain the provided value

DOES_NOT_CONTAIN

Value must not contain the provided value

GREATER_THAN

Value must be greater than the provided value

GREATER_THAN_OR_EQUAL_TO

Value must be greater than or equal to the provided value

LESS_THAN

Value must be less than the provided value

LESS_THAN_OR_EQUAL_TO

Value must be less than or equal to the provided value
Example
"EQUALS"

RecordValueHistoryAggregation

Description

Record value history aggregation object exposed by the public GraphQL schema

Fields
Field Name Description
groupBy - AggregationGroupByOptions Group by for this record value history aggregation
fieldValues - [String!]! Field values for this record value history aggregation
groupedUpdates - [GroupedUpdate!]! Grouped updates for this record value history aggregation
groupedUpdatesByDate - [GroupedUpdatesByDate!]! Grouped updates by date for this record value history aggregation
Example
{
  "groupBy": "DAILY",
  "fieldValues": ["xyz789"],
  "groupedUpdates": [GroupedUpdate],
  "groupedUpdatesByDate": [GroupedUpdatesByDate]
}

RecordValueUpdate

Description

Input object for record value update values

Fields
Input Field Description
descriptionName - String

Specify either a specific description, or descriptions matching a name for which this record update should apply for

descriptionId - Int

Specific the existing description ID

value - String!

The new record value to apply

updateChildren - Boolean

Mark this update to be applied to materials/subcomponents contained withing this record

Example
{
  "descriptionName": "xyz789",
  "descriptionId": 123,
  "value": "abc123",
  "updateChildren": true
}

RecordsUpdatedEvent

Description

Records updated event object exposed by the public GraphQL schema

Fields
Field Name Description
ids - [Int!]! IDs for this records updated event
updates - [UpdateRecordsArgs!]! Updates for this records updated event
Example
{"ids": [987], "updates": [UpdateRecordsArgs]}

ResizeModeEnum

Description

Enum for image resizing strategies

Values
Enum Value Description

contain

Preserves aspect ratio; fits within given dimensions

cover

Preserves aspect ratio; fills the given dimensions

fill

Does not preserve aspect ratio; stretches to fill dimensions

inside

Preserves aspect ratio; fits within given dimensions, without cropping

outside

Preserves aspect ratio; fills given dimensions, may overflow
Example
"contain"

Sheet

Description

Sheet object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this sheet
title - String! Title for this sheet
order - Int! Order for this sheet
isEditable - Boolean! Whether this sheet is editable
isCompanySharable - Boolean! Whether this sheet is company sharable
isFavourite - Boolean! Whether this sheet is favourite
view - String View for this sheet
isDefaultForNewUsers - Boolean! Whether this sheet is default for new users
columns - [SheetColumn!]! Columns for this sheet
Arguments
projectId - Int

Project ID used to scope the operation

columnGroups - [SheetColumnGroup!]! Column groups for this sheet
Arguments
projectId - Int

Project ID used to scope the operation

filters - [SheetDataFilter!]! Filters for this sheet
Arguments
type - SheetFilterTypes

Type used by filters

projectId - Int

Project ID used to scope the operation

sort - [SheetSort!]! Sort for this sheet
user - User! The user this sheet is for
project - Project The project where this sheet lives in
lists - [SheetList!] Lists for this sheet
Arguments
projectId - Int

Project ID used to scope the operation

colorStatus - [ColourStatus!]! Color status for this sheet
Arguments
projectId - Int

Project ID used to scope the operation

treeData - Boolean! Tree data for this sheet
sharing - String! Sharing for this sheet
Example
{
  "id": 987,
  "title": "xyz789",
  "order": 123,
  "isEditable": true,
  "isCompanySharable": false,
  "isFavourite": true,
  "view": "abc123",
  "isDefaultForNewUsers": true,
  "columns": [SheetColumn],
  "columnGroups": [SheetColumnGroup],
  "filters": [SheetDataFilter],
  "sort": [SheetSort],
  "user": User,
  "project": Project,
  "lists": [SheetList],
  "colorStatus": [ColourStatus],
  "treeData": false,
  "sharing": "xyz789"
}

SheetAggregateColInput

Description

Input object for sheet aggregate col input values

Fields
Input Field Description
id - Int!

Internal ID for the sheet aggregate col input item

title - String!

Title value for sheet aggregate col input

aggregate - SheetColumnAggregate!

Aggregate value for sheet aggregate col input

Example
{
  "id": 123,
  "title": "xyz789",
  "aggregate": "none"
}

SheetAttachmentColumn

Description

Sheet attachment column object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this sheet attachment column
title - String! Title for this sheet attachment column
visible - Boolean! Visible for this sheet attachment column
columnOrder - Int! Column order for this sheet attachment column
width - Int! Width for this sheet attachment column
type - ColumnTypes! Type for this sheet attachment column
aggregate - SheetColumnAggregate! Aggregate for this sheet attachment column
columnGroup - SheetColumnGroup! Column group for this sheet attachment column
Example
{
  "id": 987,
  "title": "xyz789",
  "visible": false,
  "columnOrder": 987,
  "width": 987,
  "type": "index",
  "aggregate": "none",
  "columnGroup": SheetColumnGroup
}

SheetCell

Description

Interface implemented by sheet cell objects

Fields
Field Name Description
id - String! Internal ID for this sheet cell
columnId - Int! Column ID associated with this sheet cell
type - SheetCellTypes! Type for this sheet cell
value - String! Value for this sheet cell
editable - Boolean! Editable for this sheet cell
descType - String Desc type for this sheet cell
Example
{
  "id": "abc123",
  "columnId": 987,
  "type": "index",
  "value": "abc123",
  "editable": false,
  "descType": "abc123"
}

SheetCellAggregate

Description

Sheet cell aggregate object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet cell aggregate
columnId - Int! Column ID associated with this sheet cell aggregate
type - SheetCellTypes! Type for this sheet cell aggregate
value - String! Value for this sheet cell aggregate
editable - Boolean! Editable for this sheet cell aggregate
descType - String Desc type for this sheet cell aggregate
Example
{
  "id": "abc123",
  "columnId": 123,
  "type": "index",
  "value": "xyz789",
  "editable": true,
  "descType": "xyz789"
}

SheetCellButtonList

Description

Sheet cell button list object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet cell button list
columnId - Int! Column ID associated with this sheet cell button list
type - SheetCellTypes! Type for this sheet cell button list
value - String! Value for this sheet cell button list
editable - Boolean! Editable for this sheet cell button list
colour - String! Colour for this sheet cell button list
listId - String! List ID associated with this sheet cell button list
descType - String Desc type for this sheet cell button list
Example
{
  "id": "xyz789",
  "columnId": 987,
  "type": "index",
  "value": "abc123",
  "editable": true,
  "colour": "abc123",
  "listId": "abc123",
  "descType": "xyz789"
}

SheetCellGeneric

Description

Sheet cell generic object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet cell generic
columnId - Int! Column ID associated with this sheet cell generic
type - SheetCellTypes! Type for this sheet cell generic
value - String! Value for this sheet cell generic
editable - Boolean! Editable for this sheet cell generic
descType - String Desc type for this sheet cell generic
Example
{
  "id": "abc123",
  "columnId": 987,
  "type": "index",
  "value": "xyz789",
  "editable": true,
  "descType": "abc123"
}

SheetCellIcon

Description

Sheet cell icon object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet cell icon
columnId - Int! Column ID associated with this sheet cell icon
type - SheetCellTypes! Type for this sheet cell icon
value - String! Value for this sheet cell icon
editable - Boolean! Editable for this sheet cell icon
icon - String! TODO: Is this icon a url, or a name for use in a font-icon library?
descType - String Desc type for this sheet cell icon
Example
{
  "id": "abc123",
  "columnId": 123,
  "type": "index",
  "value": "abc123",
  "editable": false,
  "icon": "xyz789",
  "descType": "abc123"
}

SheetCellList

Description

Sheet cell list object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet cell list
columnId - Int! Column ID associated with this sheet cell list
type - SheetCellTypes! Type for this sheet cell list
value - String! Value for this sheet cell list
editable - Boolean! Editable for this sheet cell list
listId - String! List ID associated with this sheet cell list
descType - String Desc type for this sheet cell list
Example
{
  "id": "abc123",
  "columnId": 987,
  "type": "index",
  "value": "xyz789",
  "editable": false,
  "listId": "abc123",
  "descType": "abc123"
}

SheetCellLookup

Description

Sheet cell lookup object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet cell lookup
columnId - Int! Column ID associated with this sheet cell lookup
type - SheetCellTypes! Type for this sheet cell lookup
value - String! Value for this sheet cell lookup
recordNames - [String!]! Record names for this sheet cell lookup
lookupType - SheetCellTypes! Lookup type for this sheet cell lookup
editable - Boolean! Editable for this sheet cell lookup
lookupRows - [SheetRow]! Lookup rows for this sheet cell lookup
lookupCells - [SheetCell]! Lookup cells for this sheet cell lookup
descType - String Desc type for this sheet cell lookup
Example
{
  "id": "xyz789",
  "columnId": 987,
  "type": "index",
  "value": "abc123",
  "recordNames": ["abc123"],
  "lookupType": "index",
  "editable": false,
  "lookupRows": [SheetRow],
  "lookupCells": [SheetCell],
  "descType": "abc123"
}

SheetCellNoAccess

Description

Sheet cell no access object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet cell no access
columnId - Int! Column ID associated with this sheet cell no access
type - SheetCellTypes! Type for this sheet cell no access
value - String! Value for this sheet cell no access
editable - Boolean! Editable for this sheet cell no access
descType - String Desc type for this sheet cell no access
Example
{
  "id": "xyz789",
  "columnId": 987,
  "type": "index",
  "value": "xyz789",
  "editable": true,
  "descType": "abc123"
}

SheetCellPhoto

Description

Sheet cell photo object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet cell photo
columnId - Int! Column ID associated with this sheet cell photo
type - SheetCellTypes! Type for this sheet cell photo
value - String! Value for this sheet cell photo
editable - Boolean! Editable for this sheet cell photo
photos - [SheetCellPhotoMeta!]! Photos for this sheet cell photo
descType - String Desc type for this sheet cell photo
Example
{
  "id": "xyz789",
  "columnId": 987,
  "type": "index",
  "value": "xyz789",
  "editable": false,
  "photos": [SheetCellPhotoMeta],
  "descType": "abc123"
}

SheetCellPhotoMeta

Description

Sheet cell photo meta object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this sheet cell photo meta
title - String! Title for this sheet cell photo meta
thumbnail - String! Thumbnail for this sheet cell photo meta
url - String! URL for this sheet cell photo meta
format - String! Format for this sheet cell photo meta
userName - String! User name for this sheet cell photo meta
appModifiedBy - String! App modified by for this sheet cell photo meta
createdAt - String! Created at timestamp for this sheet cell photo meta
Example
{
  "id": 987,
  "title": "abc123",
  "thumbnail": "xyz789",
  "url": "abc123",
  "format": "xyz789",
  "userName": "abc123",
  "appModifiedBy": "xyz789",
  "createdAt": "xyz789"
}

SheetCellStatus

Description

Sheet cell status object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet cell status
columnId - Int! Column ID associated with this sheet cell status
type - SheetCellTypes! Type for this sheet cell status
value - String! Value for this sheet cell status
editable - Boolean! Editable for this sheet cell status
colour - String! Colour for this sheet cell status
listId - String! List ID associated with this sheet cell status
descType - String Desc type for this sheet cell status
Example
{
  "id": "xyz789",
  "columnId": 123,
  "type": "index",
  "value": "xyz789",
  "editable": false,
  "colour": "abc123",
  "listId": "xyz789",
  "descType": "abc123"
}

SheetCellTypes

Description

Allowed values for sheet cell types

Values
Enum Value Description

index

Represents index for sheet cell types

text

Represents text for sheet cell types

textArea

Represents text area for sheet cell types

number

Represents number for sheet cell types

list

Represents list for sheet cell types

buttonList

Represents button list for sheet cell types

time

Represents time for sheet cell types

date

Represents date for sheet cell types

completion

Represents completion for sheet cell types

icon

Represents icon for sheet cell types

noAccess

Represents no access for sheet cell types

status

Represents status for sheet cell types

websiteLink

Represents website link for sheet cell types

link

Represents link for sheet cell types

photo

Represents photo for sheet cell types

attachment

Represents attachment for sheet cell types

phone

Represents phone for sheet cell types

lookup

Represents lookup for sheet cell types

aggregate

Represents aggregate for sheet cell types
Example
"index"

SheetColumn

Description

Common fields for a sheet column

Fields
Field Name Description
id - Int! Internal ID for this sheet column
title - String! Title for this sheet column
visible - Boolean! Visible for this sheet column
width - Int! Width for this sheet column
type - ColumnTypes! Type for this sheet column
columnOrder - Int Column order for this sheet column
aggregate - SheetColumnAggregate! Aggregate for this sheet column
columnGroup - SheetColumnGroup! The group this column belongs to. The group could be the base records of a sheet, or a group for related/linked data
Example
{
  "id": 987,
  "title": "xyz789",
  "visible": false,
  "width": 987,
  "type": "index",
  "columnOrder": 987,
  "aggregate": "none",
  "columnGroup": SheetColumnGroup
}

SheetColumnAggregate

Description

Allowed values for sheet column aggregate

Values
Enum Value Description

none

Represents none for sheet column aggregate

avg

Represents avg for sheet column aggregate

count

Represents count for sheet column aggregate

first

Represents first for sheet column aggregate

max

Represents max for sheet column aggregate

min

Represents min for sheet column aggregate

sum

Represents sum for sheet column aggregate
Example
"none"

SheetColumnFilter

Description

Input object for sheet column filter values

Fields
Input Field Description
id - Int

Internal ID for the sheet column filter item

ids - [Int]

Internal IDs for sheet column filter items

title - String

Filter by title

titleLike - String

Filter by title using a partial text match

columnGroupId - Int

Filter by column group ID

visible - Int

Filter by visible

visibleGT - Int

Filter where visible is greater than this value

visibleLT - Int

Filter where visible is less than this value

visibleLTE - Int

Filter where visible is less than or equal to this value

visibleGTE - Int

Filter where visible is greater than or equal to this value

width - Int

Filter by width

widthGT - Int

Filter where width is greater than this value

widthLT - Int

Filter where width is less than this value

widthLTE - Int

Filter where width is less than or equal to this value

widthGTE - Int

Filter where width is greater than or equal to this value

type - String

Filter by type

columnOrder - Int

Filter by column order

columnOrderGT - Int

Filter where column order is greater than this value

columnOrderLT - Int

Filter where column order is less than this value

columnOrderLTE - Int

Filter where column order is less than or equal to this value

columnOrderGTE - Int

Filter where column order is greater than or equal to this value

recordTypeId - Int

Filter by record type ID

lookupRecordTypeId - Int

Filter by lookup record type ID

lookupDescriptionId - Int

Filter by lookup description ID

linkRecordTypeId - Int

Filter by link record type ID

Example
{
  "id": 123,
  "ids": [123],
  "title": "xyz789",
  "titleLike": "abc123",
  "columnGroupId": 987,
  "visible": 987,
  "visibleGT": 987,
  "visibleLT": 987,
  "visibleLTE": 987,
  "visibleGTE": 123,
  "width": 123,
  "widthGT": 123,
  "widthLT": 123,
  "widthLTE": 987,
  "widthGTE": 987,
  "type": "xyz789",
  "columnOrder": 987,
  "columnOrderGT": 123,
  "columnOrderLT": 987,
  "columnOrderLTE": 123,
  "columnOrderGTE": 987,
  "recordTypeId": 987,
  "lookupRecordTypeId": 123,
  "lookupDescriptionId": 987,
  "linkRecordTypeId": 123
}

SheetColumnGroup

Description

Sheet column group object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this sheet column group
title - String! Title for this sheet column group
relation - SheetColumnGroupRelation Optional, if the rows in this column group are related to the base data for a sheet the relation filtering/definition is defined here
columns - [SheetColumn!]! Columns for this sheet column group
Arguments
projectId - Int

Project ID used to scope the operation

Example
{
  "id": 123,
  "title": "abc123",
  "relation": SheetColumnGroupRelation,
  "columns": [SheetColumn]
}

SheetColumnGroupRelation

Description

Sheet column group relation object exposed by the public GraphQL schema

Fields
Field Name Description
recordTypeId - Int Indicates wether the related column group is only to dispay a speicific record type
relationDirection - String Can be parent or child, limiting related data in the column group to the respective relation direction
relationType - String Limit the data in the related column group to specific relationship types, e.g. only containers, tasks etc
Example
{
  "recordTypeId": 987,
  "relationDirection": "xyz789",
  "relationType": "xyz789"
}

SheetColumnGroupSchemaInput

Description

Input object for sheet column group schema input values

Fields
Input Field Description
title - String!

Title value for sheet column group schema input

columns - [SheetColumnSchemaInput!]

Columns value for sheet column group schema input

Example
{
  "title": "xyz789",
  "columns": [SheetColumnSchemaInput]
}

SheetColumnOption

Description

Sheet column option object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet column option
title - String! Title for this sheet column option
type - ColumnTypes! Type for this sheet column option
available - Boolean! Available for this sheet column option
enabled - Boolean! Enabled for this sheet column option
width - Int! Width for this sheet column option
columnOrder - Int! Column order for this sheet column option
dbId - Int Db ID associated with this sheet column option
groupName - String! Group name for this sheet column option
Example
{
  "id": "abc123",
  "title": "abc123",
  "type": "index",
  "available": true,
  "enabled": true,
  "width": 987,
  "columnOrder": 123,
  "dbId": 123,
  "groupName": "abc123"
}

SheetColumnSchemaInput

Description

Input object for sheet column schema input values

Fields
Input Field Description
title - String!

Title value for sheet column schema input

visible - Int

Visible value for sheet column schema input

width - Int

Width value for sheet column schema input

type - String!

Type value for sheet column schema input

columnOrder - Int

Column order value for sheet column schema input

recordTypeName - String

Record type name value for sheet column schema input

lookupRecordTypeName - String

Lookup record type name value for sheet column schema input

lookupDescriptionName - String

Lookup description name value for sheet column schema input

descriptionName - String

Description name value for sheet column schema input

Example
{
  "title": "xyz789",
  "visible": 123,
  "width": 987,
  "type": "xyz789",
  "columnOrder": 987,
  "recordTypeName": "xyz789",
  "lookupRecordTypeName": "xyz789",
  "lookupDescriptionName": "xyz789",
  "descriptionName": "xyz789"
}

SheetColumnUpdate

Description

Input object for sheet column update values

Fields
Input Field Description
columnType - ColumnTypes!

Column type value for sheet column update

descriptionName - String

Description name value for sheet column update

enabled - Boolean!

Enabled value for sheet column update

width - Int

Width value for sheet column update

columnOrder - Int

Column order value for sheet column update

Example
{
  "columnType": "index",
  "descriptionName": "xyz789",
  "enabled": false,
  "width": 987,
  "columnOrder": 987
}

SheetDataFilter

Description

Interface implemented by sheet data filter objects

Fields
Field Name Description
id - String! Internal ID for this sheet data filter
title - String! Human readable name for this filter
enabled - Boolean! Indicates whether this filter has been enabled
type - SheetFilterTypes Type for this sheet data filter
group - String Filters can belong to groups, e.g. description filters for a specific record type
Example
{
  "id": "abc123",
  "title": "xyz789",
  "enabled": false,
  "type": "RecordType",
  "group": "abc123"
}

SheetFilterByListValue

Description

Sheet filter by list value object exposed by the public GraphQL schema

Fields
Field Name Description
value - String! Value for this sheet filter by list value
id - String! Internal ID for this sheet filter by list value
listValueIds - [Int!] List value IDs associated with this sheet filter by list value
descriptionName - String! Description name for this sheet filter by list value
enabled - Boolean! Enabled for this sheet filter by list value
Example
{
  "value": "abc123",
  "id": "abc123",
  "listValueIds": [123],
  "descriptionName": "abc123",
  "enabled": true
}

SheetFilterByValue

Description

Sheet filter by value object exposed by the public GraphQL schema

Fields
Field Name Description
value - String Value for this sheet filter by value
descriptionName - String Description name for this sheet filter by value
Example
{
  "value": "abc123",
  "descriptionName": "abc123"
}

SheetFilterDate

Description

Sheet filter date object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet filter date
group - String Group for this sheet filter date
enabled - Boolean! Enabled for this sheet filter date
type - SheetFilterTypes Type for this sheet filter date
title - String! Title for this sheet filter date
descriptionName - String! Description name for this sheet filter date
startDate - Date Start date for this sheet filter date
endDate - Date End date for this sheet filter date
filterType - SheetFilterDateFilterTypes! Filter type for this sheet filter date
value - Int Value for this sheet filter date
sheet - Sheet! Sheet for this sheet filter date
createdAt - Date Created at timestamp for this sheet filter date
updatedAt - Date Updated at timestamp for this sheet filter date
Example
{
  "id": "abc123",
  "group": "xyz789",
  "enabled": true,
  "type": "RecordType",
  "title": "xyz789",
  "descriptionName": "abc123",
  "startDate": "2007-12-03",
  "endDate": "2007-12-03",
  "filterType": "exactDate",
  "value": 987,
  "sheet": Sheet,
  "createdAt": "2007-12-03",
  "updatedAt": "2007-12-03"
}

SheetFilterDateFilterTypes

Description

Allowed values for sheet filter date filter types

Values
Enum Value Description

exactDate

Represents exact date for sheet filter date filter types

dateRange

Represents date range for sheet filter date filter types

beforeDate

Represents before date for sheet filter date filter types

afterDate

Represents after date for sheet filter date filter types

daysAgo

Represents days ago for sheet filter date filter types

daysFuture

Represents days future for sheet filter date filter types

monthsAgo

Represents months ago for sheet filter date filter types

monthsFuture

Represents months future for sheet filter date filter types
Example
"exactDate"

SheetFilterListValueItemSchemaInput

Description

Input object for sheet filter list value item schema input values

Fields
Input Field Description
value - String!

Value value for sheet filter list value item schema input

descriptionName - String!

Description name value for sheet filter list value item schema input

Example
{
  "value": "abc123",
  "descriptionName": "abc123"
}

SheetFilterSchemaInput

Description

Input object for sheet filter schema input values

Fields
Input Field Description
type - SheetFilterTypes!

Type value for sheet filter schema input

recordTypeName - String

Record type name value for sheet filter schema input

enabled - Boolean

Enabled value for sheet filter schema input

descriptionName - String

Description name value for sheet filter schema input

value - String

Value value for sheet filter schema input

listValueItems - [SheetFilterListValueItemSchemaInput!]

List value items value for sheet filter schema input

textValue - String

Text value value for sheet filter schema input

filterType - String

Filter type value for sheet filter schema input

startDate - String

Start date value for sheet filter schema input

endDate - String

End date value for sheet filter schema input

dateValue - String

Date value value for sheet filter schema input

projectId - Int

Project ID used to scope this input

Example
{
  "type": "RecordType",
  "recordTypeName": "abc123",
  "enabled": false,
  "descriptionName": "xyz789",
  "value": "abc123",
  "listValueItems": [SheetFilterListValueItemSchemaInput],
  "textValue": "xyz789",
  "filterType": "xyz789",
  "startDate": "abc123",
  "endDate": "xyz789",
  "dateValue": "abc123",
  "projectId": 123
}

SheetFilterTypes

Description

Allowed values for sheet filter types

Values
Enum Value Description

RecordType

Represents record type for sheet filter types

RecordListValues

Represents record list values for sheet filter types

Text

Represents text for sheet filter types

Project

Represents project for sheet filter types

Date

Represents date for sheet filter types
Example
"RecordType"

SheetGroupBy

Description

Sheet group by object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this sheet group by
title - String Title for this sheet group by
sheetColumn - SheetColumn! Sheet column for this sheet group by
sheet - Sheet! Sheet for this sheet group by
groupByOrder - Int! Group by order for this sheet group by
Example
{
  "id": 987,
  "title": "xyz789",
  "sheetColumn": SheetColumn,
  "sheet": Sheet,
  "groupByOrder": 987
}

SheetGroupByFilter

Description

Input object for sheet group by filter values

Fields
Input Field Description
id - Int

Internal ID for the sheet group by filter item

ids - [Int]

Internal IDs for sheet group by filter items

title - String

Filter by title

titleLike - String

Filter by title using a partial text match

sheetColumnId - Int

Filter by sheet column ID

sheetId - Int

Filter by sheet ID

groupByOrder - Int

Filter by group by order

groupByOrderGT - Int

Filter where group by order is greater than this value

groupByOrderLT - Int

Filter where group by order is less than this value

groupByOrderLTE - Int

Filter where group by order is less than or equal to this value

groupByOrderGTE - Int

Filter where group by order is greater than or equal to this value

Example
{
  "id": 987,
  "ids": [987],
  "title": "xyz789",
  "titleLike": "abc123",
  "sheetColumnId": 987,
  "sheetId": 987,
  "groupByOrder": 123,
  "groupByOrderGT": 987,
  "groupByOrderLT": 123,
  "groupByOrderLTE": 123,
  "groupByOrderGTE": 987
}

SheetGroupBySchemaInput

Description

Input object for sheet group by schema input values

Fields
Input Field Description
title - String!

Title value for sheet group by schema input

columnTitle - String!

Column title value for sheet group by schema input

groupByOrder - Int!

Group by order value for sheet group by schema input

Example
{
  "title": "abc123",
  "columnTitle": "abc123",
  "groupByOrder": 987
}

SheetGroupCol

Description

Sheet group col object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Sheet column Id, fetch column details from backend, e.g. column type
type - ColumnTypes! Type for this sheet group col
title - String! Title for this sheet group col
Example
{
  "id": 987,
  "type": "index",
  "title": "xyz789"
}

SheetGroupColInput

Description

Input object for sheet group col input values

Fields
Input Field Description
id - Int!

Sheet column Id, fetch column details from backend, e.g. column type

type - ColumnTypes!

Type value for sheet group col input

title - String!

Title value for sheet group col input

Example
{
  "id": 987,
  "type": "index",
  "title": "xyz789"
}

SheetList

Description

Sheet list object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet list
values - [SheetListValue!]! Values for this sheet list
Example
{
  "id": "abc123",
  "values": [SheetListValue]
}

SheetListValue

Description

Sheet list value object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet list value
value - String! Value for this sheet list value
order - Int! Order for this sheet list value
Example
{
  "id": "xyz789",
  "value": "xyz789",
  "order": 123
}

SheetPhotoColumn

Description

Sheet photo column object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this sheet photo column
title - String! Title for this sheet photo column
visible - Boolean! Visible for this sheet photo column
columnOrder - Int! Column order for this sheet photo column
width - Int! Width for this sheet photo column
type - ColumnTypes! Type for this sheet photo column
aggregate - SheetColumnAggregate! Aggregate for this sheet photo column
columnGroup - SheetColumnGroup! Column group for this sheet photo column
Example
{
  "id": 987,
  "title": "xyz789",
  "visible": false,
  "columnOrder": 123,
  "width": 987,
  "type": "index",
  "aggregate": "none",
  "columnGroup": SheetColumnGroup
}

SheetProjectColumn

Description

Column used to display the record type of the row

Fields
Field Name Description
id - Int! Internal ID for this sheet project column
title - String! Title for this sheet project column
visible - Boolean! Visible for this sheet project column
columnOrder - Int! Column order for this sheet project column
width - Int! Width for this sheet project column
type - ColumnTypes! Type for this sheet project column
aggregate - SheetColumnAggregate! Aggregate for this sheet project column
columnGroup - SheetColumnGroup! Column group for this sheet project column
Example
{
  "id": 987,
  "title": "xyz789",
  "visible": true,
  "columnOrder": 123,
  "width": 123,
  "type": "index",
  "aggregate": "none",
  "columnGroup": SheetColumnGroup
}

SheetProjectFilter

Description

Sheet project filter object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet project filter
title - String! Human readable name for this filter
enabled - Boolean! Indicates whether this filter has been enabled
type - SheetFilterTypes Filter type
projectId - Int! Project ID associated with this sheet project filter
projectName - String! Project name for this sheet project filter
group - String Group for this sheet project filter
Example
{
  "id": "xyz789",
  "title": "abc123",
  "enabled": true,
  "type": "RecordType",
  "projectId": 123,
  "projectName": "abc123",
  "group": "xyz789"
}

SheetRecordListValueFilter

Description

Sheet record list value filter object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet record list value filter
title - String! Human readable name for this filter
type - SheetFilterTypes Type for this sheet record list value filter
enabled - Boolean! Enabled for this sheet record list value filter
group - String Filters can belong to groups, e.g. description filters for a specific record type
listValueFilters - [SheetFilterByListValue!]! List value filters for this sheet record list value filter
descriptions - [Description!]! Descriptions for this sheet record list value filter
Example
{
  "id": "xyz789",
  "title": "abc123",
  "type": "RecordType",
  "enabled": true,
  "group": "abc123",
  "listValueFilters": [SheetFilterByListValue],
  "descriptions": [Description]
}

SheetRecordTextFilter

Description

Sheet record text filter object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet record text filter
title - String! Human readable name for this filter
type - SheetFilterTypes Type for this sheet record text filter
enabled - Boolean! Enabled for this sheet record text filter
group - String Filters can belong to groups, e.g. description filters for a specific record type
value - String! Value for this sheet record text filter
descriptions - [Description!]! Descriptions for this sheet record text filter
Example
{
  "id": "abc123",
  "title": "xyz789",
  "type": "RecordType",
  "enabled": false,
  "group": "abc123",
  "value": "abc123",
  "descriptions": [Description]
}

SheetRecordTypeColumn

Description

Column used to display the record type of the row

Fields
Field Name Description
id - Int! Internal ID for this sheet record type column
title - String! Title for this sheet record type column
visible - Boolean! Visible for this sheet record type column
columnOrder - Int! Column order for this sheet record type column
width - Int! Width for this sheet record type column
type - ColumnTypes! Type for this sheet record type column
aggregate - SheetColumnAggregate! Aggregate for this sheet record type column
columnGroup - SheetColumnGroup! Column group for this sheet record type column
Example
{
  "id": 987,
  "title": "abc123",
  "visible": true,
  "columnOrder": 123,
  "width": 987,
  "type": "index",
  "aggregate": "none",
  "columnGroup": SheetColumnGroup
}

SheetRecordTypeFilter

Description

Sheet record type filter object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet record type filter
title - String! Human readable name for this filter
enabled - Boolean! Indicates whether this filter has been enabled
type - SheetFilterTypes Filter type
group - String Filters can belong to groups, e.g. description filters for a specific record type
recordType - RecordType! Record type for this sheet record type filter
order - Int Order for this sheet record type filter
Example
{
  "id": "abc123",
  "title": "xyz789",
  "enabled": false,
  "type": "RecordType",
  "group": "xyz789",
  "recordType": RecordType,
  "order": 123
}

SheetRecordValueFilter

Description

Sheet record value filter object exposed by the public GraphQL schema

Fields
Field Name Description
id - String! Internal ID for this sheet record value filter
title - String! Human readable name for this filter
type - SheetFilterTypes Type for this sheet record value filter
enabled - Boolean! Indicates whether this filter has been enabled
group - String Filters can belong to groups, e.g. description filters for a specific record type
recordValues - [SheetFilterByValue] Record values for this sheet record value filter
Example
{
  "id": "abc123",
  "title": "abc123",
  "type": "RecordType",
  "enabled": false,
  "group": "xyz789",
  "recordValues": [SheetFilterByValue]
}

SheetRow

Description

Interface implemented by sheet row objects

Fields
Field Name Description
cells - [SheetCell]! Cells for this sheet row
type - SheetRowTypes! Type for this sheet row
Possible Types
SheetRow Types

SheetRowGeneric

SheetRowRecord

SheetRowGroup

Example
{"cells": [SheetCell], "type": "record"}

SheetRowGeneric

Description

Sheet row generic object exposed by the public GraphQL schema

Fields
Field Name Description
cells - [SheetCell]! Cells for this sheet row generic
type - SheetRowTypes! Type for this sheet row generic
Example
{"cells": [SheetCell], "type": "record"}

SheetRowGroup

Description

Sheet row group object exposed by the public GraphQL schema

Fields
Field Name Description
cells - [SheetCell]! Cells for this sheet row group
type - SheetRowTypes! Type for this sheet row group
count - Int! Count for this sheet row group
title - String! Title for this sheet row group
groupCol - SheetGroupCol! Group col for this sheet row group
groupKeys - [String!]! Group keys for this sheet row group
depth - Int! Depth for this sheet row group
Example
{
  "cells": [SheetCell],
  "type": "record",
  "count": 987,
  "title": "abc123",
  "groupCol": SheetGroupCol,
  "groupKeys": ["xyz789"],
  "depth": 123
}

SheetRowMetadata

Description

Sheet row metadata object exposed by the public GraphQL schema

Fields
Field Name Description
count - Int! Count for this sheet row metadata
recordCount - Int! Number of record for this sheet row metadata
Example
{"count": 987, "recordCount": 123}

SheetRowRecord

Description

Sheet row record object exposed by the public GraphQL schema

Fields
Field Name Description
cells - [SheetCell]! Cells for this sheet row record
type - SheetRowTypes! Type for this sheet row record
recordId - Int! Record ID associated with this sheet row record
recordTypeId - Int! Record type ID associated with this sheet row record
projectId - Int! Project ID associated with this sheet row record
projectName - String! Project name for this sheet row record
recordName - String Record name for this sheet row record
childrenCount - Int! Number of children for this sheet row record
Example
{
  "cells": [SheetCell],
  "type": "record",
  "recordId": 123,
  "recordTypeId": 987,
  "projectId": 123,
  "projectName": "xyz789",
  "recordName": "xyz789",
  "childrenCount": 123
}

SheetRowTypes

Description

Allowed values for sheet row types

Values
Enum Value Description

record

Represents record for sheet row types

group

Represents group for sheet row types
Example
"record"

SheetSchemaInput

Description

Input object for sheet schema input values

Fields
Input Field Description
title - String!

Title value for sheet schema input

view - String

View value for sheet schema input

treeData - Boolean

Tree data value for sheet schema input

columnGroups - [SheetColumnGroupSchemaInput!]

Column groups value for sheet schema input

filters - [SheetFilterSchemaInput!]

Filters value for sheet schema input

groupBy - [SheetGroupBySchemaInput!]

Group by value for sheet schema input

Example
{
  "title": "xyz789",
  "view": "xyz789",
  "treeData": false,
  "columnGroups": [SheetColumnGroupSchemaInput],
  "filters": [SheetFilterSchemaInput],
  "groupBy": [SheetGroupBySchemaInput]
}

SheetSort

Description

Sheet sort object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this sheet sort
column - SheetColumn! Column for this sheet sort
sheet - Sheet! Sheet for this sheet sort
order - Int! Order for this sheet sort
direction - SortDirections! Direction for this sheet sort
Example
{
  "id": 123,
  "column": SheetColumn,
  "sheet": Sheet,
  "order": 123,
  "direction": "asc"
}

SheetSortFilter

Description

Input object for sheet sort filter values

Fields
Input Field Description
id - Int

Internal ID for the sheet sort filter item

ids - [Int]

Internal IDs for sheet sort filter items

columnId - Int

Filter by column ID

sheetId - Int

Filter by sheet ID

order - Int

Filter by order

direction - String

Filter by direction

Example
{
  "id": 987,
  "ids": [123],
  "columnId": 123,
  "sheetId": 987,
  "order": 987,
  "direction": "abc123"
}

SheetTemplateTypes

Description

Allowed values for sheet template types

Values
Enum Value Description

Default

Represents default for sheet template types

Material

Represents material for sheet template types

Delivery

Represents delivery for sheet template types

Defect

Represents defect for sheet template types

MultiProject

Represents multi project for sheet template types

Orders_All

Represents orders all for sheet template types

Orders_Drafts

Represents orders drafts for sheet template types

Orders_PendingApproval

Represents orders pending approval for sheet template types

Orders_Approved

Represents orders approved for sheet template types

Orders_Rejected

Represents orders rejected for sheet template types

Orders_Complete

Represents orders complete for sheet template types
Example
"Default"

SortDirections

Description

Allowed values for sort directions

Values
Enum Value Description

asc

Represents asc for sort directions

desc

Represents desc for sort directions
Example
"asc"

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text

Example
"xyz789"

SummarisedPermissionsLevel

Description

Allowed values for summarised permissions level

Values
Enum Value Description

FULL

Represents full for summarised permissions level

EDIT

Represents edit for summarised permissions level

READ

Represents read for summarised permissions level

RESTRICTED

Represents restricted for summarised permissions level

MIXED

Represents mixed for summarised permissions level
Example
"FULL"

Team

Description

Team object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this team
name - String! Name for this team
company - Company! Company for this team
color - String! Color for this team
createdAt - String! Created at timestamp for this team
updatedAt - String! Updated at timestamp for this team
Example
{
  "id": 123,
  "name": "xyz789",
  "company": Company,
  "color": "abc123",
  "createdAt": "abc123",
  "updatedAt": "xyz789"
}

TeamFilter

Description

Input object for team filter values

Fields
Input Field Description
id - Int

Internal ID for the team filter item

ids - [Int]

Internal IDs for team filter items

name - String

Filter by name

nameLike - String

Filter by name using a partial text match

companyId - Int

Company ID used to scope this input

color - String

Filter by color

colorLike - String

Filter by color using a partial text match

createdAt - String

Filter by created at

createdAtLike - String

Filter by created at using a partial text match

updatedAt - String

Filter by updated at

updatedAtLike - String

Filter by updated at using a partial text match

Example
{
  "id": 123,
  "ids": [987],
  "name": "abc123",
  "nameLike": "abc123",
  "companyId": 987,
  "color": "abc123",
  "colorLike": "abc123",
  "createdAt": "abc123",
  "createdAtLike": "abc123",
  "updatedAt": "xyz789",
  "updatedAtLike": "xyz789"
}

TeamInput

Description

Input object for team input values

Fields
Input Field Description
id - Int

Internal ID for the team input item

name - String!

Name value for team input

color - String

Color value for team input

Example
{
  "id": 987,
  "name": "xyz789",
  "color": "abc123"
}

Timezone

Description

Custom scalar value for timezone

Example
Timezone

Trade

Description

Trade object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this trade
name - String! Name for this trade
createdAt - String Created at timestamp for this trade
updatedAt - String Updated at timestamp for this trade
Example
{
  "id": 123,
  "name": "abc123",
  "createdAt": "abc123",
  "updatedAt": "abc123"
}

TradeFilter

Description

Input object for trade filter values

Fields
Input Field Description
id - Int

Internal ID for the trade filter item

ids - [Int]

Internal IDs for trade filter items

name - String

Filter by name

nameLike - String

Filter by name using a partial text match

createdAt - String

Filter by created at

createdAtLike - String

Filter by created at using a partial text match

updatedAt - String

Filter by updated at

updatedAtLike - String

Filter by updated at using a partial text match

Example
{
  "id": 123,
  "ids": [987],
  "name": "xyz789",
  "nameLike": "xyz789",
  "createdAt": "abc123",
  "createdAtLike": "xyz789",
  "updatedAt": "abc123",
  "updatedAtLike": "abc123"
}

UpdateAndInsertSheetFilterRecordTypeInput

Description

Input object for update and insert sheet filter record type input values

Fields
Input Field Description
recordTypeId - Int!

Record type ID value for update and insert sheet filter record type input

enabled - Boolean

Enabled value for update and insert sheet filter record type input

order - Int

Order value for update and insert sheet filter record type input

Example
{"recordTypeId": 123, "enabled": false, "order": 987}

UpdateColourStatusInput

Description

Input object for update colour status input values

Fields
Input Field Description
projectId - Int

Project ID used to scope this input

status - String

Status value for update colour status input

colour - String

Colour value for update colour status input

Example
{
  "projectId": 987,
  "status": "abc123",
  "colour": "xyz789"
}

UpdateDescriptionInput

Description

Input object for update description input values

Fields
Input Field Description
list - Int

List value for update description input

listValues - [CreateListValueInput!]

List values value for update description input

name - String

Name value for update description input

order - Int

Order value for update description input

Example
{
  "list": 987,
  "listValues": [CreateListValueInput],
  "name": "xyz789",
  "order": 123
}

UpdateDrawingInput

Description

Input object for update drawing input values

Fields
Input Field Description
displayName - String

Display name value for update drawing input

Example
{"displayName": "abc123"}

UpdateListValuesInput

Description

Input for editing an existing selectable list option

Fields
Input Field Description
listValueId - Int!

Internal ID for the list value to update

listId - Int

ID of the list this option belongs to

listValue - String

Updated display text for the selectable option

listValueOrder - Int

Updated zero-based order for the option within the list

Example
{
  "listValueId": 987,
  "listId": 987,
  "listValue": "xyz789",
  "listValueOrder": 123
}

UpdateProjectInput

Description

Input object for update project input values

Fields
Input Field Description
name - String

Name value for update project input

address - String

Address value for update project input

owner - String

Owner value for update project input

contactDetails - String

Contact details value for update project input

comments - String

Comments value for update project input

startDate - Date

Start date value for update project input

endDate - Date

End date value for update project input

Example
{
  "name": "xyz789",
  "address": "abc123",
  "owner": "abc123",
  "contactDetails": "abc123",
  "comments": "abc123",
  "startDate": "2007-12-03",
  "endDate": "2007-12-03"
}

UpdateRecordOverlayInput

Description

Input object for update record overlay input values

Fields
Input Field Description
recordId - Int

Record ID value for update record overlay input

drawingId - Int

Drawing ID value for update record overlay input

shape - RecordOverlayShape

Shape value for update record overlay input

shapeData - String

Shape data value for update record overlay input

Example
{
  "recordId": 987,
  "drawingId": 987,
  "shape": "polygon",
  "shapeData": "xyz789"
}

UpdateRecordTypeInput

Description

Input object for update record type input values

Fields
Input Field Description
name - String

Name value for update record type input

category - RecordTypeCategory

Category value for update record type input

subCategory - RecordTypeSubCategory

Sub category value for update record type input

order - Int

Order value for update record type input

tradeId - Int

Trade ID value for update record type input

Example
{
  "name": "abc123",
  "category": "container",
  "subCategory": "building",
  "order": 123,
  "tradeId": 987
}

UpdateRecordsArgs

Description

Update records args object exposed by the public GraphQL schema

Fields
Field Name Description
descriptionId - Int Description ID associated with this update records args
descriptionName - String Description name for this update records args
value - String! Value for this update records args
Example
{
  "descriptionId": 123,
  "descriptionName": "xyz789",
  "value": "xyz789"
}

UpdateSheetCellValuesInput

Description

Input object for update sheet cell values input values

Fields
Input Field Description
columnId - Int!

Column ID value for update sheet cell values input

value - String!

Value value for update sheet cell values input

Example
{"columnId": 123, "value": "abc123"}

UpdateSheetColumnInput

Description

Input object for update sheet column input values

Fields
Input Field Description
id - Int!

Internal ID for the update sheet column input item

title - String

Title value for update sheet column input

columnGroupId - Int

Column group ID value for update sheet column input

visible - Boolean

Visible value for update sheet column input

width - Int

Width value for update sheet column input

columnOrder - Int

Column order value for update sheet column input

Example
{
  "id": 123,
  "title": "abc123",
  "columnGroupId": 987,
  "visible": true,
  "width": 987,
  "columnOrder": 987
}

UpdateSheetColumnsInput

Description

Input object for update sheet columns input values

Fields
Input Field Description
id - Int

Internal ID for the update sheet columns input item

title - String

Title value for update sheet columns input

visible - Int

Visible value for update sheet columns input

width - Int

Width value for update sheet columns input

columnOrder - Int

Column order value for update sheet columns input

aggregate - SheetColumnAggregate

Aggregate value for update sheet columns input

Example
{
  "id": 987,
  "title": "xyz789",
  "visible": 123,
  "width": 123,
  "columnOrder": 987,
  "aggregate": "none"
}

UpdateSheetFilterDateInput

Description

Input object for update sheet filter date input values

Fields
Input Field Description
id - String!

Internal ID for the update sheet filter date input item

descriptionName - String

Description name value for update sheet filter date input

filterType - String

Filter type value for update sheet filter date input

startDate - String

Start date value for update sheet filter date input

endDate - String

End date value for update sheet filter date input

value - Int

Value value for update sheet filter date input

sheetId - Int

Sheet ID value for update sheet filter date input

enabled - Boolean

Enabled value for update sheet filter date input

Example
{
  "id": "abc123",
  "descriptionName": "xyz789",
  "filterType": "abc123",
  "startDate": "abc123",
  "endDate": "abc123",
  "value": 123,
  "sheetId": 987,
  "enabled": false
}

UpdateSheetFilterProjectInput

Description

Input object for update sheet filter project input values

Fields
Input Field Description
projectId - Int!

Project ID used to scope this input

enabled - Boolean

Enabled value for update sheet filter project input

Example
{"projectId": 987, "enabled": false}

UpdateSheetFilterRecordListValueInput

Description

Input object for update sheet filter record list value input values

Fields
Input Field Description
id - String!

Internal ID for the update sheet filter record list value input item

descriptionName - String!

Description name value for update sheet filter record list value input

value - String!

Value value for update sheet filter record list value input

enabled - Boolean

Enabled value for update sheet filter record list value input

Example
{
  "id": "abc123",
  "descriptionName": "abc123",
  "value": "xyz789",
  "enabled": false
}

UpdateSheetFilterRecordTextInput

Description

Input object for update sheet filter record text input values

Fields
Input Field Description
id - String!

Internal ID for the update sheet filter record text input item

descriptionName - String!

Description name value for update sheet filter record text input

value - String!

Value value for update sheet filter record text input

enabled - Boolean

Enabled value for update sheet filter record text input

Example
{
  "id": "xyz789",
  "descriptionName": "xyz789",
  "value": "abc123",
  "enabled": true
}

UpdateSheetFilterRecordTypeByNameInput

Description

Input object for update sheet filter record type by name input values

Fields
Input Field Description
recordTypeName - String!

Record type name value for update sheet filter record type by name input

enabled - Boolean!

Enabled value for update sheet filter record type by name input

Example
{
  "recordTypeName": "abc123",
  "enabled": true
}

UpdateSheetFilterRecordTypeInput

Description

Input object for update sheet filter record type input values

Fields
Input Field Description
id - String!

Internal ID for the update sheet filter record type input item

enabled - Boolean

Enabled value for update sheet filter record type input

Example
{"id": "xyz789", "enabled": true}

UpdateSheetFiltersInput

Description

Input object for update sheet filters input values

Fields
Input Field Description
id - String!

Internal ID for the update sheet filters input item

type - SheetFilterTypes!

Type value for update sheet filters input

enabled - Boolean!

Enabled value for update sheet filters input

title - String

Title value for update sheet filters input

listValueFilters - [UpdateSheetListValueFilter]

List value filters value for update sheet filters input

Example
{
  "id": "abc123",
  "type": "RecordType",
  "enabled": true,
  "title": "abc123",
  "listValueFilters": [UpdateSheetListValueFilter]
}

UpdateSheetGroupByInput

Description

Input object for update sheet group by input values

Fields
Input Field Description
title - String

Title value for update sheet group by input

sheetColumnId - Int

Sheet column ID value for update sheet group by input

sheetId - Int

Sheet ID value for update sheet group by input

groupByOrder - Int

Group by order value for update sheet group by input

Example
{
  "title": "xyz789",
  "sheetColumnId": 123,
  "sheetId": 987,
  "groupByOrder": 123
}

UpdateSheetInput

Description

Input object for update sheet input values

Fields
Input Field Description
title - String

Title value for update sheet input

order - Int

Order value for update sheet input

treeData - Int

Tree data value for update sheet input

isDefaultForNewUsers - Boolean

Is default for new users value for update sheet input

sharing - String

Sharing value for update sheet input

Example
{
  "title": "abc123",
  "order": 123,
  "treeData": 987,
  "isDefaultForNewUsers": true,
  "sharing": "abc123"
}

UpdateSheetListValueFilter

Description

Input object for update sheet list value filter values

Fields
Input Field Description
value - String!

Filter by value

enabled - Boolean!

Filter by enabled

Example
{"value": "xyz789", "enabled": true}

UpdateSheetRecordRowInput

Description

Input object for update sheet record row input values

Fields
Input Field Description
filter - RecordFilter!

Filter value for update sheet record row input

values - [UpdateSheetCellValuesInput!]!

Values value for update sheet record row input

Example
{
  "filter": RecordFilter,
  "values": [UpdateSheetCellValuesInput]
}

UpdateSheetSortInput

Description

Input object for update sheet sort input values

Fields
Input Field Description
columnId - Int!

Column ID value for update sheet sort input

direction - SortDirections!

Direction value for update sheet sort input

order - Int

Order value for update sheet sort input

Example
{"columnId": 987, "direction": "asc", "order": 987}

UpdateTeamInput

Description

Input object for update team input values

Fields
Input Field Description
name - String!

Name value for update team input

color - String!

Color value for update team input

Example
{
  "name": "abc123",
  "color": "xyz789"
}

UpdateUserInput

Description

Input object for update user input values

Fields
Input Field Description
firstName - String

First name value for update user input

lastName - String

Last name value for update user input

phoneNumber - String

Phone number value for update user input

jobTitle - String

Job title value for update user input

language - LanguageEnum

Language value for update user input

timezone - Timezone

Timezone value for update user input

team - String

Team value for update user input

Example
{
  "firstName": "abc123",
  "lastName": "xyz789",
  "phoneNumber": "xyz789",
  "jobTitle": "abc123",
  "language": "english",
  "timezone": Timezone,
  "team": "abc123"
}

UpdateWorkflowRulesInput

Description

Input object for update workflow rules input values

Fields
Input Field Description
name - String

Name value for update workflow rules input

description - String

Description value for update workflow rules input

companyId - Int

Company ID used to scope this input

projectId - Int

Project ID used to scope this input

trigger - WorkflowRuleTrigger

Trigger value for update workflow rules input

conditions - JSON

Workflow condition tree encoded as JSON. See WorkflowRules.conditions for the supported structure and operator names

actions - JSON

Workflow action as a single JSON object (NOT an array). See WorkflowRules.actions for the supported structure and action types

isEnabled - Boolean

Is enabled value for update workflow rules input

Example
{
  "name": "xyz789",
  "description": "abc123",
  "companyId": 987,
  "projectId": 987,
  "trigger": "CREATE_RECORD",
  "conditions": {},
  "actions": {},
  "isEnabled": false
}

UpsertSheetColumns

Description

Input object for upsert sheet columns values

Fields
Input Field Description
type - ColumnTypes!

Type value for upsert sheet columns

title - String

Title value for upsert sheet columns

recordTypeId - Int

Record type ID value for upsert sheet columns

descriptionId - Int

Description ID value for upsert sheet columns

filter - SheetColumnFilter

Filter value for upsert sheet columns

visible - Boolean

Visible value for upsert sheet columns

width - Int

Width value for upsert sheet columns

columnOrder - Int

Column order value for upsert sheet columns

Example
{
  "type": "index",
  "title": "abc123",
  "recordTypeId": 123,
  "descriptionId": 123,
  "filter": SheetColumnFilter,
  "visible": true,
  "width": 123,
  "columnOrder": 123
}

User

Description

User object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this user
company - Company Company for this user
companyId - Int! Company ID associated with this user
firstName - String! First name for this user
lastName - String! Last name for this user
email - String! Email for this user
phoneNumber - String Phone number for this user
role - String Role for this user
jobTitle - String Job title for this user
createdAt - Date Created at timestamp for this user
updatedAt - Date Updated at timestamp for this user
lastLogin - Date Last login for this user
projectAccess - [ProjectAccess!]! Project access for this user
projects - [Project!] Projects for this user
team - String Team for this user
language - LanguageEnum Language preference
timezone - Timezone Timezone preference
userTeams - [Team!] User teams for this user
Example
{
  "id": 123,
  "company": Company,
  "companyId": 987,
  "firstName": "abc123",
  "lastName": "abc123",
  "email": "abc123",
  "phoneNumber": "xyz789",
  "role": "xyz789",
  "jobTitle": "xyz789",
  "createdAt": "2007-12-03",
  "updatedAt": "2007-12-03",
  "lastLogin": "2007-12-03",
  "projectAccess": [ProjectAccess],
  "projects": [Project],
  "team": "abc123",
  "language": "english",
  "timezone": Timezone,
  "userTeams": [Team]
}

UserFilter

Description

Input object for user filter values

Fields
Input Field Description
id - Int

Internal ID for the user filter item

ids - [Int!]

Internal IDs for user filter items

companyId - Int

Company ID used to scope this input

firstName - String

Filter by first name

firstNameLike - String

Filter by first name using a partial text match

lastName - String

Filter by last name

lastNameLike - String

Filter by last name using a partial text match

email - String

Filter by email

emails - [String]

Filter by emails

emailLike - String

Filter by email using a partial text match

phoneNumber - String

Filter by phone number

phoneNumberLike - String

Filter by phone number using a partial text match

role - String

Filter by role

roleLike - String

Filter by role using a partial text match

jobTitle - String

Filter by job title

jobTitleLike - String

Filter by job title using a partial text match

createdAt - String

Filter by created at

createdAtGTE - Date

Filter where created at is greater than or equal to this value

createdAtLTE - Date

Filter where created at is less than or equal to this value

createdAtLike - String

Filter by created at using a partial text match

updatedAt - String

Filter by updated at

updatedAtLike - String

Filter by updated at using a partial text match

lastLoginGTE - Date

Filter where last login is greater than or equal to this value

lastLoginLTE - Date

Filter where last login is less than or equal to this value

projectId - Int

Project ID used to scope this input

language - LanguageEnum

Filter by language

languageLike - String

Filter by language using a partial text match

timezone - Timezone

Filter by timezone

timezoneLike - String

Filter by timezone using a partial text match

team - String

Filter by team

teamLike - String

Filter by team using a partial text match

Example
{
  "id": 987,
  "ids": [987],
  "companyId": 987,
  "firstName": "xyz789",
  "firstNameLike": "xyz789",
  "lastName": "abc123",
  "lastNameLike": "xyz789",
  "email": "abc123",
  "emails": ["xyz789"],
  "emailLike": "abc123",
  "phoneNumber": "abc123",
  "phoneNumberLike": "xyz789",
  "role": "xyz789",
  "roleLike": "xyz789",
  "jobTitle": "abc123",
  "jobTitleLike": "xyz789",
  "createdAt": "xyz789",
  "createdAtGTE": "2007-12-03",
  "createdAtLTE": "2007-12-03",
  "createdAtLike": "abc123",
  "updatedAt": "xyz789",
  "updatedAtLike": "abc123",
  "lastLoginGTE": "2007-12-03",
  "lastLoginLTE": "2007-12-03",
  "projectId": 987,
  "language": "english",
  "languageLike": "xyz789",
  "timezone": Timezone,
  "timezoneLike": "xyz789",
  "team": "xyz789",
  "teamLike": "xyz789"
}

WorkflowRuleTrigger

Description

Allowed values for workflow rule trigger

Values
Enum Value Description

CREATE_RECORD

Represents create record for workflow rule trigger

UPDATE_DESCRIPTION_VALUE

Represents update description value for workflow rule trigger

DELETE_RECORD

Represents delete record for workflow rule trigger

LINK_RECORDS

Represents link records for workflow rule trigger

ATTACH_PHOTO

Represents attach photo for workflow rule trigger

IMPORT_BATCH

Represents import batch for workflow rule trigger
Example
"CREATE_RECORD"

WorkflowRules

Description

Workflow rules object exposed by the public GraphQL schema

Fields
Field Name Description
id - Int! Internal ID for this workflow rules
name - String! Name for this workflow rules
description - String Description for this workflow rules
company - Company Company for this workflow rules
companyId - Int Company ID associated with this workflow rules
project - Project Project for this workflow rules
projectId - Int Project ID associated with this workflow rules
trigger - WorkflowRuleTrigger! Trigger for this workflow rules
conditions - JSON!

Workflow condition tree encoded as JSON.

Expected structure uses nested objects with either an all or any key, whose values are arrays of condition nodes. Condition nodes must declare a type (recordTypeName, currentDescriptionValue, newDescriptionValue, recordPhotoCount, descriptionPhotoCount, userId, userTeamId). Condition nodes accept an operator drawn from: equals, does not equal, is any of, is none of, contains, does not contain, greater than, greater than or equal to, less than, less than or equal to.

For is any of / is none of, supply a JSON array (or comma separated string) of candidate values. Numeric and ISO date strings are compared using their natural ordering for the greater/less operators

actions - JSON!

Workflow action encoded as a single JSON object.

Expected structure is a single action object (NOT an array) with the following shape: { "type": " ", ...params }

Supported action types:

  • UPDATE_FIELD: Updates a description/field value. Params: { "field": " ", "value": " " }
  • BLOCK: Blocks/prevents the triggering operation and shows an error. Params: { "message": " " }

Example: { "type": "UPDATE_FIELD", "field": "Status", "value": "Awaiting Approval" } Example: { "type": "BLOCK", "message": "Comments are required before rejecting" }

isEnabled - Boolean! Whether this workflow rules is enabled
createdByUser - User Created by user for this workflow rules
createdByUserId - Int Created by user ID associated with this workflow rules
modifiedByUser - User Modified by user for this workflow rules
modifiedByUserId - Int Modified by user ID associated with this workflow rules
createdAt - Date! Created at timestamp for this workflow rules
updatedAt - Date! Updated at timestamp for this workflow rules
Example
{
  "id": 987,
  "name": "xyz789",
  "description": "abc123",
  "company": Company,
  "companyId": 123,
  "project": Project,
  "projectId": 123,
  "trigger": "CREATE_RECORD",
  "conditions": {},
  "actions": {},
  "isEnabled": true,
  "createdByUser": User,
  "createdByUserId": 987,
  "modifiedByUser": User,
  "modifiedByUserId": 987,
  "createdAt": "2007-12-03",
  "updatedAt": "2007-12-03"
}

WorkflowRulesFilter

Description

Input object for workflow rules filter values

Fields
Input Field Description
id - Int

Internal ID for the workflow rules filter item

ids - [Int]

Internal IDs for workflow rules filter items

name - String

Filter by name

nameLike - String

Filter by name using a partial text match

description - String

Filter by description

descriptionLike - String

Filter by description using a partial text match

companyId - Int

Company ID used to scope this input

projectId - Int

Project ID used to scope this input

trigger - WorkflowRuleTrigger

Filter by trigger

conditions - JSON

Filter by conditions

conditionsLike - String

Filter by conditions using a partial text match

actions - JSON

Filter by actions

actionsLike - String

Filter by actions using a partial text match

isEnabled - Boolean

Filter by is enabled

createdByUserId - Int

Filter by created by user ID

createdAt - String

Filter by created at

createdAtLike - String

Filter by created at using a partial text match

updatedAt - String

Filter by updated at

updatedAtLike - String

Filter by updated at using a partial text match

Example
{
  "id": 987,
  "ids": [123],
  "name": "abc123",
  "nameLike": "abc123",
  "description": "abc123",
  "descriptionLike": "xyz789",
  "companyId": 987,
  "projectId": 123,
  "trigger": "CREATE_RECORD",
  "conditions": {},
  "conditionsLike": "abc123",
  "actions": {},
  "actionsLike": "abc123",
  "isEnabled": false,
  "createdByUserId": 987,
  "createdAt": "abc123",
  "createdAtLike": "xyz789",
  "updatedAt": "abc123",
  "updatedAtLike": "abc123"
}

Subscriptions

recordsUpdated

Description

Records updated for this subscription

Response

Returns a RecordsUpdatedEvent

Arguments
Name Description
projectId - Int! Project ID used to scope the operation

Example

Query
subscription recordsUpdated($projectId: Int!) {
  recordsUpdated(projectId: $projectId) {
    ids
    updates {
      ...UpdateRecordsArgsFragment
    }
  }
}
Variables
{"projectId": 987}
Response
{
  "data": {
    "recordsUpdated": {
      "ids": [987],
      "updates": [UpdateRecordsArgs]
    }
  }
}