Schema
Docs Home

Twingate GraphQL API Reference

Welcome to the Twingate GraphQL API reference. This reference includes the the complete GraphQL schema for Twingate’s API. Learn how to start using the API by reading our getting started with the API guide.

Contact

Twingate Support

https://www.twingate.com/support

API Endpoints
https://<network name>.twingate.com/api/graphql/
Headers
# Your API token from the admin console. Must be included in all API calls.
X-API-KEY: <YOUR_TOKEN_HERE>

Queries

accessRequest

Description

Fetches a single Access Request by its ID.

Response

Returns an AccessRequest

Arguments
Name Description
id - ID! The Access Request's ID.

Example

Query
query accessRequest($id: ID!) {
  accessRequest(id: $id) {
    reason
    requestedAt
    id
    user {
      ...UserFragment
    }
    resource {
      ...ResourceFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "accessRequest": {
      "reason": "xyz789",
      "requestedAt": "2007-12-03T10:15:30Z",
      "id": "4",
      "user": User,
      "resource": Resource
    }
  }
}

accessRequests

Description

Fetches a list of Access Requests.

Response

Returns an AccessRequestConnection!

Arguments
Name Description
before - String
after - String
first - Int
last - Int
filter - AccessRequestFilterInput

Example

Query
query accessRequests(
  $before: String,
  $after: String,
  $first: Int,
  $last: Int,
  $filter: AccessRequestFilterInput
) {
  accessRequests(
    before: $before,
    after: $after,
    first: $first,
    last: $last,
    filter: $filter
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...AccessRequestEdgeFragment
    }
    totalCount
  }
}
Variables
{
  "before": "xyz789",
  "after": "xyz789",
  "first": 987,
  "last": 987,
  "filter": AccessRequestFilterInput
}
Response
{
  "data": {
    "accessRequests": {
      "pageInfo": PageInfo,
      "edges": [AccessRequestEdge],
      "totalCount": 987
    }
  }
}

connector

Description

Fetches a single Connector by its ID.

Response

Returns a Connector

Arguments
Name Description
id - ID! The Connector's ID.

Example

Query
query connector($id: ID!) {
  connector(id: $id) {
    createdAt
    updatedAt
    lastHeartbeatAt
    hostname
    id
    name
    remoteNetwork {
      ...RemoteNetworkFragment
    }
    state
    hasStatusNotificationsEnabled
    version
    publicIP
    privateIPs
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "connector": {
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "lastHeartbeatAt": "2007-12-03T10:15:30Z",
      "hostname": "xyz789",
      "id": 4,
      "name": "abc123",
      "remoteNetwork": RemoteNetwork,
      "state": "ALIVE",
      "hasStatusNotificationsEnabled": false,
      "version": "abc123",
      "publicIP": "abc123",
      "privateIPs": ["xyz789"]
    }
  }
}

connectors

Description

Fetches a list of Connectors.

Response

Returns a ConnectorConnection!

Arguments
Name Description
before - String
after - String
first - Int
last - Int
filter - ConnectorFilterInput

Example

Query
query connectors(
  $before: String,
  $after: String,
  $first: Int,
  $last: Int,
  $filter: ConnectorFilterInput
) {
  connectors(
    before: $before,
    after: $after,
    first: $first,
    last: $last,
    filter: $filter
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...ConnectorEdgeFragment
    }
    totalCount
  }
}
Variables
{
  "before": "xyz789",
  "after": "abc123",
  "first": 987,
  "last": 123,
  "filter": ConnectorFilterInput
}
Response
{
  "data": {
    "connectors": {
      "pageInfo": PageInfo,
      "edges": [ConnectorEdge],
      "totalCount": 987
    }
  }
}

device

Description

Look up a Device by its ID.

Response

Returns a Device

Arguments
Name Description
id - ID! The ID of the Device.

Example

Query
query device($id: ID!) {
  device(id: $id) {
    id
    name
    lastFailedLoginAt
    lastSuccessfulLoginAt
    osVersion
    hardwareModel
    hostname
    username
    serialNumber
    user {
      ...UserFragment
    }
    lastConnectedAt
    osName
    deviceType
    activeState
    isTrusted
    clientVersion
    manufacturerName
    internetSecurityConfiguration
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "device": {
      "id": "4",
      "name": "xyz789",
      "lastFailedLoginAt": "2007-12-03T10:15:30Z",
      "lastSuccessfulLoginAt": "2007-12-03T10:15:30Z",
      "osVersion": "abc123",
      "hardwareModel": "xyz789",
      "hostname": "abc123",
      "username": "abc123",
      "serialNumber": "abc123",
      "user": User,
      "lastConnectedAt": "2007-12-03T10:15:30Z",
      "osName": "IPADOS",
      "deviceType": "GENERIC",
      "activeState": "ACTIVE",
      "isTrusted": true,
      "clientVersion": "xyz789",
      "manufacturerName": "xyz789",
      "internetSecurityConfiguration": "abc123"
    }
  }
}

devices

Description

Fetches a list of Devices.

Response

Returns a DeviceConnection!

Arguments
Name Description
before - String
after - String
first - Int
last - Int
filter - DeviceFilterInput

Example

Query
query devices(
  $before: String,
  $after: String,
  $first: Int,
  $last: Int,
  $filter: DeviceFilterInput
) {
  devices(
    before: $before,
    after: $after,
    first: $first,
    last: $last,
    filter: $filter
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...DeviceEdgeFragment
    }
    totalCount
  }
}
Variables
{
  "before": "abc123",
  "after": "xyz789",
  "first": 987,
  "last": 987,
  "filter": DeviceFilterInput
}
Response
{
  "data": {
    "devices": {
      "pageInfo": PageInfo,
      "edges": [DeviceEdge],
      "totalCount": 123
    }
  }
}

dnsFilteringProfile

Description

Return a DNS filtering profile. None is returned when DNS filtering is not enabled.

Response

Returns a DnsFilteringProfile

Arguments
Name Description
id - ID! The ID of the DNS filtering profile.

Example

Query
query dnsFilteringProfile($id: ID!) {
  dnsFilteringProfile(id: $id) {
    name
    id
    priority
    fallbackMethod
    groups {
      ...GroupConnectionFragment
    }
    allowedDomains
    deniedDomains
    contentCategoryConfig {
      ...ContentCategoryConfigFragment
    }
    securityCategoryConfig {
      ...SecurityCategoryConfigFragment
    }
    privacyCategoryConfig {
      ...PrivacyCategoryConfigFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "dnsFilteringProfile": {
      "name": "xyz789",
      "id": "4",
      "priority": 123.45,
      "fallbackMethod": "AUTO",
      "groups": GroupConnection,
      "allowedDomains": ["xyz789"],
      "deniedDomains": ["abc123"],
      "contentCategoryConfig": ContentCategoryConfig,
      "securityCategoryConfig": SecurityCategoryConfig,
      "privacyCategoryConfig": PrivacyCategoryConfig
    }
  }
}

dnsFilteringProfiles

Description

Return a list of DNS filtering profiles Metadata. None is returned when DNS filtering is not enabled.

Example

Query
query dnsFilteringProfiles {
  dnsFilteringProfiles {
    name
    id
    priority
  }
}
Response
{
  "data": {
    "dnsFilteringProfiles": [
      {
        "name": "abc123",
        "id": 4,
        "priority": 987.65
      }
    ]
  }
}

group

Description

Fetches a Group by its ID.

Response

Returns a Group

Arguments
Name Description
id - ID! The Group's ID.

Example

Query
query group($id: ID!) {
  group(id: $id) {
    id
    createdAt
    updatedAt
    name
    originId
    isActive
    type
    users {
      ...UserConnectionFragment
    }
    resources {
      ...ResourceConnectionFragment
    }
    securityPolicy {
      ...SecurityPolicyFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "group": {
      "id": "4",
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "name": "xyz789",
      "originId": "abc123",
      "isActive": false,
      "type": "MANUAL",
      "users": UserConnection,
      "resources": ResourceConnection,
      "securityPolicy": SecurityPolicy
    }
  }
}

groups

Description

Fetches a list of Groups.

Response

Returns a GroupConnection!

Arguments
Name Description
before - String
after - String
first - Int
last - Int
filter - GroupFilterInput

Example

Query
query groups(
  $before: String,
  $after: String,
  $first: Int,
  $last: Int,
  $filter: GroupFilterInput
) {
  groups(
    before: $before,
    after: $after,
    first: $first,
    last: $last,
    filter: $filter
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...GroupEdgeFragment
    }
    totalCount
  }
}
Variables
{
  "before": "abc123",
  "after": "xyz789",
  "first": 123,
  "last": 123,
  "filter": GroupFilterInput
}
Response
{
  "data": {
    "groups": {
      "pageInfo": PageInfo,
      "edges": [GroupEdge],
      "totalCount": 987
    }
  }
}

remoteNetwork

Description

Fetches a single Remote Network by ID or name.

Response

Returns a RemoteNetwork

Arguments
Name Description
id - ID The Remote Network's ID. Default = null
name - String The Remote Network's name. Default = null

Example

Query
query remoteNetwork(
  $id: ID,
  $name: String
) {
  remoteNetwork(
    id: $id,
    name: $name
  ) {
    createdAt
    updatedAt
    name
    id
    networkType
    location
    isActive
    resources {
      ...ResourceConnectionFragment
    }
    connectors {
      ...ConnectorConnectionFragment
    }
  }
}
Variables
{"id": null, "name": null}
Response
{
  "data": {
    "remoteNetwork": {
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "name": "abc123",
      "id": 4,
      "networkType": "REGULAR",
      "location": "AWS",
      "isActive": true,
      "resources": ResourceConnection,
      "connectors": ConnectorConnection
    }
  }
}

remoteNetworks

Description

Fetches a list of Remote Networks.

Response

Returns a RemoteNetworkConnection!

Arguments
Name Description
before - String
after - String
first - Int
last - Int
filter - RemoteNetworkFilterInput

Example

Query
query remoteNetworks(
  $before: String,
  $after: String,
  $first: Int,
  $last: Int,
  $filter: RemoteNetworkFilterInput
) {
  remoteNetworks(
    before: $before,
    after: $after,
    first: $first,
    last: $last,
    filter: $filter
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...RemoteNetworkEdgeFragment
    }
    totalCount
  }
}
Variables
{
  "before": "abc123",
  "after": "abc123",
  "first": 123,
  "last": 123,
  "filter": RemoteNetworkFilterInput
}
Response
{
  "data": {
    "remoteNetworks": {
      "pageInfo": PageInfo,
      "edges": [RemoteNetworkEdge],
      "totalCount": 987
    }
  }
}

resource

Description

Fetch a single Resource by its ID.

Response

Returns a Resource

Arguments
Name Description
id - ID! The Resource's ID.

Example

Query
query resource($id: ID!) {
  resource(id: $id) {
    id
    createdAt
    updatedAt
    name
    address {
      ...ResourceAddressFragment
    }
    alias
    protocols {
      ...ResourceProtocolsFragment
    }
    isActive
    remoteNetwork {
      ...RemoteNetworkFragment
    }
    groups {
      ...GroupConnectionFragment
    }
    serviceAccounts {
      ...ServiceAccountConnectionFragment
    }
    access {
      ...AccessConnectionFragment
    }
    isVisible
    isBrowserShortcutEnabled
    securityPolicy {
      ...SecurityPolicyFragment
    }
    usageBasedAutolockDurationDays
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "resource": {
      "id": "4",
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "name": "abc123",
      "address": ResourceAddress,
      "alias": "abc123",
      "protocols": ResourceProtocols,
      "isActive": false,
      "remoteNetwork": RemoteNetwork,
      "groups": GroupConnection,
      "serviceAccounts": ServiceAccountConnection,
      "access": AccessConnection,
      "isVisible": true,
      "isBrowserShortcutEnabled": true,
      "securityPolicy": SecurityPolicy,
      "usageBasedAutolockDurationDays": 123
    }
  }
}

resources

