Schema | Docs | Twingate

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

Terms of Service

https://www.twingate.com/terms

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
    }
    status
  }
}
Variables
{"id": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "accessRequest": {
      "reason": "example",
      "requestedAt": "2024-01-01T00:00:00.000Z",
      "id": "YWJjMTIzeHl6Nzg5",
      "user": User,
      "resource": Resource,
      "status": "PENDING"
    }
  }
}

Queries

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": "YXJyYXljb25uZWN0aW9uOjQ=",
  "after": "YXJyYXljb25uZWN0aW9uOjk=",
  "first": 20,
  "last": 1,
  "filter": AccessRequestFilterInput
}
Response
{
  "data": {
    "accessRequests": {
      "pageInfo": PageInfo,
      "edges": [AccessRequestEdge],
      "totalCount": 10
    }
  }
}

Queries

certificateAuthorities

Description

Fetches a list of Certificate Authorities.

Response

Returns a CertificateAuthorityConnection!

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

Example

Query
query certificateAuthorities(
  $before: String,
  $after: String,
  $first: Int,
  $last: Int
) {
  certificateAuthorities(
    before: $before,
    after: $after,
    first: $first,
    last: $last
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...CertificateAuthorityEdgeFragment
    }
    totalCount
  }
}
Variables
{
  "before": "YXJyYXljb25uZWN0aW9uOjQ=",
  "after": "YXJyYXljb25uZWN0aW9uOjk=",
  "first": 20,
  "last": 1
}
Response
{
  "data": {
    "certificateAuthorities": {
      "pageInfo": PageInfo,
      "edges": [CertificateAuthorityEdge],
      "totalCount": 10
    }
  }
}

Queries

certificateAuthority

Description

Fetches a Certificate Authority by its ID.

Response

Returns a CertificateAuthority

Arguments
Name Description
id - ID! The Certificate Authority's ID.

Example

Query
query certificateAuthority($id: ID!) {
  certificateAuthority(id: $id) {
    ... on X509CertificateAuthority {
      ...X509CertificateAuthorityFragment
    }
    ... on SSHCertificateAuthority {
      ...SSHCertificateAuthorityFragment
    }
  }
}
Variables
{"id": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "certificateAuthority": X509CertificateAuthority
  }
}

Queries

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": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "connector": {
      "createdAt": "2024-01-01T00:00:00.000Z",
      "updatedAt": "2024-01-15T00:00:00.000Z",
      "lastHeartbeatAt": "2024-01-01T00:00:00.000Z",
      "hostname": "server.example.com",
      "id": "YWJjMTIzeHl6Nzg5",
      "name": "Example Name",
      "remoteNetwork": RemoteNetwork,
      "state": "ALIVE",
      "hasStatusNotificationsEnabled": true,
      "version": "1.0.0",
      "publicIP": "192.168.1.1",
      "privateIPs": ["192.168.1.1"]
    }
  }
}

Queries

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": "YXJyYXljb25uZWN0aW9uOjQ=",
  "after": "YXJyYXljb25uZWN0aW9uOjk=",
  "first": 20,
  "last": 1,
  "filter": ConnectorFilterInput
}
Response
{
  "data": {
    "connectors": {
      "pageInfo": PageInfo,
      "edges": [ConnectorEdge],
      "totalCount": 10
    }
  }
}

Queries

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
    osVersion
    hardwareModel
    hostname
    username
    serialNumber
    user {
      ...UserFragment
    }
    lastConnectedAt
    osName
    deviceType
    activeState
    lastSuccessfulLoginAt
    isTrusted
    clientVersion
    manufacturerName
    internetSecurityConfiguration
  }
}
Variables
{"id": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "device": {
      "id": "YWJjMTIzeHl6Nzg5",
      "name": "Example Name",
      "lastFailedLoginAt": "2024-01-01T00:00:00.000Z",
      "osVersion": "1.0.0",
      "hardwareModel": "example",
      "hostname": "server.example.com",
      "username": "johndoe",
      "serialNumber": "example",
      "user": User,
      "lastConnectedAt": "2024-01-01T00:00:00.000Z",
      "osName": "IPADOS",
      "deviceType": "GENERIC",
      "activeState": "ACTIVE",
      "lastSuccessfulLoginAt": "2024-01-01T00:00:00.000Z",
      "isTrusted": true,
      "clientVersion": "1.0.0",
      "manufacturerName": "example",
      "internetSecurityConfiguration": "example"
    }
  }
}

Queries

devicePosture

Description

Fetches the posture status of a Device by its ID.

Response

Returns a DevicePosture!

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

Example

Query
query devicePosture($id: ID!) {
  devicePosture(id: $id) {
    hardDriveEncryption {
      ...DevicePropertyPostureCheckFragment
    }
    screenLockPasscode {
      ...DevicePropertyPostureCheckFragment
    }
    firewall {
      ...DevicePropertyPostureCheckFragment
    }
    biometric {
      ...DevicePropertyPostureCheckFragment
    }
    antivirus {
      ...DevicePropertyPostureCheckFragment
    }
    osVersion {
      ...OsVersionPostureCheckFragment
    }
    crowdstrike {
      ...TrustProviderVerificationFragment
    }
    jamf {
      ...TrustProviderVerificationFragment
    }
    kandji {
      ...TrustProviderVerificationFragment
    }
    iru {
      ...TrustProviderVerificationFragment
    }
    inTune {
      ...TrustProviderVerificationFragment
    }
    sentinelOne {
      ...TrustProviderVerificationFragment
    }
    onePassword {
      ...TrustProviderVerificationFragment
    }
    manualVerification {
      ...ManualVerificationFragment
    }
  }
}
Variables
{"id": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "devicePosture": {
      "hardDriveEncryption": DevicePropertyPostureCheck,
      "screenLockPasscode": DevicePropertyPostureCheck,
      "firewall": DevicePropertyPostureCheck,
      "biometric": DevicePropertyPostureCheck,
      "antivirus": DevicePropertyPostureCheck,
      "osVersion": OsVersionPostureCheck,
      "crowdstrike": TrustProviderVerification,
      "jamf": TrustProviderVerification,
      "kandji": TrustProviderVerification,
      "iru": TrustProviderVerification,
      "inTune": TrustProviderVerification,
      "sentinelOne": TrustProviderVerification,
      "onePassword": TrustProviderVerification,
      "manualVerification": ManualVerification
    }
  }
}

Queries

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": "YXJyYXljb25uZWN0aW9uOjQ=",
  "after": "YXJyYXljb25uZWN0aW9uOjk=",
  "first": 20,
  "last": 1,
  "filter": DeviceFilterInput
}
Response
{
  "data": {
    "devices": {
      "pageInfo": PageInfo,
      "edges": [DeviceEdge],
      "totalCount": 10
    }
  }
}

Queries

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": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "dnsFilteringProfile": {
      "name": "Example Name",
      "id": "YWJjMTIzeHl6Nzg5",
      "priority": 123.45,
      "fallbackMethod": "AUTO",
      "groups": GroupConnection,
      "allowedDomains": ["example.com"],
      "deniedDomains": ["example.com"],
      "contentCategoryConfig": ContentCategoryConfig,
      "securityCategoryConfig": SecurityCategoryConfig,
      "privacyCategoryConfig": PrivacyCategoryConfig
    }
  }
}

Queries

dnsFilteringProfiles

Description

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

Response

Returns [DnsFilteringProfileMetadata!]

Example

Query
query dnsFilteringProfiles {
  dnsFilteringProfiles {
    name
    id
    priority
  }
}
Response
{
  "data": {
    "dnsFilteringProfiles": [\
      {"name": "Example Name", "id": "YWJjMTIzeHl6Nzg5", "priority": 123.45}\
    ]
  }
}

Queries

eventsSyncOidcProviderUrl

Description

The OIDC Identity Provider URL to register in Cloud provider for the current tenant.

Response

Returns a String!

Example

Query
query eventsSyncOidcProviderUrl {
  eventsSyncOidcProviderUrl
}
Response
{
  "data": {
    "eventsSyncOidcProviderUrl": "example"
  }
}

Queries

gateway

Description

Fetches a Gateway by its ID.

Response

Returns a Gateway

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

Example

Query
query gateway($id: ID!) {
  gateway(id: $id) {
    address
    id
    remoteNetwork {
      ...RemoteNetworkFragment
    }
    x509CA {
      ...X509CertificateAuthorityFragment
    }
    sshCA {
      ...SSHCertificateAuthorityFragment
    }
  }
}
Variables
{"id": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "gateway": {
      "address": "192.168.1.100",
      "id": "YWJjMTIzeHl6Nzg5",
      "remoteNetwork": RemoteNetwork,
      "x509CA": X509CertificateAuthority,
      "sshCA": SSHCertificateAuthority
    }
  }
}

Queries

gateways

Description

Fetches a list of Gateways.

Response

Returns a GatewayConnection!

Arguments

Example

Query
query gateways(
  $before: String,
  $after: String,
  $first: Int,
  $last: Int
) {
  gateways(
    before: $before,
    after: $after,
    first: $first,
    last: $last
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...GatewayEdgeFragment
    }
    totalCount
  }
}
Variables
{
  "before": "YXJyYXljb25uZWN0aW9uOjQ=",
  "after": "YXJyYXljb25uZWN0aW9uOjk=",
  "first": 20,
  "last": 1
}
Response
{
  "data": {
    "gateways": {
      "pageInfo": PageInfo,
      "edges": [GatewayEdge],
      "totalCount": 10
    }
  }
}

Queries

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": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "group": {
      "id": "YWJjMTIzeHl6Nzg5",
      "createdAt": "2024-01-01T00:00:00.000Z",
      "updatedAt": "2024-01-15T00:00:00.000Z",
      "name": "Example Name",
      "originId": "example",
      "isActive": true,
      "type": "MANUAL",
      "users": UserConnection,
      "resources": ResourceConnection,
      "securityPolicy": SecurityPolicy
    }
  }
}

Queries

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": "YXJyYXljb25uZWN0aW9uOjQ=",
  "after": "YXJyYXljb25uZWN0aW9uOjk=",
  "first": 20,
  "last": 1,
  "filter": GroupFilterInput
}
Response
{
  "data": {
    "groups": {
      "pageInfo": PageInfo,
      "edges": [GroupEdge],
      "totalCount": 10
    }
  }
}

