User Defined Fields

Authentication: All endpoints require an Authorization: Bearer <access token> header.

Most endpoints require an X-Company-ID: <company_id> header to scope requests to a specific company. This is the recommended header for most API operations.

Some endpoints require an X-Location-ID: <location_id> header when the query doesn't accept a locationId parameter.

See Authentication for details on how to obtain and use these headers.

Query User Defined Field Settings

GraphQL Query

query UserDefinedFieldSettings {
  userDefinedFieldSettings {
    id
    name
    order
    label
    tooltip
    placeholder
    dataType
    fieldLevel
    available
  }
}

Example Variables

{}

Example Response

{
  "data": {
    "userDefinedFieldSettings": [
      {
        "id": "416",
        "name": "Has relevant qualifications?",
        "order": 1,
        "label": "Do you have the latest qualification?",
        "tooltip": null,
        "placeholder": null,
        "dataType": "checkbox",
        "fieldLevel": "optional",
        "available": true
      },
      {
        "id": "415",
        "name": "Has drivers license?",
        "order": 2,
        "label": "Do you have a current drivers license?",
        "tooltip": null,
        "placeholder": null,
        "dataType": "checkbox",
        "fieldLevel": "optional",
        "available": true
      }
    ]
  }
}

Query All Employee User Defined Field Responses

GraphQL Query

query EmployeeResponses {
  employees {
    id
    fullName
    userDefinedFields {
      userDefinedFieldSetting {
        id
        name
        order
        label
        tooltip
        placeholder
        dataType
        fieldLevel
        available
      }
      id
      value
      ownerId
      ownerType
    }
  }
}

Example Variables

{}

Example Response

{
  "data": {
    "employees": [
      {
        "id": "72908",
        "fullName": "Craig Bussell",
        "userDefinedFields": [
          {
            "userDefinedFieldSetting": {
              "id": "416",
              "name": "Has relevant qualifications?",
              "order": 1,
              "label": "Do you have the latest qualification?",
              "tooltip": null,
              "placeholder": null,
              "dataType": "checkbox",
              "fieldLevel": "optional",
              "available": true
            },
            "id": "1234",
            "value": "true",
            "ownerId": "72908",
            "ownerType": "employee"
          }
        ]
      }
    ]
  }
}

Query Employee User Defined Field Responses

GraphQL Query

query EmployeeResponses($employeeId: ID!) {
  employee(id: $employeeId) {
    id
    fullName
    userDefinedFields {
      userDefinedFieldSetting {
        id
        name
        order
        label
        tooltip
        placeholder
        dataType
        fieldLevel
        available
      }
      id
      value
      ownerId
      ownerType
    }
  }
}

Example Variables

{
  "employeeId": "72908"
}

Example Response

{
  "data": {
    "employee": {
      "id": "72908",
      "fullName": "Craig Bussell",
      "userDefinedFields": [
        {
          "userDefinedFieldSetting": {
            "id": "416",
            "name": "Has relevant qualifications?",
            "order": 1,
            "label": "Do you have the latest qualification?",
            "tooltip": null,
            "placeholder": null,
            "dataType": "checkbox",
            "fieldLevel": "optional",
            "available": true
          },
          "id": "1234",
          "value": "true",
          "ownerId": "72908",
          "ownerType": "employee"
        }
      ]
    }
  }
}

Add User Defined Field Setting

GraphQL Mutation

mutation AddUserDefinedFieldSetting($input: AddUserDefinedFieldSettingInput!) {
  addUserDefinedFieldSetting(input: $input) {
    id
    name
    order
    label
    tooltip
    placeholder
    dataType
    fieldLevel
    available
  }
}

Example Variables

{
  "input": {
    "name": "First aid certification status",
    "order": 3,
    "label": "Do you have a current first aid certificate?",
    "tooltip": null,
    "placeholder": null,
    "dataType": "checkbox",
    "fieldLevel": "required",
    "available": true,
    "ownerType": "employee"
  }
}

Example Response

{
  "data": {
    "addUserDefinedFieldSetting": {
      "id": "417",
      "name": "First aid certification status",
      "order": 3,
      "label": "Do you have a current first aid certificate?",
      "tooltip": null,
      "placeholder": null,
      "dataType": "checkbox",
      "fieldLevel": "required",
      "available": true
    }
  }
}

Update User Defined Field Setting

GraphQL Mutation

mutation UpdateUserDefinedFieldSetting($input: UpdateUserDefinedFieldSettingInput!) {
  updateUserDefinedFieldSetting(input: $input) {
    id
    name
    order
    label
    tooltip
    placeholder
    dataType
    fieldLevel
    available
  }
}

Example Variables

{
  "input": {
    "id": "417",
    "label": "Do you hold a current first aid certificate?",
    "fieldLevel": "optional"
  }
}

Example Response

{
  "data": {
    "updateUserDefinedFieldSetting": {
      "id": "417",
      "name": "First aid certification status",
      "order": 3,
      "label": "Do you hold a current first aid certificate?",
      "tooltip": null,
      "placeholder": null,
      "dataType": "checkbox",
      "fieldLevel": "optional",
      "available": true
    }
  }
}

Delete User Defined Field Setting

GraphQL Mutation

mutation DeleteUserDefinedFieldSetting($id: ID!) {
  deleteUserDefinedFieldSetting(id: $id)
}

Example Variables

{
  "id": "417"
}

Example Response

{
  "data": {
    "deleteUserDefinedFieldSetting": true
  }
}

Add User Defined Field Value

GraphQL Mutation

mutation AddUserDefinedFieldValue($input: AddUserDefinedFieldInput!) {
  addUserDefinedField(input: $input) {
    value
    ownerId
    ownerType
  }
}

Example Variables

{
  "input": {
    "value": "true",
    "userDefinedFieldSettingId": "417",
    "ownerType": "employee",
    "ownerId": "72909"
  }
}

Example Response

{
  "data": {
    "addUserDefinedField": {
      "value": "true",
      "ownerId": "72909",
      "ownerType": "employee"
    }
  }
}

Update User Defined Field Value

GraphQL Mutation

mutation UpdateUserDefinedFieldValue($input: UpdateUserDefinedFieldInput!) {
  updateUserDefinedField(input: $input) {
    id
    value
    ownerId
    ownerType
  }
}

Example Variables

{
  "input": {
    "id": "1234",
    "value": "false"
  }
}

Example Response

{
  "data": {
    "updateUserDefinedField": {
      "id": "1234",
      "value": "false",
      "ownerId": "72909",
      "ownerType": "employee"
    }
  }
}