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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Example
{"isSatisfied": "YES"}
Types
BaseVerification
Fields
| Field Name |
Description |
isVerified - Boolean! |
Whether the device is verified by this trust provider. |
Possible Types
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Example
{"name": StringFilterOperatorInput}
Types
ServiceAccountKey
Fields
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
Example
{
"eq": "example",
"ieq": "example",
"ne": "example",
"startsWith": "example",
"endsWith": "example",
"regexp": "example",
"contains": "example",
"in": ["example"]
}
Types
Tag
Fields
Example
{"value": "example", "key": "sk_test_1234567890abcdef"}
Types
TagInput
Fields
Example
{"key": "sk_test_1234567890abcdef", "value": "example"}
Types
TagKeyValueFilterInput
Fields
Example
{
"key": "sk_test_1234567890abcdef",
"value": TagValueFilterInput
}
Types
TagValueFilterInput
Fields
Example
{"in": ["example"], "notIn": ["example"], "eq": "example"}
Types
Taggable
Fields
| Field Name |
Description |
tags - [Tag!]! |
Tags associated with this entity |
Possible Types
Example
{"tags": [Tag]}
Types
TagsFilterOperatorInput
Fields
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
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
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
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