Queries

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
    }
    gateways {
      ...GatewayConnectionFragment
    }
  }
}
Variables
{"id": "YWJjMTIzeHl6Nzg5", "name": "Example Name"}
Response
{
  "data": {
    "remoteNetwork": {
      "createdAt": "2024-01-01T00:00:00.000Z",
      "updatedAt": "2024-01-15T00:00:00.000Z",
      "name": "Example Name",
      "id": "YWJjMTIzeHl6Nzg5",
      "networkType": "REGULAR",
      "location": "AWS",
      "isActive": true,
      "resources": ResourceConnection,
      "connectors": ConnectorConnection,
      "gateways": GatewayConnection
    }
  }
}

Queries

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": "YXJyYXljb25uZWN0aW9uOjQ=",
  "after": "YXJyYXljb25uZWN0aW9uOjk=",
  "first": 20,
  "last": 1,
  "filter": RemoteNetworkFilterInput
}
Response
{
  "data": {
    "remoteNetworks": {
      "pageInfo": PageInfo,
      "edges": [RemoteNetworkEdge],
      "totalCount": 10
    }
  }
}

Queries

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
    tags {
      ...TagFragment
    }
    address {
      ...ResourceAddressFragment
    }
    alias
    protocols {
      ...ResourceProtocolsFragment
    }
    isActive
    remoteNetwork {
      ...RemoteNetworkFragment
    }
    groups {
      ...GroupConnectionFragment
    }
    serviceAccounts {
      ...ServiceAccountConnectionFragment
    }
    access {
      ...AccessConnectionFragment
    }
    isVisible
    isBrowserShortcutEnabled
    securityPolicy {
      ...SecurityPolicyFragment
    }
    usageBasedAutolockDurationDays
    accessPolicy {
      ...AccessPolicyFragment
    }
    approvalMode
    approverGroups {
      ...GroupConnectionFragment
    }
  }
}
Variables
{"id": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "resource": {
      "id": "YWJjMTIzeHl6Nzg5",
      "createdAt": "2024-01-01T00:00:00.000Z",
      "updatedAt": "2024-01-15T00:00:00.000Z",
      "name": "Example Name",
      "tags": [Tag],
      "address": ResourceAddress,
      "alias": "example",
      "protocols": ResourceProtocols,
      "isActive": true,
      "remoteNetwork": RemoteNetwork,
      "groups": GroupConnection,
      "serviceAccounts": ServiceAccountConnection,
      "access": AccessConnection,
      "isVisible": true,
      "isBrowserShortcutEnabled": true,
      "securityPolicy": SecurityPolicy,
      "usageBasedAutolockDurationDays": 12345,
      "accessPolicy": AccessPolicy,
      "approvalMode": "MANUAL",
      "approverGroups": GroupConnection
    }
  }
}

Queries

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": "YXJyYXljb25uZWN0aW9uOjQ=",
  "after": "YXJyYXljb25uZWN0aW9uOjk=",
  "first": 20,
  "last": 1,
  "filter": ResourceFilterInput
}
Response
{
  "data": {
    "resources": {
      "pageInfo": PageInfo,
      "edges": [ResourceEdge],
      "totalCount": 10
    }
  }
}

Queries

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": "YXJyYXljb25uZWN0aW9uOjQ=",
  "after": "YXJyYXljb25uZWN0aW9uOjk=",
  "first": 20,
  "last": 1,
  "filter": SecurityPolicyFilterField
}
Response
{
  "data": {
    "securityPolicies": {
      "pageInfo": PageInfo,
      "edges": [SecurityPolicyEdge],
      "totalCount": 10
    }
  }
}

Queries

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": "YWJjMTIzeHl6Nzg5", "name": "Example Name"}
Response
{
  "data": {
    "securityPolicy": {
      "id": "YWJjMTIzeHl6Nzg5",
      "createdAt": "2024-01-01T00:00:00.000Z",
      "updatedAt": "2024-01-15T00:00:00.000Z",
      "name": "Example Name",
      "policyType": "RESOURCE",
      "groups": GroupConnection
    }
  }
}

Queries

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": "YXJyYXljb25uZWN0aW9uOjQ=",
  "after": "YXJyYXljb25uZWN0aW9uOjk=",
  "first": 20,
  "last": 1,
  "filter": SerialNumberFilterInput
}
Response
{
  "data": {
    "serialNumbers": {
      "pageInfo": PageInfo,
      "edges": [SerialNumberEdge],
      "totalCount": 10
    }
  }
}

Queries

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": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "serviceAccount": {
      "id": "YWJjMTIzeHl6Nzg5",
      "name": "Example Name",
      "createdAt": "2024-01-01T00:00:00.000Z",
      "updatedAt": "2024-01-15T00:00:00.000Z",
      "resources": ResourceConnection,
      "keys": ServiceAccountKeyConnection
    }
  }
}

Queries

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": "YWJjMTIzeHl6Nzg5", "name": "Example Name"}
Response
{
  "data": {
    "serviceAccountKey": {
      "createdAt": "2024-01-01T00:00:00.000Z",
      "id": "YWJjMTIzeHl6Nzg5",
      "name": "Example Name",
      "expiresAt": "2024-12-31T23:59:59.000Z",
      "revokedAt": "2024-01-01T00:00:00.000Z",
      "updatedAt": "2024-01-15T00:00:00.000Z",
      "status": "ACTIVE",
      "serviceAccount": ServiceAccount
    }
  }
}

Queries

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": "YXJyYXljb25uZWN0aW9uOjQ=",
  "after": "YXJyYXljb25uZWN0aW9uOjk=",
  "first": 20,
  "last": 1,
  "filter": ServiceAccountFilterInput
}
Response
{
  "data": {
    "serviceAccounts": {
      "pageInfo": PageInfo,
      "edges": [ServiceAccountEdge],
      "totalCount": 10
    }
  }
}

Queries

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
    }
    devices {
      ...DeviceConnectionFragment
    }
  }
}
Variables
{"id": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "user": {
      "id": "YWJjMTIzeHl6Nzg5",
      "createdAt": "2024-01-01T00:00:00.000Z",
      "updatedAt": "2024-01-15T00:00:00.000Z",
      "firstName": "John",
      "lastName": "Doe",
      "email": "user@example.com",
      "avatarUrl": "example",
      "state": "PENDING",
      "isAdmin": false,
      "role": "ADMIN",
      "type": "MANUAL",
      "groups": GroupConnection,
      "devices": DeviceConnection
    }
  }
}

Queries

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": "YXJyYXljb25uZWN0aW9uOjQ=",
  "after": "YXJyYXljb25uZWN0aW9uOjk=",
  "first": 20,
  "last": 1,
  "filter": UserFilterInput
}
Response
{
  "data": {
    "users": {
      "pageInfo": PageInfo,
      "edges": [UserEdge],
      "totalCount": 10
    }
  }
}

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": "YWJjMTIzeHl6Nzg5"}
Response
{"data": {"accessRequestApprove": {"ok": true, "error": "example"}}}

Mutations

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": "YWJjMTIzeHl6Nzg5"}
Response
{"data": {"accessRequestReject": {"ok": true, "error": "example"}}}

Mutations

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": "Example Name",
  "remoteNetworkId": "TmV0d29yazox"
}
Response
{
  "data": {
    "connectorCreate": {
      "ok": true,
      "error": "example",
      "entity": Connector
    }
  }
}

Mutations

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": "YWJjMTIzeHl6Nzg5"}
Response
{"data": {"connectorDelete": {"ok": true, "error": "example"}}}

Mutations

connectorGenerateTokens

Response

Returns a ConnectorGenerateTokensMutation!

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": "Q29ubmVjdG9yOjE"}
Response
{
  "data": {
    "connectorGenerateTokens": {
      "ok": true,
      "error": "example",
      "connectorTokens": ConnectorTokens
    }
  }
}

Mutations

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": true,
  "id": "YWJjMTIzeHl6Nzg5",
  "name": "Example Name"
}
Response
{
  "data": {
    "connectorUpdate": {
      "ok": true,
      "error": "example",
      "entity": Connector
    }
  }
}

Mutations

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": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "deviceArchive": {
      "ok": true,
      "error": "example",
      "entity": Device
    }
  }
}

Mutations

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": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "deviceBlock": {
      "ok": true,
      "error": "example",
      "entity": Device
    }
  }
}

Mutations

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": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "deviceUnarchive": {
      "ok": true,
      "error": "example",
      "entity": Device
    }
  }
}

Mutations

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": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "deviceUnblock": {
      "ok": true,
      "error": "example",
      "entity": Device
    }
  }
}

Mutations

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": "YWJjMTIzeHl6Nzg5", "isTrusted": true}
Response
{
  "data": {
    "deviceUpdate": {
      "ok": true,
      "error": "example",
      "entity": Device
    }
  }
}

Mutations

dnsFilteringProfileCreate

Response

Returns a DnsFilteringProfileCreateMutation!

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": "Example Name"}
Response
{
  "data": {
    "dnsFilteringProfileCreate": {
      "ok": true,
      "error": "example",
      "entity": DnsFilteringProfile
    }
  }
}

Mutations

dnsFilteringProfileDelete

Response

Returns a DnsFilteringProfileDeleteMutation!

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": "YWJjMTIzeHl6Nzg5"}
Response
{"data": {"dnsFilteringProfileDelete": {"ok": true, "error": "example"}}}

Mutations

dnsFilteringProfileUpdate

Response

Returns a DnsFilteringProfileUpdateMutation!

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": ["example.com"],
  "contentCategoryConfig": ContentCategoryConfigInput,
  "deniedDomains": ["example.com"],
  "fallbackMethod": "AUTO",
  "groups": ["example"],
  "id": "YWJjMTIzeHl6Nzg5",
  "name": "Example Name",
  "priority": 123.45,
  "privacyCategoryConfig": PrivacyCategoryConfigInput,
  "securityCategoryConfig": SecurityCategoryConfigInput
}
Response
{
  "data": {
    "dnsFilteringProfileUpdate": {
      "ok": true,
      "error": "example",
      "entity": DnsFilteringProfile
    }
  }
}

Mutations

gatewayCreate

Response

Returns a GatewayCreateMutation!

Arguments
Name Description
address - String! The Gateway's address.
remoteNetworkId - ID! The Remote Network ID to assign to the Gateway.
sshCAId - ID The SSH Certificate Authority ID to assign to the Gateway. Default = null
x509CAId - ID! The X509 Certificate Authority ID to assign to the Gateway.

Example