Description

Fetches a list of Resources.

Response

Returns a ResourceConnection!

Arguments
Name Description
before - String
after - String
first - Int
last - Int
filter - ResourceFilterInput

Example

Query
query resources(
  $before: String,
  $after: String,
  $first: Int,
  $last: Int,
  $filter: ResourceFilterInput
) {
  resources(
    before: $before,
    after: $after,
    first: $first,
    last: $last,
    filter: $filter
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...ResourceEdgeFragment
    }
    totalCount
  }
}
Variables
{
  "before": "xyz789",
  "after": "xyz789",
  "first": 123,
  "last": 123,
  "filter": ResourceFilterInput
}
Response
{
  "data": {
    "resources": {
      "pageInfo": PageInfo,
      "edges": [ResourceEdge],
      "totalCount": 987
    }
  }
}

securityPolicies

Description

Fetches a list of Security Policies.

Response

Returns a SecurityPolicyConnection!

Arguments
Name Description
before - String
after - String
first - Int
last - Int
filter - SecurityPolicyFilterField

Example

Query
query securityPolicies(
  $before: String,
  $after: String,
  $first: Int,
  $last: Int,
  $filter: SecurityPolicyFilterField
) {
  securityPolicies(
    before: $before,
    after: $after,
    first: $first,
    last: $last,
    filter: $filter
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...SecurityPolicyEdgeFragment
    }
    totalCount
  }
}
Variables
{
  "before": "xyz789",
  "after": "xyz789",
  "first": 987,
  "last": 123,
  "filter": SecurityPolicyFilterField
}
Response
{
  "data": {
    "securityPolicies": {
      "pageInfo": PageInfo,
      "edges": [SecurityPolicyEdge],
      "totalCount": 123
    }
  }
}

securityPolicy

Description

Fetches a single Security Policy by its ID or name.

Response

Returns a SecurityPolicy

Arguments
Name Description
id - ID The Security Policy's ID. Default = null
name - String The Security Policy's name. Default = null

Example

Query
query securityPolicy(
  $id: ID,
  $name: String
) {
  securityPolicy(
    id: $id,
    name: $name
  ) {
    id
    createdAt
    updatedAt
    name
    policyType
    groups {
      ...GroupConnectionFragment
    }
  }
}
Variables
{"id": null, "name": null}
Response
{
  "data": {
    "securityPolicy": {
      "id": "4",
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "name": "abc123",
      "policyType": "RESOURCE",
      "groups": GroupConnection
    }
  }
}

serialNumbers

Description

List of serial numbers

Response

Returns a SerialNumberConnection!

Arguments
Name Description
before - String
after - String
first - Int
last - Int
filter - SerialNumberFilterInput

Example

Query
query serialNumbers(
  $before: String,
  $after: String,
  $first: Int,
  $last: Int,
  $filter: SerialNumberFilterInput
) {
  serialNumbers(
    before: $before,
    after: $after,
    first: $first,
    last: $last,
    filter: $filter
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...SerialNumberEdgeFragment
    }
    totalCount
  }
}
Variables
{
  "before": "abc123",
  "after": "xyz789",
  "first": 987,
  "last": 123,
  "filter": SerialNumberFilterInput
}
Response
{
  "data": {
    "serialNumbers": {
      "pageInfo": PageInfo,
      "edges": [SerialNumberEdge],
      "totalCount": 123
    }
  }
}

serviceAccount

Description

Fetches a single Service Account by its ID.

Response

Returns a ServiceAccount

Arguments
Name Description
id - ID! The Service Account's ID.

Example

Query
query serviceAccount($id: ID!) {
  serviceAccount(id: $id) {
    id
    name
    createdAt
    updatedAt
    resources {
      ...ResourceConnectionFragment
    }
    keys {
      ...ServiceAccountKeyConnectionFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "serviceAccount": {
      "id": 4,
      "name": "abc123",
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "resources": ResourceConnection,
      "keys": ServiceAccountKeyConnection
    }
  }
}

serviceAccountKey

Description

Fetches a single Service Account Key by its ID.

Response

Returns a ServiceAccountKey

Arguments
Name Description
id - ID The Service Account Key's ID. Default = null
name - String The Service Account Key's name. Default = null

Example

Query
query serviceAccountKey(
  $id: ID,
  $name: String
) {
  serviceAccountKey(
    id: $id,
    name: $name
  ) {
    createdAt
    id
    name
    expiresAt
    revokedAt
    updatedAt
    status
    serviceAccount {
      ...ServiceAccountFragment
    }
  }
}
Variables
{"id": null, "name": null}
Response
{
  "data": {
    "serviceAccountKey": {
      "createdAt": "2007-12-03T10:15:30Z",
      "id": "4",
      "name": "xyz789",
      "expiresAt": "2007-12-03T10:15:30Z",
      "revokedAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "status": "ACTIVE",
      "serviceAccount": ServiceAccount
    }
  }
}

serviceAccounts

Description

Fetches a list of Service Accounts.

Response

Returns a ServiceAccountConnection!

Arguments
Name Description
before - String
after - String
first - Int
last - Int
filter - ServiceAccountFilterInput

Example

Query
query serviceAccounts(
  $before: String,
  $after: String,
  $first: Int,
  $last: Int,
  $filter: ServiceAccountFilterInput
) {
  serviceAccounts(
    before: $before,
    after: $after,
    first: $first,
    last: $last,
    filter: $filter
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...ServiceAccountEdgeFragment
    }
    totalCount
  }
}
Variables
{
  "before": "abc123",
  "after": "abc123",
  "first": 987,
  "last": 123,
  "filter": ServiceAccountFilterInput
}
Response
{
  "data": {
    "serviceAccounts": {
      "pageInfo": PageInfo,
      "edges": [ServiceAccountEdge],
      "totalCount": 987
    }
  }
}

user

Description

Fetches a single User by its ID.

Response

Returns a User

Arguments
Name Description
id - ID! The User's ID.

Example

Query
query user($id: ID!) {
  user(id: $id) {
    id
    createdAt
    updatedAt
    firstName
    lastName
    email
    avatarUrl
    state
    isAdmin
    role
    type
    groups {
      ...GroupConnectionFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "user": {
      "id": "4",
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "firstName": "abc123",
      "lastName": "abc123",
      "email": "abc123",
      "avatarUrl": "abc123",
      "state": "PENDING",
      "isAdmin": true,
      "role": "ADMIN",
      "type": "MANUAL",
      "groups": GroupConnection
    }
  }
}

users

Description

Fetches a list of Users.

Response

Returns a UserConnection!

Arguments
Name Description
before - String
after - String
first - Int
last - Int
filter - UserFilterInput

Example

Query
query users(
  $before: String,
  $after: String,
  $first: Int,
  $last: Int,
  $filter: UserFilterInput
) {
  users(
    before: $before,
    after: $after,
    first: $first,
    last: $last,
    filter: $filter
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...UserEdgeFragment
    }
    totalCount
  }
}
Variables
{
  "before": "abc123",
  "after": "abc123",
  "first": 987,
  "last": 123,
  "filter": UserFilterInput
}
Response
{
  "data": {
    "users": {
      "pageInfo": PageInfo,
      "edges": [UserEdge],
      "totalCount": 123
    }
  }
}

Mutations

accessRequestApprove

Response

Returns an AccessRequestApproveMutation!

Arguments
Name Description
id - ID! The Access Request's ID.

Example

Query
mutation accessRequestApprove($id: ID!) {
  accessRequestApprove(id: $id) {
    ok
    error
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "accessRequestApprove": {
      "ok": true,
      "error": "abc123"
    }
  }
}

accessRequestReject

Response

Returns an AccessRequestRejectMutation!

Arguments
Name Description
id - ID! The Access Request's ID.

Example

Query
mutation accessRequestReject($id: ID!) {
  accessRequestReject(id: $id) {
    ok
    error
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "accessRequestReject": {
      "ok": false,
      "error": "xyz789"
    }
  }
}

connectorCreate

Response

Returns a ConnectorCreateMutation!

Arguments
Name Description
hasStatusNotificationsEnabled - Boolean Whether status notifications should be enabled for the Connector. Default = true
name - String The Connector's name. Default = null
remoteNetworkId - ID! The ID of the Connector's Remote Network.

Example

Query
mutation connectorCreate(
  $hasStatusNotificationsEnabled: Boolean,
  $name: String,
  $remoteNetworkId: ID!
) {
  connectorCreate(
    hasStatusNotificationsEnabled: $hasStatusNotificationsEnabled,
    name: $name,
    remoteNetworkId: $remoteNetworkId
  ) {
    ok
    error
    entity {
      ...ConnectorFragment
    }
  }
}
Variables
{"hasStatusNotificationsEnabled": true, "name": null, "remoteNetworkId": 4}
Response
{
  "data": {
    "connectorCreate": {
      "ok": false,
      "error": "xyz789",
      "entity": Connector
    }
  }
}

connectorDelete

Response

Returns a ConnectorDeleteMutation!

Arguments
Name Description
id - ID! The ID of the entity to delete.

Example

Query
mutation connectorDelete($id: ID!) {
  connectorDelete(id: $id) {
    ok
    error
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "connectorDelete": {
      "ok": false,
      "error": "xyz789"
    }
  }
}

connectorGenerateTokens

Arguments
Name Description
connectorId - ID! The ID of the Connector to generate tokens for.

Example

Query
mutation connectorGenerateTokens($connectorId: ID!) {
  connectorGenerateTokens(connectorId: $connectorId) {
    ok
    error
    connectorTokens {
      ...ConnectorTokensFragment
    }
  }
}
Variables
{"connectorId": 4}
Response
{
  "data": {
    "connectorGenerateTokens": {
      "ok": true,
      "error": "xyz789",
      "connectorTokens": ConnectorTokens
    }
  }
}

connectorUpdate

Response

Returns a ConnectorUpdateMutation!

Arguments
Name Description
hasStatusNotificationsEnabled - Boolean Whether status notifications should be enabled for the Connector. Default = null
id - ID! The Connector's ID.
name - String The Connector's name. Default = null

Example

Query
mutation connectorUpdate(
  $hasStatusNotificationsEnabled: Boolean,
  $id: ID!,
  $name: String
) {
  connectorUpdate(
    hasStatusNotificationsEnabled: $hasStatusNotificationsEnabled,
    id: $id,
    name: $name
  ) {
    ok
    error
    entity {
      ...ConnectorFragment
    }
  }
}
Variables
{
  "hasStatusNotificationsEnabled": null,
  "id": "4",
  "name": null
}
Response
{
  "data": {
    "connectorUpdate": {
      "ok": true,
      "error": "abc123",
      "entity": Connector
    }
  }
}

deviceArchive

Response

Returns a DeviceArchiveMutation!

Arguments
Name Description
id - ID! The Device's ID.

Example