Query
mutation gatewayCreate(
  $address: String!,
  $remoteNetworkId: ID!,
  $sshCAId: ID,
  $x509CAId: ID!
) {
  gatewayCreate(
    address: $address,
    remoteNetworkId: $remoteNetworkId,
    sshCAId: $sshCAId,
    x509CAId: $x509CAId
  ) {
    ok
    error
    entity {
      ...GatewayFragment
    }
  }
}
Variables
{
  "address": "192.168.1.100",
  "remoteNetworkId": "TmV0d29yazox",
  "sshCAId": "abc123xyz789",
  "x509CAId": "abc123xyz789"
}
Response
{
  "data": {
    "gatewayCreate": {
      "ok": true,
      "error": "example",
      "entity": Gateway
    }
  }
}

Mutations

gatewayDelete

Response

Returns a GatewayDeleteMutation!

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

Example

Query
mutation gatewayDelete($id: ID!) {
  gatewayDelete(id: $id) {
    ok
    error
  }
}
Variables
{"id": "YWJjMTIzeHl6Nzg5"}
Response
{"data": {"gatewayDelete": {"ok": true, "error": "example"}}}

Mutations

gatewayUpdate

Response

Returns a GatewayUpdateMutation!

Arguments
Name Description
address - String The Gateway's address.
id - ID! The Gateway's ID.
remoteNetworkId - ID The Remote Network ID to assign to the Gateway.
sshCAId - ID The SSH Certificate Authority ID to assign to the Gateway. If null, the Gateway's SSH Certificate Authority is unassigned from the Gateway.
x509CAId - ID The X509 Certificate Authority ID to assign to the Gateway.

Example

Query
mutation gatewayUpdate(
  $address: String,
  $id: ID!,
  $remoteNetworkId: ID,
  $sshCAId: ID,
  $x509CAId: ID
) {
  gatewayUpdate(
    address: $address,
    id: $id,
    remoteNetworkId: $remoteNetworkId,
    sshCAId: $sshCAId,
    x509CAId: $x509CAId
  ) {
    ok
    error
    entity {
      ...GatewayFragment
    }
  }
}
Variables
{
  "address": "192.168.1.100",
  "id": "YWJjMTIzeHl6Nzg5",
  "remoteNetworkId": "TmV0d29yazox",
  "sshCAId": "abc123xyz789",
  "x509CAId": "abc123xyz789"
}
Response
{
  "data": {
    "gatewayUpdate": {
      "ok": true,
      "error": "example",
      "entity": Gateway
    }
  }
}

Mutations

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": "Example Name",
  "resourceIds": ["UmVzb3VyY2U6MQ"],
  "securityPolicyId": "abc123xyz789",
  "userIds": ["VXNlcjox"]
}
Response
{
  "data": {
    "groupCreate": {
      "ok": true,
      "error": "example",
      "entity": Group
    }
  }
}

Mutations

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": "YWJjMTIzeHl6Nzg5"}
Response
{"data": {"groupDelete": {"ok": true, "error": "example"}}}

Mutations

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": ["UmVzb3VyY2U6MQ"],
  "addedUserIds": ["VXNlcjox"],
  "id": "YWJjMTIzeHl6Nzg5",
  "isActive": true,
  "name": "Example Name",
  "removedResourceIds": ["UmVzb3VyY2U6MQ"],
  "removedUserIds": ["VXNlcjox"],
  "resourceIds": ["UmVzb3VyY2U6MQ"],
  "securityPolicyId": "abc123xyz789",
  "userIds": ["VXNlcjox"]
}
Response
{
  "data": {
    "groupUpdate": {
      "ok": true,
      "error": "example",
      "entity": Group
    }
  }
}

Mutations

kubernetesResourceCreate

Response

Returns a KubernetesResourceCreateMutation!

Arguments
Name Description
accessPolicy - AccessPolicyInput The access policy configured on the resource. Default = null
address - String! The Resource's IP/FQDN.
alias - String The Resource's alias address. Default = null
approvalMode - AccessApprovalMode The approval mode configured on the Resource. Default = MANUAL
approverGroupIds - [ID!] List of Group IDs that can approve access requests for the Resource. Default = []
clusterRef - String The cluster configuration name to reference. When null, the Gateway uses in-cluster credentials. Default = null
downstream - KubernetesDownstreamInput The downstream configuration. Default = null
gatewayId - ID The Gateway ID for the Kubernetes Resource.
groupIds - [ID] List of Group IDs added to the Resource. Default = []
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
tags - [TagInput!] A list of tags to associate with the Resource.
upstream - KubernetesUpstreamInput The upstream configuration. Default = null

Example

Query
mutation kubernetesResourceCreate(
  $accessPolicy: AccessPolicyInput,
  $address: String!,
  $alias: String,
  $approvalMode: AccessApprovalMode,
  $approverGroupIds: [ID!],
  $clusterRef: String,
  $downstream: KubernetesDownstreamInput,
  $gatewayId: ID,
  $groupIds: [ID],
  $isVisible: Boolean,
  $name: String!,
  $protocols: ProtocolsInput,
  $remoteNetworkId: ID!,
  $securityPolicyId: ID,
  $tags: [TagInput!],
  $upstream: KubernetesUpstreamInput
) {
  kubernetesResourceCreate(
    accessPolicy: $accessPolicy,
    address: $address,
    alias: $alias,
    approvalMode: $approvalMode,
    approverGroupIds: $approverGroupIds,
    clusterRef: $clusterRef,
    downstream: $downstream,
    gatewayId: $gatewayId,
    groupIds: $groupIds,
    isVisible: $isVisible,
    name: $name,
    protocols: $protocols,
    remoteNetworkId: $remoteNetworkId,
    securityPolicyId: $securityPolicyId,
    tags: $tags,
    upstream: $upstream
  ) {
    ok
    error
    entity {
      ...KubernetesResourceFragment
    }
  }
}
Variables
{
  "accessPolicy": null,
  "address": "192.168.1.100",
  "alias": "example",
  "approvalMode": "MANUAL",
  "approverGroupIds": ["R3JvdXA6MQ"],
  "clusterRef": "example",
  "downstream": null,
  "gatewayId": "abc123xyz789",
  "groupIds": ["R3JvdXA6MQ"],
  "isVisible": true,
  "name": "Example Name",
  "protocols": null,
  "remoteNetworkId": "TmV0d29yazox",
  "securityPolicyId": "abc123xyz789",
  "tags": [TagInput],
  "upstream": null
}
Response
{
  "data": {
    "kubernetesResourceCreate": {
      "ok": true,
      "error": "example",
      "entity": KubernetesResource
    }
  }
}

Mutations

kubernetesResourceUpdate

Response

Returns a KubernetesResourceUpdateMutation!

Arguments
Name Description
accessPolicy - AccessPolicyInput The access policy configured on the resource. If unspecified or null, the resource's existing access policy remains unchanged.
addedApproverGroupIds - [ID!] List of Group IDs to add as approvers. Default = null
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 unspecified, alias remains unchanged. If null, the alias will be cleared.
approvalMode - AccessApprovalMode The approval mode configured on the Resource. If unspecified or null, the resource's existing approval mode remains unchanged.
approverGroupIds - [ID!] List of Group IDs to be assigned as approvers for the Resource. Default = null
clusterRef - String The cluster configuration name to reference.If null, the reference is removed.
downstream - KubernetesDownstreamInput The downstream configuration. Default = null
gatewayId - ID The Gateway ID for the Kubernetes Resource. 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
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
removedApproverGroupIds - [ID!] List of Group IDs to remove as approvers. Default = null
removedGroupIds - [ID] List of Group IDs to remove. Default = null
securityPolicyId - ID Security Policy ID required to access the Resource. If unspecified, policy remains unchanged. If null, the policy is reset to the Default Policy.
tags - [TagInput!] A list of tags to associate with the Resource. If unspecified, the resource's existing tags remain unchanged. If null, the resource's existing tags are removed.
upstream - KubernetesUpstreamInput The upstream configuration. Default = null

Example

Query
mutation kubernetesResourceUpdate(
  $accessPolicy: AccessPolicyInput,
  $addedApproverGroupIds: [ID!],
  $addedGroupIds: [ID],
  $address: String,
  $alias: String,
  $approvalMode: AccessApprovalMode,
  $approverGroupIds: [ID!],
  $clusterRef: String,
  $downstream: KubernetesDownstreamInput,
  $gatewayId: ID,
  $groupIds: [ID],
  $id: ID!,
  $isActive: Boolean,
  $isVisible: Boolean,
  $name: String,
  $protocols: ProtocolsInput,
  $remoteNetworkId: ID,
  $removedApproverGroupIds: [ID!],
  $removedGroupIds: [ID],
  $securityPolicyId: ID,
  $tags: [TagInput!],
  $upstream: KubernetesUpstreamInput
) {
  kubernetesResourceUpdate(
    accessPolicy: $accessPolicy,
    addedApproverGroupIds: $addedApproverGroupIds,
    addedGroupIds: $addedGroupIds,
    address: $address,
    alias: $alias,
    approvalMode: $approvalMode,
    approverGroupIds: $approverGroupIds,
    clusterRef: $clusterRef,
    downstream: $downstream,
    gatewayId: $gatewayId,
    groupIds: $groupIds,
    id: $id,
    isActive: $isActive,
    isVisible: $isVisible,
    name: $name,
    protocols: $protocols,
    remoteNetworkId: $remoteNetworkId,
    removedApproverGroupIds: $removedApproverGroupIds,
    removedGroupIds: $removedGroupIds,
    securityPolicyId: $securityPolicyId,
    tags: $tags,
    upstream: $upstream
  ) {
    ok
    error
    entity {
      ...KubernetesResourceFragment
    }
  }
}
Variables
{
  "accessPolicy": AccessPolicyInput,
  "addedApproverGroupIds": ["R3JvdXA6MQ"],
  "addedGroupIds": ["R3JvdXA6MQ"],
  "address": "192.168.1.100",
  "alias": "example",
  "approvalMode": "MANUAL",
  "approverGroupIds": ["R3JvdXA6MQ"],
  "clusterRef": "example",
  "downstream": null,
  "gatewayId": "abc123xyz789",
  "groupIds": ["R3JvdXA6MQ"],
  "id": "YWJjMTIzeHl6Nzg5",
  "isActive": true,
  "isVisible": true,
  "name": "Example Name",
  "protocols": null,
  "remoteNetworkId": "TmV0d29yazox",
  "removedApproverGroupIds": ["R3JvdXA6MQ"],
  "removedGroupIds": ["R3JvdXA6MQ"],
  "securityPolicyId": "abc123xyz789",
  "tags": [TagInput],
  "upstream": null
}
Response
{
  "data": {
    "kubernetesResourceUpdate": {
      "ok": true,
      "error": "example",
      "entity": KubernetesResource
    }
  }
}

Mutations

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": "Example Name",
  "networkType": "REGULAR"
}
Response
{
  "data": {
    "remoteNetworkCreate": {
      "ok": true,
      "error": "example",
      "entity": RemoteNetwork
    }
  }
}

Mutations

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": "YWJjMTIzeHl6Nzg5"}
Response
{"data": {"remoteNetworkDelete": {"ok": true, "error": "example"}}}

Mutations

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": "YWJjMTIzeHl6Nzg5",
  "isActive": true,
  "location": "null",
  "name": "Example Name"
}
Response
{
  "data": {
    "remoteNetworkUpdate": {
      "ok": true,
      "error": "example",
      "entity": RemoteNetwork
    }
  }
}

Mutations

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": "UmVzb3VyY2U6MQ"}
Response
{
  "data": {
    "resourceAccessAdd": {
      "ok": true,
      "error": "example",
      "entity": Resource
    }
  }
}

Mutations

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": ["abc123xyz789"], "resourceId": "UmVzb3VyY2U6MQ"}
Response
{
  "data": {
    "resourceAccessRemove": {
      "ok": true,
      "error": "example",
      "entity": Resource
    }
  }
}

Mutations

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": "UmVzb3VyY2U6MQ"}
Response
{
  "data": {
    "resourceAccessSet": {
      "ok": true,
      "error": "example",
      "entity": Resource
    }
  }
}

Mutations

resourceCreate

Response

Returns a ResourceCreateMutation!

Arguments

Example

Query
mutation resourceCreate(
  $accessPolicy: AccessPolicyInput,
  $address: String!,
  $alias: String,
  $approvalMode: AccessApprovalMode,
  $approverGroupIds: [ID!],
  $groupIds: [ID],
  $isBrowserShortcutEnabled: Boolean,
  $isVisible: Boolean,
  $name: String!,
  $protocols: ProtocolsInput,
  $remoteNetworkId: ID!,
  $routingMode: RoutingMode,
  $securityPolicyId: ID,
  $tags: [TagInput!]
) {
  resourceCreate(
    accessPolicy: $accessPolicy,
    address: $address,
    alias: $alias,
    approvalMode: $approvalMode,
    approverGroupIds: $approverGroupIds,
    groupIds: $groupIds,
    isBrowserShortcutEnabled: $isBrowserShortcutEnabled,
    isVisible: $isVisible,
    name: $name,
    protocols: $protocols,
    remoteNetworkId: $remoteNetworkId,
    routingMode: $routingMode,
    securityPolicyId: $securityPolicyId,
    tags: $tags
  ) {
    ok
    error
    entity {
      ...NetworkResourceFragment
    }
  }
}
Variables
{
  "accessPolicy": null,
  "address": "192.168.1.100",
  "alias": "example",
  "approvalMode": "MANUAL",
  "approverGroupIds": ["R3JvdXA6MQ"],
  "groupIds": ["R3JvdXA6MQ"],
  "isBrowserShortcutEnabled": true,
  "isVisible": true,
  "name": "Example Name",
  "protocols": null,
  "remoteNetworkId": "TmV0d29yazox",
  "routingMode": "null",
  "securityPolicyId": "abc123xyz789",
  "tags": [TagInput]
}
Response
{
  "data": {
    "resourceCreate": {
      "ok": true,
      "error": "example",
      "entity": NetworkResource
    }
  }
}

Mutations

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": "YWJjMTIzeHl6Nzg5"}
Response
{"data": {"resourceDelete": {"ok": true, "error": "example"}}}

Mutations

resourceUpdate

Response

Returns a ResourceUpdateMutation!

Arguments

Example

Query
mutation resourceUpdate(
  $accessPolicy: AccessPolicyInput,
  $addedApproverGroupIds: [ID!],
  $addedGroupIds: [ID],
  $address: String,
  $alias: String,
  $approvalMode: AccessApprovalMode,
  $approverGroupIds: [ID!],
  $groupIds: [ID],
  $id: ID!,
  $isActive: Boolean,
  $isBrowserShortcutEnabled: Boolean,
  $isVisible: Boolean,
  $name: String,
  $protocols: ProtocolsInput,
  $remoteNetworkId: ID,
  $removedApproverGroupIds: [ID!],
  $removedGroupIds: [ID],
  $routingMode: RoutingMode,
  $securityPolicyId: ID,
  $tags: [TagInput!]
) {
  resourceUpdate(
    accessPolicy: $accessPolicy,
    addedApproverGroupIds: $addedApproverGroupIds,
    addedGroupIds: $addedGroupIds,
    address: $address,
    alias: $alias,
    approvalMode: $approvalMode,
    approverGroupIds: $approverGroupIds,
    groupIds: $groupIds,
    id: $id,
    isActive: $isActive,
    isBrowserShortcutEnabled: $isBrowserShortcutEnabled,
    isVisible: $isVisible,
    name: $name,
    protocols: $protocols,
    remoteNetworkId: $remoteNetworkId,
    removedApproverGroupIds: $removedApproverGroupIds,
    removedGroupIds: $removedGroupIds,
    routingMode: $routingMode,
    securityPolicyId: $securityPolicyId,
    tags: $tags
  ) {
    ok
    error
    entity {
      ...NetworkResourceFragment
    }
  }
}
Variables
{
  "accessPolicy": AccessPolicyInput,
  "addedApproverGroupIds": ["R3JvdXA6MQ"],
  "addedGroupIds": ["R3JvdXA6MQ"],
  "address": "192.168.1.100",
  "alias": "example",
  "approvalMode": "MANUAL",
  "approverGroupIds": ["R3JvdXA6MQ"],
  "groupIds": ["R3JvdXA6MQ"],
  "id": "YWJjMTIzeHl6Nzg5",
  "isActive": true,
  "isBrowserShortcutEnabled": true,
  "isVisible": true,
  "name": "Example Name",
  "protocols": null,
  "remoteNetworkId": "TmV0d29yazox",
  "removedApproverGroupIds": ["R3JvdXA6MQ"],
  "removedGroupIds": ["R3JvdXA6MQ"],
  "routingMode": "THROUGH_TWINGATE",
  "securityPolicyId": "abc123xyz789",
  "tags": [TagInput]
}
Response
{
  "data": {
    "resourceUpdate": {
      "ok": true,
      "error": "example",
      "entity": NetworkResource
    }
  }
}

Mutations

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": ["R3JvdXA6MQ"],
  "groupIds": ["R3JvdXA6MQ"],
  "id": "YWJjMTIzeHl6Nzg5",
  "removedGroupIds": ["R3JvdXA6MQ"]
}
Response
{
  "data": {
    "securityPolicyUpdate": {
      "ok": true,
      "error": "example",
      "entity": SecurityPolicy
    }
  }
}

Mutations

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": ["example"]}
Response
{
  "data": {
    "serialNumbersCreate": {
      "ok": true,
      "error": "example",
      "entities": [SerialNumber]
    }
  }
}

Mutations

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": ["example"]}
Response
{"data": {"serialNumbersDelete": {"ok": true, "error": "example"}}}

Mutations

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": "Example Name", "resourceIds": ["UmVzb3VyY2U6MQ"]}
Response
{
  "data": {
    "serviceAccountCreate": {
      "ok": true,
      "error": "example",
      "entity": ServiceAccount
    }
  }
}

Mutations

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": "YWJjMTIzeHl6Nzg5"}
Response
{"data": {"serviceAccountDelete": {"ok": true, "error": "example"}}}

Mutations

serviceAccountKeyCreate

Response

Returns a ServiceAccountKeyCreateMutation!

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": 12345,
  "name": "Example Name",
  "serviceAccountId": "abc123xyz789"
}
Response
{
  "data": {
    "serviceAccountKeyCreate": {
      "ok": true,
      "error": "example",
      "entity": ServiceAccountKey,
      "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
    }
  }
}

Mutations

serviceAccountKeyDelete

Response

Returns a ServiceAccountKeyDeleteMutation!

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": "YWJjMTIzeHl6Nzg5"}
Response
{"data": {"serviceAccountKeyDelete": {"ok": true, "error": "example"}}}

Mutations

serviceAccountKeyRevoke

Response

Returns a ServiceAccountKeyRevokeMutation!

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": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "serviceAccountKeyRevoke": {
      "ok": true,
      "error": "example",
      "entity": ServiceAccountKey
    }
  }
}

Mutations

serviceAccountKeyUpdate

Response

Returns a ServiceAccountKeyUpdateMutation!

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": "YWJjMTIzeHl6Nzg5", "name": "Example Name"}
Response
{
  "data": {
    "serviceAccountKeyUpdate": {
      "ok": true,
      "error": "example",
      "entity": ServiceAccountKey
    }
  }
}

Mutations

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": ["UmVzb3VyY2U6MQ"],
  "id": "YWJjMTIzeHl6Nzg5",
  "name": "Example Name",
  "removedResourceIds": ["UmVzb3VyY2U6MQ"],
  "resourceIds": ["UmVzb3VyY2U6MQ"]
}
Response
{
  "data": {
    "serviceAccountUpdate": {
      "ok": true,
      "error": "example",
      "entity": ServiceAccount
    }
  }
}

Mutations

sshCertificateAuthorityCreate

Response

Returns an SSHCertificateAuthorityCreateMutation!

Arguments
Name Description
name - String! The name of the Certificate Authority.
publicKey - String! The SSH public key.

Example

Query
mutation sshCertificateAuthorityCreate(
  $name: String!,
  $publicKey: String!
) {
  sshCertificateAuthorityCreate(
    name: $name,
    publicKey: $publicKey
  ) {
    ok
    error
    entity {
      ...SSHCertificateAuthorityFragment
    }
  }
}
Variables
{"name": "Example Name", "publicKey": "sk_test_1234567890abcdef"}
Response
{
  "data": {
    "sshCertificateAuthorityCreate": {
      "ok": true,
      "error": "example",
      "entity": SSHCertificateAuthority
    }
  }
}

Mutations

sshCertificateAuthorityDelete

Response

Returns an SSHCertificateAuthorityDeleteMutation!

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

Example

Query
mutation sshCertificateAuthorityDelete($id: ID!) {
  sshCertificateAuthorityDelete(id: $id) {
    ok
    error
  }
}
Variables
{"id": "YWJjMTIzeHl6Nzg5"}
Response
{"data": {"sshCertificateAuthorityDelete": {"ok": true, "error": "example"}}}

Mutations

sshResourceCreate

Response

Returns an SSHResourceCreateMutation!

Arguments

Example