Query
mutation deviceArchive($id: ID!) {
  deviceArchive(id: $id) {
    ok
    error
    entity {
      ...DeviceFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "deviceArchive": {
      "ok": false,
      "error": "xyz789",
      "entity": Device
    }
  }
}

deviceBlock

Response

Returns a DeviceBlockMutation!

Arguments
Name Description
id - ID! The Device's ID.

Example

Query
mutation deviceBlock($id: ID!) {
  deviceBlock(id: $id) {
    ok
    error
    entity {
      ...DeviceFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "deviceBlock": {
      "ok": false,
      "error": "xyz789",
      "entity": Device
    }
  }
}

deviceUnarchive

Response

Returns a DeviceUnarchiveMutation!

Arguments
Name Description
id - ID! The Device's ID.

Example

Query
mutation deviceUnarchive($id: ID!) {
  deviceUnarchive(id: $id) {
    ok
    error
    entity {
      ...DeviceFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "deviceUnarchive": {
      "ok": true,
      "error": "abc123",
      "entity": Device
    }
  }
}

deviceUnblock

Response

Returns a DeviceUnblockMutation!

Arguments
Name Description
id - ID! The Device's ID.

Example

Query
mutation deviceUnblock($id: ID!) {
  deviceUnblock(id: $id) {
    ok
    error
    entity {
      ...DeviceFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "deviceUnblock": {
      "ok": false,
      "error": "abc123",
      "entity": Device
    }
  }
}

deviceUpdate

Response

Returns a DeviceUpdateMutation!

Arguments
Name Description
id - ID! The Device's ID.
isTrusted - Boolean! Whether the Device is trusted.

Example

Query
mutation deviceUpdate(
  $id: ID!,
  $isTrusted: Boolean!
) {
  deviceUpdate(
    id: $id,
    isTrusted: $isTrusted
  ) {
    ok
    error
    entity {
      ...DeviceFragment
    }
  }
}
Variables
{"id": "4", "isTrusted": true}
Response
{
  "data": {
    "deviceUpdate": {
      "ok": false,
      "error": "abc123",
      "entity": Device
    }
  }
}

dnsFilteringProfileCreate

Arguments
Name Description
name - String! The name of the profile

Example

Query
mutation dnsFilteringProfileCreate($name: String!) {
  dnsFilteringProfileCreate(name: $name) {
    ok
    error
    entity {
      ...DnsFilteringProfileFragment
    }
  }
}
Variables
{"name": "xyz789"}
Response
{
  "data": {
    "dnsFilteringProfileCreate": {
      "ok": true,
      "error": "abc123",
      "entity": DnsFilteringProfile
    }
  }
}

dnsFilteringProfileDelete

Arguments
Name Description
id - ID! The ID of the entity to delete.

Example

Query
mutation dnsFilteringProfileDelete($id: ID!) {
  dnsFilteringProfileDelete(id: $id) {
    ok
    error
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "dnsFilteringProfileDelete": {
      "ok": true,
      "error": "abc123"
    }
  }
}

dnsFilteringProfileUpdate

Arguments
Name Description
allowedDomains - [String!] List of allowed domains
contentCategoryConfig - ContentCategoryConfigInput
deniedDomains - [String!] List of denied domains
fallbackMethod - DohFallbackMethod The fallback method for the profile
groups - [String!] The list of groups assigned to this profile
id - ID! The ID of the profile
name - String The name of the profile
priority - Float The priority of the profile
privacyCategoryConfig - PrivacyCategoryConfigInput
securityCategoryConfig - SecurityCategoryConfigInput

Example

Query
mutation dnsFilteringProfileUpdate(
  $allowedDomains: [String!],
  $contentCategoryConfig: ContentCategoryConfigInput,
  $deniedDomains: [String!],
  $fallbackMethod: DohFallbackMethod,
  $groups: [String!],
  $id: ID!,
  $name: String,
  $priority: Float,
  $privacyCategoryConfig: PrivacyCategoryConfigInput,
  $securityCategoryConfig: SecurityCategoryConfigInput
) {
  dnsFilteringProfileUpdate(
    allowedDomains: $allowedDomains,
    contentCategoryConfig: $contentCategoryConfig,
    deniedDomains: $deniedDomains,
    fallbackMethod: $fallbackMethod,
    groups: $groups,
    id: $id,
    name: $name,
    priority: $priority,
    privacyCategoryConfig: $privacyCategoryConfig,
    securityCategoryConfig: $securityCategoryConfig
  ) {
    ok
    error
    entity {
      ...DnsFilteringProfileFragment
    }
  }
}
Variables
{
  "allowedDomains": ["abc123"],
  "contentCategoryConfig": ContentCategoryConfigInput,
  "deniedDomains": ["abc123"],
  "fallbackMethod": "AUTO",
  "groups": ["abc123"],
  "id": 4,
  "name": "abc123",
  "priority": 987.65,
  "privacyCategoryConfig": PrivacyCategoryConfigInput,
  "securityCategoryConfig": SecurityCategoryConfigInput
}
Response
{
  "data": {
    "dnsFilteringProfileUpdate": {
      "ok": false,
      "error": "xyz789",
      "entity": DnsFilteringProfile
    }
  }
}

groupCreate

Response

Returns a GroupCreateMutation!

Arguments
Name Description
name - String! The Group's name.
resourceIds - [ID] List of Resource IDs to add to the group. Default = []
securityPolicyId - ID The ID of the Security Policy to be assigned to the Group. The default Resource Policy is used if empty. Default = null
userIds - [ID] List of User IDs to add to the Group. Default = []

Example

Query
mutation groupCreate(
  $name: String!,
  $resourceIds: [ID],
  $securityPolicyId: ID,
  $userIds: [ID]
) {
  groupCreate(
    name: $name,
    resourceIds: $resourceIds,
    securityPolicyId: $securityPolicyId,
    userIds: $userIds
  ) {
    ok
    error
    entity {
      ...GroupFragment
    }
  }
}
Variables
{
  "name": "abc123",
  "resourceIds": [""],
  "securityPolicyId": null,
  "userIds": [""]
}
Response
{
  "data": {
    "groupCreate": {
      "ok": true,
      "error": "abc123",
      "entity": Group
    }
  }
}

groupDelete

Response

Returns a GroupDeleteMutation!

Arguments
Name Description
id - ID! The ID of the entity to delete.

Example

Query
mutation groupDelete($id: ID!) {
  groupDelete(id: $id) {
    ok
    error
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "groupDelete": {
      "ok": false,
      "error": "abc123"
    }
  }
}

groupUpdate

Response

Returns a GroupUpdateMutation!

Arguments
Name Description
addedResourceIds - [ID] List of Resource IDs to add to the group. Default = null
addedUserIds - [ID] List of User IDs to add to the group. Default = null
id - ID! The Group's ID.
isActive - Boolean Whether the Group is active. Default = null
name - String The Group's name. Default = null
removedResourceIds - [ID] List of Resource IDs to remove from the group. Default = null
removedUserIds - [ID] List of User IDs to remove from the group. Default = null
resourceIds - [ID] List of Resource IDs to be assigned to the group. Default = null
securityPolicyId - ID The ID of the Security Policy to be assigned to this Group. Default = null
userIds - [ID] List of User IDs to be assigned to the Group. Default = null

Example

Query
mutation groupUpdate(
  $addedResourceIds: [ID],
  $addedUserIds: [ID],
  $id: ID!,
  $isActive: Boolean,
  $name: String,
  $removedResourceIds: [ID],
  $removedUserIds: [ID],
  $resourceIds: [ID],
  $securityPolicyId: ID,
  $userIds: [ID]
) {
  groupUpdate(
    addedResourceIds: $addedResourceIds,
    addedUserIds: $addedUserIds,
    id: $id,
    isActive: $isActive,
    name: $name,
    removedResourceIds: $removedResourceIds,
    removedUserIds: $removedUserIds,
    resourceIds: $resourceIds,
    securityPolicyId: $securityPolicyId,
    userIds: $userIds
  ) {
    ok
    error
    entity {
      ...GroupFragment
    }
  }
}
Variables
{
  "addedResourceIds": null,
  "addedUserIds": null,
  "id": 4,
  "isActive": null,
  "name": null,
  "removedResourceIds": null,
  "removedUserIds": null,
  "resourceIds": null,
  "securityPolicyId": null,
  "userIds": null
}
Response
{
  "data": {
    "groupUpdate": {
      "ok": true,
      "error": "xyz789",
      "entity": Group
    }
  }
}

remoteNetworkCreate

Response

Returns a RemoteNetworkCreateMutation!

Arguments
Name Description
isActive - Boolean Indicates whether the Remote Network is active. The default is 'true'. Default = true
location - RemoteNetworkLocation The Remote Network's location. Default = OTHER
name - String! The Remote Network's name.
networkType - RemoteNetworkType The Remote Network's network type. Default = REGULAR

Example

Query
mutation remoteNetworkCreate(
  $isActive: Boolean,
  $location: RemoteNetworkLocation,
  $name: String!,
  $networkType: RemoteNetworkType
) {
  remoteNetworkCreate(
    isActive: $isActive,
    location: $location,
    name: $name,
    networkType: $networkType
  ) {
    ok
    error
    entity {
      ...RemoteNetworkFragment
    }
  }
}
Variables
{
  "isActive": true,
  "location": "OTHER",
  "name": "abc123",
  "networkType": "REGULAR"
}
Response
{
  "data": {
    "remoteNetworkCreate": {
      "ok": true,
      "error": "xyz789",
      "entity": RemoteNetwork
    }
  }
}

remoteNetworkDelete

Response

Returns a RemoteNetworkDeleteMutation!

Arguments
Name Description
id - ID! The ID of the entity to delete.

Example

Query
mutation remoteNetworkDelete($id: ID!) {
  remoteNetworkDelete(id: $id) {
    ok
    error
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "remoteNetworkDelete": {
      "ok": true,
      "error": "xyz789"
    }
  }
}

remoteNetworkUpdate

Response

Returns a RemoteNetworkUpdateMutation!

Arguments
Name Description
id - ID! The Remote Network's ID.
isActive - Boolean Indicates whether the Remote Network is active. Default = null
location - RemoteNetworkLocation The Remote Network's location. Default = null
name - String The Remote Network's name. Default = null

Example

Query
mutation remoteNetworkUpdate(
  $id: ID!,
  $isActive: Boolean,
  $location: RemoteNetworkLocation,
  $name: String
) {
  remoteNetworkUpdate(
    id: $id,
    isActive: $isActive,
    location: $location,
    name: $name
  ) {
    ok
    error
    entity {
      ...RemoteNetworkFragment
    }
  }
}
Variables
{"id": 4, "isActive": null, "location": "null", "name": null}
Response
{
  "data": {
    "remoteNetworkUpdate": {
      "ok": true,
      "error": "xyz789",
      "entity": RemoteNetwork
    }
  }
}

resourceAccessAdd

Response

Returns a ResourceAccessAddMutation!

Arguments
Name Description
access - [AccessInput!]! List of accesses to be added to the Resource. If an access between the Resource and principal already exists, the access' properties would be reconfigured. Hence, this mutation can be used to change or remove the Security Policy of an access edge.
resourceId - ID! The Resource's ID.

Example

Query
mutation resourceAccessAdd(
  $access: [AccessInput!]!,
  $resourceId: ID!
) {
  resourceAccessAdd(
    access: $access,
    resourceId: $resourceId
  ) {
    ok
    error
    entity {
      ...ResourceFragment
    }
  }
}
Variables
{
  "access": [AccessInput],
  "resourceId": "4"
}
Response
{
  "data": {
    "resourceAccessAdd": {
      "ok": true,
      "error": "xyz789",
      "entity": Resource
    }
  }
}

resourceAccessRemove

Response

Returns a ResourceAccessRemoveMutation!

Arguments
Name Description
principalIds - [ID!]! List of principals being removed from accessing the Resource.
resourceId - ID! The Resource's ID.

Example

Query
mutation resourceAccessRemove(
  $principalIds: [ID!]!,
  $resourceId: ID!
) {
  resourceAccessRemove(
    principalIds: $principalIds,
    resourceId: $resourceId
  ) {
    ok
    error
    entity {
      ...ResourceFragment
    }
  }
}
Variables
{"principalIds": ["4"], "resourceId": 4}
Response
{
  "data": {
    "resourceAccessRemove": {
      "ok": false,
      "error": "xyz789",
      "entity": Resource
    }
  }
}

resourceAccessSet

Response

Returns a ResourceAccessSetMutation!

Arguments
Name Description
access - [AccessInput!]! List of accesses to the Resource. Existing accesses to the Resource will be removed.
resourceId - ID! The Resource's ID.

Example

Query
mutation resourceAccessSet(
  $access: [AccessInput!]!,
  $resourceId: ID!
) {
  resourceAccessSet(
    access: $access,
    resourceId: $resourceId
  ) {
    ok
    error
    entity {
      ...ResourceFragment
    }
  }
}
Variables
{"access": [AccessInput], "resourceId": 4}
Response
{
  "data": {
    "resourceAccessSet": {
      "ok": true,
      "error": "xyz789",
      "entity": Resource
    }
  }
}

resourceCreate

Response

Returns a ResourceCreateMutation!

Arguments
Name Description
address - String! The Resource's IP/FQDN.
alias - String The Resource's alias address. Default = null
groupIds - [ID] List of Group IDs added to the Resource. Default = []
isBrowserShortcutEnabled - Boolean Indicates whether this Resource will display a browser shortcut in the Client. Default = null
isVisible - Boolean Indicates whether this Resource will be in the main Resource list in the Client. Default = null
name - String! The Resource's name.
protocols - ProtocolsInput Restrict access to certain protocols and ports. By default or when this argument is null, there is no restriction i.e. all protocols and ports are allowed. Default = null
remoteNetworkId - ID! Remote Network ID to assign to the Resource.
securityPolicyId - ID Security Policy ID required to access the Resource. Default = null
usageBasedAutolockDurationDays - Int The usage-based auto-lock duration configured on the resource (in days). Default = null

Example

Query
mutation resourceCreate(
  $address: String!,
  $alias: String,
  $groupIds: [ID],
  $isBrowserShortcutEnabled: Boolean,
  $isVisible: Boolean,
  $name: String!,
  $protocols: ProtocolsInput,
  $remoteNetworkId: ID!,
  $securityPolicyId: ID,
  $usageBasedAutolockDurationDays: Int
) {
  resourceCreate(
    address: $address,
    alias: $alias,
    groupIds: $groupIds,
    isBrowserShortcutEnabled: $isBrowserShortcutEnabled,
    isVisible: $isVisible,
    name: $name,
    protocols: $protocols,
    remoteNetworkId: $remoteNetworkId,
    securityPolicyId: $securityPolicyId,
    usageBasedAutolockDurationDays: $usageBasedAutolockDurationDays
  ) {
    ok
    error
    entity {
      ...ResourceFragment
    }
  }
}
Variables
{
  "address": "abc123",
  "alias": null,
  "groupIds": [""],
  "isBrowserShortcutEnabled": null,
  "isVisible": null,
  "name": "xyz789",
  "protocols": null,
  "remoteNetworkId": 4,
  "securityPolicyId": null,
  "usageBasedAutolockDurationDays": null
}
Response
{
  "data": {
    "resourceCreate": {
      "ok": false,
      "error": "xyz789",
      "entity": Resource
    }
  }
}

resourceDelete

Response

Returns a ResourceDeleteMutation!

Arguments
Name Description
id - ID! The ID of the entity to delete.

Example

Query
mutation resourceDelete($id: ID!) {
  resourceDelete(id: $id) {
    ok
    error
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "resourceDelete": {
      "ok": false,
      "error": "xyz789"
    }
  }
}

resourceUpdate

Response

Returns a ResourceUpdateMutation!

Arguments
Name Description
addedGroupIds - [ID] List of Group IDs to add. Default = null
address - String The Resource's IP/FQDN. Default = null
alias - String The Resource's alias. If an empty string is passed, the alias will be cleared. If null is passed, the alias will remain the same. Default = null
groupIds - [ID] List of Group IDs to be assigned to the Resource. Default = null
id - ID! The Resource's ID.
isActive - Boolean Indicates if the Resource is active. Default = null
isBrowserShortcutEnabled - Boolean Indicates whether this Resource will display a browser shortcut in the Client. Default = null
isVisible - Boolean Indicates whether this Resource will be in the main Resource list in the Client. Default = null
name - String The Resource's name. Default = null
protocols - ProtocolsInput Restrict access to certain protocols and ports. Default = null
remoteNetworkId - ID Remote Network ID to assign to the Resource. Default = null
removedGroupIds - [ID] List of Group IDs to remove. Default = null
securityPolicyId - ID Security Policy ID required to access the Resource. Default = null
usageBasedAutolockDurationDays - Int The usage-based auto-lock duration configured on the resource (in days). If unspecified, the resource's existing auto-lock duration remains unchanged. If null, the resource's existing auto-lock duration is removed.

Example

Query
mutation resourceUpdate(
  $addedGroupIds: [ID],
  $address: String,
  $alias: String,
  $groupIds: [ID],
  $id: ID!,
  $isActive: Boolean,
  $isBrowserShortcutEnabled: Boolean,
  $isVisible: Boolean,
  $name: String,
  $protocols: ProtocolsInput,
  $remoteNetworkId: ID,
  $removedGroupIds: [ID],
  $securityPolicyId: ID,
  $usageBasedAutolockDurationDays: Int
) {
  resourceUpdate(
    addedGroupIds: $addedGroupIds,
    address: $address,
    alias: $alias,
    groupIds: $groupIds,
    id: $id,
    isActive: $isActive,
    isBrowserShortcutEnabled: $isBrowserShortcutEnabled,
    isVisible: $isVisible,
    name: $name,
    protocols: $protocols,
    remoteNetworkId: $remoteNetworkId,
    removedGroupIds: $removedGroupIds,
    securityPolicyId: $securityPolicyId,
    usageBasedAutolockDurationDays: $usageBasedAutolockDurationDays
  ) {
    ok
    error
    entity {
      ...ResourceFragment
    }
  }
}
Variables
{
  "addedGroupIds": null,
  "address": null,
  "alias": null,
  "groupIds": null,
  "id": 4,
  "isActive": null,
  "isBrowserShortcutEnabled": null,
  "isVisible": null,
  "name": null,
  "protocols": null,
  "remoteNetworkId": null,
  "removedGroupIds": null,
  "securityPolicyId": null,
  "usageBasedAutolockDurationDays": 123
}
Response
{
  "data": {
    "resourceUpdate": {
      "ok": true,
      "error": "xyz789",
      "entity": Resource
    }
  }
}

securityPolicyUpdate

Response

Returns a SecurityPolicyUpdateMutation!

Arguments
Name Description
addedGroupIds - [ID] List of Group IDs to add. Default = null
groupIds - [ID] List of Group IDs to be assigned the Security Policy. Groups currently assigned the policy that are not included will have the policy removed and enforce the default resource policy. Default = null
id - ID! The Security Policy's ID.
removedGroupIds - [ID] List of Group IDs to remove. Groups removed from this policy will enforce the default resource policy. Default = null

Example

Query
mutation securityPolicyUpdate(
  $addedGroupIds: [ID],
  $groupIds: [ID],
  $id: ID!,
  $removedGroupIds: [ID]
) {
  securityPolicyUpdate(
    addedGroupIds: $addedGroupIds,
    groupIds: $groupIds,
    id: $id,
    removedGroupIds: $removedGroupIds
  ) {
    ok
    error
    entity {
      ...SecurityPolicyFragment
    }
  }
}
Variables
{"addedGroupIds": null, "groupIds": null, "id": 4, "removedGroupIds": null}
Response
{
  "data": {
    "securityPolicyUpdate": {
      "ok": true,
      "error": "abc123",
      "entity": SecurityPolicy
    }
  }
}

serialNumbersCreate

Response

Returns a SerialNumbersCreateMutation!

Arguments
Name Description
serialNumbers - [String!]! List of serial numbers

Example

Query
mutation serialNumbersCreate($serialNumbers: [String!]!) {
  serialNumbersCreate(serialNumbers: $serialNumbers) {
    ok
    error
    entities {
      ...SerialNumberFragment
    }
  }
}
Variables
{"serialNumbers": ["abc123"]}
Response
{
  "data": {
    "serialNumbersCreate": {
      "ok": false,
      "error": "xyz789",
      "entities": [SerialNumber]
    }
  }
}

serialNumbersDelete

Response

Returns a SerialNumbersDeleteMutation!

Arguments
Name Description
serialNumbers - [String!]! List of serial numbers

Example

Query
mutation serialNumbersDelete($serialNumbers: [String!]!) {
  serialNumbersDelete(serialNumbers: $serialNumbers) {
    ok
    error
  }
}
Variables
{"serialNumbers": ["xyz789"]}
Response
{
  "data": {
    "serialNumbersDelete": {
      "ok": false,
      "error": "xyz789"
    }
  }
}

serviceAccountCreate

Response

Returns a ServiceAccountCreateMutation!

Arguments
Name Description
name - String! The Service Account's name.
resourceIds - [ID] List of Resource IDs to add to the Service Account. Default = []

Example

Query
mutation serviceAccountCreate(
  $name: String!,
  $resourceIds: [ID]
) {
  serviceAccountCreate(
    name: $name,
    resourceIds: $resourceIds
  ) {
    ok
    error
    entity {
      ...ServiceAccountFragment
    }
  }
}
Variables
{"name": "abc123", "resourceIds": [""]}
Response
{
  "data": {
    "serviceAccountCreate": {
      "ok": false,
      "error": "xyz789",
      "entity": ServiceAccount
    }
  }
}

serviceAccountDelete

Response

Returns a ServiceAccountDeleteMutation!

Arguments
Name Description
id - ID! The ID of the entity to delete.

Example

Query
mutation serviceAccountDelete($id: ID!) {
  serviceAccountDelete(id: $id) {
    ok
    error
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "serviceAccountDelete": {
      "ok": false,
      "error": "xyz789"
    }
  }
}

serviceAccountKeyCreate

Arguments
Name Description
expirationTime - Int! Number of days key will expire in, a value from 0-365 (inclusive) is required.
name - String The Service Account Key's name. Default = null
serviceAccountId - ID! The Service Account's ID.

Example

Query
mutation serviceAccountKeyCreate(
  $expirationTime: Int!,
  $name: String,
  $serviceAccountId: ID!
) {
  serviceAccountKeyCreate(
    expirationTime: $expirationTime,
    name: $name,
    serviceAccountId: $serviceAccountId
  ) {
    ok
    error
    entity {
      ...ServiceAccountKeyFragment
    }
    token
  }
}
Variables
{
  "expirationTime": 987,
  "name": null,
  "serviceAccountId": "4"
}
Response
{
  "data": {
    "serviceAccountKeyCreate": {
      "ok": true,
      "error": "abc123",
      "entity": ServiceAccountKey,
      "token": "xyz789"
    }
  }
}

serviceAccountKeyDelete

Arguments
Name Description
id - ID! The ID of the entity to delete.

Example

Query
mutation serviceAccountKeyDelete($id: ID!) {
  serviceAccountKeyDelete(id: $id) {
    ok
    error
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "serviceAccountKeyDelete": {
      "ok": false,
      "error": "xyz789"
    }
  }
}

serviceAccountKeyRevoke

Arguments
Name Description
id - ID! The Service Account Key's ID.

Example

Query
mutation serviceAccountKeyRevoke($id: ID!) {
  serviceAccountKeyRevoke(id: $id) {
    ok
    error
    entity {
      ...ServiceAccountKeyFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "serviceAccountKeyRevoke": {
      "ok": false,
      "error": "abc123",
      "entity": ServiceAccountKey
    }
  }
}

serviceAccountKeyUpdate

Arguments
Name Description
id - ID! The Service Account Key's ID.
name - String! The Service Account Key's name.

Example

Query
mutation serviceAccountKeyUpdate(
  $id: ID!,
  $name: String!
) {
  serviceAccountKeyUpdate(
    id: $id,
    name: $name
  ) {
    ok
    error
    entity {
      ...ServiceAccountKeyFragment
    }
  }
}
Variables
{
  "id": "4",
  "name": "abc123"
}
Response
{
  "data": {
    "serviceAccountKeyUpdate": {
      "ok": true,
      "error": "abc123",
      "entity": ServiceAccountKey
    }
  }
}

serviceAccountUpdate

Response

Returns a ServiceAccountUpdateMutation!

Arguments
Name Description
addedResourceIds - [ID] List of Resource IDs added to the Service Account. Default = []
id - ID! The Service Account's ID.
name - String The Service Account's name. Default = null
removedResourceIds - [ID] List of Resource IDs removed from the Service Account. Default = []
resourceIds - [ID] List of Resource IDs to be assigned to the Service Account. Default = []

Example

Query
mutation serviceAccountUpdate(
  $addedResourceIds: [ID],
  $id: ID!,
  $name: String,
  $removedResourceIds: [ID],
  $resourceIds: [ID]
) {
  serviceAccountUpdate(
    addedResourceIds: $addedResourceIds,
    id: $id,
    name: $name,
    removedResourceIds: $removedResourceIds,
    resourceIds: $resourceIds
  ) {
    ok
    error
    entity {
      ...ServiceAccountFragment
    }
  }
}
Variables
{
  "addedResourceIds": [""],
  "id": "4",
  "name": null,
  "removedResourceIds": [""],
  "resourceIds": [""]
}
Response
{
  "data": {
    "serviceAccountUpdate": {
      "ok": true,
      "error": "abc123",
      "entity": ServiceAccount
    }
  }
}

userCreate

Response

Returns a UserCreateMutation!

Arguments
Name Description
email - String! The User's email.
firstName - String The User's first name. Default = null
lastName - String The User's last name. Default = null
role - UserRole The User's role. Default = MEMBER
shouldSendInvite - Boolean Indicates whether to send an invite to the User's email. Default = true

Example

Query
mutation userCreate(
  $email: String!,
  $firstName: String,
  $lastName: String,
  $role: UserRole,
  $shouldSendInvite: Boolean
) {
  userCreate(
    email: $email,
    firstName: $firstName,
    lastName: $lastName,
    role: $role,
    shouldSendInvite: $shouldSendInvite
  ) {
    ok
    error
    entity {
      ...UserFragment
    }
  }
}
Variables
{
  "email": "abc123",
  "firstName": null,
  "lastName": null,
  "role": "MEMBER",
  "shouldSendInvite": true
}
Response
{
  "data": {
    "userCreate": {
      "ok": true,
      "error": "xyz789",
      "entity": User
    }
  }
}

userDelete

Response

Returns a UserDeleteMutation!

Arguments
Name Description
id - ID! The ID of the entity to delete.

Example

Query
mutation userDelete($id: ID!) {
  userDelete(id: $id) {
    ok
    error
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "userDelete": {
      "ok": false,
      "error": "abc123"
    }
  }
}

userDetailsUpdate

Response

Returns a UserDetailsUpdateMutation!

Arguments
Name Description
firstName - String The User's first name. Default = null
id - ID! The User's ID.
lastName - String The User's last name. Default = null
state - UserStateUpdateInput The User's state. Default = null

Example

Query
mutation userDetailsUpdate(
  $firstName: String,
  $id: ID!,
  $lastName: String,
  $state: UserStateUpdateInput
) {
  userDetailsUpdate(
    firstName: $firstName,
    id: $id,
    lastName: $lastName,
    state: $state
  ) {
    ok
    error
    entity {
      ...UserFragment
    }
  }
}
Variables
{"firstName": null, "id": 4, "lastName": null, "state": "null"}
Response
{
  "data": {
    "userDetailsUpdate": {
      "ok": true,
      "error": "xyz789",
      "entity": User
    }
  }
}

userResetMfa

Response

Returns an UserResetMFAMutation!

Arguments
Name Description
id - ID! The user ID

Example

Query
mutation userResetMfa($id: ID!) {
  userResetMfa(id: $id) {
    ok
    error
    entity {
      ...UserFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "userResetMfa": {
      "ok": false,
      "error": "abc123",
      "entity": User
    }
  }
}

userRoleUpdate

Response

Returns a UserRoleUpdateMutation!

Arguments
Name Description
id - ID! The User's ID.
role - UserRole! The User's role.

Example

Query
mutation userRoleUpdate(
  $id: ID!,
  $role: UserRole!
) {
  userRoleUpdate(
    id: $id,
    role: $role
  ) {
    ok
    error
    entity {
      ...UserFragment
    }
  }
}
Variables
{"id": 4, "role": "ADMIN"}
Response
{
  "data": {
    "userRoleUpdate": {
      "ok": true,
      "error": "abc123",
      "entity": User
    }
  }
}

Types

AccessConnection

Fields
Field Name Description
pageInfo - PageInfo! Pagination data for this connection.
edges - [AccessEdge!]! Contains the nodes in this connection.
totalCount - Int! A total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [AccessEdge],
  "totalCount": 987
}

AccessEdge

Description

A Relay edge containing a Access and its cursor.

Fields
Field Name Description
node - Principal! The item at the end of the edge.
cursor - String! A cursor for use in pagination
securityPolicy - SecurityPolicy The Security Policy directly assigned to this access edge.
expiresAt - DateTime The timestamp at which the access edge expires.
usageBasedAutolockDurationDays - Int The usage-based auto-lock duration configured on the edge (in days).
Example
{
  "node": Group,
  "cursor": "xyz789",
  "securityPolicy": SecurityPolicy,
  "expiresAt": "2007-12-03T10:15:30Z",
  "usageBasedAutolockDurationDays": 987
}

AccessFilterInput

Fields
Input Field Description
principalType - PrincipleTypeFilterOperatorInput
Example
{"principalType": PrincipleTypeFilterOperatorInput}

AccessInput

Fields
Input Field Description
principalId - ID! The ID of the principal (Group or Service Account) whose access is being configured.
securityPolicyId - ID The ID of the Security Policy that must be used by this access edge. If unspecified, the access edge's existing policy remains unchanged. If null, the access edge' existing policy is removed. This value should be null when the principal is a Service Account.
expiresAt - DateTime The timestamp at which the access edge expires. If unspecified, the access edge's existing expiration remains unchanged. If null, the access edge's existing expiration is removed. This value should be null when the principal is a Service Account.
usageBasedAutolockDurationDays - Int The usage-based auto-lock duration configured on the edge (in days). If unspecified, the access edge's existing auto-lock duration remains unchanged. If null, the access edge's existing auto-lock duration is removed. This value should be null when the principal is a Service Account.
Example
{
  "principalId": 4,
  "securityPolicyId": "4",
  "expiresAt": "2007-12-03T10:15:30Z",
  "usageBasedAutolockDurationDays": 123
}

AccessRequest

Fields
Field Name Description
reason - String
requestedAt - DateTime!
id - ID! The ID of the object
user - User! The User who makes this Access Request.
resource - Resource! The Resource to which the user is requesting access.
Example
{
  "reason": "xyz789",
  "requestedAt": "2007-12-03T10:15:30Z",
  "id": "4",
  "user": User,
  "resource": Resource
}

AccessRequestApproveMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
Example
{"ok": false, "error": "abc123"}

AccessRequestConnection

Fields
Field Name Description
pageInfo - PageInfo! Pagination data for this connection.
edges - [AccessRequestEdge!]! Contains the nodes in this connection.
totalCount - Int! A total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [AccessRequestEdge],
  "totalCount": 123
}

AccessRequestEdge

Description

A Relay edge containing a AccessRequest and its cursor.

Fields
Field Name Description
node - AccessRequest! The item at the end of the edge.
cursor - String! A cursor for use in pagination
Example
{
  "node": AccessRequest,
  "cursor": "abc123"
}

AccessRequestFilterInput

Fields
Input Field Description
userId - UserIdFilterOperationInput
resourceId - ResourceIdFilterOperationInput
Example
{
  "userId": UserIdFilterOperationInput,
  "resourceId": ResourceIdFilterOperationInput
}

AccessRequestRejectMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
Example
{"ok": false, "error": "abc123"}

AddressType

Values
Enum Value Description

IP

DNS

Example
"IP"

Boolean

Description

The Boolean scalar type represents true or false.

Example
true

BooleanFilterOperatorInput

Description

Filter input object for a boolean field. Each field of this input object represents a filtering operation. When multiple fields are specified, they are combined with an AND operation.

Fields
Input Field Description
eq - Boolean
Example
{"eq": false}

Connector

Fields
Field Name Description
createdAt - DateTime!
updatedAt - DateTime!
lastHeartbeatAt - DateTime
hostname - String
id - ID! The ID of the object
name - String! The Connector's name.
remoteNetwork - RemoteNetwork! The Remote Network this Connector belongs to.
state - ConnectorState!
hasStatusNotificationsEnabled - Boolean! Indicates whether status notifications are enabled for the connector.
version - String The Connector's version.
publicIP - String The Connector's public IP address.
privateIPs - [String!]! The Connector's private IP address.
Example
{
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "lastHeartbeatAt": "2007-12-03T10:15:30Z",
  "hostname": "xyz789",
  "id": "4",
  "name": "xyz789",
  "remoteNetwork": RemoteNetwork,
  "state": "ALIVE",
  "hasStatusNotificationsEnabled": true,
  "version": "abc123",
  "publicIP": "xyz789",
  "privateIPs": ["xyz789"]
}

ConnectorConnection

Fields
Field Name Description
pageInfo - PageInfo! Pagination data for this connection.
edges - [ConnectorEdge!]! Contains the nodes in this connection.
totalCount - Int! A total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [ConnectorEdge],
  "totalCount": 987
}

ConnectorCreateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - Connector The Connector that was created.
Example
{
  "ok": false,
  "error": "xyz789",
  "entity": Connector
}

ConnectorDeleteMutation

Fields
Field Name Description
ok - Boolean! Records whether the delete mutation was successfully completed
error - String Any error was encountered causing the delete mutation to fail.
Example
{"ok": true, "error": "abc123"}

ConnectorEdge

Description

A Relay edge containing a Connector and its cursor.

Fields
Field Name Description
node - Connector! The item at the end of the edge.
cursor - String! A cursor for use in pagination
Example
{
  "node": Connector,
  "cursor": "abc123"
}

ConnectorFilterInput

Fields
Input Field Description
name - StringFilterOperatorInput
state - ConnectorStateFilterOperatorInput
Example
{
  "name": StringFilterOperatorInput,
  "state": ConnectorStateFilterOperatorInput
}

ConnectorGenerateTokensMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
connectorTokens - ConnectorTokens Generated tokens to use for this Connector.
Example
{
  "ok": true,
  "error": "xyz789",
  "connectorTokens": ConnectorTokens
}

ConnectorState

Values
Enum Value Description

ALIVE

DEAD_NO_HEARTBEAT

DEAD_HEARTBEAT_TOO_OLD

DEAD_NO_RELAYS

Example
"ALIVE"

ConnectorStateFilterOperatorInput

Description

Filter input object for a ConnectorState enum field. Each field of this input object represents a filtering operation. When multiple fields are specified, they are combined with an AND operation.

Fields
Input Field Description
in - [ConnectorState!]
Example
{"in": ["ALIVE"]}

ConnectorTokens

Fields
Field Name Description
accessToken - String! Access token to use for this Connector.
refreshToken - String! Refresh token to use for this Connector.
Example
{
  "accessToken": "xyz789",
  "refreshToken": "xyz789"
}

ConnectorUpdateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - Connector The Connector being updated.
Example
{
  "ok": true,
  "error": "xyz789",
  "entity": Connector
}

ContentCategoryConfig

Fields
Field Name Description
blockGambling - Boolean! Whether gambling related sites are blocked
blockDating - Boolean! Whether dating related sites are blocked
blockAdultContent - Boolean! Whether all sexually explicit and adult content are blocked
blockSocialMedia - Boolean! Whether all social networks are blocked (omits messaging apps)
blockGames - Boolean! Whether online gaming websites, online gaming apps and online gaming networks are blocked
blockStreaming - Boolean! Whether video streaming services like YouTube, Netflix, Disney+ and more are blocked
blockPiracy - Boolean! Whether P2P websites, protocols, and copyright-infringing streaming websites are blocked
enableYoutubeRestrictedMode - Boolean! Whether filtering mature videos on YouTube, block embedded mature videos, and hiding all comments are enabled
enableSafeSearch - Boolean! Whether filtering explicit results on all major search engines and blocking search engines without safe search is enabled
Example
{
  "blockGambling": false,
  "blockDating": false,
  "blockAdultContent": false,
  "blockSocialMedia": false,
  "blockGames": false,
  "blockStreaming": false,
  "blockPiracy": true,
  "enableYoutubeRestrictedMode": true,
  "enableSafeSearch": true
}

ContentCategoryConfigInput

Fields
Input Field Description
blockGambling - Boolean Whether gambling related sites are blocked
blockDating - Boolean Whether dating related sites are blocked
blockAdultContent - Boolean Whether all sexually explicit and adult content are blocked
blockSocialMedia - Boolean Whether all social networks are blocked (omits messaging apps)
blockGames - Boolean Whether online gaming websites, online gaming apps and online gaming networks are blocked
blockStreaming - Boolean Whether video streaming services like YouTube, Netflix, Disney+ and more are blocked
blockPiracy - Boolean Whether P2P websites, protocols, and copyright-infringing streaming websites are blocked
enableYoutubeRestrictedMode - Boolean Whether filtering mature videos on YouTube, block embedded mature videos, and hiding all comments are enabled
enableSafeSearch - Boolean Whether filtering explicit results on all major search engines and blocking search engines without safe search is enabled
Example
{
  "blockGambling": true,
  "blockDating": true,
  "blockAdultContent": true,
  "blockSocialMedia": true,
  "blockGames": true,
  "blockStreaming": true,
  "blockPiracy": true,
  "enableYoutubeRestrictedMode": false,
  "enableSafeSearch": false
}

DateTime

Description

The DateTime scalar type represents a DateTime value as specified by iso8601.

Example
"2007-12-03T10:15:30Z"

Device

Fields
Field Name Description
id - ID! The ID of the object
name - String
lastFailedLoginAt - DateTime
lastSuccessfulLoginAt - DateTime
osVersion - String
hardwareModel - String
hostname - String
username - String
serialNumber - String
user - User! The User this Device belongs to.
lastConnectedAt - DateTime The last connected timestamp is no longer available.
osName - DeviceOsName The name of this Device's operating system.
deviceType - DeviceType! The Device's type, e.g. LAPTOP, DESKTOP, or MOBILE.
activeState - DeviceActiveState! The Device's active state.
isTrusted - Boolean!
clientVersion - String
manufacturerName - String
internetSecurityConfiguration - String! The Device's internet security configuration.
Example
{
  "id": "4",
  "name": "abc123",
  "lastFailedLoginAt": "2007-12-03T10:15:30Z",
  "lastSuccessfulLoginAt": "2007-12-03T10:15:30Z",
  "osVersion": "xyz789",
  "hardwareModel": "abc123",
  "hostname": "abc123",
  "username": "xyz789",
  "serialNumber": "abc123",
  "user": User,
  "lastConnectedAt": "2007-12-03T10:15:30Z",
  "osName": "IPADOS",
  "deviceType": "GENERIC",
  "activeState": "ACTIVE",
  "isTrusted": true,
  "clientVersion": "abc123",
  "manufacturerName": "xyz789",
  "internetSecurityConfiguration": "abc123"
}

DeviceActiveState

Description

The Device's active state.

Values
Enum Value Description

ACTIVE

ARCHIVED

BLOCKED

Example
"ACTIVE"

DeviceActiveStateFilterOperatorInput

Description

Filter input object for a DeviceActiveState enum field. Each field of this input object represents a filtering operation. When multiple fields are specified, they are combined with an AND operation.

Fields
Input Field Description
in - [DeviceActiveState!]
Example
{"in": ["ACTIVE"]}

DeviceArchiveMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - Device The Device being archived.
Example
{
  "ok": true,
  "error": "abc123",
  "entity": Device
}

DeviceBlockMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - Device The Device being blocked.
Example
{
  "ok": true,
  "error": "xyz789",
  "entity": Device
}

DeviceConnection

Fields
Field Name Description
pageInfo - PageInfo! Pagination data for this connection.
edges - [DeviceEdge!]! Contains the nodes in this connection.
totalCount - Int! A total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [DeviceEdge],
  "totalCount": 123
}

DeviceEdge

Description

A Relay edge containing a Device and its cursor.

Fields
Field Name Description
node - Device! The item at the end of the edge.
cursor - String! A cursor for use in pagination
Example
{
  "node": Device,
  "cursor": "abc123"
}

DeviceFilterInput

Fields
Input Field Description
isTrusted - BooleanFilterOperatorInput
serialNumber - StringFilterOperatorInput
activeState - DeviceActiveStateFilterOperatorInput
Example
{
  "isTrusted": BooleanFilterOperatorInput,
  "serialNumber": StringFilterOperatorInput,
  "activeState": DeviceActiveStateFilterOperatorInput
}

DeviceOsName

Description

The name of the Device's operating system.

Values
Enum Value Description

IPADOS

IOS

MAC_OS

ANDROID

CHROME_OS

WINDOWS

LINUX

Example
"IPADOS"

DeviceType

Description

The Device's type, e.g. LAPTOP, DESKTOP, or MOBILE.

Values
Enum Value Description

GENERIC

DESKTOP

LAPTOP

TABLET

MOBILE

Example
"GENERIC"

DeviceUnarchiveMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - Device The Device being unarchived.
Example
{
  "ok": false,
  "error": "abc123",
  "entity": Device
}

DeviceUnblockMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - Device The Device being unblocked.
Example
{
  "ok": false,
  "error": "abc123",
  "entity": Device
}

DeviceUpdateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - Device The Device being updated.
Example
{
  "ok": true,
  "error": "xyz789",
  "entity": Device
}

DnsFilteringProfile

Fields
Field Name Description
name - String!
id - ID! The ID of the DNS filtering profile
priority - Float! The priority of the profile, the lower the value the higher the priority, priority (1) will be higher than priority (2)
fallbackMethod - DohFallbackMethod! The fallback method of the profile
groups - GroupConnection! The list of groups assigned to this DNS filtering profile.
Arguments
before - String
after - String
first - Int
last - Int
filter - GroupFilterInput
allowedDomains - [String!]! List of allowed domains
deniedDomains - [String!]! List of denied domains
contentCategoryConfig - ContentCategoryConfig! The content categories configuration
securityCategoryConfig - SecurityCategoryConfig! The security categories configuration
privacyCategoryConfig - PrivacyCategoryConfig! The blocked privacy categories configuration
Example
{
  "name": "xyz789",
  "id": "4",
  "priority": 123.45,
  "fallbackMethod": "AUTO",
  "groups": GroupConnection,
  "allowedDomains": ["abc123"],
  "deniedDomains": ["abc123"],
  "contentCategoryConfig": ContentCategoryConfig,
  "securityCategoryConfig": SecurityCategoryConfig,
  "privacyCategoryConfig": PrivacyCategoryConfig
}

DnsFilteringProfileCreateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - DnsFilteringProfile The created DNS filtering profile.
Example
{
  "ok": false,
  "error": "abc123",
  "entity": DnsFilteringProfile
}

DnsFilteringProfileDeleteMutation

Fields
Field Name Description
ok - Boolean! Records whether the delete mutation was successfully completed
error - String Any error was encountered causing the delete mutation to fail.
Example
{"ok": false, "error": "xyz789"}

DnsFilteringProfileMetadata

Fields
Field Name Description
name - String!
id - ID! The ID of the DNS filtering profile
priority - Float! The priority of the profile, the lower the value the higher the priority, priority (1) will be higher than priority (2)
Example
{
  "name": "xyz789",
  "id": "4",
  "priority": 987.65
}

DnsFilteringProfileUpdateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - DnsFilteringProfile The updated DNS filtering profile.
Example
{
  "ok": false,
  "error": "abc123",
  "entity": DnsFilteringProfile
}

DohFallbackMethod

Values
Enum Value Description

AUTO

STRICT

Example
"AUTO"

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
123.45

Group

Fields
Field Name Description
id - ID! The ID of the object
createdAt - DateTime!
updatedAt - DateTime!
name - String!
originId - String
isActive - Boolean! Indicates whether the Group is active.
type - GroupType! The Groups type, e.g. manual or synced.
users - UserConnection! Which Users are members of this Group.
Arguments
before - String
after - String
first - Int
last - Int
filter - UserFilterInput
resources - ResourceConnection! Which Resources this Group contains.
Arguments
before - String
after - String
first - Int
last - Int
securityPolicy - SecurityPolicy! The Security Policy assigned to the Group.
Example
{
  "id": 4,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "name": "xyz789",
  "originId": "xyz789",
  "isActive": false,
  "type": "MANUAL",
  "users": UserConnection,
  "resources": ResourceConnection,
  "securityPolicy": SecurityPolicy
}

GroupConnection

Fields
Field Name Description
pageInfo - PageInfo! Pagination data for this connection.
edges - [GroupEdge!]! Contains the nodes in this connection.
totalCount - Int! A total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [GroupEdge],
  "totalCount": 987
}

GroupCreateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - Group The Group that was created.
Example
{
  "ok": false,
  "error": "abc123",
  "entity": Group
}

GroupDeleteMutation

Fields
Field Name Description
ok - Boolean! Records whether the delete mutation was successfully completed
error - String Any error was encountered causing the delete mutation to fail.
Example
{"ok": true, "error": "xyz789"}

GroupEdge

Description

A Relay edge containing a Group and its cursor.

Fields
Field Name Description
node - Group! The item at the end of the edge.
cursor - String! A cursor for use in pagination
Example
{
  "node": Group,
  "cursor": "abc123"
}

GroupFilterInput

Fields
Input Field Description
name - StringFilterOperatorInput
type - GroupTypeFilterOperatorInput
isActive - BooleanFilterOperatorInput
originId - StringFilterOperatorInput
Example
{
  "name": StringFilterOperatorInput,
  "type": GroupTypeFilterOperatorInput,
  "isActive": BooleanFilterOperatorInput,
  "originId": StringFilterOperatorInput
}

GroupType

Values
Enum Value Description

MANUAL

SYNCED

SYSTEM

Example
"MANUAL"

GroupTypeFilterOperatorInput

Description

Filter input object for a GroupType enum field. Each field of this input object represents a filtering operation. When multiple fields are specified, they are combined with an AND operation.

Fields
Input Field Description
in - [GroupType!]
Example
{"in": ["MANUAL"]}

GroupUpdateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - Group The Group being updated.
Example
{
  "ok": true,
  "error": "xyz789",
  "entity": Group
}

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

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
987

Node

Description

An object with an ID

Fields
Field Name Description
id - ID! The ID of the object
Example
{"id": "4"}

PageInfo

Description

The Relay compliant PageInfo type, containing data necessary to paginate this connection.

Fields
Field Name Description
hasNextPage - Boolean! When paginating forwards, are there more items?
hasPreviousPage - Boolean! When paginating backwards, are there more items?
startCursor - String When paginating backwards, the cursor to continue.
endCursor - String When paginating forwards, the cursor to continue.
Example
{
  "hasNextPage": false,
  "hasPreviousPage": false,
  "startCursor": "abc123",
  "endCursor": "xyz789"
}

PortRange

Fields
Field Name Description
start - Int! The start value of the port range (inclusive). The value must be between 1 and 65535 inclusive.
end - Int! The end value of the port range (inclusive). The value must be between 1 and 65535 inclusive. This end value can be the same as the start value, which means only a single port is allowed.
Example
{"start": 123, "end": 987}

PortRangeInput

Fields
Input Field Description
start - Int! The start value of the port range (inclusive). The value must be between 1 and 65535 inclusive.
end - Int! The end value of the port range (inclusive). The value must be between 1 and 65535 inclusive. This end value can be the same as the start value, which means only a single port is allowed.
Example
{"start": 123, "end": 987}

Principal

Types
Union Types

Group

ServiceAccount

Example
Group

PrincipalType

Values
Enum Value Description

GROUP

SERVICE_ACCOUNT

Example
"GROUP"

PrincipleTypeFilterOperatorInput

Description

Filter input object for a PrincipalType enum field. Each field of this input object represents a filtering operation. When multiple fields are specified, they are combined with an AND operation.

Fields
Input Field Description
in - [PrincipalType!]
Example
{"in": ["GROUP"]}

PrivacyCategoryConfig

Fields
Field Name Description
blockAffiliate - Boolean! Whether affiliate & tracking domains are blocked
blockDisguisedTrackers - Boolean! Whether third-party trackers disguising themselves as first-party are detected and blocked
blockAdsAndTrackers - Boolean! Whether ads & trackers are blocked using regularly updated lists
Example
{
  "blockAffiliate": false,
  "blockDisguisedTrackers": true,
  "blockAdsAndTrackers": false
}

PrivacyCategoryConfigInput

Fields
Input Field Description
blockAffiliate - Boolean Whether affiliate & tracking domains are blocked
blockDisguisedTrackers - Boolean Whether third-party trackers disguising themselves as first-party are detected and blocked
blockAdsAndTrackers - Boolean Whether ads & trackers are blocked using regularly updated lists
Example
{
  "blockAffiliate": true,
  "blockDisguisedTrackers": true,
  "blockAdsAndTrackers": true
}

ProtocolInput

Fields
Input Field Description
policy - ProtocolPolicy! Whether to allow all ports or restrict protocol access within certain port ranges.
ports - [PortRangeInput!]! List of port ranges to allow access. This input is only used when the policy is RESTRICTED. If the value is empty, no port is allowed to access. Default = []
Example
{"policy": "ALLOW_ALL", "ports": [PortRangeInput]}

ProtocolPolicy

Values
Enum Value Description

ALLOW_ALL

RESTRICTED

Example
"ALLOW_ALL"

ProtocolsInput

Fields
Input Field Description
allowIcmp - Boolean! Whether to allow or deny ICMP
tcp - ProtocolInput! Specified to allow or restrict TCP access within certain port ranges.
udp - ProtocolInput! Specified to allow or restrict UDP access within certain port ranges.
Example
{
  "allowIcmp": false,
  "tcp": ProtocolInput,
  "udp": ProtocolInput
}

RemoteNetwork

Fields
Field Name Description
createdAt - DateTime!
updatedAt - DateTime!
name - String!
id - ID! The ID of the object
networkType - RemoteNetworkType! The Remote Network's network type.
location - RemoteNetworkLocation! The Remote Network's location.
isActive - Boolean! Indicates whether the Remote Network is active.
resources - ResourceConnection! Which Resources are assigned to this Remote Network.
Arguments
before - String
after - String
first - Int
last - Int
connectors - ConnectorConnection! Which Connectors are part of this Remote Network.
Arguments
before - String
after - String
first - Int
last - Int
Example
{
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "name": "xyz789",
  "id": "4",
  "networkType": "REGULAR",
  "location": "AWS",
  "isActive": false,
  "resources": ResourceConnection,
  "connectors": ConnectorConnection
}

RemoteNetworkConnection

Fields
Field Name Description
pageInfo - PageInfo! Pagination data for this connection.
edges - [RemoteNetworkEdge!]! Contains the nodes in this connection.
totalCount - Int! A total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [RemoteNetworkEdge],
  "totalCount": 987
}

RemoteNetworkCreateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - RemoteNetwork The Remote Network that was created.
Example
{
  "ok": false,
  "error": "xyz789",
  "entity": RemoteNetwork
}

RemoteNetworkDeleteMutation

Fields
Field Name Description
ok - Boolean! Records whether the delete mutation was successfully completed
error - String Any error was encountered causing the delete mutation to fail.
Example
{"ok": true, "error": "xyz789"}

RemoteNetworkEdge

Description

A Relay edge containing a RemoteNetwork and its cursor.

Fields
Field Name Description
node - RemoteNetwork! The item at the end of the edge.
cursor - String! A cursor for use in pagination
Example
{
  "node": RemoteNetwork,
  "cursor": "xyz789"
}

RemoteNetworkFilterInput

Fields
Input Field Description
name - StringFilterOperatorInput
networkType - RemoteNetworkTypeFilterOperatorInput
Example
{
  "name": StringFilterOperatorInput,
  "networkType": RemoteNetworkTypeFilterOperatorInput
}

RemoteNetworkLocation

Values
Enum Value Description

AWS

AZURE

GOOGLE_CLOUD

ON_PREMISE

OTHER

Example
"AWS"

RemoteNetworkType

Values
Enum Value Description

REGULAR

EXIT

Example
"REGULAR"