Query
mutation sshResourceCreate(
  $accessPolicy: AccessPolicyInput,
  $address: String!,
  $alias: String,
  $approvalMode: AccessApprovalMode,
  $approverGroupIds: [ID!],
  $downstream: SSHDownstreamInput,
  $gatewayId: ID!,
  $groupIds: [ID],
  $isVisible: Boolean,
  $name: String!,
  $protocols: ProtocolsInput,
  $remoteNetworkId: ID!,
  $securityPolicyId: ID,
  $tags: [TagInput!],
  $upstream: SSHUpstreamInput
) {
  sshResourceCreate(
    accessPolicy: $accessPolicy,
    address: $address,
    alias: $alias,
    approvalMode: $approvalMode,
    approverGroupIds: $approverGroupIds,
    downstream: $downstream,
    gatewayId: $gatewayId,
    groupIds: $groupIds,
    isVisible: $isVisible,
    name: $name,
    protocols: $protocols,
    remoteNetworkId: $remoteNetworkId,
    securityPolicyId: $securityPolicyId,
    tags: $tags,
    upstream: $upstream
  ) {
    ok
    error
    entity {
      ...SSHResourceFragment
    }
  }
}
Variables
{
  "accessPolicy": null,
  "address": "192.168.1.100",
  "alias": "example",
  "approvalMode": "MANUAL",
  "approverGroupIds": ["R3JvdXA6MQ"],
  "downstream": null,
  "gatewayId": "abc123xyz789",
  "groupIds": ["R3JvdXA6MQ"],
  "isVisible": true,
  "name": "Example Name",
  "protocols": null,
  "remoteNetworkId": "TmV0d29yazox",
  "securityPolicyId": "abc123xyz789",
  "tags": [TagInput],
  "upstream": null
}
Response
{
  "data": {
    "sshResourceCreate": {
      "ok": true,
      "error": "example",
      "entity": SSHResource
    }
  }
}

Mutations

sshResourceUpdate

Response

Returns an SSHResourceUpdateMutation!

Arguments

Example

Query
mutation sshResourceUpdate(
  $accessPolicy: AccessPolicyInput,
  $addedApproverGroupIds: [ID!],
  $addedGroupIds: [ID],
  $address: String,
  $alias: String,
  $approvalMode: AccessApprovalMode,
  $approverGroupIds: [ID!],
  $downstream: SSHDownstreamInput,
  $gatewayId: ID,
  $groupIds: [ID],
  $id: ID!,
  $isActive: Boolean,
  $isVisible: Boolean,
  $name: String,
  $protocols: ProtocolsInput,
  $remoteNetworkId: ID,
  $removedApproverGroupIds: [ID!],
  $removedGroupIds: [ID],
  $securityPolicyId: ID,
  $tags: [TagInput!],
  $upstream: SSHUpstreamInput
) {
  sshResourceUpdate(
    accessPolicy: $accessPolicy,
    addedApproverGroupIds: $addedApproverGroupIds,
    addedGroupIds: $addedGroupIds,
    address: $address,
    alias: $alias,
    approvalMode: $approvalMode,
    approverGroupIds: $approverGroupIds,
    downstream: $downstream,
    gatewayId: $gatewayId,
    groupIds: $groupIds,
    id: $id,
    isActive: $isActive,
    isVisible: $isVisible,
    name: $name,
    protocols: $protocols,
    remoteNetworkId: $remoteNetworkId,
    removedApproverGroupIds: $removedApproverGroupIds,
    removedGroupIds: $removedGroupIds,
    securityPolicyId: $securityPolicyId,
    tags: $tags,
    upstream: $upstream
  ) {
    ok
    error
    entity {
      ...SSHResourceFragment
    }
  }
}
Variables
{
  "accessPolicy": AccessPolicyInput,
  "addedApproverGroupIds": ["R3JvdXA6MQ"],
  "addedGroupIds": ["R3JvdXA6MQ"],
  "address": "192.168.1.100",
  "alias": "example",
  "approvalMode": "MANUAL",
  "approverGroupIds": ["R3JvdXA6MQ"],
  "downstream": null,
  "gatewayId": "abc123xyz789",
  "groupIds": ["R3JvdXA6MQ"],
  "id": "YWJjMTIzeHl6Nzg5",
  "isActive": true,
  "isVisible": true,
  "name": "Example Name",
  "protocols": null,
  "remoteNetworkId": "TmV0d29yazox",
  "removedApproverGroupIds": ["R3JvdXA6MQ"],
  "removedGroupIds": ["R3JvdXA6MQ"],
  "securityPolicyId": "abc123xyz789",
  "tags": [TagInput],
  "upstream": null
}
Response
{
  "data": {
    "sshResourceUpdate": {
      "ok": true,
      "error": "example",
      "entity": SSHResource
    }
  }
}

Mutations

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

Example

Query
mutation userCreate(
  $email: String!,
  $firstName: String,
  $lastName: String,
  $role: UserRole
) {
  userCreate(
    email: $email,
    firstName: $firstName,
    lastName: $lastName,
    role: $role
  ) {
    ok
    error
    entity {
      ...UserFragment
    }
  }
}
Variables
{
  "email": "user@example.com",
  "firstName": "John",
  "lastName": "Doe",
  "role": "MEMBER"
}
Response
{
  "data": {
    "userCreate": {
      "ok": true,
      "error": "example",
      "entity": User
    }
  }
}

Mutations

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": "YWJjMTIzeHl6Nzg5"}
Response
{"data": {"userDelete": {"ok": true, "error": "example"}}}

Mutations

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": "John",
  "id": "YWJjMTIzeHl6Nzg5",
  "lastName": "Doe",
  "state": "null"
}
Response
{
  "data": {
    "userDetailsUpdate": {
      "ok": true,
      "error": "example",
      "entity": User
    }
  }
}

Mutations

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": "YWJjMTIzeHl6Nzg5"}
Response
{
  "data": {
    "userResetMfa": {
      "ok": true,
      "error": "example",
      "entity": User
    }
  }
}

Mutations

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": "YWJjMTIzeHl6Nzg5", "role": "ADMIN"}
Response
{
  "data": {
    "userRoleUpdate": {
      "ok": true,
      "error": "example",
      "entity": User
    }
  }
}

Mutations

webAppResourceCreate

Response

Returns a WebAppResourceCreateMutation!

Arguments

Example

Query
mutation webAppResourceCreate(
  $accessPolicy: AccessPolicyInput,
  $address: String!,
  $alias: String,
  $approvalMode: AccessApprovalMode,
  $approverGroupIds: [ID!],
  $downstream: WebAppDownstreamInput!,
  $gatewayId: ID!,
  $groupIds: [ID],
  $isVisible: Boolean,
  $name: String!,
  $protocols: ProtocolsInput,
  $remoteNetworkId: ID!,
  $requestHeaderRewrites: [KeyValueInputObject!],
  $securityPolicyId: ID,
  $tags: [TagInput!],
  $upstream: WebAppUpstreamInput!
) {
  webAppResourceCreate(
    accessPolicy: $accessPolicy,
    address: $address,
    alias: $alias,
    approvalMode: $approvalMode,
    approverGroupIds: $approverGroupIds,
    downstream: $downstream,
    gatewayId: $gatewayId,
    groupIds: $groupIds,
    isVisible: $isVisible,
    name: $name,
    protocols: $protocols,
    remoteNetworkId: $remoteNetworkId,
    requestHeaderRewrites: $requestHeaderRewrites,
    securityPolicyId: $securityPolicyId,
    tags: $tags,
    upstream: $upstream
  ) {
    ok
    error
    entity {
      ...WebAppResourceFragment
    }
  }
}
Variables
{
  "accessPolicy": null,
  "address": "192.168.1.100",
  "alias": "example",
  "approvalMode": "MANUAL",
  "approverGroupIds": ["R3JvdXA6MQ"],
  "downstream": WebAppDownstreamInput,
  "gatewayId": "abc123xyz789",
  "groupIds": ["R3JvdXA6MQ"],
  "isVisible": true,
  "name": "Example Name",
  "protocols": null,
  "remoteNetworkId": "TmV0d29yazox",
  "requestHeaderRewrites": [""],
  "securityPolicyId": "abc123xyz789",
  "tags": [TagInput],
  "upstream": WebAppUpstreamInput
}
Response
{
  "data": {
    "webAppResourceCreate": {
      "ok": true,
      "error": "example",
      "entity": WebAppResource
    }
  }
}

Mutations

webAppResourceUpdate

Response

Returns a WebAppResourceUpdateMutation!

Arguments

Example

Query
mutation webAppResourceUpdate(
  $accessPolicy: AccessPolicyInput,
  $addedApproverGroupIds: [ID!],
  $addedGroupIds: [ID],
  $address: String,
  $alias: String,
  $approvalMode: AccessApprovalMode,
  $approverGroupIds: [ID!],
  $downstream: WebAppDownstreamInput,
  $gatewayId: ID,
  $groupIds: [ID],
  $id: ID!,
  $isActive: Boolean,
  $isVisible: Boolean,
  $name: String,
  $protocols: ProtocolsInput,
  $remoteNetworkId: ID,
  $removedApproverGroupIds: [ID!],
  $removedGroupIds: [ID],
  $requestHeaderRewrites: [KeyValueInputObject!],
  $securityPolicyId: ID,
  $tags: [TagInput!],
  $upstream: WebAppUpstreamInput
) {
  webAppResourceUpdate(
    accessPolicy: $accessPolicy,
    addedApproverGroupIds: $addedApproverGroupIds,
    addedGroupIds: $addedGroupIds,
    address: $address,
    alias: $alias,
    approvalMode: $approvalMode,
    approverGroupIds: $approverGroupIds,
    downstream: $downstream,
    gatewayId: $gatewayId,
    groupIds: $groupIds,
    id: $id,
    isActive: $isActive,
    isVisible: $isVisible,
    name: $name,
    protocols: $protocols,
    remoteNetworkId: $remoteNetworkId,
    removedApproverGroupIds: $removedApproverGroupIds,
    removedGroupIds: $removedGroupIds,
    requestHeaderRewrites: $requestHeaderRewrites,
    securityPolicyId: $securityPolicyId,
    tags: $tags,
    upstream: $upstream
  ) {
    ok
    error
    entity {
      ...WebAppResourceFragment
    }
  }
}
Variables
Response
{
  "data": {
    "webAppResourceUpdate": {
      "ok": true,
      "error": "example",
      "entity": WebAppResource
    }
  }
}

Mutations

x509CertificateAuthorityCreate

Response

Returns a X509CertificateAuthorityCreateMutation!