RemoteNetworkTypeFilterOperatorInput

Description

Filter input object for a RemoteNetworkType enum field. Each field of this input object represents a filtering operation. When multiple fields are specified, they are combined with an AND operation.

Fields
Input Field Description
in - [RemoteNetworkType!]
Example
{"in": ["REGULAR"]}

RemoteNetworkUpdateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - RemoteNetwork The Remote Network being updated.
Example
{
  "ok": false,
  "error": "xyz789",
  "entity": RemoteNetwork
}

Resource

Fields
Field Name Description
id - ID! The ID of the object
createdAt - DateTime!
updatedAt - DateTime!
name - String!
address - ResourceAddress! The Resource's address.
alias - String The address of the Resource's alias.
protocols - ResourceProtocols! How a Resource's ports are configured.
isActive - Boolean! Indicates whether the Resource is active.
remoteNetwork - RemoteNetwork! Which Remote Network this Resource belongs to.
groups - GroupConnection! Which Groups have access to this Resource. Use access connection instead.
Arguments
before - String
after - String
first - Int
last - Int
filter - GroupFilterInput
serviceAccounts - ServiceAccountConnection! Which Service Accounts have access to this Resource. Use access connection instead.
Arguments
before - String
after - String
first - Int
last - Int
access - AccessConnection! Which principals have access to this Resource.
Arguments
before - String
after - String
first - Int
last - Int
isVisible - Boolean! Indicates whether this Resource will be in the main Resource list in the Client.
isBrowserShortcutEnabled - Boolean! Indicates whether this Resource will display a browser shortcut in the Client.
securityPolicy - SecurityPolicy Which Security Policy required to access the Resource.
usageBasedAutolockDurationDays - Int The usage-based auto-lock duration configured on the Resource (in days).
Example
{
  "id": "4",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "name": "xyz789",
  "address": ResourceAddress,
  "alias": "xyz789",
  "protocols": ResourceProtocols,
  "isActive": true,
  "remoteNetwork": RemoteNetwork,
  "groups": GroupConnection,
  "serviceAccounts": ServiceAccountConnection,
  "access": AccessConnection,
  "isVisible": false,
  "isBrowserShortcutEnabled": true,
  "securityPolicy": SecurityPolicy,
  "usageBasedAutolockDurationDays": 987
}

ResourceAccessAddMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - Resource The Resource associated with the access being updated.
Example
{
  "ok": true,
  "error": "xyz789",
  "entity": Resource
}

ResourceAccessRemoveMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - Resource The Resource associated with the access being updated.
Example
{
  "ok": false,
  "error": "abc123",
  "entity": Resource
}

ResourceAccessSetMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - Resource The Resource associated with the access being updated.
Example
{
  "ok": false,
  "error": "abc123",
  "entity": Resource
}

ResourceAddress

Fields
Field Name Description
type - AddressType! IP or DNS resource.
value - String!
Example
{"type": "IP", "value": "xyz789"}

ResourceConnection

Fields
Field Name Description
pageInfo - PageInfo! Pagination data for this connection.
edges - [ResourceEdge!]! Contains the nodes in this connection.
totalCount - Int! A total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [ResourceEdge],
  "totalCount": 987
}

ResourceCreateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - Resource The Resource that was created.
Example
{
  "ok": true,
  "error": "xyz789",
  "entity": Resource
}

ResourceDeleteMutation

Fields
Field Name Description
ok - Boolean! Records whether the delete mutation was successfully completed
error - String Any error was encountered causing the delete mutation to fail.
Example
{"ok": true, "error": "xyz789"}

ResourceEdge