Arguments
Name Description
certificate - String! The X509 certificate in PEM format.
name - String! The name of the Certificate Authority.

Example

Query
mutation x509CertificateAuthorityCreate(
  $certificate: String!,
  $name: String!
) {
  x509CertificateAuthorityCreate(
    certificate: $certificate,
    name: $name
  ) {
    ok
    error
    entity {
      ...X509CertificateAuthorityFragment
    }
  }
}
Variables
{"certificate": "example", "name": "Example Name"}
Response
{
  "data": {
    "x509CertificateAuthorityCreate": {
      "ok": true,
      "error": "example",
      "entity": X509CertificateAuthority
    }
  }
}

Mutations

x509CertificateAuthorityDelete

Response

Returns a X509CertificateAuthorityDeleteMutation!

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

Example

Query
mutation x509CertificateAuthorityDelete($id: ID!) {
  x509CertificateAuthorityDelete(id: $id) {
    ok
    error
  }
}
Variables
{"id": "YWJjMTIzeHl6Nzg5"}
Response
{"data": {"x509CertificateAuthorityDelete": {"ok": true, "error": "example"}}}

Types

AccessApprovalMode

Values
Enum Value Description
MANUAL
AUTOMATIC
Example
"MANUAL"

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": 10
}

Types

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). Use accessPolicy instead.
accessPolicy - AccessPolicy The access policy configured on the edge.
approvalMode - AccessApprovalMode The approval mode configured on the edge.
Example
{
  "node": Group,
  "cursor": "example",
  "securityPolicy": SecurityPolicy,
  "expiresAt": "2024-12-31T23:59:59.000Z",
  "usageBasedAutolockDurationDays": 12345,
  "accessPolicy": AccessPolicy,
  "approvalMode": "MANUAL"
}

Types

AccessFilterInput

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

Types

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.
accessPolicy - AccessPolicyInput The access policy configured on the edge. If unspecified, the access edge's existing access policy remains unchanged. If null, the access edge's existing access policy is removed. This value should be null when the principal is a Service Account.
approvalMode - AccessApprovalMode The approval mode configured on the edge. If unspecified or null, the access edge's existing approval mode remains unchanged. This value should be null when the principal is a Service Account.
Example
{
  "principalId": "abc123xyz789",
  "securityPolicyId": "abc123xyz789",
  "expiresAt": "2024-12-31T23:59:59.000Z",
  "accessPolicy": AccessPolicyInput,
  "approvalMode": "MANUAL"
}

Types

AccessMode

Values
Enum Value Description
MANUAL
AUTO_LOCK
ACCESS_REQUEST
Example
"MANUAL"

Types

AccessPolicy

Fields
Field Name Description
mode - AccessMode! The access mode configured on the Resource.
durationSeconds - Int The access duration configured on the Resource (in seconds).
Example
{"mode": "MANUAL", "durationSeconds": 12345}

Types

AccessPolicyInput

Fields
Input Field Description
mode - AccessMode! The mode for the access policy.
durationSeconds - Int The duration for the access policy (in seconds).
Example
{"mode": "MANUAL", "durationSeconds": 12345}

Types

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.
status - AccessRequestStatus! The status of the Access Request.
Example
{
  "reason": "example",
  "requestedAt": "2024-01-01T00:00:00.000Z",
  "id": "YWJjMTIzeHl6Nzg5",
  "user": User,
  "resource": Resource,
  "status": "PENDING"
}

Types

AccessRequestApproveMutation

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

Types

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": 10
}

Types

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": "example"}

Types

AccessRequestFilterInput

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

Types

AccessRequestRejectMutation

Fields
Example
{"ok": true, "error": "example"}

Types

AccessRequestStatus

Values
Enum Value Description
PENDING
APPROVED
REJECTED
Example
"PENDING"

Types

AccessRequestStatusFilterOperatorInput

Description

Filter input object for a AccessRequestStatus 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 - [AccessRequestStatus!]
Example
{"in": ["PENDING"]}

Types

AddressType

Values
Enum Value Description
IP
DNS
Example
"IP"

Types

BasePostureCheck

Fields
Field Name Description
isSatisfied - PostureStatus! Whether the device satisfies this posture check.
Possible Types
BasePostureCheck Types
DevicePropertyPostureCheck
OsVersionPostureCheck
Example
{"isSatisfied": "YES"}

Types

BaseVerification

Fields
Field Name Description
isVerified - Boolean! Whether the device is verified by this trust provider.
Possible Types
BaseVerification Types
TrustProviderVerification
ManualVerification
Example
{"isVerified": true}

Types

Boolean

Description

The Boolean scalar type represents true or false.

Example
true

Types

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": true}

Types

CertificateAuthority

Types
Union Types
X509CertificateAuthority
SSHCertificateAuthority
Example
X509CertificateAuthority

Types

CertificateAuthorityConnection

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

Types

CertificateAuthorityEdge

Description

A Relay edge containing a CertificateAuthority and its cursor.

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

Types

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": "2024-01-01T00:00:00.000Z",
  "updatedAt": "2024-01-15T00:00:00.000Z",
  "lastHeartbeatAt": "2024-01-01T00:00:00.000Z",
  "hostname": "server.example.com",
  "id": "YWJjMTIzeHl6Nzg5",
  "name": "Example Name",
  "remoteNetwork": RemoteNetwork,
  "state": "ALIVE",
  "hasStatusNotificationsEnabled": true,
  "version": "1.0.0",
  "publicIP": "192.168.1.1",
  "privateIPs": ["192.168.1.1"]
}

Types

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": 10
}

Types

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": true, "error": "example", "entity": Connector}

Types

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": "example"}

Types

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": "example"}

Types

ConnectorFilterInput

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

Types

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": "example",
  "connectorTokens": ConnectorTokens
}

Types

ConnectorState

Values
Enum Value Description
ALIVE
DEAD_NO_HEARTBEAT
DEAD_HEARTBEAT_TOO_OLD
DEAD_NO_RELAYS
Example
"ALIVE"

Types

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"]}

Types

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": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",
  "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
}

Types

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": "example", "entity": Connector}

Types

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": true,
  "blockDating": true,
  "blockAdultContent": true,
  "blockSocialMedia": true,
  "blockGames": true,
  "blockStreaming": true,
  "blockPiracy": true,
  "enableYoutubeRestrictedMode": true,
  "enableSafeSearch": true
}

Types

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

Types

DateTime

Description

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

Example
"2024-01-01T00:00:00.000Z"

Types

Device

Fields
Field Name Description
id - ID! The ID of the object
name - String
lastFailedLoginAt - 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.
lastSuccessfulLoginAt - DateTime Timestamp of the most recent successful Network Sign In from a client device. Updated only on sign-in from a fully logged-out state; resource policy authentication events do not affect this value.
isTrusted - Boolean!
clientVersion - String
manufacturerName - String
internetSecurityConfiguration - String! The Device's internet security configuration.
Example
{
  "id": "YWJjMTIzeHl6Nzg5",
  "name": "Example Name",
  "lastFailedLoginAt": "2024-01-01T00:00:00.000Z",
  "osVersion": "1.0.0",
  "hardwareModel": "example",
  "hostname": "server.example.com",
  "username": "johndoe",
  "serialNumber": "example",
  "user": User,
  "lastConnectedAt": "2024-01-01T00:00:00.000Z",
  "osName": "IPADOS",
  "deviceType": "GENERIC",
  "activeState": "ACTIVE",
  "lastSuccessfulLoginAt": "2024-01-01T00:00:00.000Z",
  "isTrusted": true,
  "clientVersion": "1.0.0",
  "manufacturerName": "example",
  "internetSecurityConfiguration": "example"
}

Types

DeviceActiveState

Description

The Device's active state.

Values
Enum Value Description
ACTIVE
ARCHIVED
BLOCKED
Example
"ACTIVE"

Types

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"]}

Types

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": "example", "entity": Device}

Types

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": "example", "entity": Device}

Types

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": 10
}

Types

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": "example"}

Types

DeviceFilterInput

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

Types

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"

Types

DevicePosture

Fields
Field Name Description
hardDriveEncryption - DevicePropertyPostureCheck Hard drive encryption posture check.
screenLockPasscode - DevicePropertyPostureCheck Screen lock passcode posture check.
firewall - DevicePropertyPostureCheck Firewall posture check.
biometric - DevicePropertyPostureCheck Biometric posture check.
antivirus - DevicePropertyPostureCheck Antivirus posture check.
osVersion - OsVersionPostureCheck OS version posture check.
crowdstrike - TrustProviderVerification CrowdStrike integration verification. Null if the platform doesn't support this verification method or if the integration isn't configured.
jamf - TrustProviderVerification Jamf integration verification. Null if the platform doesn't support this verification method or if the integration isn't configured.
kandji - TrustProviderVerification Kandji integration verification. Null if the platform doesn't support this verification method or if the integration isn't configured. Kandji is now Iru, please use iru instead.
iru - TrustProviderVerification Iru (previously Kandji) integration verification. Null if the platform doesn't support this verification method or if the integration isn't configured.
inTune - TrustProviderVerification Intune integration verification. Null if the platform doesn't support this verification method or if the integration isn't configured.
sentinelOne - TrustProviderVerification SentinelOne integration verification. Null if the platform doesn't support this verification method or if the integration isn't configured.
onePassword - TrustProviderVerification 1Password integration verification. Null if the platform doesn't support this verification method or if the integration isn't configured.
manualVerification - ManualVerification Manual verification status of the device. Null if the device isn't verified manually.
Example
{
  "hardDriveEncryption": DevicePropertyPostureCheck,
  "screenLockPasscode": DevicePropertyPostureCheck,
  "firewall": DevicePropertyPostureCheck,
  "biometric": DevicePropertyPostureCheck,
  "antivirus": DevicePropertyPostureCheck,
  "osVersion": OsVersionPostureCheck,
  "crowdstrike": TrustProviderVerification,
  "jamf": TrustProviderVerification,
  "kandji": TrustProviderVerification,
  "iru": TrustProviderVerification,
  "inTune": TrustProviderVerification,
  "sentinelOne": TrustProviderVerification,
  "onePassword": TrustProviderVerification,
  "manualVerification": ManualVerification
}

Types

DevicePropertyPostureCheck

Fields
Field Name Description
isSatisfied - PostureStatus! Whether the device satisfies this posture check.
detected - Boolean Whether this property was detected as enabled on the device.
Example
{"isSatisfied": "YES", "detected": true}

Types

DeviceType

Description

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