Description

A Relay edge containing a Resource and its cursor.

Fields
Field Name Description
node - Resource! The item at the end of the edge.
cursor - String! A cursor for use in pagination
Example
{
  "node": Resource,
  "cursor": "xyz789"
}

ResourceFilterInput

Fields
Input Field Description
name - StringFilterOperatorInput
Example
{"name": StringFilterOperatorInput}

ResourceIdFilterOperationInput

Description

Filter input object for a Resource ID field. Each field of this input object represents a filtering operation. When multiple fields are specified, they are combined with an AND operation.

Fields
Input Field Description
in - [ID!]
Example
{"in": ["4"]}

ResourceProtocol

Fields
Field Name Description
policy - ProtocolPolicy! Whether the protocol is allowed on all ports or restricted to certain ranges
ports - [PortRange!]! List of port ranges to allow access. This value should be ignored when policy is ALLOW_ALL.
Example
{"policy": "ALLOW_ALL", "ports": [PortRange]}

ResourceProtocols

Fields
Field Name Description
allowIcmp - Boolean! True if ICMP is allowed. Otherwise, false.
tcp - ResourceProtocol! Protocol policy for TCP.
udp - ResourceProtocol! Protocol policy for UDP.
Example
{
  "allowIcmp": false,
  "tcp": ResourceProtocol,
  "udp": ResourceProtocol
}

ResourceUpdateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - Resource The Resource being updated.
Example
{
  "ok": false,
  "error": "xyz789",
  "entity": Resource
}

SecurityCategoryConfig

Fields
Field Name Description
enableThreatIntelligenceFeeds - Boolean! Whether protection against malware, phishing, and command-and-control servers is enabled
enableGoogleSafeBrowsing - Boolean! Whether Google Safe Browsing is enabled
blockCryptojacking - Boolean! Whether cryptocurrency mining on network devices is blocked
blockIdnHomographs - Boolean! Whether domain impersonation via character substitution (e.g., Cyrillic 'e' for Latin 'e') is blocked
blockTyposquatting - Boolean! Whether malicious domains targeting mistyped addresses (e.g., 'gooogle.com') are blocked
blockDnsRebinding - Boolean! Whether DNS responses that contain private IP addresses are blocked
blockNewlyRegisteredDomains - Boolean! Whether domains registered within that last 30 days are blocked
blockDomainGenerationAlgorithms - Boolean! Whether malware-generated domains used as command and control rendezvous points are blocked
blockParkedDomains - Boolean! Whether parked domains are blocked
Example
{
  "enableThreatIntelligenceFeeds": true,
  "enableGoogleSafeBrowsing": true,
  "blockCryptojacking": false,
  "blockIdnHomographs": true,
  "blockTyposquatting": false,
  "blockDnsRebinding": false,
  "blockNewlyRegisteredDomains": false,
  "blockDomainGenerationAlgorithms": true,
  "blockParkedDomains": true
}

SecurityCategoryConfigInput

Fields
Input Field Description
enableThreatIntelligenceFeeds - Boolean Whether protection against malware, phishing, and command-and-control servers is enabled
enableGoogleSafeBrowsing - Boolean Whether Google Safe Browsing is enabled
blockCryptojacking - Boolean Whether cryptocurrency mining on network devices is blocked
blockIdnHomographs - Boolean Whether domain impersonation via character substitution (e.g., Cyrillic 'e' for Latin 'e') is blocked
blockTyposquatting - Boolean Whether malicious domains targeting mistyped addresses (e.g., 'gooogle.com') are blocked
blockDnsRebinding - Boolean Whether DNS responses that contain private IP addresses are blocked
blockNewlyRegisteredDomains - Boolean Whether domains registered within that last 30 days are blocked
blockDomainGenerationAlgorithms - Boolean Whether malware-generated domains used as command and control rendezvous points are blocked
blockParkedDomains - Boolean Whether parked domains are blocked
Example
{
  "enableThreatIntelligenceFeeds": true,
  "enableGoogleSafeBrowsing": false,
  "blockCryptojacking": false,
  "blockIdnHomographs": true,
  "blockTyposquatting": false,
  "blockDnsRebinding": false,
  "blockNewlyRegisteredDomains": false,
  "blockDomainGenerationAlgorithms": true,
  "blockParkedDomains": false
}