Values
Enum Value Description
GENERIC
DESKTOP
LAPTOP
TABLET
MOBILE
Example
"GENERIC"

Types

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": true, "error": "example", "entity": Device}

Types

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": true, "error": "example", "entity": Device}

Types

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": "example", "entity": Device}

Types

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": "Example Name",
  "id": "YWJjMTIzeHl6Nzg5",
  "priority": 123.45,
  "fallbackMethod": "AUTO",
  "groups": GroupConnection,
  "allowedDomains": ["example.com"],
  "deniedDomains": ["example.com"],
  "contentCategoryConfig": ContentCategoryConfig,
  "securityCategoryConfig": SecurityCategoryConfig,
  "privacyCategoryConfig": PrivacyCategoryConfig
}

Types

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": true,
  "error": "example",
  "entity": DnsFilteringProfile
}

Types

DnsFilteringProfileDeleteMutation

Fields
Example
{"ok": true, "error": "example"}

Types

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": "Example Name", "id": "YWJjMTIzeHl6Nzg5", "priority": 123.45}

Types

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": true,
  "error": "example",
  "entity": DnsFilteringProfile
}

Types

DohFallbackMethod

Values
Enum Value Description
AUTO
STRICT
Example
"AUTO"

Types

Float

Description

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

Example
123.45

Types

Gateway

Fields
Field Name Description
address - String!
id - ID! The ID of the object
remoteNetwork - RemoteNetwork! The Remote Network this Gateway belongs to.
x509CA - X509CertificateAuthority! The X509 Certificate Authority for this Gateway.
sshCA - SSHCertificateAuthority The SSH Certificate Authority for this Gateway.
Example
{
  "address": "192.168.1.100",
  "id": "YWJjMTIzeHl6Nzg5",
  "remoteNetwork": RemoteNetwork,
  "x509CA": X509CertificateAuthority,
  "sshCA": SSHCertificateAuthority
}

Types

GatewayConnection

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

Types

GatewayCreateMutation

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

Types

GatewayDeleteMutation

Fields
Example
{"ok": true, "error": "example"}

Types

GatewayEdge

Description

A Relay edge containing a Gateway and its cursor.

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

Types

GatewayUpdateMutation

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

Types

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
###### filter - ResourceFilterInput
securityPolicy - SecurityPolicy! The Security Policy assigned to the Group.
Example
{
  "id": "YWJjMTIzeHl6Nzg5",
  "createdAt": "2024-01-01T00:00:00.000Z",
  "updatedAt": "2024-01-15T00:00:00.000Z",
  "name": "Example Name",
  "originId": "example",
  "isActive": true,
  "type": "MANUAL",
  "users": UserConnection,
  "resources": ResourceConnection,
  "securityPolicy": SecurityPolicy
}

Types

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": 10
}

Types

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": true, "error": "example", "entity": Group}

Types

GroupDeleteMutation

Fields
Example
{"ok": true, "error": "example"}

Types

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": "example"}

Types

GroupFilterInput

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

Types

GroupType

Values
Enum Value Description
MANUAL
SYNCED
SYSTEM
Example
"MANUAL"

Types

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"]}

Types

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": "example", "entity": Group}

Types

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

Types

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
12345

Types

KeyValueInputObject

Fields
Input Field Description
key - String! The key
value - String! The value
Example
{"key": "sk_test_1234567890abcdef", "value": "example"}

Types

KeyValuePair

Fields
Field Name Description
key - String!
value - String!
Example
{"key": "sk_test_1234567890abcdef", "value": "example"}

Types

KubernetesDownstreamInput

Fields
Input Field Description
port - Int! The downstream port. The value must be between 1 and 65535 inclusive.
Example
{"port": 443}

Types

KubernetesResource

Fields
Field Name Description
id - ID!
createdAt - DateTime!
updatedAt - DateTime!
name - String!
tags - [Tag!]! Tags associated with this entity
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
###### filter - ServiceAccountFilterInput
access - AccessConnection! Which principals have access to this Resource.
##### Arguments
###### filter - AccessFilterInput
###### 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). Use accessPolicy instead.
accessPolicy - AccessPolicy! The access policy configured on the Resource.
approvalMode - AccessApprovalMode! The approval mode configured on the Resource.
approverGroups - GroupConnection! List of groups that can approve access requests for this resource.
##### Arguments
###### before - String
###### after - String
###### first - Int
###### last - Int
###### filter - GroupFilterInput
proxyAddress - String! The proxy address of the Kubernetes Resource. Use gateway.address instead.
certificateAuthorityCert - String! The certificate authority certificate of the Kubernetes Resource. Use gateway.x509_ca.certificate instead.
gateway - Gateway! Which Gateway this Resource belongs to.
clusterRef - String The cluster configuration name to reference. When null, the Gateway uses in-cluster credentials.
downstream - KubernetesResourceDownstream! The downstream configuration.
upstream - KubernetesResourceUpstream! The upstream configuration.
Example
{
  "id": "YWJjMTIzeHl6Nzg5",
  "createdAt": "2024-01-01T00:00:00.000Z",
  "updatedAt": "2024-01-15T00:00:00.000Z",
  "name": "Example Name",
  "tags": [Tag],
  "address": ResourceAddress,
  "alias": "example",
  "protocols": ResourceProtocols,
  "isActive": true,
  "remoteNetwork": RemoteNetwork,
  "groups": GroupConnection,
  "serviceAccounts": ServiceAccountConnection,
  "access": AccessConnection,
  "isVisible": true,
  "isBrowserShortcutEnabled": true,
  "securityPolicy": SecurityPolicy,
  "usageBasedAutolockDurationDays": 12345,
  "accessPolicy": AccessPolicy,
  "approvalMode": "MANUAL",
  "approverGroups": GroupConnection,
  "proxyAddress": "192.168.1.100",
  "certificateAuthorityCert": "example",
  "gateway": Gateway,
  "clusterRef": "example",
  "downstream": KubernetesResourceDownstream,
  "upstream": KubernetesResourceUpstream
}

Types

KubernetesResourceCreateMutation

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

Types

KubernetesResourceDownstream

Fields
Field Name Description
port - Int! The downstream port.
Example
{"port": 443}

Types

KubernetesResourceUpdateMutation

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

Types

KubernetesResourceUpstream

Fields
Field Name Description
port - Int! The upstream port.
Example
{"port": 443}

Types

KubernetesUpstreamInput

Fields
Input Field Description
port - Int! The upstream port. The value must be between 1 and 65535 inclusive.
Example
{"port": 443}

Types

ManualVerification

Fields
Field Name Description
isVerified - Boolean! Whether the device is verified by this trust provider.
value - ManualVerificationValue The type of manual verification. Has a value if the device is manually verified.
Example
{"isVerified": true, "value": "SERIAL_NUMBER_VERIFIED"}

Types

ManualVerificationValue

Values
Enum Value Description
SERIAL_NUMBER_VERIFIED The device's serial number has been manually verified.
DEVICE_INSTANCE_VERIFIED The device instance has been manually verified.
Example
"SERIAL_NUMBER_VERIFIED"

Types

NetworkResource

Fields
Example

Types

Node

Description

An object with an ID

Fields
Field Name Description
id - ID! The ID of the object
Possible Types
Node Types
NetworkResource
RemoteNetwork
Connector
Gateway
X509CertificateAuthority
SSHCertificateAuthority
Group
User
Device
SecurityPolicy
ServiceAccount
ServiceAccountKey
KubernetesResource
SSHResource
WebAppResource
AccessRequest
SerialNumber
Example
{"id": "YWJjMTIzeHl6Nzg5"}

Types

OsVersionPostureCheck

Fields
Field Name Description
isSatisfied - PostureStatus! Whether the device satisfies this posture check.
version - String The OS version reported by the device.
Example
{"isSatisfied": "YES", "version": "1.0.0"}

Types

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": true,
  "hasPreviousPage": true,
  "startCursor": "example",
  "endCursor": "example"
}

Types

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": 12345, "end": 12345}

Types

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": 12345, "end": 12345}

Types

PostureStatus

Values
Enum Value Description
YES
NO
NOT_REQUIRED
Example
"YES"

Types

Principal

Types
Union Types
Group
ServiceAccount
Example
Group

Types

PrincipalType

Values
Enum Value Description
GROUP
SERVICE_ACCOUNT
Example
"GROUP"

Types

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"]}

Types

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": true,
  "blockDisguisedTrackers": true,
  "blockAdsAndTrackers": true
}

Types

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
}

Types

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]}

Types

ProtocolPolicy

Values
Enum Value Description
ALLOW_ALL
RESTRICTED
Example
"ALLOW_ALL"

Types

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": true,
  "tcp": ProtocolInput,
  "udp": ProtocolInput
}

Types

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
###### filter - ResourceFilterInput
connectors - ConnectorConnection! Which Connectors are part of this Remote Network.
##### Arguments
###### before - String
###### after - String
###### first - Int
###### last - Int
###### filter - ConnectorFilterInput
gateways - GatewayConnection! Which Gateways are part of this Remote Network.
##### Arguments
###### before - String
###### after - String
###### first - Int
###### last - Int
Example
{
  "createdAt": "2024-01-01T00:00:00.000Z",
  "updatedAt": "2024-01-15T00:00:00.000Z",
  "name": "Example Name",
  "id": "YWJjMTIzeHl6Nzg5",
  "networkType": "REGULAR",
  "location": "AWS",
  "isActive": true,
  "resources": ResourceConnection,
  "connectors": ConnectorConnection,
  "gateways": GatewayConnection
}

Types

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": 10
}

Types

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": true, "error": "example", "entity": RemoteNetwork}

Types

RemoteNetworkDeleteMutation

Fields
Example
{"ok": true, "error": "example"}

Types

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": "example"}

Types

RemoteNetworkFilterInput

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

Types

RemoteNetworkIdFilterOperationInput

Description

Filter input object for a RemoteNetwork 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!]
eq - ID
Example
{"in": ["abc123xyz789"], "eq": "abc123xyz789"}

Types

RemoteNetworkLocation

Values
Enum Value Description
AWS
AZURE
GOOGLE_CLOUD
ON_PREMISE
OTHER
Example
"AWS"

Types

RemoteNetworkType

Values
Enum Value Description
REGULAR
EXIT
Example
"REGULAR"

Types

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"]}

Types

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": true, "error": "example", "entity": RemoteNetwork}

Types

Resource

Fields
Possible Types
Resource Types
NetworkResource
KubernetesResource
SSHResource
WebAppResource
Example

Types

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": "example", "entity": Resource}

Types

ResourceAccessRemoveMutation