SecurityPolicy

Fields
Field Name Description
id - ID! The ID of the object
createdAt - DateTime!
updatedAt - DateTime!
name - String!
policyType - SecurityPolicyType! The type of Security Policy.
groups - GroupConnection! Groups assigned to this Security Policy.
Arguments
before - String
after - String
first - Int
last - Int
filter - GroupFilterInput
Example
{
  "id": "4",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "name": "abc123",
  "policyType": "RESOURCE",
  "groups": GroupConnection
}

SecurityPolicyConnection

Fields
Field Name Description
pageInfo - PageInfo! Pagination data for this connection.
edges - [SecurityPolicyEdge!]! Contains the nodes in this connection.
totalCount - Int! A total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [SecurityPolicyEdge],
  "totalCount": 987
}

SecurityPolicyEdge

Description

A Relay edge containing a SecurityPolicy and its cursor.

Fields
Field Name Description
node - SecurityPolicy! The item at the end of the edge.
cursor - String! A cursor for use in pagination
Example
{
  "node": SecurityPolicy,
  "cursor": "xyz789"
}

SecurityPolicyFilterField

Fields
Input Field Description
policyType - SecurityPolicyTypeFilterOperatorInput
name - StringFilterOperatorInput
Example
{
  "policyType": SecurityPolicyTypeFilterOperatorInput,
  "name": StringFilterOperatorInput
}

SecurityPolicyType

Values
Enum Value Description

RESOURCE

DEFAULT_RESOURCE

Example
"RESOURCE"

SecurityPolicyTypeFilterOperatorInput

Description

Filter input object for a SecurityPolicyType enum field. Each field of this input object represents a filtering operation. When multiple fields are specified, they are combined with an AND operation.

Fields
Input Field Description
in - [SecurityPolicyType!]
Example
{"in": ["RESOURCE"]}

SecurityPolicyUpdateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - SecurityPolicy The Security Policy being updated.
Example
{
  "ok": false,
  "error": "xyz789",
  "entity": SecurityPolicy
}

SerialNumber

Fields
Field Name Description
createdAt - DateTime!
serialNumber - String!
id - ID! The ID of the object
matchedDevices - [Device!]! List of Devices that are serial number verified and match this serial number.
Example
{
  "createdAt": "2007-12-03T10:15:30Z",
  "serialNumber": "xyz789",
  "id": "4",
  "matchedDevices": [Device]
}

SerialNumberConnection

Fields
Field Name Description
pageInfo - PageInfo! Pagination data for this connection.
edges - [SerialNumberEdge!]! Contains the nodes in this connection.
totalCount - Int! A total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [SerialNumberEdge],
  "totalCount": 123
}

SerialNumberEdge

Description

A Relay edge containing a SerialNumber and its cursor.

Fields
Field Name Description
node - SerialNumber! The item at the end of the edge.
cursor - String! A cursor for use in pagination
Example
{
  "node": SerialNumber,
  "cursor": "xyz789"
}

SerialNumberFilterInput

Fields
Input Field Description
serialNumber - StringFilterOperatorInput
hasMatchedDevices - BooleanFilterOperatorInput
Example
{
  "serialNumber": StringFilterOperatorInput,
  "hasMatchedDevices": BooleanFilterOperatorInput
}

SerialNumbersCreateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entities - [SerialNumber!] A list of created serial numbers.
Example
{
  "ok": false,
  "error": "xyz789",
  "entities": [SerialNumber]
}

SerialNumbersDeleteMutation

Fields
Field Name Description
ok - Boolean! Records whether the delete mutation was successfully completed.
error - String Any error was encountered causing the delete mutation to fail.
Example
{"ok": true, "error": "abc123"}

ServiceAccount

Fields
Field Name Description
id - ID! The ID of the object
name - String!
createdAt - DateTime!
updatedAt - DateTime!
resources - ResourceConnection! List of Resources that this Service Account has access to.
Arguments
before - String
after - String
first - Int
last - Int
keys - ServiceAccountKeyConnection! List of Service Keys that belong to this Service Account.
Arguments
before - String
after - String
first - Int
last - Int
Example
{
  "id": 4,
  "name": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "resources": ResourceConnection,
  "keys": ServiceAccountKeyConnection
}

ServiceAccountConnection

Fields
Field Name Description
pageInfo - PageInfo! Pagination data for this connection.
edges - [ServiceAccountEdge!]! Contains the nodes in this connection.
totalCount - Int! A total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [ServiceAccountEdge],
  "totalCount": 123
}

ServiceAccountCreateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - ServiceAccount The Service Account that was created.
Example
{
  "ok": true,
  "error": "abc123",
  "entity": ServiceAccount
}

ServiceAccountDeleteMutation

Fields
Field Name Description
ok - Boolean! Records whether the delete mutation was successfully completed
error - String Any error was encountered causing the delete mutation to fail.
Example
{"ok": false, "error": "abc123"}

ServiceAccountEdge

Description

A Relay edge containing a ServiceAccount and its cursor.

Fields
Field Name Description
node - ServiceAccount! The item at the end of the edge.
cursor - String! A cursor for use in pagination
Example
{
  "node": ServiceAccount,
  "cursor": "xyz789"
}

ServiceAccountFilterInput

Fields
Input Field Description
name - StringFilterOperatorInput
Example
{"name": StringFilterOperatorInput}

ServiceAccountKey

Fields
Field Name Description
createdAt - DateTime!
id - ID! The ID of the object
name - String!
expiresAt - DateTime
revokedAt - DateTime
updatedAt - DateTime!
status - ServiceAccountKeyStatus! Indicates the status of the Service Account Key.
serviceAccount - ServiceAccount! The Service Account.
Example
{
  "createdAt": "2007-12-03T10:15:30Z",
  "id": "4",
  "name": "xyz789",
  "expiresAt": "2007-12-03T10:15:30Z",
  "revokedAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "status": "ACTIVE",
  "serviceAccount": ServiceAccount
}

ServiceAccountKeyConnection

Fields
Field Name Description
pageInfo - PageInfo! Pagination data for this connection.
edges - [ServiceAccountKeyEdge!]! Contains the nodes in this connection.
totalCount - Int! A total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [ServiceAccountKeyEdge],
  "totalCount": 123
}

ServiceAccountKeyCreateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - ServiceAccountKey The Service Account Key that was created.
token - String The Service Account Key token.
Example
{
  "ok": true,
  "error": "xyz789",
  "entity": ServiceAccountKey,
  "token": "abc123"
}

ServiceAccountKeyDeleteMutation

Fields
Field Name Description
ok - Boolean! Records whether the delete mutation was successfully completed
error - String Any error was encountered causing the delete mutation to fail.
Example
{"ok": false, "error": "xyz789"}

ServiceAccountKeyEdge

Description

A Relay edge containing a ServiceAccountKey and its cursor.

Fields
Field Name Description
node - ServiceAccountKey! The item at the end of the edge.
cursor - String! A cursor for use in pagination
Example
{
  "node": ServiceAccountKey,
  "cursor": "xyz789"
}

ServiceAccountKeyRevokeMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - ServiceAccountKey The Service Account Key being revoked.
Example
{
  "ok": true,
  "error": "xyz789",
  "entity": ServiceAccountKey
}

ServiceAccountKeyStatus

Values
Enum Value Description

ACTIVE

REVOKED

EXPIRED

Example
"ACTIVE"

ServiceAccountKeyUpdateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - ServiceAccountKey The Service Account Key being updated.
Example
{
  "ok": true,
  "error": "xyz789",
  "entity": ServiceAccountKey
}

ServiceAccountUpdateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - ServiceAccount The Service Account being updated.
Example
{
  "ok": true,
  "error": "abc123",
  "entity": ServiceAccount
}

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
"abc123"

StringFilterOperatorInput

Description

Filter input object for a string field. Each field of this input object represents a filtering operation. When multiple fields are specified, they are combined with an AND operation.

Fields
Input Field Description
eq - String
ne - String
startsWith - String
endsWith - String
regexp - String
contains - String
in - [String!]
Example
{
  "eq": "xyz789",
  "ne": "abc123",
  "startsWith": "abc123",
  "endsWith": "abc123",
  "regexp": "abc123",
  "contains": "xyz789",
  "in": ["xyz789"]
}

User

Fields
Field Name Description
id - ID! The ID of the object
createdAt - DateTime!
updatedAt - DateTime!
firstName - String!
lastName - String!
email - String
avatarUrl - String
state - UserState! The User's state.
isAdmin - Boolean! True when the User has an admin role. Use role instead.
role - UserRole! Indicates the User's role.
type - UserType! Indicates the User's type.
groups - GroupConnection! Groups this User is a member of.
Arguments
before - String
after - String
first - Int
last - Int
filter - GroupFilterInput
Example
{
  "id": "4",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "firstName": "xyz789",
  "lastName": "abc123",
  "email": "xyz789",
  "avatarUrl": "xyz789",
  "state": "PENDING",
  "isAdmin": false,
  "role": "ADMIN",
  "type": "MANUAL",
  "groups": GroupConnection
}

UserConnection

Fields
Field Name Description
pageInfo - PageInfo! Pagination data for this connection.
edges - [UserEdge!]! Contains the nodes in this connection.
totalCount - Int! A total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [UserEdge],
  "totalCount": 123
}

UserCreateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - User The User that was created.
Example
{
  "ok": false,
  "error": "abc123",
  "entity": User
}

UserDeleteMutation

Fields
Field Name Description
ok - Boolean! Records whether the delete mutation was successfully completed
error - String Any error was encountered causing the delete mutation to fail.
Example
{"ok": true, "error": "abc123"}

UserDetailsUpdateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - User The User being updated.
Example
{
  "ok": true,
  "error": "abc123",
  "entity": User
}

UserEdge

Description

A Relay edge containing a User and its cursor.

Fields
Field Name Description
node - User! The item at the end of the edge.
cursor - String! A cursor for use in pagination
Example
{
  "node": User,
  "cursor": "xyz789"
}

UserFilterInput

Fields
Input Field Description
role - UserRoleFilterOperatorInput
firstName - StringFilterOperatorInput
lastName - StringFilterOperatorInput
email - StringFilterOperatorInput
Example
{
  "role": UserRoleFilterOperatorInput,
  "firstName": StringFilterOperatorInput,
  "lastName": StringFilterOperatorInput,
  "email": StringFilterOperatorInput
}

UserIdFilterOperationInput

Description

Filter input object for a User ID field. Each field of this input object represents a filtering operation. When multiple fields are specified, they are combined with an AND operation.

Fields
Input Field Description
in - [ID!]
Example
{"in": ["4"]}

UserResetMFAMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - User The user being updated.
Example
{
  "ok": false,
  "error": "xyz789",
  "entity": User
}

UserRole

Values
Enum Value Description

ADMIN

Full access to the Admin Console

DEVOPS

Full access to the Network tab, read-only access to the rest of the Admin Console

SUPPORT

Read-only access to the Admin Console

ACCESS_REVIEWER

Access to Resource requests only

MEMBER

No access to the Admin Console
Example
"ADMIN"

UserRoleFilterOperatorInput

Description

Filter input object for a UserRole enum field. Each field of this input object represents a filtering operation. When multiple fields are specified, they are combined with an AND operation.

Fields
Input Field Description
in - [UserRole!]
Example
{"in": ["ADMIN"]}

UserRoleUpdateMutation

Fields
Field Name Description
ok - Boolean! Whether the mutation was successful.
error - String Any error encountered causing the mutation to fail.
entity - User The User being updated.
Example
{
  "ok": false,
  "error": "abc123",
  "entity": User
}

UserState

Values
Enum Value Description

PENDING

ACTIVE

DISABLED

Example
"PENDING"

UserStateUpdateInput

Values
Enum Value Description

ACTIVE

DISABLED

Example
"ACTIVE"

UserType

Values
Enum Value Description

MANUAL

Users manually invited to Twingate through email

SYNCED

Users synced to Twingate through an IdP
Example
"MANUAL"