Fields
Example
{"ok": true, "error": "example", "entity": Resource}

Types

ResourceAccessSetMutation

Fields
Example
{"ok": true, "error": "example", "entity": Resource}

Types

ResourceAddress

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

Types

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": 10
}

Types

ResourceCreateMutation

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

Types

ResourceDeleteMutation

Fields
Example
{"ok": true, "error": "example"}

Types

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": "example"}

Types

ResourceFilterInput

Fields
Input Field Description
name - StringFilterOperatorInput
remoteNetworkId - RemoteNetworkIdFilterOperationInput
tags - TagsFilterOperatorInput
Example
{
  "name": StringFilterOperatorInput,
  "remoteNetworkId": RemoteNetworkIdFilterOperationInput,
  "tags": TagsFilterOperatorInput
}

Types

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": ["abc123xyz789"]}

Types

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]}

Types

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": true,
  "tcp": ResourceProtocol,
  "udp": ResourceProtocol
}

Types

ResourceUpdateMutation

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

Types

RoutingMode

Values
Enum Value Description
THROUGH_TWINGATE
BYPASS_TWINGATE
Example
"THROUGH_TWINGATE"

Types

SSHCertificateAuthority

Fields
Field Name Description
id - ID! The ID of the object
name - String! The fingerprint of the SSH Certificate Authority public key.
fingerprint - String! The fingerprint of the SSH Certificate Authority public key.
Example
{"id": "YWJjMTIzeHl6Nzg5", "name": "Example Name", "fingerprint": "example"}

Types

SSHCertificateAuthorityCreateMutation

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

Types

SSHCertificateAuthorityDeleteMutation

Fields
Example
{"ok": true, "error": "example"}

Types

SSHDownstreamInput

Fields
Example
{"port": 443}

Types

SSHResource

Fields
Example

Types

SSHResourceCreateMutation

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

Types

SSHResourceDownstream

Fields
Field Name Description
port - Int! The downstream port.
Example
{"port": 443}

Types

SSHResourceUpdateMutation

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

Types

SSHResourceUpstream

Fields
Field Name Description
port - Int! The upstream port.
Example
{"port": 443}

Types

SSHUpstreamInput

Fields
Example
{"port": 443}

Types

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": true,
  "blockIdnHomographs": true,
  "blockTyposquatting": true,
  "blockDnsRebinding": true,
  "blockNewlyRegisteredDomains": true,
  "blockDomainGenerationAlgorithms": true,
  "blockParkedDomains": true
}

Types

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

Types

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": "YWJjMTIzeHl6Nzg5",
  "createdAt": "2024-01-01T00:00:00.000Z",
  "updatedAt": "2024-01-15T00:00:00.000Z",
  "name": "Example Name",
  "policyType": "RESOURCE",
  "groups": GroupConnection
}

Types

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": 10
}

Types

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": "example"}

Types

SecurityPolicyFilterField

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

Types

SecurityPolicyType

Values
Enum Value Description
RESOURCE
DEFAULT_RESOURCE
Example
"RESOURCE"

Types

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"]}

Types

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": true, "error": "example", "entity": SecurityPolicy}

Types

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": "2024-01-01T00:00:00.000Z",
  "serialNumber": "example",
  "id": "YWJjMTIzeHl6Nzg5",
  "matchedDevices": [Device]
}

Types

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": 10
}

Types

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": "example"}

Types

SerialNumberFilterInput

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

Types

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": true,
  "error": "example",
  "entities": [SerialNumber]
}

Types

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": "example"}

Types

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
###### filter - ResourceFilterInput
keys - ServiceAccountKeyConnection! List of Service Keys that belong to this Service Account.
##### Arguments
###### before - String
###### after - String
###### first - Int
###### last - Int
Example
{
  "id": "YWJjMTIzeHl6Nzg5",
  "name": "Example Name",
  "createdAt": "2024-01-01T00:00:00.000Z",
  "updatedAt": "2024-01-15T00:00:00.000Z",
  "resources": ResourceConnection,
  "keys": ServiceAccountKeyConnection
}

Types

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": 10
}

Types

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": "example", "entity": ServiceAccount}

Types

ServiceAccountDeleteMutation

Fields
Example
{"ok": true, "error": "example"}

Types

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": "example"}

Types

ServiceAccountFilterInput

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

Types

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": "2024-01-01T00:00:00.000Z",
  "id": "YWJjMTIzeHl6Nzg5",
  "name": "Example Name",
  "expiresAt": "2024-12-31T23:59:59.000Z",
  "revokedAt": "2024-01-01T00:00:00.000Z",
  "updatedAt": "2024-01-15T00:00:00.000Z",
  "status": "ACTIVE",
  "serviceAccount": ServiceAccount
}

Types

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": 10
}

Types

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": "example",
  "entity": ServiceAccountKey,
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
}

Types

ServiceAccountKeyDeleteMutation

Fields
Example
{"ok": true, "error": "example"}

Types

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": "example"}

Types

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": "example",
  "entity": ServiceAccountKey
}

Types

ServiceAccountKeyStatus

Values
Enum Value Description
ACTIVE
REVOKED
EXPIRED
Example
"ACTIVE"

Types

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": "example",
  "entity": ServiceAccountKey
}

Types

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": "example", "entity": ServiceAccount}

Types

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

Types

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
ieq - String Case-insensitive version of eq.
ne - String
startsWith - String
endsWith - String
regexp - String
contains - String
in - [String!]
Example
{
  "eq": "example",
  "ieq": "example",
  "ne": "example",
  "startsWith": "example",
  "endsWith": "example",
  "regexp": "example",
  "contains": "example",
  "in": ["example"]
}

Types

Tag

Fields
Field Name Description
value - String!
key - String!
Example
{"value": "example", "key": "sk_test_1234567890abcdef"}

Types

TagInput

Fields
Input Field Description
key - String!
value - String!
Example
{"key": "sk_test_1234567890abcdef", "value": "example"}

Types

TagKeyValueFilterInput

Fields
Input Field Description
key - String
value - TagValueFilterInput
Example
{
  "key": "sk_test_1234567890abcdef",
  "value": TagValueFilterInput
}

Types

TagValueFilterInput

Fields
Input Field Description
in - [String!]
notIn - [String!]
eq - String
Example
{"in": ["example"], "notIn": ["example"], "eq": "example"}

Types

Taggable

Fields
Field Name Description
tags - [Tag!]! Tags associated with this entity
Possible Types
Taggable Types
NetworkResource
KubernetesResource
SSHResource
WebAppResource
Example
{"tags": [Tag]}

Types

TagsFilterOperatorInput

Fields
Input Field Description
and - [TagKeyValueFilterInput!]
Example
{"and": [TagKeyValueFilterInput]}

Types

TrustProviderVerification

Fields
Field Name Description
isVerified - Boolean! Whether the device is verified by this trust provider.
failureReason - TrustProviderVerificationFailureReason The reason for verification failure. Null if the device is verified.
expiredAt - DateTime When the verification data expired. Only has a value when failureReason is VERIFICATION_EXPIRED.
failureDetails - String Additional details about the verification failure. Sometimes has a value when failureReason is VERIFICATION_FAILED.
Example
{
  "isVerified": true,
  "failureReason": "VERIFICATION_FAILED",
  "expiredAt": "2024-12-31T23:59:59.000Z",
  "failureDetails": "example"
}

Types

TrustProviderVerificationFailureReason

Values
Enum Value Description
VERIFICATION_FAILED
VERIFICATION_EXPIRED
NO_SERIAL_NUMBER
NOT_DETECTED
MISSING_DATA
Example
"VERIFICATION_FAILED"

Types

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
devices - DeviceConnection! Devices belonging to this User.
##### Arguments
###### before - String
###### after - String
###### first - Int
###### last - Int
###### filter - DeviceFilterInput
Example
{
  "id": "YWJjMTIzeHl6Nzg5",
  "createdAt": "2024-01-01T00:00:00.000Z",
  "updatedAt": "2024-01-15T00:00:00.000Z",
  "firstName": "John",
  "lastName": "Doe",
  "email": "user@example.com",
  "avatarUrl": "example",
  "state": "PENDING",
  "isAdmin": false,
  "role": "ADMIN",
  "type": "MANUAL",
  "groups": GroupConnection,
  "devices": DeviceConnection
}

Types

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": 10
}

Types

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": true, "error": "example", "entity": User}

Types

UserDeleteMutation

Fields
Example
{"ok": true, "error": "example"}

Types

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": "example", "entity": User}

Types

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": "example"}

Types

UserFilterInput

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

Types

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": ["abc123xyz789"]}

Types

UserResetMFAMutation

Fields
Example
{"ok": true, "error": "example", "entity": User}

Types

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
HELPDESK Read-only Admin Console access with MFA reset and device verification
SUPPORT Read-only access to the Admin Console
ACCESS_REVIEWER Access to Resource requests only
BILLING Access to Billing functions only
MEMBER No access to the Admin Console
Example
"ADMIN"

Types

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"]}

Types

UserRoleUpdateMutation

Fields
Example
{"ok": true, "error": "example", "entity": User}

Types

UserState

Values
Enum Value Description
PENDING
ACTIVE
DISABLED
Example
"PENDING"

Types

UserStateUpdateInput

Values
Enum Value Description
ACTIVE
DISABLED
Example
"ACTIVE"

Types

UserType

Values
Enum Value Description
MANUAL Users manually invited to Twingate through email
SYNCED Users synced to Twingate through an IdP
Example
"MANUAL"

Types

WebAppDownstreamInput

Fields
Example
{"port": 443}

Types

WebAppResource

Fields
Example

Types

WebAppResourceCreateMutation

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

Types

WebAppResourceDownstream

Fields
Field Name Description
port - Int! The downstream port.
Example
{"port": 443}

Types

WebAppResourceUpdateMutation

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

Types

WebAppResourceUpstream

Fields
Field Name Description
port - Int! The upstream port.
Example
{"port": 443}

Types

WebAppUpstreamInput

Fields
Example
{"port": 443}

Types

X509CertificateAuthority

Fields
Field Name Description
id - ID! The ID of the object
name - String! The name of the X509 Certificate Authority.
fingerprint - String! The fingerprint of the X.509 Certificate Authority.
Example
{"id": "YWJjMTIzeHl6Nzg5", "name": "Example Name", "fingerprint": "example"}

Types

X509CertificateAuthorityCreateMutation

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

Types

X509CertificateAuthorityDeleteMutation

Fields
Example
{"ok": true, "error": "example"}

Documentation by Anvil SpectaQL