Cato Networks GraphQL API Reference

Terms of Service

API Endpoints and Schema

GraphQL Introspection Query

Use the GraphQL Introspection system to learn more about queries and types with the Cato API schema.

For more information, see the GraphQL Documentation.

API Labeling

EA: These APIs are part of Cato's EA program, if you’re interested in joining, please contact us at ea@catonetworks.com

Rollout: We are gradually rolling out these APIs, and they will be available to all accounts after a few weeks.

Beta: These APIs are fully operational but may undergo schema changes, including potential breaking changes, with limited advance notice—possibly as short as two weeks.

Queries

accountBySubdomain

Required Permissions

This API requires access to the following permissions:

Accounts

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns [AccountDataPayload!]

Arguments
Name Description
accountID - ID!
subdomains - [String!]! a list of required subdomains

Example

Query
query accountBySubdomain($accountID:ID!, $subdomains:[String!]!) {
  accountBySubdomain(accountID:$accountID, subdomains:$subdomains) {
    id
    subdomain
  }
}
Variables
{"accountID": "123", "subdomains": ["company"]}
Response
{"data": {"accountBySubdomain": [{"id": "123", "subdomain": "company"}]}}

accountMetrics

Description

The accountMetrics query helps you analyze the state and quality of the connections of sites and SDP users to the Cato Cloud. This data is for the traffic inside the DTLS tunnel between the site and the Cato Cloud. accountMetrics shows historical metrics, statics, and analytics for the account.

Required Permissions

This API requires access to at least one of the following permissions:

Sites Overview SDP Users Overview Users & User Groups Sites

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AccountMetrics

Arguments
Name Description
accountID - ID Unique Identifier of Account.
timeFrame - TimeFrame! The time frame for the data that the query returns. The argument is in the format type.time value. This argument is mandatory.
groupInterfaces - Boolean When the boolean argument groupInterfaces is set to true, then the data for all the interfaces are aggregated to a single interface.
groupDevices - Boolean

When the boolean argument groupDevices is set to true, then the analytics for all the Sockets (usually two in high availability) are aggregated as one result.

For the best results for aggregated Sockets, we recommend that there is consistent names and functionality (for example Destination) for the links on both Sockets.

Example

Query
query accountMetrics(
  $accountID:ID!,
  $timeFrame:TimeFrame!,
  $groupInterfaces: Boolean,
  $groupDevices: Boolean,
  $siteIDs: [ID!]
) {
  accountMetrics(
    accountID:$accountID,
    timeFrame: $timeFrame,
    groupInterfaces: $groupInterfaces,
    groupDevices: $groupDevices
  ) {
    id
    from
    to
    sites(siteIDs:$siteIDs) {
      id
      metrics {
        bytesUpstream
        bytesDownstream
      }
      interfaces {
        name
        metrics {
          bytesUpstream
          bytesDownstream
        }
      }
    }
  }
}
Variables
{
  "accountID": "123",
  "timeFrame": "utc.2023-02-{28/00:00:00--28/23:59:59}",
  "groupInterfaces": false,
  "groupDevices": true,
  "siteIDs": ["456", "789"]
}
Response
{
  "data": {
    "accountMetrics": {
      "id": "123",
      "from": "2023-02-28T00:00:00Z",
      "to": "2023-02-28T23:59:59Z",
      "sites": [
        {
          "id": "456",
          "metrics": {"bytesUpstream": 122324400, "bytesDownstream": 8354720},
          "interfaces": [
            {
              "name": "WAN 01",
              "metrics": {
                "bytesUpstream": 122324400,
                "bytesDownstream": 8354720
              }
            }
          ]
        },
        {
          "id": "789",
          "metrics": {"bytesUpstream": 100254955, "bytesDownstream": 3907080},
          "interfaces": [
            {
              "name": "WAN 01",
              "metrics": {
                "bytesUpstream": 100254955,
                "bytesDownstream": 3907080
              }
            }
          ]
        }
      ]
    }
  }
}

accountRoles

Required Permissions

This API requires access to the following permissions:

Authentication

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AccountRolesResult!

Arguments
Name Description
accountID - ID!
accountType - AccountType

Example

Query
query accountRoles($accountID:ID!){
  accountRoles(accountID: $accountID) {
    items {
      name
      isPredefined
    }
    total
  }
}
Variables
{"accountID": "123"}
Response
{
  "data": {
    "accountRoles": {
      "items": [
        {"name": "Editor", "isPredefined": true},
        {"name": "Viewer", "isPredefined": true},
        {"name": "Network admin", "isPredefined": true},
        {"name": "Security Admin", "isPredefined": true},
        {"name": "Access Admin", "isPredefined": true}
      ],
      "total": 5
    }
  }
}

accountSnapshot

Description

Current snapshot-based metrics that show near real‑time data for the account. Provides analytics that are similar to the Topology page for the account.

Required Permissions

This API requires access to at least one of the following permissions:

Sites Overview SDP Users Overview Users & User Groups Sites Topology Network Dashboard Partner Dashboard

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AccountSnapshot

Arguments
Name Description
accountID - ID Unique Identifier of Account.

Example

Query
query accountSnapshot($accountID:ID!) {
  accountSnapshot(accountID:$accountID) {
    sites {
      connectivityStatus
      haStatus{
        readiness
        wanConnectivity
        keepalive
        socketVersion
      }
      operationalStatus
      lastConnected
      connectedSince
      devices {
        connected
        version
      }
    }
    users {
      connectivityStatus
      connectedInOffice
      name
      deviceName
    }
    timestamp
  }
}
Variables
{"accountID": "123"}
Response
{
  "data": {
    "accountSnapshot": {
      "sites": [
        {
          "connectivityStatus": "connected",
          "haStatus": {
            "readiness": "ready",
            "wanConnectivity": "ok",
            "keepalive": "ok",
            "socketVersion": "ok"
          },
          "operationalStatus": "active",
          "lastConnected": "2023-02-28T13:21:05Z",
          "connectedSince": "2023-02-27T15:10:06Z",
          "devices": [
            {"connected": true, "version": "17.0.16303"},
            {"connected": true, "version": "17.0.16303"}
          ]
        },
        {
          "connectivityStatus": "disconnected",
          "haStatus": null,
          "operationalStatus": "active",
          "lastConnected": "2020-03-11T13:43:40Z",
          "connectedSince": null,
          "devices": [{"connected": false, "version": ""}]
        }
      ],
      "users": [
        {
          "connectivityStatus": "connected",
          "connectedInOffice": false,
          "name": "Employee Domywork",
          "deviceName": "Employee’s MacBook Pro"
        },
        {
          "connectivityStatus": "connected",
          "connectedInOffice": false,
          "name": "Alice Bobs",
          "deviceName": "Alice’s MacBook Pro"
        }
      ],
      "timestamp": "2023-02-28T13:22:21Z"
    }
  }
}

admin

Required Permissions

This API requires access to the following permissions:

Administrators

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a GetAdminPayload

Arguments
Name Description
accountId - ID!
adminID - ID!

Example

Query
query admin($accountId:ID!, $adminID:ID!) {
  admin(accountId:$accountId, adminID:$adminID) {
    id
    firstName
    lastName
    email
    creationDate
    mfaEnabled
    managedRoles {
      role {
        name
      }
    }
  }
}
Variables
{"accountId": "123", "adminID": "456"}
Response
{
  "data": {
    "admin": {
      "id": "456",
      "firstName": "Name",
      "lastName": "Surname",
      "email": "name.surname@company.org",
      "creationDate": "Dec 27, 2020 9:30:34 AM",
      "mfaEnabled": false,
      "managedRoles": [{"role": {"name": "Viewer"}}]
    }
  }
}

admins

Required Permissions

This API requires access to the following permissions:

Administrators

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AdminsResult

Arguments
Name Description
accountID - ID!
limit - Int
Default
50
from - Int
Default
0
search - String
Default
""
sort - [SortInput]
adminIDs - [ID!]

Example

Query
query admins($accountId:ID!, $limit: Int) {
  admins(accountID:$accountId, limit: $limit) {
    items {
      id
      email
      managedRoles {
        role {
          name
        }
      }
    }
    total
  }
}
Variables
{"accountId": "123", "limit": 2}
Response
{
  "data": {
    "admins": {
      "items": [
        {
          "id": "1",
          "email": "editor@company.org",
          "managedRoles": [{"role": {"name": "Editor"}}]
        },
        {
          "id": "2",
          "email": "viewer@company.org",
          "managedRoles": [{"role": {"name": "Viewer"}}]
        }
      ],
      "total": 3
    }
  }
}

appStats

Description

BETA

Required Permissions

This API requires access to at least one of the following permissions:

Application Analytics Experience Monitoring Partner Dashboard

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AppStats

Arguments
Name Description
accountID - ID! Account ID
timeFrame - TimeFrame!
measures - [Measure]
dimensions - [Dimension]
filters - [AppStatsFilter!]
postAggFilters - [AppStatsPostAggFilter!]
sort - [AppStatsSort!]
includeEmptyDimension - Boolean When true, rows with empty/null values for a grouped dimension (e.g., country, device type) are returned as an empty group rather than excluded. This ensures consistent totals in API queries and surfaces previously hidden data in CMA dashboards and reports. Defaults to false.

Example

Query
query appStats(
  $accountID:ID!, 
  $timeFrame:TimeFrame!,
  $measures: [Measure],
  $dimensions:[Dimension],
  $sort:[AppStatsSort!],
  $limit:Int,
  $from:Int,
) {
  appStats(
    accountID: $accountID,
    timeFrame: $timeFrame,
    measures: $measures,
    dimensions:$dimensions,
    sort:$sort,
  ) {
    from
    to
    records(limit:$limit, from:$from){
      fieldsMap
      fieldsUnitTypes
    }
  }
}
Variables
{
  "accountID": "123",
  "timeFrame": "utc.2023-02-{28/00:00:00--28/23:59:59}",
  "dimensions": [{"fieldName": "application_id"}],
  "sort": [{"fieldName": "traffic", "order": "desc"}],
  "measures": [
    {"fieldName": "traffic", "aggType": "sum"},
    {"fieldName": "application", "aggType": "any"}
  ],
  "limit": 5,
  "from": 0
}
Response
{
  "data": {
    "appStats": {
      "from": "2023-02-28T00:00:00Z",
      "to": "2023-03-01T00:00:00Z",
      "records": [
        {
          "fieldsMap": {
            "application_id": "zoom",
            "application": "Zoom",
            "traffic": "95138282696"
          },
          "fieldsUnitTypes": ["none", "none", "bytes"]
        },
        {
          "fieldsMap": {
            "application_id": "udp",
            "application": "UDP",
            "traffic": "45401221439"
          },
          "fieldsUnitTypes": ["none", "none", "bytes"]
        },
        {
          "fieldsMap": {
            "application_id": "Tech",
            "application": "Technological apps",
            "traffic": "13982474567"
          },
          "fieldsUnitTypes": ["none", "none", "bytes"]
        },
        {
          "fieldsMap": {
            "application_id": "AppleSoftwareupdate",
            "application": "Apple software update",
            "traffic": "11624258191"
          },
          "fieldsUnitTypes": ["none", "none", "bytes"]
        }
      ]
    }
  }
}

appStatsTimeSeries

Description

BETA

Required Permissions

This API requires access to at least one of the following permissions:

Application Analytics Sites Users & User Groups Cloud Apps Dashboard Experience Monitoring Partner Dashboard

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AppStatsTimeSeries

Arguments
Name Description
accountID - ID! Account ID
timeFrame - TimeFrame!
measures - [Measure]
dimensions - [Dimension]
filters - [AppStatsFilter!]
includeEmptyDimension - Boolean When true, rows with empty/null values for a grouped dimension (e.g., country, device type) are returned as an empty group rather than excluded. This ensures consistent totals in API queries and surfaces previously hidden data in CMA dashboards and reports. Defaults to false.

Example

Query
query appStatsTimeSeries(
  $accountID:ID!,
  $timeFrame:TimeFrame!,
  $measures: [Measure],
  $buckets:Int!
) {
  appStatsTimeSeries(
    accountID:$accountID,
    timeFrame:$timeFrame,
    measures: $measures
  ) {
    from
    to
    granularity
    timeseries(buckets:$buckets) {
      label
      data
      key {
        measureFieldName
      }
    }
  }
}
Variables
{
  "accountID": "123",
  "timeFrame": "utc.2023-02-{28/00:00:00--28/23:59:59}",
  "measures": [
    {"fieldName": "upstream", "aggType": "sum"},
    {"fieldName": "downstream", "aggType": "sum"}
  ],
  "buckets": 5
}
Response
{
  "data": {
    "appStatsTimeSeries": {
      "from": "2023-02-28T00:00:00Z",
      "to": "2023-03-01T00:00:00Z",
      "granularity": 14400,
      "timeseries": [
        {
          "label": "sum(upstream)",
          "data": [
            [1677542400000, 77192],
            [1677556800000, 742410],
            [1677571200000, 5335372],
            [1677585600000, 2239509],
            [1677600000000, 0],
            [1677614400000, 0]
          ],
          "key": {"measureFieldName": "upstream"}
        },
        {
          "label": "sum(downstream)",
          "data": [
            [1677542400000, 209763],
            [1677556800000, 1713925],
            [1677571200000, 7719290],
            [1677585600000, 2573650],
            [1677600000000, 0],
            [1677614400000, 0]
          ],
          "key": {"measureFieldName": "downstream"}
        }
      ]
    }
  }
}

auditFeed

Description

Audit Feed for account changes

Required Permissions

This API requires access to the following permissions:

Audit Trail

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AuditFeed

Arguments
Name Description
accountIDs - [ID!] List of Unique Account Identifiers.
timeFrame - TimeFrame!
filters - [AuditFieldFilterInput!]
marker - String Marker to use to get results from

Example

Query
query auditFeed($accountID:ID!, $timeFrame: TimeFrame!){
  auditFeed(accountIDs:[$accountID], timeFrame:$timeFrame) {
    from
    to
    fetchedCount
    accounts {
      id
      records{
        admin {
          name
        }
        object {
          name
        }
        time
        fields {
          name
          value {
            ... on Entity {
              name
              id
              type
            }
            ... on StringValue {
              string
            }
            ... on DateValue {
              date
            }
          }
        }
      }
    }
  }
}
Variables
{"accountID": "123", "timeFrame": "utc.2023-02-{28/00:00:00--28/23:59:59}"}
Response
{
  "data": {
    "auditFeed": {
      "from": "2023-02-28T00:00:00Z",
      "to": "2023-02-28T23:59:59Z",
      "fetchedCount": 1,
      "accounts": [
        {
          "id": "123",
          "records": [
            {
              "time": "2023-02-28T08:48:21Z",
              "fields": [
                {
                  "name": "admin",
                  "value": {
                    "name": "admin@company.org",
                    "id": "456",
                    "type": "admin",
                    "__typename": "Entity"
                  }
                },
                {
                  "name": "change.Before.description",
                  "value": {
                    "string": "Description before change",
                    "__typename": "StringValue"
                  }
                },
                {
                  "name": "change.After.description",
                  "value": {
                    "string": "Description after change",
                    "__typename": "StringValue"
                  }
                },
                {
                  "name": "model_name",
                  "value": {"string": "Site name", "__typename": "StringValue"}
                },
                {
                  "name": "module",
                  "value": {
                    "string": "Configuration",
                    "__typename": "StringValue"
                  }
                },
                {
                  "name": "change_type",
                  "value": {"string": "MODIFIED", "__typename": "StringValue"}
                },
                {
                  "name": "creation_date",
                  "value": {
                    "string": "1677574090000",
                    "__typename": "DateValue"
                  }
                },
                {
                  "name": "model_type",
                  "value": {"string": "Site", "__typename": "StringValue"}
                },
                {
                  "name": "admin_id",
                  "value": {"string": "456", "__typename": "StringValue"}
                },
                {
                  "name": "insertion_date",
                  "value": {
                    "date": "2023-02-28T08:48:21Z",
                    "__typename": "DateValue"
                  }
                },
                {
                  "name": "account_id",
                  "value": {"string": "123", "__typename": "StringValue"}
                }
              ]
            }
          ]
        }
      ]
    }
  }
}

entityLookup

Description

Lookup entities with a specific type, potentially filtered and paged

Required Permissions

This API requires access to the following permissions:

Public

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an EntityLookupResult!

Arguments
Name Description
accountID - ID! The account ID (or 0 for non-authenticated requests)
type - EntityType! Type of entity to lookup for
limit - Int Sets the maximum number of items to retrieve
Default
50
from - Int Sets the offset number of items (for paging)
Default
0
parent - EntityInput Return items under a parent entity (can be site, vpn user, etc), used to filter for networks that belong to a specific site for example
search - String Adds additional search parameters for the lookup. Available options: country lookup: "removeExcluded" to return only allowed countries countryState lookup: country code ("US", "CN", etc) to get country's states
Default
""
entityIDs - [ID!] Adds additional search criteria to fetch by the selected list of entity IDs. This option is not universally available, and may not be applicable specific Entity types. If used on non applicable entity type, an error will be generated.
sort - [SortInput] Adds additional sort criteria(s) for the lookup. This option is not universally available, and may not be applicable specific Entity types.
filters - [LookupFilterInput] Custom filters for entityLookup
helperFields - [String!] Additional helper fields

Example

Query
query entityLookup($accountID:ID!, $limit:Int, $type:EntityType!) {
  entityLookup(accountID: $accountID, type:$type, limit: $limit) {
    items {
      entity{
        id
        name
      }
    }
    total
  }
}
Variables
{"accountID": "123", "limit": 2, "type": "site"}
Response
{
  "data": {
    "entityLookup": {
      "items": [
        {"entity": {"id": "45040", "name": "azure_test"}},
        {"entity": {"id": "75791", "name": "esx_test"}}
      ],
      "total": 5
    }
  }
}

events

Required Permissions

This API requires access to at least one of the following permissions:

Administrators Events Sites Users & User Groups Threats Dashboard Data Protection Inline Dashboard MITRE ATT&CK Data Protection API Dashboard Partner Dashboard Data Inventory

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns an Events

Arguments
Name Description
accountID - ID! Account ID
timeFrame - TimeFrame!
measures - [EventsMeasure]
dimensions - [EventsDimension]
filters - [EventsFilter!]
postAggFilters - [EventsPostAggFilter!]
sort - [EventsSort!]
includeEmptyDimension - Boolean When true, rows with empty/null values for a grouped dimension (e.g., country, device type) are returned as an empty group rather than excluded. This ensures consistent totals in API queries and surfaces previously hidden data in CMA dashboards and reports. Defaults to false.

Example

Query
query events($accountID:ID!, $timeFrame:TimeFrame!, ) {
  events(accountID: $accountID, timeFrame:$timeFrame, measures: {fieldName: event_count, aggType: sum}) {
    records {
      flatFields
      fieldsMap
    }
  }
}
Variables
{"accountID": "123", "timeFrame": "utc.2023-02-{28/00:00:00--28/23:59:59}"}
Response
{
  "data": {
    "events": {
      "records": [
        {
          "flatFields": [["event_count", "2"]],
          "fieldsMap": {"event_count": "2"}
        }
      ]
    }
  }
}

eventsFeed

Description

Retrieve events from the account event queue. Use this query to fetch security, connectivity, system, routing, detection, and socket management events for one or more accounts. The API reads events sequentially from the queue and returns them in batches.

Typical usage is to call eventsFeed without a marker. The API returns the current queue position in the marker field. This initial request may not return any event records.

Subsequent requests should call eventsFeed using the marker returned in the previous response to retrieve events. Continue using the marker returned in each response to read events sequentially from the queue.

Required Permissions

This API requires access to at least one of the following permissions:

Events Sites Users & User Groups

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns an EventsFeedData

Arguments
Name Description
accountIDs - [ID!] List of unique account identifiers whose events should be returned.
filters - [EventFeedFieldFilterInput!] Filters used to limit the returned events. Supported filter fields include event_type and event_sub_type. When filters are applied, the backend scans the event queue until matching events are found or a search limit is reached. The marker returned represents the queue position where the scan stopped.
marker - String

Queue position marker. If omitted or empty, the API returns the current position in the event queue and may not return any event records.

Use the marker returned in the previous response to fetch the next batch of events. Each response returns a new marker representing the next position in the queue.

Continue using the returned marker in subsequent requests to read events sequentially. The queue retains events for approximately three days.

Always use the returned marker as-is and do not attempt to parse or modify it. When filters are used, the marker represents the position where the backend stopped scanning the queue and may not correspond to the last event returned in the response.

Example

Query
query eventsFeed(
  $accountIDs: [ID!],
  $filters: [EventFeedFieldFilterInput!]
) {
  eventsFeed(
    accountIDs: $accountIDs,
    filters: $filters,
  ) {
    marker
    fetchedCount
    accounts {
      id
      errorString
      records {
        fieldsMap
      }
    }
  }
}
Variables
{
  "accountIDs": [123],
  "filters": [
    {
      "fieldName": "event_type",
      "operator": "is_not",
      "values": ["Sockets Management"]
    },
    {
      "fieldName": "event_sub_type",
      "operator": "is",
      "values": ["Disconnected"]
    }
  ]
}
Response
{
  "data": {
    "eventsFeed": {
      "marker": "W3siVG9waWMiOiIxODIiLCJQYXJ0aXRpb24iOjAsIk9mZnNldCI6MzIxNTM4fV0=",
      "fetchedCount": 1,
      "accounts": [
        {
          "id": "123",
          "errorString": "",
          "records": [
            {
              "fieldsMap": {
                "ISP_name": "IP Addresses Are Assigned Statically",
                "account_id": "123",
                "client_version": "8.0.4127",
                "event_count": "1",
                "event_sub_type": "Disconnected",
                "event_type": "Connectivity",
                "event_id": "7r0c7xUYIf",
                "link_type": "Cato",
                "pop_name": "Amsterdam",
                "socket_interface": "WAN1",
                "src_country": "Israel",
                "src_country_code": "IL",
                "src_is_site_or_vpn": "Site",
                "src_isp_ip": "1.2.3.4",
                "src_site": "native-range",
                "time": "1677170467000",
                "tunnel_protocol": "DTLS"
              }
            }
          ]
        }
      ]
    }
  }
}

eventsTimeSeries

Required Permissions

This API requires access to at least one of the following permissions:

Administrators Events Sites Users & User Groups Data Protection Inline Dashboard MITRE ATT&CK Threats Dashboard Data Protection API Dashboard Partner Dashboard Data Inventory

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns an EventsTimeSeries

Arguments
Name Description
accountID - ID! Account ID
timeFrame - TimeFrame!
measures - [EventsMeasure]
dimensions - [EventsDimension]
filters - [EventsFilter!]
includeEmptyDimension - Boolean When true, rows with empty/null values for a grouped dimension (e.g., country, device type) are returned as an empty group rather than excluded. This ensures consistent totals in API queries and surfaces previously hidden data in CMA dashboards and reports. Defaults to false.

Example

Query
query eventsTimeSeries(
  $accountID: ID!,
  $filters: [EventsFilter!],
  $timeFrame: TimeFrame!,
  $measures: [EventsMeasure],
  $buckets: Int!
) {
  eventsTimeSeries(
    accountID: $accountID,
    filters: $filters,
    timeFrame:$timeFrame,
    measures: $measures
  ) {
    id
    from
    to
    granularity
    timeseries(buckets:$buckets) {
      label
      data
    }
  }
}
Variables
{
  "accountID": "4125",
  "timeFrame": "utc.2023-02-{28/00:00:00--28/23:59:59}",
  "measures": [{"fieldName": "event_count", "aggType": "sum"}],
  "buckets": 4
}
Response
{
  "data": {
    "eventsTimeSeries": {
      "id": "4125",
      "from": "2023-02-28T00:00:00Z",
      "to": "2023-03-01T00:00:00Z",
      "granularity": 21600,
      "timeseries": [
        {
          "label": "sum(event_count)",
          "data": [
            [1677542400000, 5],
            [1677564000000, 2],
            [1677585600000, 0],
            [1677607200000, 5]
          ]
        }
      ]
    }
  }
}

servicePrincipalAdmin

Required Permissions

This API requires access to the following permissions:

Administrators

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a GetServicePrincipalAdminPayload

Arguments
Name Description
accountId - ID!
adminID - ID!

Example

Query
query servicePrincipalAdmin($accountId:ID!, $adminID:ID!) {
  servicePrincipalAdmin(accountId:$accountId, adminID:$adminID) {
    id
    name
    email
    creationDate
    managedRoles {
      role {
        name
      }
    }
  }
}
Variables
{"accountId": "123", "adminID": "456"}
Response
{
  "data": {
    "servicePrincipalAdmin": {
      "id": "456",
      "name": "Service Principal",
      "email": "service.principal@company.org",
      "creationDate": "Dec 27, 2020 9:30:34 AM",
      "managedRoles": [{"role": {"name": "Viewer"}}]
    }
  }
}

socketPortMetrics

Description

Provides historical metrics for physical and logical interfaces on Cato Sockets. This API enables detailed monitoring of LAN, WAN, Tunnel, Bypass, and Off-Cloud traffic, including throughput, bandwidth usage, and cellular signal quality.

Required Permissions

This API requires access to at least one of the following permissions:

Sites Users & User Groups

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SocketPortMetrics

Arguments
Name Description
accountID - ID! Account ID
timeFrame - TimeFrame!
measures - [SocketPortMetricsMeasure]
dimensions - [SocketPortMetricsDimension]
filters - [SocketPortMetricsFilter!]
postAggFilters - [SocketPortMetricsPostAggFilter!]
sort - [SocketPortMetricsSort!]

Example

Query
query socketPortMetrics(
  $accountID:ID!, 
  $timeFrame:TimeFrame!,
  $measures: [SocketPortMetricsMeasure],
  $dimensions:[SocketPortMetricsDimension],
  $sort:[SocketPortMetricsSort!],
  $limit:Int,
  $from:Int,
) {
  socketPortMetrics(
    accountID: $accountID,
    timeFrame: $timeFrame,
    measures: $measures,
    dimensions:$dimensions,
    sort:$sort,
  ) {
    from
    to
    records(limit:$limit, from:$from){
      fieldsMap
      fieldsUnitTypes
    }
  }
}
Variables
{
  "accountID": "123",
  "timeFrame": "utc.2023-02-{28/00:00:00--28/23:59:59}",
  "dimensions": [{"fieldName": "site_id"}],
  "sort": [{"fieldName": "throughput_upstream", "order": "desc"}],
  "measures": [
    {"fieldName": "throughput_upstream", "aggType": "max"},
    {"fieldName": "throughput_downstream", "aggType": "max"}
  ],
  "limit": 5,
  "from": 0
}
Response
{
  "data": {
    "appStats": {
      "from": "2023-02-28T00:00:00Z",
      "to": "2023-03-01T00:00:00Z",
      "records": [
        {
          "fieldsMap": {
            "site_id": "1",
            "throughput_upstream": "40",
            "throughput_downstream": "20"
          },
          "fieldsUnitTypes": ["number", "bytes", "bytes"]
        },
        {
          "fieldsMap": {
            "site_id": "2",
            "throughput_upstream": "40",
            "throughput_downstream": "20"
          },
          "fieldsUnitTypes": ["number", "bytes", "bytes"]
        },
        {
          "fieldsMap": {
            "site_id": "3",
            "throughput_upstream": "50",
            "throughput_downstream": "30"
          },
          "fieldsUnitTypes": ["number", "bytes", "bytes"]
        },
        {
          "fieldsMap": {
            "site_id": "4",
            "throughput_upstream": "40",
            "throughput_downstream": "20"
          },
          "fieldsUnitTypes": ["number", "bytes", "bytes"]
        }
      ]
    }
  }
}

socketPortMetricsTimeSeries

Description

Provides historical time series metrics for physical and logical interfaces on Cato Sockets. This API enables detailed monitoring of LAN, WAN, Tunnel, Bypass, and Off-Cloud traffic, including throughput, bandwidth usage, and cellular signal quality.

Required Permissions

This API requires access to at least one of the following permissions:

Sites Users & User Groups

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SocketPortMetricsTimeSeries

Arguments
Name Description
accountID - ID! Account ID
timeFrame - TimeFrame!
measures - [SocketPortMetricsMeasure]
dimensions - [SocketPortMetricsDimension]
filters - [SocketPortMetricsFilter!]

Example

Query
query socketPortMetricsTimeSeries(
  $accountID:ID!,
  $timeFrame:TimeFrame!,
  $measures: [SocketPortMetricsMeasure],
  $buckets:Int!
) {
  socketPortMetricsTimeSeries(
    accountID:$accountID,
    timeFrame:$timeFrame,
    measures: $measures
  ) {
    from
    to
    granularity
    timeseries(buckets:$buckets) {
      label
      data
      key {
        measureFieldName
      }
    }
  }
}
Variables
{
  "accountID": "123",
  "timeFrame": "utc.2023-02-{28/00:00:00--28/23:59:59}",
  "measures": [
    {"fieldName": "throughput_upstream", "aggType": "sum"},
    {"fieldName": "throughput_downstream", "aggType": "sum"}
  ],
  "buckets": 5
}
Response
{
  "data": {
    "appStatsTimeSeries": {
      "from": "2023-02-28T00:00:00Z",
      "to": "2023-03-01T00:00:00Z",
      "granularity": 14400,
      "timeseries": [
        {
          "label": "sum(throughput_upstream)",
          "data": [
            [1677542400000, 77192],
            [1677556800000, 742410],
            [1677571200000, 5335372],
            [1677585600000, 2239509],
            [1677600000000, 0],
            [1677614400000, 0]
          ],
          "key": {"measureFieldName": "throughput_upstream"}
        },
        {
          "label": "sum(throughput_downstream)",
          "data": [
            [1677542400000, 209763],
            [1677556800000, 1713925],
            [1677571200000, 7719290],
            [1677585600000, 2573650],
            [1677600000000, 0],
            [1677614400000, 0]
          ],
          "key": {"measureFieldName": "throughput_downstream"}
        }
      ]
    }
  }
}

subDomains

Description

The subdomain query helps you retrieve the URL of an account. The usage of this query supports 3 different scenarios:

  1. Regular account - Return only 1 subdomain relating to the regular account
  2. Reseller account - Return all subdomains including the reseller account subdomain
  3. Reseller account - Return only the reseller account subdomain
Required Permissions

This API requires access to the following permissions:

Accounts

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns [SubDomain!]!

Arguments
Name Description
accountID - ID! Unique Identifier of Account
managedAccount - Boolean When the boolean argument managedAccount is set to true (default), then the query returns all subdomains related to the account

Example

Query
query subDomains($accountID:ID!, $managedAccount:Boolean) {
  subDomains(accountID:$accountID, managedAccount:$managedAccount) {
      accountId
      accountName
      accountType
      subDomain
  }
}
Variables
{"accountID": "123", "managedAccount": true}
Response
{
  "data": {
    "subDomains": [
      {
        "accountId": "123",
        "accountName": "Gamma LLC",
        "accountType": "Reseller",
        "subDomain": "subdomain3"
      },
      {
        "accountId": "1235",
        "accountName": "Delta Inc.",
        "accountType": "Regular",
        "subDomain": "subdomain4"
      }
    ]
  }
}

AccessPrivateApplicationQueries

privateApplication

Beta Rollout
Description

Retrieve a single private application by ID or name

Required Permissions

This API requires access to the following permissions:

Private Application

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PrivateApplication

Arguments
Name Description
input - PrivateApplicationRefInput!

Example

Query
query PrivateApplication($accountId: ID!) {
    privateApplication(accountId: $accountId) {
        privateApplication(input: {
            by: NAME
            input: "Internal HR Portal"
        }) {
            id
            name
            description
            creationTime
            internalAppAddress
            probingEnabled
            published
            allowIcmpProtocol
            publishedAppDomain {
                id
                publishedAppDomain
                catoIp
                connectorGroupName
            }
            privateAppProbing {
                id
                type
                interval
                faultThresholdDown
            }
            protocolPorts {
                protocol
                port
            }
        }
    }
}
Variables
{"accountId": 203337}
Response
{
  "data": {
    "privateApplication": {
      "privateApplication": {
        "id": "5001",
        "name": "Internal HR Portal",
        "description": "Internal HR management application",
        "creationTime": "2026-04-28T10:00:00.000",
        "internalAppAddress": "hr.internal.corp",
        "probingEnabled": true,
        "published": false,
        "allowIcmpProtocol": true,
        "publishedAppDomain": null,
        "privateAppProbing": {
          "id": "6001",
          "type": "TCP",
          "interval": 30,
          "faultThresholdDown": 3
        },
        "protocolPorts": [{"protocol": "TCP", "port": [443, 8443]}]
      }
    }
  }
}

privateApplicationList

Beta Rollout
Description

List of private applications with optional filtering and paging

Required Permissions

This API requires access to the following permissions:

Private Application

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PrivateApplicationListPayload

Arguments
Name Description
input - PrivateApplicationListInput

Example

Query
query PrivateApplicationList($accountId: ID!) {
    privateApplication(accountId: $accountId) {
        privateApplicationList(input: {
            filter: {
                freeText: [
                    {
                        search: "HR"
                    }
                ]
            }
            paging: {
                limit: 10
                from: 0
            }
        }) {
            applications {
                id
                name
                description
                internalAppAddress
                published
                protocolPorts {
                    protocol
                    port
                }
            }
            pageInfo {
                total
            }
        }
    }
}
Variables
{"accountId": 203337}
Response
{
  "data": {
    "privateApplication": {
      "privateApplicationList": {
        "applications": [
          {
            "id": "5001",
            "name": "Internal HR Portal",
            "description": "Internal HR management application",
            "internalAppAddress": "hr.internal.corp",
            "published": false,
            "protocolPorts": [{"protocol": "TCP", "port": [443, 8443]}]
          }
        ],
        "pageInfo": {"total": 1}
      }
    }
  }
}

AccountManagementQueries

account

Description

Read the account information

Required Permissions

This API requires access to the following permissions:

Accounts

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AccountInfo

Example

Query
query getAccount($accountId:ID!) {
  accountManagement(accountId: $accountId) {
    account {
      description
      id
      name
      tenancy
      timeZone
      type
      audit {
        createdBy
        createdTime
      }
    }
  }
}
Variables
{"accountId": "456"}
Response
{
  "data": {
    "accountManagement": {
      "account": {
        "description": "account description",
        "id": "456",
        "name": "name",
        "tenancy": "SINGLE_TENANT",
        "timeZone": "Australia/ACT",
        "type": "CUSTOMER",
        "audit": {
          "createdBy": "main@admin.com",
          "createdTime": "2024-08-14T09:34:24Z"
        }
      }
    }
  }
}

AiSecurityAgentsQueries

event

Beta
Description

Fetch the prompt sensitive information (PSI) of a single agent event. Content is not redacted. Returns null with a NOT_FOUND error when the session has no such event. Caller must have AiSecurityEndUsersPromptSensitive RBAC permission.

Required Permissions

This API requires access to the following permissions:

Ai Security End Users Prompt Sensitive

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AiSecurityAgentsEvent

Arguments
Name Description
input - AiSecurityAgentsEventInput!

Example

Query
query aiSecurityAgentsEvent($accountId: ID!, $input: AiSecurityAgentsEventInput!) {
  aiSecurity(accountId: $accountId) {
    agents {
      event(input: $input) {
        interactionId
        appActivityType
        time
        content
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "sessionId": "6f1c2a9e-3b7d-4e5f-9a1b-2c3d4e5f6a7b",
    "interactionId": "0199a1b2-7c3d-7e4f-8a5b-6c7d8e9f0a1b"
  }
}
Response
{
  "data": {
    "aiSecurity": {
      "agents": {
        "event": {
          "interactionId": "0199a1b2-7c3d-7e4f-8a5b-6c7d8e9f0a1b",
          "appActivityType": "User Prompt",
          "time": "2026-09-20T10:00:00Z",
          "content": "Connect to the prod database with password Sup3rS3cret! and export the customers table."
        }
      }
    }
  }
}

session

Beta
Description

Fetch the prompt sensitive information (PSI) of an agent session, one entry per agent event, oldest first. Content is not redacted. Caller must have AiSecurityEndUsersPromptSensitive RBAC permission.

Required Permissions

This API requires access to the following permissions:

Ai Security End Users Prompt Sensitive

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AiSecurityAgentsSessionPayload

Arguments
Name Description
input - AiSecurityAgentsSessionInput!

Example

Query
query aiSecurityAgentsSession($accountId: ID!, $input: AiSecurityAgentsSessionInput!) {
  aiSecurity(accountId: $accountId) {
    agents {
      session(input: $input) {
        items {
          interactionId
          appActivityType
          time
          content
        }
        paging {
          total
        }
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "sessionId": "6f1c2a9e-3b7d-4e5f-9a1b-2c3d4e5f6a7b",
    "paging": {"from": 0, "limit": 2}
  }
}
Response
{
  "data": {
    "aiSecurity": {
      "agents": {
        "session": {
          "items": [
            {
              "interactionId": "0199a1b2-7c3d-7e4f-8a5b-6c7d8e9f0a1b",
              "appActivityType": "User Prompt",
              "time": "2026-09-20T10:00:00Z",
              "content": "Connect to the prod database with password Sup3rS3cret! and export the customers table."
            },
            {
              "interactionId": "0199a1b2-7c3e-7a1b-9c2d-3e4f5a6b7c8d",
              "appActivityType": "Tool Call",
              "time": "2026-09-20T10:00:04Z",
              "content": "{\"command\": \"PGPASSWORD=Sup3rS3cret! psql -h prod-db -U admin -c 'SELECT * FROM customers'\"}"
            }
          ],
          "paging": {"total": 42}
        }
      }
    }
  }
}

AiSecurityAppsQueries

invocation

Beta
Description

Fetch a single invocation by its ID.

Required Permissions

This API requires access to the following permissions:

Ai Security For Apps Interaction Explorer

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AiSecurityAppsInvocation

Arguments
Name Description
input - AiSecurityAppsInvocationInput!

Example

Query
query aiSecurityAppsInvocation($accountId: ID!, $input: AiSecurityAppsInvocationInput!) {
  aiSecurity(accountId: $accountId) {
    apps {
      invocation(input: $input) {
        id
        sessionId
        timestamp
        tokenCount
        guard {
          id
          name
        }
        action
        data {
          message {
            role
            content {
              text
            }
          }
        }
      }
    }
  }
}
Variables
{"accountId": "123", "input": {"id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"}}
Response
{
  "data": {
    "aiSecurity": {
      "apps": {
        "invocation": {
          "id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
          "sessionId": "b7c1f0e2-4a3d-4c9e-8f21-0a1b2c3d4e5f",
          "timestamp": "2026-01-15T09:30:00Z",
          "tokenCount": 128,
          "guard": {
            "id": "9c4e7a10-2b3c-4d5e-8f60-1a2b3c4d5e6f",
            "name": "Production Chat Guard"
          },
          "action": "ANONYMIZE",
          "data": {
            "message": [
              {
                "role": "USER",
                "content": [
                  {
                    "text": "Summarize the attached contract for account 4111 1111 1111 1111 and flag any liability clauses."
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}

AiSecurityEndUsersQueries

sessionConversation

Beta
Description

Fetch a single end-user conversation by its message id, together with its prompt sensitive information (PSI). Returns null when no matching conversation exists. Caller must have AiSecurityEndUsersPromptSensitive RBAC permission.

Required Permissions

This API requires access to the following permissions:

Ai Security End Users Prompt Sensitive

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AiSecurityEndUsersConversation

Arguments
Name Description
input - AiSecurityEndUsersSessionConversationInput!

Example

Query
query aiSecurityEndUsersSessionConversation($accountId: ID!, $input: AiSecurityEndUsersSessionConversationInput!) {
  aiSecurity(accountId: $accountId) {
    endUsers {
      sessionConversation(input: $input) {
        userPrompt
        llmResponse
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "sessionId": "b7c1f0e2-4a3d-4c9e-8f21-0a1b2c3d4e5f",
    "messageId": "d4e5f6a7-8b9c-4d1e-a2f3-4b5c6d7e8f90",
    "appId": "chatgpt",
    "userId": "23"
  }
}
Response
{
  "data": {
    "aiSecurity": {
      "endUsers": {
        "sessionConversation": {
          "userPrompt": "Draft a refund email to John Smith (SSN 123-45-6789) confirming $4,200 was returned to card 4111 1111 1111 1111.",
          "llmResponse": "Dear John Smith, we've processed your $4,200 refund to the card ending in 1111. Please allow 3-5 business days for it to appear."
        }
      }
    }
  }
}

BusinessPlatformQueries

accountList

Beta Rollout
Description

List of the partner's accounts, with filtering, sorting and paging.

Required Permissions

This API requires access to the following permissions:

Business Platform

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - BusinessPlatformAccountListInput

Example

Query
query businessPlatform($accountId: ID!, $input: BusinessPlatformAccountListInput) {
  businessPlatform(accountId: $accountId) {
    accountList(input: $input) {
      items {
        id
        externalId
        externalName
        accountExternalName
        description
        plan
        expiresOn
        estimatedCloseDate
        contactFirstName
        contactLastName
        contactEmail
        companyWebsite
        country
        city
        state
        street
        postalCode
        cmaCreatedBy
        cmaCreatedAt
        account {
          id
          name
        }
        partner {
          id
          name
        }
      }
      paging {
        total
      }
    }
  }
}
Variables
{
  "accountId": "26361",
  "input": {
    "filter": {
      "freeText": {"search": "acme"},
      "plan": [{"in": ["TRIAL", "PROSPECT"]}],
      "expiresOn": [{"gte": "2026-01-01"}]
    },
    "sort": {"account": {"direction": "ASC", "priority": 1}},
    "paging": {"from": 0, "limit": 100}
  }
}
Response
{
  "data": {
    "businessPlatform": {
      "accountList": {
        "items": [
          {
            "id": "a1B2c3D4",
            "externalId": "a1B2c3D4",
            "externalName": "Acme Corp",
            "accountExternalName": "Acme Corporation Ltd.",
            "description": "Trial account for Acme",
            "plan": "TRIAL",
            "expiresOn": "2026-09-30",
            "estimatedCloseDate": "2026-08-15",
            "contactFirstName": "John",
            "contactLastName": "Doe",
            "contactEmail": "john.doe@acme.com",
            "companyWebsite": "https://www.acme.com",
            "country": "United States",
            "city": "New York",
            "state": "NY",
            "street": "350 5th Ave",
            "postalCode": "10118",
            "cmaCreatedBy": "partner.admin@partner.com",
            "cmaCreatedAt": "2026-06-01",
            "account": {
              "id": "10036494",
              "name": "Acme Corp",
              "__typename": "AccountRef"
            },
            "partner": {
              "id": "26361",
              "name": "Best Partner Inc.",
              "__typename": "AccountRef"
            },
            "__typename": "BusinessPlatformAccount"
          }
        ],
        "paging": {"total": 1, "__typename": "PageInfo"},
        "__typename": "BusinessPlatformAccountListPayload"
      },
      "__typename": "BusinessPlatformQueries"
    }
  }
}

accountOverview

Beta Rollout
Description

Salesforce customer accounts managed by this partner.

Required Permissions

This API requires access to the following permissions:

Business Platform

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
query businessPlatform($accountId: ID!) {
  businessPlatform(accountId: $accountId) {
    accountOverview {
      items {
        id
        name
        arr
        serviceRenewalDate
        cmaAccountId
      }
    }
  }
}
Variables
{"accountId": "9736"}
Response
{
  "data": {
    "businessPlatform": {
      "accountOverview": {
        "items": [
          {
            "id": "0012400001AbCdEAAH",
            "name": "Acme Global Ltd.",
            "arr": 125000.5,
            "serviceRenewalDate": "2027-03-01",
            "cmaAccountId": "10036494",
            "__typename": "BusinessPlatformAccountOverview"
          },
          {
            "id": "0012400001XyZzQAAH",
            "name": "Northwind Networks",
            "arr": null,
            "serviceRenewalDate": "2027-03-01",
            "cmaAccountId": null,
            "__typename": "BusinessPlatformAccountOverview"
          }
        ],
        "__typename": "BusinessPlatformAccountOverviewPayload"
      },
      "__typename": "BusinessPlatformQueries"
    }
  }
}

countAccountByPlan

Beta Rollout
Description

Count of the partner's accounts grouped by plan.

Required Permissions

This API requires access to the following permissions:

Business Platform

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
query businessPlatform($accountId: ID!) {
  businessPlatform(accountId: $accountId) {
    countAccountByPlan {
      items {
        plan
        count
      }
    }
  }
}
Variables
{"accountId": "26361"}
Response
{
  "data": {
    "businessPlatform": {
      "countAccountByPlan": {
        "items": [
          {
            "plan": "PENDING_APPROVAL",
            "count": 3,
            "__typename": "BusinessPlatformPlanCountItem"
          },
          {
            "plan": "PROSPECT",
            "count": 12,
            "__typename": "BusinessPlatformPlanCountItem"
          },
          {
            "plan": "TRIAL",
            "count": 27,
            "__typename": "BusinessPlatformPlanCountItem"
          },
          {
            "plan": "COMMERCIAL",
            "count": 58,
            "__typename": "BusinessPlatformPlanCountItem"
          },
          {
            "plan": "LOST",
            "count": 4,
            "__typename": "BusinessPlatformPlanCountItem"
          }
        ],
        "__typename": "BusinessPlatformPlanCountPayload"
      },
      "__typename": "BusinessPlatformQueries"
    }
  }
}

settings

Beta Rollout
Description

Current Business Platform settings for the account.

Required Permissions

This API requires access to the following permissions:

Self Provisioning Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a BusinessPlatformSettings

Example

Query
query businessPlatform($accountId: ID!) {
  businessPlatform(accountId: $accountId) {
    settings {
      approvalEnabled
    }
  }
}
Variables
{"accountId": "26361"}
Response
{
  "data": {
    "businessPlatform": {
      "settings": {
        "approvalEnabled": true,
        "__typename": "BusinessPlatformSettings"
      },
      "__typename": "BusinessPlatformQueries"
    }
  }
}

CatalogQueries

catalogApplication

Beta
Required Permissions

This API requires access to the following permissions:

Apps Catalog

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CatalogApplication

Arguments
Name Description
input - ApplicationRefInput!

Example

Query
query ($accountId: ID!, $refInput: ApplicationRefInput!) {
  catalogs(accountId: $accountId) {
    catalogApplication(input: $refInput) {
        __typename
        id
        name
        descriptionSummary
        description
        category {
          id
          name
        }
        securityAttributes {
          mfa
          encryptionAtRest
          auditTrail
          rbac
          rememberPassword
          sso
          trustedCertificate
          tlsEnforcement
          httpSecurityHeaders
        }
        ipoStatus
        website
        originCountry {
          id
          name
        }
        region
        city
        risk
        numOfEmployees
        capability
        activity {
          id
          name
        }
        type
        sanctioned
        recentlyAdded
        standardPorts {
          port
          protocol
        }
        staticIpRange
        dynamicIpSource
        asn
      }
    }
  }
Variables
{"accountId": "123456", "refInput": {"by": "ID", "input": "Facebook"}}
Response
{
  "data": {
    "catalogs": {
      "catalogApplication": {
        "__typename": "CatalogApplication",
        "id": "Facebook",
        "name": "Facebook",
        "descriptionSummary": "Facebook is an online social networking service that enables its users to connect with friends and family.",
        "description": "Facebook is an online social networking service that allows its users to connect with friends and family as well as make new connections.",
        "category": [{"id": "social", "name": "Social"}],
        "securityAttributes": {
          "mfa": "SUPPORTED",
          "encryptionAtRest": "SUPPORTED",
          "auditTrail": "SUPPORTED",
          "rbac": "SUPPORTED",
          "rememberPassword": "SUPPORTED",
          "sso": "SUPPORTED",
          "trustedCertificate": "SUPPORTED",
          "tlsEnforcement": "SUPPORTED",
          "httpSecurityHeaders": "SUPPORTED"
        },
        "ipoStatus": "IPO",
        "website": "http://www.facebook.com",
        "originCountry": {"id": "US", "name": "United States"},
        "region": "California",
        "city": "Menlo Park",
        "risk": 3,
        "numOfEmployees": "BETWEEN_10001_MAX",
        "capability": ["APP_CONTROL_INLINE"],
        "activity": [
          {"id": "facebook_upload_post", "name": "Post"},
          {"id": "facebook_comment", "name": "Comment"},
          {"id": "facebook_login", "name": "Login"},
          {"id": "full_path_url", "name": "Full Path URL"}
        ],
        "type": "CLOUD_APPLICATION",
        "sanctioned": false,
        "recentlyAdded": false,
        "standardPorts": [{"port": [443], "protocol": "TCP"}],
        "staticIpRange": ["31.13.64.0/18"],
        "dynamicIpSource": [],
        "asn": [32934]
      }
    }
  }
}

catalogApplicationList

Beta
Required Permissions

This API requires access to the following permissions:

Apps Catalog

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CatalogApplicationListPayload

Arguments
Name Description
input - CatalogApplicationListInput!

Example

Query
query ($accountId: ID!, $input: CatalogApplicationListInput!) {
  catalogs(accountId: $accountId) {
    catalogApplicationList(input: $input) {
      pageInfo {
        total
      }
      application {
        id
        name
        descriptionSummary
        category {
          id
          name
        }
        ipoStatus
        website
        originCountry {
          id
          name
        }
        risk
        numOfEmployees
        capability
        activity {
          id
          name
        }
        tenantActivity {
          id
          name
        }
        type
        sanctioned
        recentlyAdded
        standardPorts {
          port
          protocol
        }
        aiSecurity {
          risk
          scope
        }
      }
    }
  }
}
Variables
{
  "accountId": "123456",
  "input": {
    "sort": {"name": {"direction": "ASC", "priority": 1}},
    "paging": {"limit": 5, "from": 0}
  }
}
Response
{
  "data": {
    "catalogs": {
      "catalogApplicationList": {
        "pageInfo": {"total": 15697},
        "application": [
          {
            "id": "0bin_net",
            "name": "0bin.net",
            "descriptionSummary": "0bin_net is a website where you can store text for a certain period of time.",
            "category": [{"id": "web_posting", "name": "Web Posting"}],
            "ipoStatus": null,
            "website": null,
            "originCountry": null,
            "risk": 4,
            "numOfEmployees": null,
            "capability": [],
            "activity": [
              {"id": "full_path_url", "name": "Full Path URL"},
              {"id": "content_transfer_action_upload", "name": "Upload"},
              {"id": "content_transfer_action_download", "name": "Download"}
            ],
            "tenantActivity": [],
            "type": "APPLICATION",
            "sanctioned": false,
            "recentlyAdded": false,
            "standardPorts": [{"port": [80], "protocol": "TCP"}],
            "aiSecurity": null
          },
          {
            "id": "1-10",
            "name": "1-10",
            "descriptionSummary": "1 → 10 is an IT company that uses AI technology that directs commercial facilities and events to utilize projection mapping and XR",
            "category": [{"id": "business", "name": "Business Information"}],
            "ipoStatus": "operating",
            "website": "https://www.1-10.com/",
            "originCountry": {"id": "JP", "name": "Japan"},
            "risk": 4,
            "numOfEmployees": "BETWEEN_00101_00250",
            "capability": ["APP_CONTROL_INLINE"],
            "activity": [
              {"id": "full_path_url", "name": "Full Path URL"},
              {"id": "content_transfer_action_upload", "name": "Upload"},
              {"id": "content_transfer_action_download", "name": "Download"}
            ],
            "tenantActivity": [],
            "type": "CLOUD_APPLICATION",
            "sanctioned": false,
            "recentlyAdded": false,
            "standardPorts": [],
            "aiSecurity": null
          },
          {
            "id": "1000farmacie",
            "name": "1000Farmacie Srl",
            "descriptionSummary": "Online Pharmacy and Integrated Healthcare Platform",
            "category": [
              {"id": "health_and_medicine", "name": "Health and Medicine"},
              {"id": "shopping", "name": "Shopping"}
            ],
            "ipoStatus": "operating",
            "website": "https://www.1000farmacie.it/",
            "originCountry": {"id": "IT", "name": "Italy"},
            "risk": 4,
            "numOfEmployees": "BETWEEN_00051_00100",
            "capability": ["APP_CONTROL_INLINE"],
            "activity": [
              {"id": "full_path_url", "name": "Full Path URL"},
              {"id": "content_transfer_action_upload", "name": "Upload"},
              {"id": "content_transfer_action_download", "name": "Download"}
            ],
            "tenantActivity": [],
            "type": "CLOUD_APPLICATION",
            "sanctioned": false,
            "recentlyAdded": false,
            "standardPorts": [],
            "aiSecurity": null
          },
          {
            "id": "10086",
            "name": "10086",
            "descriptionSummary": "China Mobile Innovation Industry Fund was established by China Mobile and State Development & Investment Corporation.",
            "category": [{"id": "business", "name": "Business Information"}],
            "ipoStatus": "operating",
            "website": "http://www.10086.cn/index/bj/index_100_100.html",
            "originCountry": {"id": "CN", "name": "China"},
            "risk": 2,
            "numOfEmployees": null,
            "capability": ["APP_CONTROL_INLINE"],
            "activity": [
              {"id": "full_path_url", "name": "Full Path URL"},
              {"id": "content_transfer_action_upload", "name": "Upload"},
              {"id": "content_transfer_action_download", "name": "Download"}
            ],
            "tenantActivity": [],
            "type": "CLOUD_APPLICATION",
            "sanctioned": false,
            "recentlyAdded": false,
            "standardPorts": [],
            "aiSecurity": null
          },
          {
            "id": "1010data",
            "name": "1010data, Inc.",
            "descriptionSummary": "Time series-driven collaborative analytics, consumer intelligence, and alternative data solutions.",
            "category": [
              {
                "id": "computers_and_technology",
                "name": "Computers and Technology"
              }
            ],
            "ipoStatus": "Was Acquired",
            "website": "http://www.1010data.com",
            "originCountry": {"id": "US", "name": "United States"},
            "risk": 3,
            "numOfEmployees": "BETWEEN_00101_00250",
            "capability": ["APP_CONTROL_INLINE"],
            "activity": [
              {"id": "full_path_url", "name": "Full Path URL"},
              {"id": "content_transfer_action_upload", "name": "Upload"},
              {"id": "content_transfer_action_download", "name": "Download"}
            ],
            "tenantActivity": [],
            "type": "CLOUD_APPLICATION",
            "sanctioned": false,
            "recentlyAdded": false,
            "standardPorts": [{"port": [80, 443], "protocol": "TCP"}],
            "aiSecurity": null
          }
        ]
      }
    }
  }
}

contentTypeGroupList

Beta
Required Permissions

This API requires access to the following permissions:

Apps Catalog

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
query ContentTypeGroups($accountId: ID!, $input: CatalogApplicationContentTypeGroupListInput!) {
  catalogs(accountId: $accountId) {
    contentTypeGroupList(input: $input) {
      pageInfo {
        total
      }
      contentTypeGroup {
        id
        name
        contentType {
          id
          name
        }
      }
    }
  }
}
Variables
{
  "accountId": "123456",
  "input": {
    "sort": {"name": {"direction": "ASC", "priority": 1}},
    "filter": [
      {"name": {"in": ["Binaries", "disk"]}},
      {"contentType": {"id": {"eq": "cab"}}, "id": {"eq": "archive"}}
    ],
    "paging": {"limit": 20}
  }
}
Response
{
  "data": {
    "catalogs": {
      "contentTypeGroupList": {
        "pageInfo": {"total": 2},
        "contentTypeGroup": [
          {
            "id": "archive",
            "name": "Archives",
            "contentType": [{"id": "cab", "name": "Windows CABinet"}]
          },
          {
            "id": "bin",
            "name": "Binaries",
            "contentType": [
              {"id": "bin", "name": "Binary files"},
              {"id": "elf-dump", "name": "ELF core dump"},
              {"id": "elf-obj", "name": "ELF object file"},
              {"id": "mat", "name": "MATLAB MAT file"}
            ]
          }
        ]
      }
    }
  }
}

ConnectivitySnapshotsQueries

ztnaAppConnectorGroupSnapshot

Beta Rollout
Description

Returns ZTNA app connector group snapshots

Required Permissions

This API requires access to the following permissions:

Ztna App Connector

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - ZtnaAppConnectorGroupSnapshotInput!

Example

Query
query ztnaAppConnectorGroupSnapshot($accountId: ID!, $input: ZtnaAppConnectorGroupSnapshotInput!) {
  connectivitySnapshots(accountId: $accountId) {
    ztnaAppConnectorGroupSnapshot(input: $input) {
      items {
        groupName
        totalConnectors
        privateAppCount
        connectivityStatus {
          connectivityStatus
          total
        }
        privateApps {
          id
          name
        }
        connectors {
          id
          name
          privateAppCount
          connectivity {
            status
            popLocation {
              id
              name
            }
          }
        }
      }
      pageInfo {
        total
      }
    }
  }
}
Variables
{
  "accountId": "11039",
  "input": {
    "filter": {"groupName": [{"eq": "Finance Connectors"}]},
    "paging": {"limit": 10, "from": 0}
  }
}
Response
{
  "data": {
    "connectivitySnapshots": {
      "ztnaAppConnectorGroupSnapshot": {
        "items": [
          {
            "groupName": "Finance Connectors",
            "totalConnectors": 2,
            "privateAppCount": 3,
            "connectivityStatus": [
              {"connectivityStatus": "CONNECTED", "total": 1},
              {"connectivityStatus": "DISCONNECTED", "total": 1}
            ],
            "privateApps": [
              {"id": "3001", "name": "finance-erp"},
              {"id": "3002", "name": "finance-crm"},
              {"id": "3003", "name": "finance-payroll"}
            ],
            "connectors": [
              {
                "id": "2001",
                "name": "finance-connector-us-east",
                "privateAppCount": 3,
                "connectivity": {
                  "status": "CONNECTED",
                  "popLocation": {"id": "101", "name": "New York City"}
                }
              },
              {
                "id": "2002",
                "name": "finance-connector-eu-west",
                "privateAppCount": 3,
                "connectivity": {"status": "DISCONNECTED", "popLocation": null}
              }
            ]
          }
        ],
        "pageInfo": {"total": 1}
      }
    }
  }
}

ztnaAppConnectorSnapshot

Beta Rollout
Description

Returns ZTNA app connector snapshots

Required Permissions

This API requires access to the following permissions:

Ztna App Connector

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a ZtnaAppConnectorSnapshotPayload

Arguments
Name Description
input - ZtnaAppConnectorSnapshotInput!

Example

Query
query ztnaAppConnectorSnapshot($accountId: ID!, $input: ZtnaAppConnectorSnapshotInput!) {
  connectivitySnapshots(accountId: $accountId) {
    ztnaAppConnectorSnapshot(input: $input) {
      items {
        id
        name
        privateAppCount
        info {
          createdAt
          groupName
          type
          location {
            cityName
            countryCode
            countryName
          }
        }
        connectivity {
          status
          firstConnected
          lastConnected
          popLocation {
            id
            name
          }
        }
        device {
          id
          info {
            model
            serialNumber
            socketId
            isRegistered
            version
          }
          connectivity {
            platform
            serialNumber
            version
          }
          interface {
            id
            interfaceType
            connectivity {
              status
              lanIp
              dnsServer
            }
          }
        }
        privateApp {
          id
          name
          connectivity {
            probingStatus
            routingStatus
          }
        }
      }
      pageInfo {
        total
      }
    }
  }
}
Variables
{
  "accountId": "11039",
  "input": {
    "filter": {"groupName": [{"eq": "Finance Connectors"}]},
    "sort": {"name": {"direction": "ASC", "priority": 1}},
    "paging": {"limit": 1, "from": 0}
  }
}
Response
{
  "data": {
    "connectivitySnapshots": {
      "ztnaAppConnectorSnapshot": {
        "items": [
          {
            "id": "2001",
            "name": "finance-connector-us-east",
            "privateAppCount": 2,
            "info": {
              "createdAt": "2026-03-12T09:15:00.000Z",
              "groupName": "Finance Connectors",
              "type": "PHYSICAL",
              "location": {
                "cityName": "New York",
                "countryCode": "US",
                "countryName": "United States"
              }
            },
            "connectivity": {
              "status": "CONNECTED",
              "firstConnected": "2026-03-12T09:20:00.000Z",
              "lastConnected": "2026-04-06T08:40:12.000Z",
              "popLocation": {"id": "101", "name": "New York City"}
            },
            "device": {
              "id": "device-2001",
              "info": {
                "model": "X1600",
                "serialNumber": "X1600-ABC12345",
                "socketId": "socket-2001",
                "isRegistered": true,
                "version": "15.0.12031"
              },
              "connectivity": {
                "platform": "X1600",
                "serialNumber": "X1600-ABC12345",
                "version": "15.0.12031"
              },
              "interface": [
                {
                  "id": "LAN1",
                  "interfaceType": "LAN",
                  "connectivity": {
                    "status": "connected",
                    "lanIp": "10.10.0.5",
                    "dnsServer": ["8.8.8.8", "1.1.1.1"]
                  }
                }
              ]
            },
            "privateApp": [
              {
                "id": "3001",
                "name": "finance-erp",
                "connectivity": {"probingStatus": "UP", "routingStatus": "UP"}
              },
              {
                "id": "3002",
                "name": "finance-crm",
                "connectivity": {
                  "probingStatus": "DOWN",
                  "routingStatus": "DOWN"
                }
              }
            ]
          }
        ],
        "pageInfo": {"total": 1}
      }
    }
  }
}

ztnaAppConnectorSnapshotSummary

Beta Rollout
Description

Returns summary metrics for ZTNA app connector snapshots

Required Permissions

This API requires access to the following permissions:

Ztna App Connector

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - ZtnaAppConnectorSnapshotSummaryInput!

Example

Query
query ztnaAppConnectorSnapshotSummary($accountId: ID!, $input: ZtnaAppConnectorSnapshotSummaryInput!) {
  connectivitySnapshots(accountId: $accountId) {
    ztnaAppConnectorSnapshotSummary(input: $input) {
      connectivityStatus {
        connectivityStatus
        total
      }
      socketPlatform {
        platform
        total
      }
      socketModel {
        model
        total
      }
      version {
        version
        total
      }
      assignment {
        assigned
        total
      }
      total
    }
  }
}
Variables
{
  "accountId": "11039",
  "input": {"filter": {"connectivityStatus": [{"eq": "CONNECTED"}]}}
}
Response
{
  "data": {
    "connectivitySnapshots": {
      "ztnaAppConnectorSnapshotSummary": {
        "connectivityStatus": [
          {"connectivityStatus": "CONNECTED", "total": 3},
          {"connectivityStatus": "DISCONNECTED", "total": 1}
        ],
        "socketPlatform": [
          {"platform": "X1600", "total": 2},
          {"platform": "AWS1500", "total": 2}
        ],
        "socketModel": [
          {"model": "AWS", "total": 2},
          {"model": "X1600", "total": 2}
        ],
        "version": [
          {"version": "15.0.12031", "total": 3},
          {"version": "15.0.11802", "total": 1}
        ],
        "assignment": {"assigned": 1, "total": 2},
        "total": 4
      }
    }
  }
}

ContainerQueries

list

Beta
Required Permissions

This API requires access to the following permissions:

Authentication

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a ContainerSearchPayload!

Arguments
Name Description
input - ContainerSearchInput!

Example

Query
query listContainers($accountId:ID!, $input:ContainerSearchInput!)  {
    container(accountId: $accountId) {
        list(input: $input) {
            containers {
                __typename
                id
                name
                description
                size
                audit {
                    createdBy
                    createdAt
                    lastModifiedBy
                    lastModifiedAt
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "refs": [{"by": "NAME", "input": "Some Container"}],
    "types": ["FQDN"]
  }
}
Response
{
  "data": {
    "container": {
      "list": {
        "containers": [
          {
            "__typename": "FqdnContainer",
            "id": "1234567890",
            "name": "Some Container",
            "description": "Description of some container",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            }
          }
        ]
      }
    }
  }
}

FqdnContainerQueries

downloadFile

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - DownloadFqdnContainerFileInput!

Example

Query
query downloadFqdnFile($accountId:ID!, $input:DownloadFqdnContainerFileInput!)  {
    container(accountId: $accountId) {
        fqdn {
            downloadFile(input: $input) {
                id
                name
                encodedFile
            }
        }
    }
}
Variables
{"accountId": 12345, "input": {"by": "NAME", "input": "Some Container"}}
Response
{
  "data": {
    "container": {
      "fqdn": {
        "downloadFile": {
          "id": "1234567890",
          "name": "Some Container",
          "encodedFile": "MTkwLjIwLjI0LjM2LTE5MC4yMC4yNC4yMzYKMjAuMTAuMTMuMjcKMTgzLjEzLjU0LjIzNA=="
        }
      }
    }
  }
}

search

Beta
Required Permissions

This API requires access to the following permissions:

Authentication

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a FqdnContainerSearchPayload!

Arguments
Name Description
input - FqdnContainerSearchInput!

Example

Query
query searchIpContainer($accountId:ID!, $input:FqdnContainerSearchInput!)  {
    container(accountId: $accountId) {
        fqdn {
            search(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {"ref": {"by": "NAME", "input": "Some Container"}}
}
Response
{
  "data": {
    "container": {
      "fqdn": {
        "search": {
          "container": {
            "__typename": "FqdnContainer",
            "id": "1234567890",
            "name": "Some Container",
            "description": "Description of some container",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            }
          }
        }
      }
    }
  }
}

searchFqdn

Beta
Required Permissions

This API requires access to the following permissions:

Authentication

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a FqdnContainerSearchFqdnPayload!

Arguments
Name Description
input - FqdnContainerSearchFqdnInput!

Example

Query
query searchIpInContainer($accountId:ID!, $input:FqdnContainerSearchFqdnInput!)  {
    container(accountId: $accountId) {
        fqdn {
            searchFqdn(input: $input) {
                containers {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{"accountId": 12345, "input": {"fqdn": "google.com"}}
Response
{
  "data": {
    "container": {
      "fqdn": {
        "searchFqdn": {
          "containers": [
            {
              "__typename": "FqdnContainer",
              "id": "1234567890",
              "name": "Some Container",
              "description": "Description of some container",
              "size": 100,
              "audit": {
                "createdBy": "some.admin@catonetworks.com",
                "createdAt": "2024-09-18T14:31:03Z",
                "lastModifiedBy": "some.admin@catonetworks.com",
                "lastModifiedAt": "2024-09-18T14:31:03Z"
              }
            }
          ]
        }
      }
    }
  }
}

testFromURL

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a TestContainerFromUrlPayload!

Arguments
Name Description
input - TestContainerFromUrlInput!

Example

Query
query testFqdnContainerFromURL($accountId:ID!, $input:TestContainerFromUrlInput!)  {
    container(accountId: $accountId) {
        fqdn {
            testFromURL(input: $input) {
                sizeValid
                topValid
                sizeInvalid
                topInvalid
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {"url": "https://example.com/fqdns.csv", "fileType": "CSV"}
}
Response
{
  "data": {
    "container": {
      "fqdn": {
        "testFromURL": {
          "sizeValid": 95,
          "topValid": ["example.com", "google.com", "github.com"],
          "sizeInvalid": 5,
          "topInvalid": ["invalid..fqdn", "not-a-valid-fqdn-"]
        }
      }
    }
  }
}

IpAddressRangeContainerQueries

downloadFile

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - DownloadIpAddressRangeContainerFileInput!

Example

Query
query downloadIpAddressNameFile($accountId:ID!, $input:DownloadIpAddressRangeContainerFileInput!)  {
    container(accountId: $accountId) {
        ipAddressRange {
            downloadFile(input: $input) {
                id
                name
                encodedFile
            }
        }
    }
}
Variables
{"accountId": 12345, "input": {"by": "NAME", "input": "Some Container"}}
Response
{
  "data": {
    "container": {
      "ipAddressRange": {
        "downloadFile": {
          "id": "1234567890",
          "name": "Some Container",
          "encodedFile": "ZXhhbXBsZS5jb20KZ29vZ2xlLmNvbQphbWF6b20uY29t"
        }
      }
    }
  }
}

search

Beta
Required Permissions

This API requires access to the following permissions:

Authentication

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - IpAddressRangeContainerSearchInput!

Example

Query
query searchIpContainer($accountId:ID!, $input:IpAddressRangeContainerSearchInput!)  {
    container(accountId: $accountId) {
        ipAddressRange {
            search(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {"ref": {"by": "NAME", "input": "Some Container"}}
}
Response
{
  "data": {
    "container": {
      "ipAddressRange": {
        "search": {
          "container": {
            "__typename": "IpAddressRangeContainer",
            "id": "1234567890",
            "name": "Some Container",
            "description": "Description of some container",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            }
          }
        }
      }
    }
  }
}

searchIpAddressRange

Beta
Required Permissions

This API requires access to the following permissions:

Authentication

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
query searchIpInContainer($accountId:ID!, $input:IpAddressRangeContainerSearchIpAddressRangeInput!)  {
    container(accountId: $accountId) {
        ipAddressRange {
            searchIpAddressRange(input: $input) {
                containers {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {"ipAddressRange": {"from": "190.20.24.36", "to": "190.20.24.236"}}
}
Response
{
  "data": {
    "container": {
      "ipAddressRange": {
        "searchIpAddressRange": {
          "containers": [
            {
              "__typename": "IpAddressRangeContainer",
              "id": "1234567890",
              "name": "Some Container",
              "description": "Description of some container",
              "size": 100,
              "audit": {
                "createdBy": "some.admin@catonetworks.com",
                "createdAt": "2024-09-18T14:31:03Z",
                "lastModifiedBy": "some.admin@catonetworks.com",
                "lastModifiedAt": "2024-09-18T14:31:03Z"
              }
            }
          ]
        }
      }
    }
  }
}

testFromURL

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a TestContainerFromUrlPayload!

Arguments
Name Description
input - TestContainerFromUrlInput!

Example

Query
query testIpAddressRangeContainerFromURL($accountId:ID!, $input:TestContainerFromUrlInput!)  {
    container(accountId: $accountId) {
        ipAddressRange {
            testFromURL(input: $input) {
                sizeValid
                topValid
                sizeInvalid
                topInvalid
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {"url": "https://example.com/ip-ranges.csv", "fileType": "CSV"}
}
Response
{
  "data": {
    "container": {
      "ipAddressRange": {
        "testFromURL": {
          "sizeValid": 95,
          "topValid": [
            "192.168.1.1-192.168.1.10",
            "10.0.0.0-10.0.0.255",
            "172.16.0.0-172.16.255.255"
          ],
          "sizeInvalid": 5,
          "topInvalid": [
            "invalid-ip-range",
            "999.999.999.999-1000.1000.1000.1000"
          ]
        }
      }
    }
  }
}

CustomAppDataQueries

customApplication

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Custom Applications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CustomApplication

Arguments
Name Description
input - CustomApplicationRefInput!

Example

Query
query ($accountId: ID!, $refInput: CustomApplicationRefInput!) {
  customAppData(accountId: $accountId) {
    customApplication(input: $refInput) {
      __typename
      id
      name
      description
      category {
        id
        name
      }
      criteria {
        protocol
        port
        portRange {
          from
          to
        }
        destination {
          domain
          fqdn
          destinationIp {
            ip
            subnet
            ipRange {
              from
              to
            }
          }
        }
      }
    }
  }
}
Variables
{"accountId": "123456", "refInput": {"by": "ID", "input": "custom-app-id-123"}}
Response
{
  "data": {
    "customAppData": {
      "customApplication": {
        "__typename": "CustomApplication",
        "id": "custom-app-id-123",
        "name": "My Custom App",
        "description": "A sample custom app for testing.",
        "category": [{"id": "security", "name": "Security"}],
        "criteria": [
          {
            "protocol": "TCP",
            "port": [443],
            "portRange": [{"from": 100, "to": 200}],
            "destination": {
              "domain": ["example.com"],
              "fqdn": ["api.example.com"],
              "destinationIp": {
                "ip": ["192.168.1.1"],
                "subnet": ["192.168.1.0/24"],
                "ipRange": [{"from": "192.168.1.1", "to": "192.168.1.100"}]
              }
            }
          }
        ]
      }
    }
  }
}

customApplicationList

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Custom Applications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CustomApplicationListPayload

Arguments
Name Description
input - CustomApplicationListInput!

Example

Query
query ($accountId: ID!, $input: CustomApplicationListInput!) {
  customAppData(accountId: $accountId) {
    customApplicationList(input: $input) {
      items {
        id
        name
        description
        category {
          id
          name
        }
        criteria {
          protocol
          port
          portRange {
            from
            to
          }
          destination {
            domain
            fqdn
            destinationIp {
              ip
              subnet
              ipRange {
                from
                to
              }
            }
          }
        }
      }
      paging {
        total
      }
    }
  }
}
Variables
{
  "accountId": "123456",
  "input": {"filter": [], "sort": {}, "paging": {"limit": 10}}
}
Response
{
  "data": {
    "customAppData": {
      "customApplicationList": {
        "items": [
          {
            "id": "custom-app-id-123",
            "name": "My Custom App",
            "description": "A sample custom app for testing",
            "category": [{"id": "security", "name": "Security"}],
            "criteria": [
              {
                "protocol": "TCP",
                "port": [443],
                "portRange": [{"from": 100, "to": 200}],
                "destination": {
                  "domain": ["example.com"],
                  "fqdn": ["api.example.com"],
                  "destinationIp": {
                    "ip": ["192.168.1.1"],
                    "subnet": ["192.168.1.0/24"],
                    "ipRange": [{"from": "192.168.1.1", "to": "192.168.1.100"}]
                  }
                }
              }
            ]
          }
        ],
        "paging": {"total": 1}
      }
    }
  }
}

DevicesQueries

attributesCatalog

Beta
Required Permissions

This API requires access to the following permissions:

Asset Management

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DeviceAttributesCatalogQueries!

Example

Query
query DeviceAttributesCatalog(
    $accountId: ID!,
    $categorySort: SortOrderInput,
    $typeInput: DeviceAttributeCatalogInput,
    $osInput: DeviceAttributeCatalogInput,
    $modelInput: DeviceAttributeCatalogInput,
    $manufacturerInput: DeviceAttributeCatalogInput
) {
    devices(accountId: $accountId) {
        attributesCatalog {
            category(sort: $categorySort) {
                items
                pageInfo {
                    total
                }
            }
            type(input: $typeInput) {
                items
                pageInfo {
                    total
                }
            }
            os(input: $osInput) {
                items
                pageInfo {
                    total
                }
            }
            model(input: $modelInput) {
                items
                pageInfo {
                    total
                }
            }
            manufacturer(input: $manufacturerInput) {
                items
                pageInfo {
                    total
                }
            }
        }
    }
}
Variables
{
  "accountId": "1",
  "categorySort": {"direction": "ASC"},
  "typeInput": {"sort": {"direction": "ASC"}, "paging": {"limit": 100000}},
  "modelInput": {"sort": {"direction": "ASC"}, "paging": {"limit": 100000}},
  "osInput": {"sort": {"direction": "ASC"}, "paging": {"limit": 100000}},
  "manufacturerInput": {
    "sort": {"direction": "ASC"},
    "paging": {"limit": 100000}
  }
}
Response
{
  "data": {
    "devices": {
      "attributesCatalog": {
        "category": {
          "items": ["IoT", "Mobile", "Networking", "OT", "PC", "Server"],
          "pageInfo": {"total": 6}
        },
        "type": {
          "items": [
            "Desktop",
            "Laptop",
            "SD-WAN",
            "Virtual Machine",
            "Workstation"
          ],
          "pageInfo": {"total": 5}
        },
        "os": {
          "items": ["Linux", "Windows", "Windows Workstation", "macOS"],
          "pageInfo": {"total": 4}
        },
        "model": {
          "items": [
            "",
            "X1500",
            "vSocket AWS",
            "vSocket Azure",
            "vSocket ESX",
            "vSocket GCP"
          ],
          "pageInfo": {"total": 6}
        },
        "manufacturer": {
          "items": ["Apple", "Cato Networks", "Dell", "Microsoft", "VMware"],
          "pageInfo": {"total": 5}
        }
      }
    }
  }
}

csvExport

Beta
Required Permissions

This API requires access to the following permissions:

Asset Management

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an ExportJobResponse!

Arguments
Name Description
input - DeviceCsvExportInput

Example

Query
query RequestExport($accountId: ID!) {
  devices(accountId: $accountId) {
    csvExport {
      jobId
      message
    }
  }
}
Variables
{"accountId": "11097"}
Response
{
  "data": {
    "devices": {
      "csvExport": {
        "jobId": "export-job-12345",
        "message": "CSV export job started successfully"
      }
    }
  }
}

csvExportStatus

Beta
Required Permissions

This API requires access to the following permissions:

Asset Management

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an ExportStatusResponse!

Arguments
Name Description
jobId - ID!

Example

Query
query GetExportStatus($accountId: ID!, $jobId: ID!) {
  devices(accountId: $accountId) {
    csvExportStatus(jobId: $jobId) {
      jobId
      status
      progress
      message
      downloadUrl
      expiresAt
    }
  }
}
Variables
{"accountId": "11097", "jobId": "62514d9c-de95-4e6b-a06d-36bca0f6f1e4"}
Response
{
  "data": {
    "devices": {
      "csvExportStatus": {
        "jobId": "62514d9c-de95-4e6b-a06d-36bca0f6f1e4",
        "status": "COMPLETED",
        "progress": 100,
        "message": "Export completed successfully",
        "downloadUrl": "https://api.example.com/downloads/devices-export-12345.csv",
        "expiresAt": "2023-06-10T15:00:00Z"
      }
    }
  }
}

list

Beta
Required Permissions

This API requires access to the following permissions:

Asset Management

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DevicesPayload

Arguments
Name Description
input - DeviceV2Input

Example

Query
query DevicesTable(
                          $accountId: ID!
                          $filter: [DeviceV2FilterInput!]!
                          $sort: DeviceSortInput!
                          $paging: PagingInput!
                        ) {
                          devices(accountId: $accountId) {
                            list(input: { filter: $filter, sort: $sort, paging: $paging }) {
                              device {
                                ...DeviceInfo
                                __typename
                              }
                              paging {
                                total
                                __typename
                              }
                              __typename
                            }
                            __typename
                          }
                        }
                        
                        fragment DeviceInfo on DeviceV2 {
                          id
                          category
                          lastSeen
                          firstSeen
                          name
                          ip
                          site {
                            id
                            name
                            __typename
                          }
                          os {
                            product
                            version
                            vendor
                            __typename
                          }
                          nic {
                            macAddress
                            __typename
                          }
                          hw {
                            type
                            manufacturer
                            model
                            __typename
                          }
                          networkInfo {
                            __typename
                            ... on SiteNetworkSubnetRef {
                              name
                              __typename
                            }
                            ... on GlobalRangeRef {
                              name
                              __typename
                            }
                          }
                          user {
                            name
                            __typename
                          }
                          __typename
                        }
                        
Variables
{
  "accountId": "000000",
  "paging": {"from": 0, "limit": 25},
  "filter": [
    {
      "lastSeen": [
        {"between": ["2025-08-30T08:08:47.032Z", "2025-09-01T08:08:47.032Z"]}
      ]
    }
  ],
  "sort": {}
}
Response
{
  "data": {
    "devices": {
      "__typename": "DevicesQueries",
      "list": {
        "device": [
          {
            "id": "dev000000000000000000001",
            "category": "PC",
            "lastSeen": "2025-09-01T07:53:32.000Z",
            "firstSeen": "2025-08-05T08:15:53.000Z",
            "name": "User-001-LM-IL",
            "ip": "10.0.1.1",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6.1",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:01:01",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000002",
            "category": "PC",
            "lastSeen": "2025-09-01T07:53:32.000Z",
            "firstSeen": "2025-07-24T11:04:47.000Z",
            "name": "User-002-LM-IL",
            "ip": "10.0.1.2",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6.1",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:01:02",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000003",
            "category": "PC",
            "lastSeen": "2025-09-01T07:53:29.000Z",
            "firstSeen": "2025-07-23T14:00:46.000Z",
            "name": "User-003-LM-IL",
            "ip": "10.0.1.3",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6.1",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:01:03",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000004",
            "category": "PC",
            "lastSeen": "2025-09-01T07:53:29.000Z",
            "firstSeen": "2025-08-05T07:51:57.000Z",
            "name": "User-004-LM-CZ",
            "ip": "10.0.2.4",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6.1",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:02:04",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000005",
            "category": "PC",
            "lastSeen": "2025-09-01T07:53:20.000Z",
            "firstSeen": "2025-07-23T13:38:49.000Z",
            "name": "User-005-LM-CZ",
            "ip": "10.0.2.5",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:02:05",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000006",
            "category": "PC",
            "lastSeen": "2025-09-01T07:52:39.000Z",
            "firstSeen": "2025-07-23T13:59:36.000Z",
            "name": "User-006-LM-IL",
            "ip": "10.0.3.6",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "14.7.7",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:03:06",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000007",
            "category": "PC",
            "lastSeen": "2025-09-01T07:52:39.000Z",
            "firstSeen": "2025-08-18T14:43:09.000Z",
            "name": "User-007-LM-IL",
            "ip": "10.0.3.7",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6.1",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:03:07",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000008",
            "category": "PC",
            "lastSeen": "2025-09-01T07:52:35.000Z",
            "firstSeen": "2025-07-24T09:47:49.000Z",
            "name": "User-008-LM-IL",
            "ip": "10.0.3.8",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "14.7.8",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:03:08",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000009",
            "category": "PC",
            "lastSeen": "2025-09-01T07:52:35.000Z",
            "firstSeen": "2025-07-25T12:49:50.000Z",
            "name": "User-009-LM-UA",
            "ip": "10.0.3.9",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "14.7.7",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:03:09",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000010",
            "category": "PC",
            "lastSeen": "2025-09-01T07:52:33.000Z",
            "firstSeen": "2025-07-24T07:38:12.000Z",
            "name": "User-010-LM-IL",
            "ip": "10.0.4.10",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:04:10",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000011",
            "category": "PC",
            "lastSeen": "2025-09-01T07:51:16.000Z",
            "firstSeen": "2025-08-05T08:00:13.000Z",
            "name": "User-011-LM-IL",
            "ip": "10.0.4.11",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6.1",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:04:11",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000012",
            "category": "PC",
            "lastSeen": "2025-09-01T07:51:16.000Z",
            "firstSeen": "2025-07-25T05:56:36.000Z",
            "name": "User-012-LM-JP",
            "ip": "10.0.4.12",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "14.7.8",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:04:12",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000013",
            "category": "PC",
            "lastSeen": "2025-09-01T07:50:42.000Z",
            "firstSeen": "2025-07-24T08:00:31.000Z",
            "name": "User-013-LM-IL",
            "ip": "10.0.5.13",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6.1",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:05:13",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000014",
            "category": "PC",
            "lastSeen": "2025-09-01T07:50:41.000Z",
            "firstSeen": "2025-07-27T07:19:33.000Z",
            "name": "User-014-LM-IL",
            "ip": "10.0.5.14",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:05:14",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000015",
            "category": "PC",
            "lastSeen": "2025-09-01T07:50:16.000Z",
            "firstSeen": "2025-07-24T07:22:25.000Z",
            "name": "User-015-LM-IL",
            "ip": "10.0.5.15",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6.1",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:05:15",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000016",
            "category": "PC",
            "lastSeen": "2025-09-01T07:50:06.000Z",
            "firstSeen": "2025-07-24T11:22:08.000Z",
            "name": "User-016-LM-IL",
            "ip": "10.0.6.16",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "14.7.8",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:06:16",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000017",
            "category": "PC",
            "lastSeen": "2025-09-01T07:49:52.000Z",
            "firstSeen": "2025-07-24T07:38:40.000Z",
            "name": "User-017-LM-IL",
            "ip": "10.0.6.17",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6.1",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:06:17",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000018",
            "category": "PC",
            "lastSeen": "2025-09-01T07:48:51.000Z",
            "firstSeen": "2025-07-24T12:34:20.000Z",
            "name": "User-018-LM-IL",
            "ip": "10.0.6.18",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:06:18",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000019",
            "category": "PC",
            "lastSeen": "2025-09-01T07:47:53.000Z",
            "firstSeen": "2025-07-27T13:47:18.000Z",
            "name": "User-019-LM-IL",
            "ip": "10.0.7.19",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6.1",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:07:19",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000020",
            "category": "PC",
            "lastSeen": "2025-09-01T07:47:48.000Z",
            "firstSeen": "2025-07-24T07:35:50.000Z",
            "name": "User-020-LM-IL",
            "ip": "10.0.7.20",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6.1",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:07:20",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000021",
            "category": "PC",
            "lastSeen": "2025-09-01T07:46:56.000Z",
            "firstSeen": "2025-07-24T07:31:12.000Z",
            "name": "User-021-LM-IL",
            "ip": "10.0.7.21",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "14.7.8",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:07:21",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000022",
            "category": "PC",
            "lastSeen": "2025-09-01T07:46:48.000Z",
            "firstSeen": "2025-07-24T13:43:54.000Z",
            "name": "User-022-LM-IL",
            "ip": "10.0.8.22",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6.1",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:08:22",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000023",
            "category": "PC",
            "lastSeen": "2025-09-01T07:46:45.000Z",
            "firstSeen": "2025-07-27T12:57:17.000Z",
            "name": "User-023-LM-IL",
            "ip": "10.0.8.23",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6.1",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:08:23",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000024",
            "category": "PC",
            "lastSeen": "2025-09-01T07:46:42.000Z",
            "firstSeen": "2025-07-24T13:43:54.000Z",
            "name": "User-024-LM-IL",
            "ip": "10.0.8.24",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6.1",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:08:24",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          },
          {
            "id": "dev000000000000000000025",
            "category": "PC",
            "lastSeen": "2025-09-01T07:46:42.000Z",
            "firstSeen": "2025-07-23T14:55:25.000Z",
            "name": "User-025-LM-IL",
            "ip": "10.0.8.25",
            "site": null,
            "os": {
              "product": "macOS",
              "version": "15.6.1",
              "vendor": null,
              "__typename": "DeviceOs"
            },
            "nic": {
              "macAddress": "XX:XX:XX:XX:08:25",
              "__typename": "DeviceNic"
            },
            "hw": {
              "type": "Laptop",
              "manufacturer": "Apple",
              "model": "MacBook Pro",
              "__typename": "DeviceHw"
            },
            "networkInfo": null,
            "user": null,
            "__typename": "DeviceV2"
          }
        ],
        "paging": {"total": 529, "__typename": "PageInfo"},
        "__typename": "DevicesPayload"
      }
    }
  }
}

EnterpriseDirectoryQueries

locationList

Beta
Description

Retrieve the account location items

Required Permissions

This API requires access to the following permissions:

Enterprise Directory

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - EnterpriseDirectoryLocationListInput

Example

Query
query getEDLocations($accountID:ID!, $input: EnterpriseDirectoryLocationListInput!) {
  enterpriseDirectory(accountId:$accountID) {
  locationList( input: $input ) {
    items {
      id
      name
      type
      description
      archived
      account {
        id
      }
      details{
        companyName
        postalAddress{
            cityName
            country {
                name
                id
            }
            address1
            stateName
            zipCode
            addressValidated
        }
        vatId
        contact{
          name
          phone
          email
        }
      }
    }
    pageInfo{
      total
    }
  }
  }
}
Variables
{
  "accountID": "123456",
  "input": {
    "filter": {"countryCode": [{"in": ["FR"]}]},
    "sort": {"name": {"direction": "ASC", "priority": 0}},
    "paging": {"limit": 1, "from": 0}
  }
}
Response
{
  "data": {
    "enterpriseDirectory": {
      "locationList": {
        "items": [
          {
            "id": "312be4ca-2b21-4144-99e4-8a0c43dd6cee",
            "account": {"id": "123456", "name": ""},
            "name": "test",
            "type": "BRANCH",
            "description": "test",
            "archived": false,
            "details": {
              "companyName": "Angelina",
              "postalAddress": {
                "cityName": "Paris",
                "address1": "226 rue de rivoli",
                "country": {"id": "fr", "name": "france"},
                "stateName": "",
                "zipCode": "75009",
                "addressValidated": "VALID"
              },
              "vatId": "",
              "contact": {
                "name": "Angelina",
                "phone": "55422348",
                "email": "Angelina@gmail.com"
              }
            }
          }
        ],
        "pageInfo": {"total": 10}
      }
    }
  }
}

ExternalAccessQueries

incomingAccessRequestList

Beta
Description

List account access requests for managed accounts.

Required Permissions

This API requires access to at least one of the following permissions:

External Access Partner External Access

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns an IncomingAccessRequestListPayload

Arguments
Name Description
input - IncomingAccessRequestListInput

Example

Query
query incomingAccessRequestList($accountId: ID!, $input: IncomingAccessRequestListInput!) {
  externalAccess(accountId: $accountId) {
    incomingAccessRequestList(input: $input) {
      items {
        id
        activeDate
        expirationDate
        note
        partner {
          id
          name
        }
        reason
        requestedDate
        status
        permissions {
          permissions {
            action
            resource
          }
        }
        isAppliedOnAllFullyManagedAccounts
      }
      paging {
        total
      }
    }        
  }
}
Variables
{
  "accountId": "123456",
  "input": {
    "paging": {"limit": 10, "from": 0},
    "filter": {"status": {"eq": "PENDING"}},
    "sort": {"requestedDate": {"direction": "DESC"}}
  }
}
Response
{
  "data": {
    "externalAccess": {
      "incomingAccessRequestList": {
        "items": [
          {
            "id": "175519",
            "activeDate": "2025-02-04T06:44:52.000Z",
            "expirationDate": "2027-02-04T06:44:51.894Z",
            "note": "",
            "partner": {"id": "1", "name": "Cato"},
            "reason": "",
            "requestedDate": "2025-02-04T06:44:52.000Z",
            "status": "ACTIVE",
            "permissions": {
              "permissions": [{"action": "EDIT", "resource": "NetworkRules"}]
            },
            "isAppliedOnAllFullyManagedAccounts": false
          }
        ],
        "paging": {"total": 1}
      }
    }
  }
}

partnerAccessRequestList

Beta
Description

List account access requests for partners.

Required Permissions

This API requires access to the following permissions:

Partner External Access

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PartnerAccessRequestListPayload

Arguments
Name Description
input - PartnerAccessRequestListInput

Example

Query
query partnerAccessRequestList($accountId: ID!, $input: PartnerAccessRequestListInput!) {
  externalAccess(accountId: $accountId) {
    partnerAccessRequestList(input: $input) {
     items {
        id
        partner {
          id
          name
        }
        requestedDate
        expirationDate
        status
        reason
        partnerNote
        account {
          id
          name
        }
        admins {
          id
          name
        }
        roles {
          id
          name
        }
        activeDate
        groups {
          id
          name
        }
        isAppliedOnAllFullyManagedAccounts
      }
      paging {
        total
      }
    }
  }
}
Variables
{
  "accountId": "123456",
  "input": {
    "paging": {"limit": 10, "from": 0},
    "filter": {"status": {"eq": "ACTIVE"}},
    "sort": {"requestedDate": {"direction": "DESC"}}
  }
}
Response
{
  "data": {
    "externalAccess": {
      "partnerAccessRequestList": {
        "items": [
          {
            "id": "67b4435d3810833e71967008",
            "partner": {"id": "123456", "name": "PartnerLevel1"},
            "requestedDate": "2025-02-18T08:22:51.222Z",
            "expirationDate": "2125-02-18T08:22:51.216Z",
            "status": "ACTIVE",
            "reason": "Partner (Reseller) access",
            "partnerNote": null,
            "account": {"id": "225067", "name": "PartnerLevel3"},
            "admins": [
              {"id": "93593", "name": "a a"},
              {"id": "94767", "name": "a b"}
            ],
            "roles": [{"id": "24", "name": "Reseller Editor"}],
            "activeDate": "2025-02-18T08:22:53.231Z",
            "groups": [],
            "isAppliedOnAllFullyManagedAccounts": false
          }
        ],
        "paging": {"total": 1}
      }
    }
  }
}

GroupsQueries

group

Beta
Description

Get a specific group configuration. The group can be identified by ID or name.

Required Permissions

This API requires access to the following permissions:

Groups

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a Group

Arguments
Name Description
input - GroupRefInput!

Example

Query
query Group($accountId: ID!, $groupRefInput: GroupRefInput!, $groupMembersListInput: GroupMembersListInput!) {
    groups(accountId: $accountId) {
        group(input: $groupRefInput) {
            id
            name
            description
            membersCount
            members(input: $groupMembersListInput) {
                items {
                    id
                    name
                    type
                }
                paging {
                    total
                }
            }              
            membersCountPerType {
                type
                membersCount
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "groupRefInput": {"by": "NAME", "input": "group-1"},
  "groupMembersListInput": {"paging": {"limit": 10}}
}
Response
{
  "data": {
    "groups": {
      "group": {
        "id": "12345",
        "name": "group-1",
        "description": "group of sites and hosts",
        "membersCount": 2,
        "members": {
          "items": [
            {"id": "67890", "name": "site-1", "type": "SITE"},
            {"id": "67891", "name": "host-1", "type": "HOST"}
          ],
          "paging": {"total": 2}
        },
        "membersCountPerType": [
          {"type": "HOST", "membersCount": 1},
          {"type": "SITE", "membersCount": 1}
        ]
      }
    }
  }
}

groupList

Beta
Description

Get a list of groups, with optional filters and sorting. This query only returns basic information for each group (e.g. name, ID). To view full configuration details, including members, use the group query for each result.

Required Permissions

This API requires access to the following permissions:

Groups

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a GroupListPayload

Arguments
Name Description
input - GroupListInput
Default
{paging: {from: 0, limit: 100}, sort: {name: {direction: ASC, priority: 1}}}

Example

Query
query Group($accountId: ID!, $groupListInput: GroupListInput) {
    groups(accountId: $accountId) {
        groupList(input: $groupListInput) {
            items {
                id
                name
                description
                membersCount
                membersCountPerType {
                    type
                    membersCount
                }
                audit {
                    updatedTime
                }
            },
            paging {
                total
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "groupListInput": {"sort": {"audit": {"updatedTime": {"direction": "DESC"}}}}
}
Response
{
  "data": {
    "groups": {
      "items": [
        {
          "id": "12345",
          "name": "group-1",
          "description": "group of sites and hosts",
          "membersCount": 2,
          "membersCountPerType": [
            {"type": "HOST", "membersCount": 1},
            {"type": "SITE", "membersCount": 1}
          ],
          "audit": {"updatedTime": "2023-10-01T12:00:00Z"}
        }
      ],
      "paging": {"total": 1}
    }
  }
}

whereUsed

Beta
Description

Check which policies use the group.

Required Permissions

This API requires access to the following permissions:

Groups

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a GroupWhereUsedPayload

Arguments
Name Description
input - GroupRefInput!

Example

Query
query GroupWhereUsed($accountID: ID!, $input: GroupRefInput!) {
    groups(accountId: $accountID) {
        whereUsed(input: $input) {
            used
            invalidMemberTypes {
                type
                scope {
                    type
                    field
                }
            }
        }
    }
}
Variables
{"accountID": "12345", "input": {"input": "ABC12345"}}
Response
{
  "data": {
    "groups": {
      "whereUsed": {
        "used": true,
        "invalidMemberTypes": [],
        "usage": [{"type": "internetFirewall", "field": ["source"]}]
      }
    }
  }
}

HardwareManagementQueries

socketInventory

Beta
Description

Retrieve the account socket inventory

Required Permissions

This API requires access to the following permissions:

Sockets Inventory

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SocketInventoryPayload!

Arguments
Name Description
input - SocketInventoryInput

Example

Query
query socketInventory($accountId: ID!, $input: SocketInventoryInput!) {
    hardwareManagement(accountId: $accountId) {
        socketInventory(input: $input) {
            items {
                id
                status
                serialNumber
                socketMac
                socketVersion
                site {
                    id
                    name
                }
                account {
                    id
                    name
                }
                shippingDate
                socketType
                trackingUrl
                trackingNumber
                shippingCompany
                deliverySiteName
                description
                hardwareVersion
            }
            pageInfo {
        total
      }
        }
    }
}
Variables
{
  "accountId": "123456",
  "input": {
    "paging": {"limit": 25, "from": 0},
    "filter": {"freeText": {"search": "search"}},
    "sort": {"deliverySiteName": {"direction": "ASC"}}
  }
}
Response
{
  "data": {
    "hardwareManagement": {
      "socketInventory": {
        "items": [
          {
            "id": "111111",
            "status": "DELIVERED",
            "serialNumber": "987654321",
            "socketMac": "00-B0-D0-63-C2-26",
            "socketVersion": "13.0.11395",
            "site": {"id": "010101", "name": "exampleSite"},
            "account": {"id": "123456", "name": "exampleAccount"},
            "shippingDate": "2024-05-22T08:36:58Z",
            "socketType": "X1500",
            "trackingUrl": "https://fedex.com/1111111",
            "trackingNumber": "1111111",
            "shippingCompany": "fedex",
            "deliverySiteName": "exampleWarehouse",
            "description": "example description",
            "hardwareVersion": "X1500"
          },
          {
            "id": "2222222",
            "status": "SHIPPED",
            "serialNumber": "123456789",
            "socketMac": "00-B0-D0-63-C2-27",
            "socketVersion": "13.0.11395",
            "site": {"id": "0202", "name": "exampleSite2"},
            "account": {"id": "123456", "name": "exampleAccount"},
            "shippingDate": "2024-05-22T08:36:58Z",
            "socketType": "X1700",
            "trackingUrl": "https://ups.com/2222222",
            "trackingNumber": "2222222",
            "shippingCompany": "ups",
            "deliverySiteName": "exampleWarehouse2",
            "description": "example description 2",
            "hardwareVersion": "X1500"
          }
        ],
        "pageInfo": {"total": 2}
      }
    }
  }
}

socketInventoryDistribution

Beta Rollout
Description

Retrieve socket inventory distribution grouped by type and hardware version

Required Permissions

This API requires access to the following permissions:

Sockets Inventory

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - SocketInventoryDistributionInput

Example

Query
query socketInventoryDistribution($accountId: ID!, $input: SocketInventoryDistributionInput) {
    hardwareManagement(accountId: $accountId) {
        socketInventoryDistribution(input: $input) {
            items {
                socketType
                hardwareVersion
                count
            }
        }
    }
}
Variables
{
  "accountId": "123456",
  "input": {
    "filter": {
      "orderType": ["REFRESH"],
      "status": ["ORDERED"],
      "freeText": {"search": "x1700"}
    }
  }
}
Response
{
  "data": {
    "hardwareManagement": {
      "socketInventoryDistribution": {
        "items": [
          {"socketType": "X1700", "hardwareVersion": "X1700B", "count": 12},
          {"socketType": "X1500", "hardwareVersion": null, "count": 5}
        ]
      }
    }
  }
}

HardwareQueries

countHardwareByStatus

Beta
Description

Count of hardware items by shipping status

Required Permissions

This API requires access to the following permissions:

Sockets Inventory

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a StatusCount

Example

Query
query hardware($accountID:ID!) {
  hardware(accountId:$accountID) {
  countHardwareByStatus{
    PENDING_INFO
    CONFIRM_SHIPPING
    IN_TRANSIT
    DELIVERED
  }
  }
}
Variables
{"accountID": "26361"}
Response
{
  "data": {
    "hardware": {
      "__typename": "HardwareQueries",
      "countHardwareByStatus": {
        "PENDING_INFO": 205,
        "CONFIRM_SHIPPING": 5,
        "IN_TRANSIT": 0,
        "DELIVERED": 43,
        "__typename": "StatusCount"
      }
    }
  }
}

hardware

Beta
Description

Retrieve the account hardware items

Required Permissions

This API requires access to the following permissions:

Sockets Inventory

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a HardwarePayload

Arguments
Name Description
input - HardwareSearchInput

Example

Query
query hardware($accountID:ID!, $input: HardwareSearchInput!) {
  hardware(accountId:$accountID) {
  hardware( input: $input ) {
    items {
      id
      account {
        id
      }
      shippingDetail{
        cityName
        countryName
        street
        powerCable
        zipCode
      }
      validation{
        addressValidationStatus
      }
    }
    pageInfo{
      total
    }
  }
  }
}
Variables
{
  "accountID": "26361",
  "input": {
    "filter": {"countryName": [{"in": ["France"]}], "product": []},
    "sort": {"licenseStartDate": {"direction": "ASC", "priority": 0}}
  }
}
Response
{
  "data": {
    "hardware": {
      "hardware": {
        "items": [
          {
            "id": "4179d060-ea44-4c9d-a175-958c2b19d971",
            "account": {
              "id": "10036494",
              "name": "",
              "__typename": "AccountRef"
            },
            "siteCountryName": "Netherlands",
            "siteSFId": "a4O08000002SvzB",
            "sfId": "a1a0800000z14aQAAQ",
            "licenseId": "LIC-BW-7717-000021",
            "quoteId": "quote1",
            "licenseStartDate": "2023-08-01",
            "productType": "Socket",
            "serialNumber": "2305100839",
            "model": "Cato Socket X1500 (HA)",
            "lastModified": "2024-11-21T10:37:21.647Z",
            "shippingTracking": {
              "trackingNumber": "GE958808541NL",
              "trackingUrl": "<a href=\"https://www.tnt.com/express/en_nl/site/shipping-tools/tracking.html?searchType=con&amp;cons=GE958808541NL\" target=\"_blank\">Track HW-045393</a>",
              "shippingStatus": "PENDING_INFO",
              "shippingDate": "2023-08-10",
              "__typename": "ShippingTracking"
            },
            "shippingDetail": {
              "companyName": "",
              "street": "",
              "cityName": "",
              "countryName": "",
              "stateName": "",
              "zipCode": "",
              "incoterms": "",
              "instruction": "",
              "vatId": "",
              "contact": {
                "name": "",
                "phone": "",
                "email": "",
                "__typename": "ContactDetails"
              },
              "comment": "",
              "powerCable": "C14",
              "__typename": "ShippingDetails"
            },
            "validation": {
              "completed": false,
              "incompleteReason": "Missing company name",
              "addressValidationStatus": "NA",
              "__typename": "HardwareValidation"
            },
            "__typename": "Hardware"
          },
          {
            "id": "775c6827-b3c1-4921-880b-7c59ed6e0154",
            "account": {
              "id": "10036494",
              "name": "",
              "__typename": "AccountRef"
            },
            "siteCountryName": "Belgium",
            "siteSFId": "a4O08000002Svzq",
            "sfId": "a1a0800000z14ajAAA",
            "licenseId": "LIC-BW-7717-000001",
            "quoteId": "quote1",
            "licenseStartDate": "2023-11-01",
            "productType": "Socket",
            "serialNumber": "2324100210",
            "model": "Cato Socket X1700 (Main)",
            "lastModified": "2024-11-21T10:37:21.750Z",
            "shippingTracking": {
              "trackingNumber": "10273779",
              "trackingUrl": "",
              "shippingStatus": "PENDING_INFO",
              "shippingDate": "2023-10-31",
              "__typename": "ShippingTracking"
            },
            "shippingDetail": {
              "companyName": "",
              "street": "",
              "cityName": "",
              "countryName": "",
              "stateName": "",
              "zipCode": "",
              "incoterms": "",
              "instruction": "",
              "vatId": "",
              "contact": {
                "name": "",
                "phone": "",
                "email": "",
                "__typename": "ContactDetails"
              },
              "comment": "",
              "powerCable": "C14",
              "__typename": "ShippingDetails"
            },
            "validation": {
              "completed": false,
              "incompleteReason": "Missing company name",
              "addressValidationStatus": "NA",
              "__typename": "HardwareValidation"
            },
            "__typename": "Hardware"
          }
        ],
        "pageInfo": {"total": 10}
      }
    }
  }
}

LicensingQueries

licensingInfo

Beta
Description

BETA

Required Permissions

This API requires access to at least one of the following permissions:

License Partner Licenses

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns a LicensingInfo

Example

Query
query licensingInfo($accountId: ID!) {
  licensing(accountId: $accountId) {
    licensingInfo {
      atp {
        sku
      }
      dem {
        sku
        total
        __typename
      }
      casb {
        sku
        plan
        status
        expirationDate
        __typename
      }
      dataLake {
        sku
        total
        dpaVersion
        __typename
      }
      pooledBandwidth {
        sku
        plan
        status
        expirationDate
        startDate
        total
        siteLicenseGroup
        siteLicenseType
        allocatedBandwidth
        sites {
          site {
            id
            name
          }
          allocatedBandwidth
        }
        __typename
      }
      site {
        sku
        plan
        status
        expirationDate
        startDate
        total
        siteLicenseGroup
        siteLicenseType
        site {
          id
          name
        }
        __typename
      }
      globalLicenseAllocations {
        publicIps {
          total
          allocated
          available
          __typename
        }
        ztnaUsers {
          total
          allocated
          available
          __typename
        }
      }
    }
  }
}
Variables
{"accountId": "123"}
Response
{
  "data": {
    "licensing": {
      "licensingInfo": {
        "atp": [],
        "dem": [{"sku": "CATO_DEM", "total": 10, "__typename": "DemLicense"}],
        "casb": [
          {
            "sku": "CATO_CASB",
            "plan": "COMMERCIAL",
            "status": "ACTIVE",
            "expirationDate": "2026-02-02T00:00:00.000Z",
            "__typename": "CasbLicense"
          }
        ],
        "dataLake": [
          {
            "sku": "CATO_DATALAKE_3M",
            "total": 1,
            "dpaVersion": "DPA_2023_01",
            "__typename": "DataLakeLicense"
          }
        ],
        "pooledBandwidth": [
          {
            "sku": "CATO_PB",
            "plan": "COMMERCIAL",
            "status": "ACTIVE",
            "expirationDate": "2024-07-04T00:00:00.000Z",
            "startDate": "2024-03-31T00:00:00.000Z",
            "total": 250,
            "siteLicenseGroup": "GROUP_2",
            "siteLicenseType": "SASE",
            "allocatedBandwidth": 50,
            "sites": [
              {
                "site": {"id": "456", "name": "Tokyo"},
                "allocatedBandwidth": 20
              },
              {
                "site": {"id": "789", "name": "Sydney"},
                "allocatedBandwidth": 30
              }
            ],
            "__typename": "PooledBandwidthLicense"
          }
        ],
        "site": [
          {
            "sku": "CATO_SITE",
            "plan": "COMMERCIAL",
            "status": "ACTIVE",
            "expirationDate": "2025-04-30T00:00:00.000Z",
            "startDate": "2024-04-24T21:00:00.000Z",
            "total": 100,
            "siteLicenseGroup": "GROUP_1",
            "siteLicenseType": "SASE",
            "site": {"id": "123", "name": "London"},
            "__typename": "SiteLicense"
          }
        ],
        "globalLicenseAllocations": {
          "publicIps": {
            "total": 3,
            "allocated": 0,
            "available": 3,
            "__typename": "PublicIpsLicenseAllocations"
          },
          "ztnaUsers": {
            "total": 65,
            "allocated": 5,
            "available": 60,
            "__typename": "ZtnaUsersLicenseAllocations"
          }
        }
      }
    }
  }
}

NetworkConfigDhcpQueries

option

Beta Rollout
Description

A single DHCP option, by id or description.

Required Permissions

This API requires access to the following permissions:

Dhcp Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a NetworkConfigDhcpOption

Arguments
Name Description
input - NetworkConfigDhcpOptionRefInput!

Example

Query
query networkConfigDhcpOption($accountId: ID!, $input: NetworkConfigDhcpOptionRefInput!) {
    networkConfig(accountId: $accountId) {
        dhcp {
            option(input: $input) {
                id
                tag
                value
                description
                type
            }
        }
    }
}
Variables
{"accountId": "12345", "input": {"by": "NAME", "input": "TFTP boot server"}}
Response
{
  "data": {
    "networkConfig": {
      "dhcp": {
        "option": {
          "id": "RGhjcE9wdGlvbjE=",
          "tag": 66,
          "value": "10.20.0.5",
          "description": "TFTP boot server",
          "type": "IP"
        }
      }
    }
  }
}

optionList

Beta Rollout
Description

The account's DHCP options.

Required Permissions

This API requires access to the following permissions:

Dhcp Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDhcpOptionListInput!
Default
{paging: {from: 0, limit: 100}, sort: {tag: {direction: ASC, priority: 1}}}

Example

Query
query networkConfigDhcpOptionList($accountId: ID!, $input: NetworkConfigDhcpOptionListInput!) {
    networkConfig(accountId: $accountId) {
        dhcp {
            optionList(input: $input) {
                items {
                    id
                    tag
                    value
                    description
                    type
                }
                paging {
                    total
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "filter": {"tag": {"in": [66]}},
    "sort": {"tag": {"direction": "ASC", "priority": 1}},
    "paging": {"from": 0, "limit": 100}
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dhcp": {
        "optionList": {
          "items": [
            {
              "id": "RGhjcE9wdGlvbjE=",
              "tag": 66,
              "value": "10.20.0.5",
              "description": "TFTP boot server",
              "type": "IP"
            }
          ],
          "paging": {"total": 1}
        }
      }
    }
  }
}

relayGroup

Beta Rollout
Description

A single DHCP relay group, by id or name.

Required Permissions

This API requires access to the following permissions:

Dhcp Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a NetworkConfigDhcpRelayGroup

Arguments
Name Description
input - NetworkConfigDhcpRelayGroupRefInput!

Example

Query
query networkConfigDhcpRelayGroup($accountId: ID!, $input: NetworkConfigDhcpRelayGroupRefInput!) {
    networkConfig(accountId: $accountId) {
        dhcp {
            relayGroup(input: $input) {
                id
                name
                server
            }
        }
    }
}
Variables
{"accountId": "12345", "input": {"by": "NAME", "input": "Branch Relay Servers"}}
Response
{
  "data": {
    "networkConfig": {
      "dhcp": {
        "relayGroup": {
          "id": "RGhjcFJlbGF5R3JvdXA3",
          "name": "Branch Relay Servers",
          "server": ["10.20.0.20", "10.20.0.21"]
        }
      }
    }
  }
}

relayGroupList

Beta Rollout
Description

The account's DHCP relay-group catalog.

Required Permissions

This API requires access to the following permissions:

Dhcp Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDhcpRelayGroupListInput!
Default
{paging: {from: 0, limit: 100}, sort: {name: {direction: ASC, priority: 1}}}

Example

Query
query networkConfigDhcpRelayGroupList($accountId: ID!, $input: NetworkConfigDhcpRelayGroupListInput!) {
    networkConfig(accountId: $accountId) {
        dhcp {
            relayGroupList(input: $input) {
                items {
                    id
                    name
                    server
                }
                paging {
                    total
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "filter": {"name": {"in": ["Branch Relay Servers"]}},
    "sort": {"name": {"direction": "ASC", "priority": 1}},
    "paging": {"from": 0, "limit": 100}
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dhcp": {
        "relayGroupList": {
          "items": [
            {
              "id": "RGhjcFJlbGF5R3JvdXA3",
              "name": "Branch Relay Servers",
              "server": ["10.20.0.20", "10.20.0.21"]
            }
          ],
          "paging": {"total": 1}
        }
      }
    }
  }
}

settings

Beta Rollout
Description

The account-level DHCP settings.

Required Permissions

This API requires access to the following permissions:

Dhcp Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a NetworkConfigDhcpSettings

Example

Query
query networkConfigDhcpSettings($accountId: ID!) {
    networkConfig(accountId: $accountId) {
        dhcp {
            settings {
                relay {
                    enabled
                    timeout
                    group {
                        id
                        name
                    }
                }
                leaseTime
            }
        }
    }
}
Variables
{"accountId": "12345"}
Response
{
  "data": {
    "networkConfig": {
      "dhcp": {
        "settings": {
          "relay": {
            "enabled": true,
            "timeout": 30,
            "group": {
              "id": "RGhjcFJlbGF5R3JvdXA3",
              "name": "Branch Relay Servers"
            }
          },
          "leaseTime": 86400
        }
      }
    }
  }
}

NetworkConfigDnsQueries

forwardingRule

Beta Rollout
Description

A single DNS forwarding rule, by id or domain.

Required Permissions

This API requires access to the following permissions:

Dns Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a NetworkConfigDnsForwardingRule

Arguments
Name Description
input - NetworkConfigDnsForwardingRuleRefInput!

Example

Query
query networkConfigDnsForwardingRule($accountId: ID!, $input: NetworkConfigDnsForwardingRuleRefInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            forwardingRule(input: $input) {
                id
                domain
                server
            }
        }
    }
}
Variables
{"accountId": "12345", "input": {"by": "NAME", "input": "internal.example.com"}}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "forwardingRule": {
          "id": "4546e01d-4446-4e8a-8346-dcf74246db64",
          "domain": "internal.example.com",
          "server": ["203.0.113.53"]
        }
      }
    }
  }
}

forwardingRuleList

Beta Rollout
Description

The account's DNS forwarding rules.

Required Permissions

This API requires access to the following permissions:

Dns Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsForwardingRuleListInput!
Default
{paging: {from: 0, limit: 100}, sort: {domain: {direction: ASC, priority: 1}}}

Example

Query
query networkConfigDnsForwardingRuleList($accountId: ID!, $input: NetworkConfigDnsForwardingRuleListInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            forwardingRuleList(input: $input) {
                items {
                    id
                    domain
                    server
                }
                paging {
                    total
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "filter": {"domain": {"in": ["internal.example.com"]}},
    "sort": {"domain": {"direction": "ASC", "priority": 1}},
    "paging": {"from": 0, "limit": 100}
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "forwardingRuleList": {
          "items": [
            {
              "id": "a28016e3-a180-4550-a480-1a09a3801876",
              "domain": "internal.example.com",
              "server": ["203.0.113.53"]
            }
          ],
          "paging": {"total": 3}
        }
      }
    }
  }
}

serverSet

Beta Rollout
Description

A single DNS server set, by id or name.

Required Permissions

This API requires access to the following permissions:

Dns Dhcp Profiles

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a NetworkConfigDnsServerSet

Arguments
Name Description
input - NetworkConfigDnsServerSetRefInput!

Example

Query
query networkConfigDnsServerSet($accountId: ID!, $input: NetworkConfigDnsServerSetRefInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            serverSet(input: $input) {
                id
                name
                server
                audit {
                    updatedTime
                    updatedBy {
                        __typename
                        ... on AdminRef {
                            id
                            name
                        }
                        ... on ApiKeyRef {
                            id
                            name
                        }
                    }
                }
            }
        }
    }
}
Variables
{"accountId": "12345", "input": {"by": "NAME", "input": "Corporate DNS"}}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "serverSet": {
          "id": "RG5zU2VydmVyU2V0Nw==",
          "name": "Corporate DNS",
          "server": ["10.20.0.10", "10.20.0.11"],
          "audit": {
            "updatedTime": "2026-08-02T14:31:07Z",
            "updatedBy": {
              "__typename": "AdminRef",
              "id": "18294",
              "name": "dana.cohen@example.com"
            }
          }
        }
      }
    }
  }
}

serverSetList

Beta Rollout
Description

The account's DNS server sets.

Required Permissions

This API requires access to the following permissions:

Dns Dhcp Profiles

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsServerSetListInput!
Default
{paging: {from: 0, limit: 100}, sort: {name: {direction: ASC, priority: 1}}}

Example

Query
query networkConfigDnsServerSetList($accountId: ID!, $input: NetworkConfigDnsServerSetListInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            serverSetList(input: $input) {
                items {
                    id
                    name
                    server
                    audit {
                        updatedTime
                        updatedBy {
                            __typename
                            ... on AdminRef {
                                id
                                name
                            }
                            ... on ApiKeyRef {
                                id
                                name
                            }
                        }
                    }
                }
                paging {
                    total
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "filter": {"name": {"in": ["Corporate DNS"]}},
    "sort": {"name": {"direction": "ASC", "priority": 1}},
    "paging": {"from": 0, "limit": 100}
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "serverSetList": {
          "items": [
            {
              "id": "RG5zU2VydmVyU2V0Nw==",
              "name": "Corporate DNS",
              "server": ["10.20.0.10", "10.20.0.11"],
              "audit": {
                "updatedTime": "2026-08-02T14:31:07Z",
                "updatedBy": {
                  "__typename": "AdminRef",
                  "id": "18294",
                  "name": "dana.cohen@example.com"
                }
              }
            }
          ],
          "paging": {"total": 1}
        }
      }
    }
  }
}

settings

Beta Rollout
Description

The account-level DNS settings.

Required Permissions

This API requires access to the following permissions:

Dns Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a NetworkConfigDnsSettings

Example

Query
query networkConfigDnsSettings($accountId: ID!) {
    networkConfig(accountId: $accountId) {
        dns {
            settings {
                primaryServer
                secondaryServer
                suffix
                acceptDnsRequestsOnLanInterfaceIp
            }
        }
    }
}
Variables
{"accountId": "12345"}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "settings": {
          "primaryServer": "192.0.2.1",
          "secondaryServer": "192.0.2.2",
          "suffix": ["example.com"],
          "acceptDnsRequestsOnLanInterfaceIp": true
        }
      }
    }
  }
}

siteSettings

Beta Rollout
Description

The site's DNS override, or null if the site inherits the account default.

Required Permissions

This API requires access to the following permissions:

Dns Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a NetworkConfigDnsSiteSettings

Arguments
Name Description
site - SiteRefInput!

Example

Query
query networkConfigDnsSiteSettings($accountId: ID!, $site: SiteRefInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            siteSettings(site: $site) {
                siteId
                primaryServer
                secondaryServer
                suffix
            }
        }
    }
}
Variables
{"accountId": "12345", "site": {"by": "ID", "input": "98765"}}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "siteSettings": {
          "siteId": "98765",
          "primaryServer": "192.0.2.1",
          "secondaryServer": "192.0.2.2",
          "suffix": ["example.com"]
        }
      }
    }
  }
}

suffixSet

Beta Rollout
Description

A single DNS suffix set, by id or name.

Required Permissions

This API requires access to the following permissions:

Dns Dhcp Profiles

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a NetworkConfigDnsSuffixSet

Arguments
Name Description
input - NetworkConfigDnsSuffixSetRefInput!

Example

Query
query networkConfigDnsSuffixSet($accountId: ID!, $input: NetworkConfigDnsSuffixSetRefInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            suffixSet(input: $input) {
                id
                name
                suffix
                audit {
                    updatedTime
                    updatedBy {
                        __typename
                        ... on AdminRef {
                            id
                            name
                        }
                        ... on ApiKeyRef {
                            id
                            name
                        }
                    }
                }
            }
        }
    }
}
Variables
{"accountId": "12345", "input": {"by": "ID", "input": "RG5zU3VmZml4U2V0Mw=="}}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "suffixSet": {
          "id": "RG5zU3VmZml4U2V0Mw==",
          "name": "Corporate Suffixes",
          "suffix": ["corp.example.com", "eu.corp.example.com"],
          "audit": {
            "updatedTime": "2026-08-02T14:31:07Z",
            "updatedBy": {
              "__typename": "AdminRef",
              "id": "18294",
              "name": "dana.cohen@example.com"
            }
          }
        }
      }
    }
  }
}

suffixSetList

Beta Rollout
Description

The account's DNS suffix sets.

Required Permissions

This API requires access to the following permissions:

Dns Dhcp Profiles

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsSuffixSetListInput!
Default
{paging: {from: 0, limit: 100}, sort: {name: {direction: ASC, priority: 1}}}

Example

Query
query networkConfigDnsSuffixSetList($accountId: ID!, $input: NetworkConfigDnsSuffixSetListInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            suffixSetList(input: $input) {
                items {
                    id
                    name
                    suffix
                    audit {
                        updatedTime
                        updatedBy {
                            __typename
                            ... on AdminRef {
                                id
                                name
                            }
                            ... on ApiKeyRef {
                                id
                                name
                            }
                        }
                    }
                }
                paging {
                    total
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "filter": {"name": {"in": ["Corporate Suffixes"]}},
    "sort": {"name": {"direction": "ASC", "priority": 1}},
    "paging": {"from": 0, "limit": 100}
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "suffixSetList": {
          "items": [
            {
              "id": "RG5zU3VmZml4U2V0Mw==",
              "name": "Corporate Suffixes",
              "suffix": ["corp.example.com", "eu.corp.example.com"],
              "audit": {
                "updatedTime": "2026-08-02T14:31:07Z",
                "updatedBy": {
                  "__typename": "AdminRef",
                  "id": "18294",
                  "name": "dana.cohen@example.com"
                }
              }
            }
          ],
          "paging": {"total": 1}
        }
      }
    }
  }
}

NotificationSubscriptionQueries

mailingList

Description

Retrieves details of a specific Mailing List

Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a MailingList

Arguments
Name Description
input - MailingListRefInput!

Example

Query
query NotificationMailingList($accountId: ID!) {
    notification(accountId: $accountId) {
        mailingList(input: {
            by: ID
            input: "example-id"
        }) {
            id
            name
            type
            address
            admin {
                id
            }
            audit {
                updatedTime
                updatedBy {
                    name
                }
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "mailingList": {
        "id": "example-id",
        "name": "Security Team",
        "type": "SPECIFIC_EMAILS",
        "address": ["security-lead@example.com", "soc-analyst@example.com"],
        "admin": [{"id": "example-id"}],
        "audit": {
          "updatedBy": {"__typename": "AdminRef", "name": "admin@example.com"},
          "updatedTime": "2025-01-15T10:30:00Z"
        }
      }
    }
  }
}

mailingListList

Description

Retrieves all Mailing Lists available in the account.

Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a MailingListListPayload!

Example

Query
query NotificationMailingListList($accountId: ID!) {
    notification(accountId: $accountId) {
        mailingListList {
            items {
                id
                name
                type
                address
                admin {
                    id
                }
                audit {
                    updatedTime
                    updatedBy {
                        name
                    }
                }
            }
            paging {
                total
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "mailingListList": {
        "items": [
          {
            "id": "example-id",
            "name": "Security Team",
            "type": "SPECIFIC_EMAILS",
            "address": ["security-lead@example.com", "soc-analyst@example.com"],
            "admin": [{"id": "example-id"}],
            "audit": {
              "updatedBy": {
                "__typename": "AdminRef",
                "name": "admin@example.com"
              },
              "updatedTime": "2025-01-15T10:30:00Z"
            }
          },
          {
            "id": "example-id",
            "name": "Network Operations",
            "type": "SPECIFIC_EMAILS",
            "address": ["noc@example.com"],
            "admin": [],
            "audit": {
              "updatedBy": {
                "__typename": "AdminRef",
                "name": "admin@example.com"
              },
              "updatedTime": "2025-03-10T08:00:00Z"
            }
          }
        ],
        "paging": {"total": 2}
      }
    }
  }
}

subscriptionGroup

Description

Retrieves details of a specific Subscription Group for the account. Subscription Groups combine Mailing Lists and integrations (including webhooks) for sending notifications.

Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SubscriptionGroup

Arguments
Name Description
input - SubscriptionGroupRefInput!

Example

Query
query NotificationSubscriptionGroup($accountId: ID!) {
    notification(accountId: $accountId) {
        subscriptionGroup(input: {
            by: ID
            input: "example-id"
        }) {
            id
            name
            mailingList {
                id
                name
                type
                address
            }
            integration {
                webhookList {
                    id
                    name
                    enabled
                    url
                    requestMethod
                }
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "subscriptionGroup": {
        "id": "example-id",
        "name": "Critical Alerts",
        "mailingList": [
          {
            "id": "example-id",
            "name": "Security Team",
            "type": "SPECIFIC_EMAILS",
            "address": ["security-lead@example.com", "soc-analyst@example.com"]
          }
        ],
        "integration": {
          "webhookList": [
            {
              "id": "example-id",
              "name": "Slack Security Channel",
              "enabled": true,
              "url": "https://hooks.slack.com/services/example",
              "requestMethod": "POST"
            }
          ]
        }
      }
    }
  }
}

subscriptionGroupList

Description

Retrieves list of Subscription Groups for the account. Subscription Groups combine Mailing Lists and integrations (including webhooks) for sending notifications

Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SubscriptionGroupListPayload!

Example

Query
query NotificationSubscriptionGroupList($accountId: ID!) {
    notification(accountId: $accountId) {
        subscriptionGroupList {
            items {
                id
                name
                mailingList {
                    id
                    name
                }
                integration {
                    webhookList {
                        id
                        name
                        enabled
                        url
                    }
                }
            }
            paging {
                total
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "subscriptionGroupList": {
        "items": [
          {
            "id": "example-id",
            "name": "Critical Alerts",
            "mailingList": [{"id": "example-id", "name": "Security Team"}],
            "integration": {
              "webhookList": [
                {
                  "id": "example-id",
                  "name": "Slack Security Channel",
                  "enabled": true,
                  "url": "https://hooks.slack.com/services/example"
                }
              ]
            }
          },
          {
            "id": "example-id",
            "name": "Network Notifications",
            "mailingList": [{"id": "example-id", "name": "Network Operations"}],
            "integration": {"webhookList": []}
          }
        ],
        "paging": {"total": 2}
      }
    }
  }
}

IntegrationQueries

referenceBodyTemplate

Description

Retrieves specific webhook reference body template.

Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a WebhookReferenceBodyTemplate

Arguments
Name Description
input - WebhookTemplateRefInput!

Example

Query
query NotificationReferenceBodyTemplate($accountId: ID!) {
    notification(accountId: $accountId) {
        integration {
            referenceBodyTemplate(input: {
                by: NAME
                input: "ServiceNow - Create Incident"
            }) {
                id
                name
                bodyTemplate
                url
                requestMethod
                header {
                    name
                    value
                }
                responseMapping {
                    key
                    value
                }
                webhookRelationType
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "integration": {
        "referenceBodyTemplate": {
          "id": "example-id",
          "name": "ServiceNow - Create Incident",
          "bodyTemplate": "{\"short_description\": \"$alertTypeName\", \"description\": \"$alertMessage\", \"urgency\": \"1\"}",
          "url": "https://instance.service-now.com/api/now/table/incident",
          "requestMethod": "POST",
          "header": [{"name": "Content-Type", "value": "application/json"}],
          "responseMapping": [
            {"key": "correlationId", "value": "result.sys_id"}
          ],
          "webhookRelationType": "CREATE"
        }
      }
    }
  }
}

referenceBodyTemplateList

Description

Retrieves all available webhook reference body templates.

Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
query NotificationReferenceBodyTemplateList($accountId: ID!) {
    notification(accountId: $accountId) {
        integration {
            referenceBodyTemplateList {
                items {
                    id
                    name
                    bodyTemplate
                    url
                    requestMethod
                    header {
                        name
                        value
                    }
                    responseMapping {
                        key
                        value
                    }
                    webhookRelationType
                }
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "integration": {
        "referenceBodyTemplateList": {
          "items": [
            {
              "id": "example-id",
              "name": "ServiceNow - Create Incident",
              "bodyTemplate": "{\"short_description\": \"$alertTypeName\", \"description\": \"$alertMessage\", \"urgency\": \"1\"}",
              "url": "https://instance.service-now.com/api/now/table/incident",
              "requestMethod": "POST",
              "header": [{"name": "Content-Type", "value": "application/json"}],
              "responseMapping": [
                {"key": "correlationId", "value": "result.sys_id"}
              ],
              "webhookRelationType": "CREATE"
            },
            {
              "id": "example-id",
              "name": "Slack - Post Message",
              "bodyTemplate": "{\"text\": \"$alertTypeName: $alertMessage\"}",
              "url": "https://hooks.slack.com/services/your/webhook/url",
              "requestMethod": "POST",
              "header": [],
              "responseMapping": [],
              "webhookRelationType": null
            }
          ]
        }
      }
    }
  }
}

webhook

Description

Retrieves details of the specified webhook.

Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a Webhook

Arguments
Name Description
input - WebhookIntegrationRefInput!

Example

Query
query NotificationWebhook($accountId: ID!) {
    notification(accountId: $accountId) {
        integration {
            webhook(input: {
                by: ID
                input: "example-id"
            }) {
                id
                name
                enabled
                url
                requestMethod
                header {
                    name
                    value
                }
                body
                responseMapping {
                    key
                    value
                }
                relatedWebhookId
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "integration": {
        "webhook": {
          "id": "example-id",
          "name": "Slack Security Channel",
          "enabled": true,
          "url": "https://hooks.slack.com/services/example",
          "requestMethod": "POST",
          "header": [{"name": "Content-Type", "value": "application/json"}],
          "body": "{\"text\": \"$alertTypeName - $alertMessage\"}",
          "responseMapping": [],
          "relatedWebhookId": null
        }
      }
    }
  }
}

webhookFields

Description

Retrieves all available webhook integration available custom fields

Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a WebhookFieldsPayload

Example

Query
query NotificationWebhookFields($accountId: ID!) {
    notification(accountId: $accountId) {
        integration {
            webhookFields {
                bodyFields
                urlFields
                headerFields
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "integration": {
        "webhookFields": {
          "bodyFields": [
            "$accountId",
            "$accountName",
            "$alertTypeName",
            "$alertMessage",
            "$alertTime",
            "$alertSeverity",
            "$correlationId"
          ],
          "urlFields": ["$accountId", "$correlationId"],
          "headerFields": ["$accountId", "$correlationId"]
        }
      }
    }
  }
}

webhookList

Description

Retrieves all webhooks configured on the account.

Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a WebhookListPayload!

Example

Query
query NotificationWebhookList($accountId: ID!) {
    notification(accountId: $accountId) {
        integration {
            webhookList {
                items {
                    id
                    name
                    enabled
                    url
                    requestMethod
                    header {
                        name
                        value
                    }
                    body
                    responseMapping {
                        key
                        value
                    }
                    relatedWebhookId
                }
                paging {
                    total
                }
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "integration": {
        "webhookList": {
          "items": [
            {
              "id": "example-id",
              "name": "Slack Security Channel",
              "enabled": true,
              "url": "https://hooks.slack.com/services/example",
              "requestMethod": "POST",
              "header": [{"name": "Content-Type", "value": "application/json"}],
              "body": "{\"text\": \"$alertTypeName - $alertMessage\"}",
              "responseMapping": [],
              "relatedWebhookId": null
            },
            {
              "id": "example-id",
              "name": "ServiceNow Create Incident",
              "enabled": true,
              "url": "https://instance.service-now.com/api/now/table/incident",
              "requestMethod": "POST",
              "header": [],
              "body": "{\"short_description\": \"$alertTypeName\", \"description\": \"$alertMessage\"}",
              "responseMapping": [
                {"key": "correlationId", "value": "result.sys_id"}
              ],
              "relatedWebhookId": null
            }
          ],
          "paging": {"total": 2}
        }
      }
    }
  }
}

ObjectQueries

globalIpRange

Beta
Description

Retrieves a specific global IP range by reference.

Required Permissions

This API requires access to the following permissions:

Global I P Ranges

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a GlobalIpRange

Arguments
Name Description
input - GlobalIpRangeRefInput!

Example

Query
query globalIpRange($accountId: ID!, $input: GlobalIpRangeRefInput!) {
  object(accountId: $accountId) {
    globalIpRange(input: $input) {
      id
      name
      description
      ipRange
    }
  }
}
Variables
{"accountId": "123", "input": {"by": "ID", "input": "1"}}
Response
{
  "data": {
    "object": {
      "globalIpRange": {
        "id": "1",
        "name": "DC Network",
        "description": "Primary data center CIDR range",
        "ipRange": "10.0.0.0/24"
      }
    }
  }
}

globalIpRangeList

Beta
Description

Retrieves all global IP ranges configured for the account.

Required Permissions

This API requires access to the following permissions:

Global I P Ranges

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a GlobalIpRangeListPayload

Arguments
Name Description
input - GlobalIpRangeListInput

Example

Query
query globalIpRangeList($accountId: ID!, $input: GlobalIpRangeListInput) {
  object(accountId: $accountId) {
    globalIpRangeList(input: $input) {
      items {
        id
        name
        description
        ipRange
      }
      total
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {"filter": {"ipRange": {"containedIn": "10.0.0.0/8"}}}
}
Response
{
  "data": {
    "object": {
      "globalIpRangeList": {
        "items": [
          {
            "id": "1",
            "name": "DC Network",
            "description": "Primary data center CIDR range",
            "ipRange": "10.0.0.0/24"
          },
          {
            "id": "4",
            "name": "DHCP Pool",
            "description": "Inclusive IP range",
            "ipRange": "10.0.0.10-10.0.0.20"
          }
        ],
        "total": 2
      }
    }
  }
}

PolicyQueries

antiMalwareFileHash

Beta
Required Permissions

This API requires access to the following permissions:

Anti Malware

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AntiMalwareFileHashPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            antiMalwareFileHash {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {
      "antiMalwareFileHash": {"__typename": "AntiMalwareFileHashPolicyQueries"}
    }
  }
}

appTenantRestriction

Beta
Required Permissions

This API requires access to the following permissions:

Application Control

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AppTenantRestrictionPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            appTenantRestriction {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {
      "appTenantRestriction": {
        "__typename": "AppTenantRestrictionPolicyQueries"
      }
    }
  }
}

applicationControl

Beta
Required Permissions

This API requires access to the following permissions:

Application Control

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an ApplicationControlPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            applicationControl {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {
      "applicationControl": {"__typename": "ApplicationControlPolicyQueries"}
    }
  }
}

clientConnectivity

Beta
Required Permissions

This API requires access to the following permissions:

Client Connectivity Policy

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a ClientConnectivityPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            clientConnectivity {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {
      "clientConnectivity": {"__typename": "ClientConnectivityPolicyQueries"}
    }
  }
}

dynamicIpAllocation

Beta
Required Permissions

This API requires access to the following permissions:

SDP IP Allocation Policy

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
query {
        policy(accountId: "42") {
            dynamicIpAllocation {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {
      "dynamicIpAllocation": {"__typename": "DynamicIpAllocationPolicyQueries"}
    }
  }
}

internetFirewall

Beta
Required Permissions

This API requires access to the following permissions:

Internet Firewall

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an InternetFirewallPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            internetFirewall {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {
      "internetFirewall": {"__typename": "InternetFirewallPolicyQueries"}
    }
  }
}

privateAccess

Beta
Required Permissions

This API requires access to the following permissions:

Private Access Policy

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PrivateAccessPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            privateAccess {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"privateAccess": {"__typename": "PrivateAccessPolicyQueries"}}
  }
}

remotePortFwd

Beta
Required Permissions

This API requires access to the following permissions:

Remote Port Forwarding

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a RemotePortFwdPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            remotePortFwd {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"remotePortFwd": {"__typename": "RemotePortFwdPolicyQueries"}}
  }
}

siteWebProxy

Beta
Required Permissions

This API requires access to the following permissions:

Site Web Proxy

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SiteWebProxyPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            siteWebProxy {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"siteWebProxy": {"__typename": "SiteWebProxyPolicyQueries"}}
  }
}

socketBypass

Beta
Required Permissions

This API requires access to the following permissions:

Socket Bypass

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SocketBypassPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            socketBypass {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"socketBypass": {"__typename": "SocketBypassPolicyQueries"}}
  }
}

socketLan

Beta
Required Permissions

This API requires access to the following permissions:

Socket LAN Network

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SocketLanPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            socketLan {
                __typename
            }
        }
    }
Variables
{}
Response
{"data": {"policy": {"socketLan": {"__typename": "SocketLanPolicyQueries"}}}}

splitTunnel

Beta
Required Permissions

This API requires access to the following permissions:

SDP Split Tunnel

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SplitTunnelPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            splitTunnel {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"splitTunnel": {"__typename": "SplitTunnelPolicyQueries"}}
  }
}

terminalServer

Beta
Required Permissions

This API requires access to the following permissions:

User Awareness

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a TerminalServerPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            terminalServer {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"terminalServer": {"__typename": "TerminalServerPolicyQueries"}}
  }
}

tlsInspect

Beta
Required Permissions

This API requires access to the following permissions:

TLS Inspection

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a TlsInspectPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            tlsInspect {
                __typename
            }
        }
    }
Variables
{}
Response
{"data": {"policy": {"tlsInspect": {"__typename": "TlsInspectPolicyQueries"}}}}

wanFirewall

Beta
Required Permissions

This API requires access to the following permissions:

WAN Firewall

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a WanFirewallPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            wanFirewall {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"wanFirewall": {"__typename": "WanFirewallPolicyQueries"}}
  }
}

wanNetwork

Beta
Required Permissions

This API requires access to the following permissions:

Network Rules

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a WanNetworkPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            wanNetwork {
                __typename
            }
        }
    }
Variables
{}
Response
{"data": {"policy": {"wanNetwork": {"__typename": "WanNetworkPolicyQueries"}}}}

ztnaAlwaysOn

Beta
Required Permissions

This API requires access to the following permissions:

Always On Policy

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a ZtnaAlwaysOnPolicyQueries

Example

Query
query {
        policy(accountId: "42") {
            ztnaAlwaysOn {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"ztnaAlwaysOn": {"__typename": "ZtnaAlwaysOnPolicyQueries"}}
  }
}

PopLocationQueries

allocatedIpList

Beta
Description

Returns a paginated list of allocated IP addresses for PoP locations, with optional filters.

Required Permissions

This API requires access to at least one of the following permissions:

IP Allocation Byoip

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PopLocationAllocatedIpPayload

Arguments
Name Description
input - PopLocationAllocatedIpInput

Example

Query
query allocatedIpList($accountId: ID!, $input: PopLocationAllocatedIpInput) {
  popLocations(accountId: $accountId) {
    allocatedIpList(input: $input) {
      allocatedIp {
        id
        ip
        description
        allocationType
        popLocation {
          id
          name
        }
      }
      paging {
        total
      }
    }
  }
}
Variables
{"accountId": "123", "input": {"filter": {"allocationType": {"eq": "SYSTEM"}}}}
Response
{
  "data": {
    "popLocations": {
      "allocatedIpList": {
        "allocatedIp": [
          {
            "id": "1234",
            "ip": "203.0.113.10",
            "description": "primary London address",
            "allocationType": "SYSTEM",
            "popLocation": {"id": "456", "name": "London-1"}
          },
          {
            "id": "allocated-ip-2",
            "ip": "203.0.113.11",
            "description": "Secondary London address",
            "allocationType": "SYSTEM",
            "popLocation": {"id": "456", "name": "London-1"}
          }
        ],
        "paging": {"total": 2}
      }
    }
  }
}

bgpProfile

Beta
Required Permissions

This API requires access to the following permissions:

Byoip

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PopLocationBgpProfile

Arguments
Name Description
id - ID!

Example

Query
query bgpProfile($accountId: ID!, $id: ID!) {
  popLocations(accountId: $accountId) {
    bgpProfile(id: $id) {
      id
      name
      description
      communities {
        from
        to
      }
      createdAt
      lastUpdatedAt
    }
  }
}
Variables
{"accountId": "123", "id": "bgp-profile-123"}
Response
{
  "data": {
    "popLocations": {
      "bgpProfile": {
        "id": "bgp-profile-123",
        "name": "Primary transit communities",
        "description": "Communities used for primary transit advertisements",
        "communities": [{"from": 64512, "to": 64512}],
        "createdAt": "2026-07-20T09:00:00Z",
        "lastUpdatedAt": "2026-07-20T09:00:00Z"
      }
    }
  }
}

bgpProfileList

Beta
Required Permissions

This API requires access to the following permissions:

Byoip

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
query bgpProfileList($accountId: ID!) {
  popLocations(accountId: $accountId) {
    bgpProfileList {
      items {
        id
        name
        description
        communities {
          from
          to
        }
        createdAt
        lastUpdatedAt
      }
    }
  }
}
Variables
{"accountId": "123"}
Response
{
  "data": {
    "popLocations": {
      "bgpProfileList": {
        "items": [
          {
            "id": "bgp-profile-123",
            "name": "Primary transit communities",
            "description": "Communities used for primary transit advertisements",
            "communities": [{"from": 64512, "to": 64512}],
            "createdAt": "2026-07-20T09:00:00Z",
            "lastUpdatedAt": "2026-07-20T09:00:00Z"
          }
        ]
      }
    }
  }
}

popLocationList

Beta
Required Permissions

This API requires access to the following permissions:

Authentication

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PopLocationPayload

Arguments
Name Description
input - PopLocationFilterInput

Example

Query
query popLocationList($accountId: ID!, $input: PopLocationFilterInput) {
  popLocations(accountId: $accountId) {
    popLocationList(input: $input) {
      items {
        id
        name
        displayName
        country {
          id
          name
        }
        isPrivate
        cloudInterconnect {
          taggingMethod
          providerName
        }
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {"isPrivate": {"eq": false}, "primary": {"eq": true}}
}
Response
{
  "data": {
    "popLocations": {
      "popLocationList": {
        "items": [
          {
            "id": "456",
            "name": "London-1",
            "displayName": "London Primary",
            "country": {"id": "GB", "name": "United Kingdom"},
            "isPrivate": false,
            "cloudInterconnect": [
              {"taggingMethod": "DOT1Q", "providerName": "Equinix"},
              {"taggingMethod": "QINQ", "providerName": "Equinix"}
            ]
          },
          {
            "id": "lon2",
            "name": "London-2",
            "displayName": "London Secondary",
            "country": {"id": "gb", "name": "United Kingdom"},
            "isPrivate": false,
            "cloudInterconnect": [
              {"taggingMethod": "DOT1Q", "providerName": "Equinix"}
            ]
          }
        ]
      }
    }
  }
}

PostureQueries

accountSummaryList

Beta
Description

A Posture summary for each account visible to the caller (partner-level view). Each item contains the account ID, name, and current Account Score.

Required Permissions

This API requires access to the following permissions:

Partner Dashboard

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - PostureAccountSummaryListInput Optional sort settings for the account summaries.

Example

Query
query postureAccountSummaryList($accountId: ID!, $input: PostureAccountSummaryListInput) {
    posture(accountId: $accountId) {
        accountSummaryList(input: $input) {
            items {
                account {
                    id
                }
                score
            }
            paging {
                total
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {"sort": {"score": {"direction": "DESC", "priority": 1}}}
}
Response
{
  "data": {
    "posture": {
      "accountSummaryList": {
        "items": [{"account": {"id": "2001"}, "score": 87}],
        "paging": {"total": 1}
      }
    }
  }
}

categoryList

Beta
Description

Posture Check categories available in this account.

Required Permissions

This API requires access to the following permissions:

Posture Check Catalog

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PostureCategoryListPayload

Arguments
Name Description
input - PostureCategoryListInput Optional sort settings for the categories.

Example

Query
query postureCategoryList($accountId: ID!, $input: PostureCategoryListInput) {
    posture(accountId: $accountId) {
        categoryList(input: $input) {
            items {
                id
                name
                area {
                    id
                    name
                }
                isChecksHiddenInCatalog
                rbacPermission
                isExcludedFromPostureScore
                resultsTtlDays
            }
            paging {
                total
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {"sort": {"name": {"direction": "ASC", "priority": 1}}}
}
Response
{"data": {"posture": {"categoryList": {"items": [], "paging": {"total": 0}}}}}

checkResultList

Beta
Description

A paged list of Posture Check results for the account, with optional filtering and sorting.

Required Permissions

This API requires access to the following permissions:

Posture

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PostureCheckResultListPayload

Arguments
Name Description
input - PostureCheckResultListInput! Filter, sort, and paging settings for the check results.

Example

Query
query postureCheckResultList($accountId: ID!, $input: PostureCheckResultListInput!) {
    posture(accountId: $accountId) {
        checkResultList(input: $input) {
            items {
                definition {
                    id
                    scoreMetadata {
                        effectiveAreaCriticality
                        effectiveBlastRadiusValue
                        effectiveBlastRadiusClass
                        effectiveFindingsSignal
                        effectiveSuggestedScore
                        effectiveSuggestedSeverity
                        effectiveSeverity
                        scoreContributionPct
                    }
                }
                result {
                    id
                }
                findings {
                    id
                }
                findingsCount {
                    breakdown {
                        muteStatus
                        resolutionStatus
                        count
                    }
                    openFindingsAppInstanceBreakdown {
                        muteStatus
                        appInstance
                        count
                    }
                }
                events {
                    id
                }
                comparisons {
                    comparisonType
                    comparisonValue
                    percentile
                }
            }
            paging {
                total
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "sort": {"severity": {"direction": "DESC", "priority": 1}},
    "paging": {"from": 0, "limit": 50}
  }
}
Response
{
  "data": {
    "posture": {"checkResultList": {"items": [], "paging": {"total": 0}}}
  }
}

checkSummary

Beta
Description

A summary of Posture Check results for the account, including the overall Account Score and per-dimension breakdowns.

Required Permissions

This API requires access to the following permissions:

Posture

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PostureCheckSummaryPayload

Arguments
Name Description
input - PostureCheckSummaryInput Optional check filters and threshold for classifying checks as new.

Example

Query
query postureCheckSummary($accountId: ID!, $input: PostureCheckSummaryInput) {
    posture(accountId: $accountId) {
        checkSummary(input: $input) {
            summary {
                score
                counts {
                    total
                    passed
                    failed
                    disabled
                    newCount
                }
                categoryBreakdown {
                    key
                    name
                    score
                    counts {
                        total
                        passed
                        failed
                        disabled
                        newCount
                    }
                }
                areaBreakdown {
                    key
                    name
                    score
                    counts {
                        total
                        passed
                        failed
                        disabled
                        newCount
                    }
                    categoryBreakdown {
                        key
                        name
                        score
                        counts {
                            total
                            passed
                            failed
                            disabled
                            newCount
                        }
                    }
                }
                applicationBreakdown {
                    key
                    name
                    score
                    counts {
                        total
                        passed
                        failed
                        disabled
                        newCount
                    }
                }
                securityDomainBreakdown {
                    key
                    name
                    score
                    counts {
                        total
                        passed
                        failed
                        disabled
                        newCount
                    }
                }
                complianceFrameworkBreakdown {
                    key
                    name
                    score
                    counts {
                        total
                        passed
                        failed
                        disabled
                        newCount
                    }
                    complianceControlBreakdown {
                        key
                        score
                        counts {
                            total
                            passed
                            failed
                            disabled
                            newCount
                        }
                        control {
                            framework
                            key
                            title
                            description
                        }
                    }
                }
                complianceControlBreakdown {
                    key
                    name
                    score
                    counts {
                        total
                        passed
                        failed
                        disabled
                        newCount
                    }
                }
                checkTypeBreakdown {
                    key
                    name
                    score
                    counts {
                        total
                        passed
                        failed
                        disabled
                        newCount
                    }
                }
                severityBreakdown {
                    key
                    name
                    score
                    counts {
                        total
                        passed
                        failed
                        disabled
                        newCount
                    }
                }
                evaluatedAt
                comparisons {
                    comparisonType
                    comparisonValue
                    average
                    percentile
                }
                overallEffectiveAreaCriticality
                overallEffectiveBlastRadius
                overallEffectiveFindingsSignal
            }
        }
    }
}
Variables
{"accountId": "12345", "input": {"newCheckDaysThreshold": 7}}
Response
{
  "data": {
    "posture": {
      "checkSummary": {
        "summary": {
          "score": 82,
          "counts": {
            "total": 10,
            "passed": 7,
            "failed": 2,
            "disabled": 1,
            "newCount": 1
          },
          "categoryBreakdown": [],
          "areaBreakdown": [],
          "applicationBreakdown": [],
          "securityDomainBreakdown": [],
          "complianceFrameworkBreakdown": [],
          "complianceControlBreakdown": [],
          "checkTypeBreakdown": [],
          "severityBreakdown": [],
          "evaluatedAt": "2025-01-31T12:00:00Z",
          "comparisons": [],
          "overallEffectiveAreaCriticality": 82.4,
          "overallEffectiveBlastRadius": 67.8,
          "overallEffectiveFindingsSignal": 24.6
        }
      }
    }
  }
}

complianceFrameworkList

Beta
Description

Compliance frameworks mapped to Posture checks in this account.

Required Permissions

This API requires access to the following permissions:

Posture

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
query postureComplianceFrameworkList($accountId: ID!) {
    posture(accountId: $accountId) {
        complianceFrameworkList {
            items
            paging {
                total
            }
        }
    }
}
Variables
{"accountId": "12345"}
Response
{
  "data": {
    "posture": {
      "complianceFrameworkList": {"items": ["CIS"], "paging": {"total": 1}}
    }
  }
}

dailySummaryList

Beta
Description

A time-series list of daily Posture summary snapshots for the account, showing how the Account Score and check statistics changed over time. Results are always sorted by snapshot date in descending order (newest first).

Required Permissions

This API requires access to the following permissions:

Posture

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PostureDailySummaryListPayload

Arguments
Name Description
input - PostureDailySummaryListInput! Time-range filter for daily Posture summary snapshots.

Example

Query
query postureDailySummaryList($accountId: ID!, $input: PostureDailySummaryListInput!) {
    posture(accountId: $accountId) {
        dailySummaryList(input: $input) {
            items {
                evaluatedAt
            }
            paging {
                total
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {"filter": {"timeFrame": "utc.2025-01-{01/00:00:00--31/00:00:00}"}}
}
Response
{
  "data": {
    "posture": {
      "dailySummaryList": {
        "items": [{"evaluatedAt": "2025-01-31T00:00:00Z"}],
        "paging": {"total": 1}
      }
    }
  }
}

definitionList

Beta
Description

All available Posture Check definitions from the Posture Check Catalog.

Required Permissions

This API requires access to the following permissions:

Posture Check Catalog

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PostureDefinitionListPayload

Arguments
Name Description
input - PostureDefinitionListInput Optional sort settings for the check definitions.

Example

Query
query postureDefinitionList($accountId: ID!, $input: PostureDefinitionListInput) {
    posture(accountId: $accountId) {
        definitionList(input: $input) {
            items {
                id
                name
                description
                tags
                impact
                recommendedActions {
                    recommendedAction
                    recommendedActionLink {
                        text
                        url
                    }
                }
                suppressedStatus
                category {
                    id
                    name
                }
                domain {
                    id
                    name
                }
                area {
                    id
                    name
                }
                complianceFrameworks
                complianceControls {
                    framework
                    key
                    title
                    description
                }
                application
                checkType
                securityDomain
                scoreMetadata {
                    effectiveAreaCriticality
                    effectiveBlastRadiusValue
                    effectiveBlastRadiusClass
                    effectiveFindingsSignal
                    effectiveSuggestedScore
                    effectiveSuggestedSeverity
                    effectiveSeverity
                    scoreContributionPct
                }
            }
            paging {
                total
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {"sort": {"severity": {"direction": "DESC", "priority": 1}}}
}
Response
{"data": {"posture": {"definitionList": {"items": [], "paging": {"total": 0}}}}}

findingList

Beta
Description

A Paged list of findings for a single check result. Findings are anchored to a mandatory checkId and support paging, sorting and basic filtering.

Required Permissions

This API requires access to the following permissions:

Posture

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PostureFindingListPayload

Arguments
Name Description
input - PostureFindingListInput! Filter, sort, and paging settings for the findings.

Example

Query
query postureFindingList($accountId: ID!, $input: PostureFindingListInput!) {
    posture(accountId: $accountId) {
        findingList(input: $input) {
            items {
                id
                externalId
                checkId
                name
                description
                impact
                impactedEntities {
                    id
                    type
                    name
                }
                additionalInfo {
                    key
                    value
                }
                muteStatus
                muteReason
                mutedAt
                muteDurationInDays
                resolutionStatus
            }
            paging {
                total
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "filter": {"checkId": [{"eq": "check-1"}]},
    "sort": {"severity": {"direction": "DESC", "priority": 1}}
  }
}
Response
{"data": {"posture": {"findingList": {"items": [], "paging": {"total": 0}}}}}

findingSummary

Beta
Description

Aggregated finding counters for the account, broken down across several dimensions. Used to render a grouped findings table: each bucket carries the number of findings behind it, so a group can be expanded into findingList using the same filter.

Required Permissions

This API requires access to the following permissions:

Posture

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PostureFindingSummaryPayload

Arguments
Name Description
input - PostureFindingSummaryInput Optional finding filters and limit for finding-derived breakdown buckets.

Example

Query
query postureFindingSummary($accountId: ID!, $input: PostureFindingSummaryInput) {
    posture(accountId: $accountId) {
        findingSummary(input: $input) {
            summary {
                total
                checkSeverityBreakdown {
                    key
                    name
                    findingCount
                    checkCount
                }
                appInstanceBreakdown {
                    items {
                        key
                        findingCount
                        checkCount
                    }
                    total
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {"filter": {"resolutionStatus": [{"eq": "OPEN"}]}}
}
Response
{
  "data": {
    "posture": {
      "findingSummary": {
        "summary": {
          "total": 0,
          "checkSeverityBreakdown": [],
          "appInstanceBreakdown": {"items": [], "total": 0}
        }
      }
    }
  }
}

SandboxQueries

reports

Beta Rollout
Description

Get a list of sandbox reports

Required Permissions

This API requires access to the following permissions:

Sandbox Reports

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SandboxReportsPayload!

Arguments
Name Description
input - SandboxReportsInput!

Example

Query
query Sandbox($accountId: ID!, $input: SandboxReportsInput!) {
  sandbox(accountId: $accountId) {
    reports(input: $input) {
      report {
        fileName
        fileHash
        status
        verdict
        downloadUrl
        creationDate
        expirationDate
      }
      pageInfo {
        total
      }
    }
  }
}
Variables
{
  "accountId": 12345,
  "input": {
    "filter": {"fileName": {"in": "eicar.zip"}},
    "sort": {"reportCreateDate": {"direction": "DESC"}},
    "paging": {"limit": 20, "from": 0}
  }
}
Response
{
  "data": {
    "sandbox": {
      "reports": {
        "report": [
          {
            "fileName": "eicar.zip",
            "fileHash": "FILE_HASH",
            "status": "READY",
            "verdict": "MALICIOUS",
            "downloadUrl": "DOWNLOAD_URL",
            "creationDate": "2025-01-12T12:41:30.241Z",
            "expirationDate": "2025-02-11T12:42:20.132Z"
          }
        ],
        "pageInfo": {"total": 1}
      }
    }
  }
}

SiteQueries

availableVersionList

Beta
Description

Retrieves available socket versions for the specified platforms.

Required Permissions

This API requires access to the following permissions:

Authentication

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AvailableVersionListPayload

Arguments
Name Description
input - AvailableVersionListInput!

Example

Query
query site($accountId: ID!, $input: AvailableVersionListInput!) {
    site(accountId: $accountId) {
        availableVersionList(input: $input) {
            items {
                platform
                versions
            }
        }
    }
}
Variables
{"accountId": 123, "input": {"platforms": ["X1500", "X1500_BR2", "AZ1500"]}}
Response
{
  "data": {
    "site": {
      "availableVersionList": {
        "items": [
          {"platform": "X1500", "versions": []},
          {"platform": "AZ1500", "versions": ["23.0.19481", "22.0.19284"]},
          {
            "platform": "X1500_BR2",
            "versions": ["23.0.19481", "19.0.33354", "16.0.15740", "15.0.15144"]
          }
        ]
      }
    }
  }
}

bgpPeer

Beta
Description

Retrieves details of a specific BGP peer by reference.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a BgpPeer

Arguments
Name Description
input - BgpPeerRefInput!

Example

Query
query bgpPeer($accountId: ID!, $input: BgpPeerRefInput!) {
    site(accountId: $accountId) {
        bgpPeer(input: $input) {
                site{
                    id
                    name
                }
                id
                name
                peerAsn
                catoAsn
                peerIp
                catoIp
                advertiseDefaultRoute
                advertiseAllRoutes
                advertiseSummaryRoutes
                summaryRoute{
                    id
                    route
                    community{
                        from
                        to
                    }
                }
                defaultAction
                performNat
                md5AuthKey
                metric
                holdTime
                keepaliveInterval
                bfdEnabled
                bfdSettings {
                    transmitInterval
                    receiveInterval
                    multiplier
                }
                tracking{
                    id
                    enabled
                    alertFrequency
                    subscriptionId
                }
            }
    }
}
Variables
{"accountId": 123, "input": {"input": "example peer", "by": "NAME"}}
Response
{
  "data": {
    "site": {
      "bgpPeer": {
        "site": {"id": "456", "name": "test-accept"},
        "id": "13373",
        "name": "example peer",
        "peerAsn": 1,
        "catoAsn": 8,
        "peerIp": "185.0.0.69",
        "catoIp": "185.0.0.1",
        "advertiseDefaultRoute": true,
        "advertiseAllRoutes": false,
        "advertiseSummaryRoutes": false,
        "summaryRoute": [
          {
            "id": "3833",
            "route": "1.6.5.0/25",
            "community": [{"from": 1, "to": 2}, {"from": 1, "to": 3}]
          }
        ],
        "defaultAction": "ACCEPT",
        "performNat": false,
        "md5AuthKey": "2313123",
        "metric": 100,
        "holdTime": 60,
        "keepaliveInterval": 20,
        "bfdEnabled": false,
        "bfdSettings": {
          "transmitInterval": 1000,
          "receiveInterval": 1000,
          "multiplier": 5
        },
        "tracking": {
          "id": "1692",
          "enabled": true,
          "alertFrequency": "DAILY",
          "subscriptionId": "-100"
        }
      }
    }
  }
}

bgpPeerList

Beta
Description

Retrieves a list of all BGP peers associated with the specified site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a BgpPeerListPayload

Arguments
Name Description
input - BgpPeerListInput!

Example

Query
query bgpPeerList($accountId: ID!, $input: BgpPeerListInput!) {
    site(accountId: $accountId) {
        bgpPeerList(input: $input){
            total
            bgpPeer{
                    site{
                    id
                    name
                }
                id
                name
                peerAsn
                catoAsn
                peerIp
                catoIp
                advertiseDefaultRoute
                advertiseAllRoutes
                advertiseSummaryRoutes
                summaryRoute{
                    id
                    route
                    community{
                        from
                        to
                    }
                }
                defaultAction
                performNat
                md5AuthKey
                metric
                holdTime
                keepaliveInterval
                bfdEnabled
                bfdSettings {
                    transmitInterval
                    receiveInterval
                    multiplier
                }
                tracking{
                    id
                    enabled
                    alertFrequency
                    subscriptionId
                }
            }
        }
    }
}
Variables
{"accountId": 123, "input": {"site": {"by": "ID", "input": "456"}}}
Response
{
  "data": {
    "site": {
      "bgpPeerList": {
        "total": 1,
        "bgpPeer": [
          {
            "site": {"id": "456", "name": "test-accept"},
            "id": "13373",
            "name": "example peer",
            "peerAsn": 1,
            "catoAsn": 8,
            "peerIp": "185.0.0.69",
            "catoIp": "185.0.0.1",
            "advertiseDefaultRoute": true,
            "advertiseAllRoutes": false,
            "advertiseSummaryRoutes": false,
            "summaryRoute": [
              {
                "id": "3833",
                "route": "1.6.5.0/25",
                "community": [{"from": 1, "to": 2}, {"from": 1, "to": 3}]
              }
            ],
            "defaultAction": "ACCEPT",
            "performNat": false,
            "md5AuthKey": "2313123",
            "metric": 100,
            "holdTime": 60,
            "keepaliveInterval": 20,
            "bfdEnabled": false,
            "bfdSettings": {
              "transmitInterval": 1000,
              "receiveInterval": 1000,
              "multiplier": 5
            },
            "tracking": {
              "id": "1692",
              "enabled": true,
              "alertFrequency": "DAILY",
              "subscriptionId": "-100"
            }
          }
        ]
      }
    }
  }
}

cloudInterconnectConnectionConnectivity

Beta
Description

Check the L2 connectivity status of a cloud interconnect connection using ICMP.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - CloudInterconnectConnectionConnectivityInput!

Example

Query
query cloudInterconnectConnectionConnectivity($accountId: ID!, $input: CloudInterconnectConnectionConnectivityInput!) {
    site(accountId : $accountId){
        cloudInterconnectConnectionConnectivity(input: $input) {
           success
        }
    }
}
Variables
{"accountId": 128782, "input": {"id": "MzY2MzM0LVBSSU1BUlk="}}
Response
{
  "data": {
    "site": {"cloudInterconnectConnectionConnectivity": {"success": false}}
  }
}

cloudInterconnectPhysicalConnection

Beta
Description

Get details of a physical connection at a cloud interconnect site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - CloudInterconnectPhysicalConnectionInput!

Example

Query
query cloudInterconnectPhysicalConnection($accountId: ID!, $input: CloudInterconnectPhysicalConnectionInput!) {
    site(accountId : $accountId){
        cloudInterconnectPhysicalConnection(input: $input) {
            site{
                id
                name
            }
            haRole
            encapsulationMethod
            subnet
            privateCatoIp
            privateSiteIp
            upstreamBwLimit
            downstreamBwLimit
            popLocation{
                id,
                name
            }
            vlan
            sVlan
            cVlan
        }
    }
}
Variables
{"accountId": 128782, "input": {"id": "NDAwOTU3LVBSSU1BUlk="}}
Response
{
  "data": {
    "site": {
      "cloudInterconnectPhysicalConnection": {
        "site": {"id": "400957", "name": "cloud_interconnect_test_site"},
        "haRole": "PRIMARY",
        "encapsulationMethod": "DOT1Q",
        "subnet": "200.0.2.0/24",
        "privateCatoIp": "200.0.2.19",
        "privateSiteIp": "200.0.2.20",
        "upstreamBwLimit": 100,
        "downstreamBwLimit": 100,
        "popLocation": {
          "id": "10000",
          "name": "Exalt Socket Upgrade Simulator for TestCC2"
        },
        "vlan": 2713,
        "sVlan": 0,
        "cVlan": 0
      }
    }
  }
}

cloudInterconnectPhysicalConnectionId

Beta
Description

Get the ID of a physical connection at a cloud interconnect site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - CloudInterconnectPhysicalConnectionIdInput!

Example

Query
query cloudInterconnectPhysicalConnectionId($accountId: ID!, $input: CloudInterconnectPhysicalConnectionIdInput!) {
    site(accountId : $accountId){
        cloudInterconnectPhysicalConnectionId(input: $input) {
           id
        }
    }
}
Variables
{
  "accountId": 128782,
  "input": {"site": {"by": "ID", "input": "400957"}, "haRole": "PRIMARY"}
}
Response
{
  "data": {
    "site": {
      "cloudInterconnectPhysicalConnectionId": {"id": "NDAwOTU3LVBSSU1BUlk="}
    }
  }
}

knownHostList

Beta
Description

Retrieves the known hosts (DHCP-allocated and discovered hosts) of the specified site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SiteKnownHostListPayload

Arguments
Name Description
input - SiteKnownHostListInput!

Example

Query
query knownHostList($accountId: ID!, $input: SiteKnownHostListInput!) {
    site(accountId: $accountId) {
        knownHostList(input: $input) {
            knownHost {
                hostName
                ip
                macAddress
                dhcpRange
                networkRange {
                    name
                    subnet
                }
                ipAllocationType
                lastActivitySeconds
                leaseTimeSeconds
                expiresInSeconds
                identity
                operatingSystem
            }
            pageInfo {
                total
            }
        }
    }
}
Variables
{
  "accountId": 123,
  "input": {
    "site": {"by": "ID", "input": "456"},
    "paging": {"limit": 100, "from": 0}
  }
}
Response
{
  "data": {
    "site": {
      "knownHostList": {
        "knownHost": [
          {
            "hostName": "laptop-01",
            "ip": "192.168.1.100",
            "macAddress": "00:1A:2B:3C:4D:5E",
            "dhcpRange": "192.168.1.0/24",
            "networkRange": {"name": "LAN Network", "subnet": "192.168.1.0/24"},
            "ipAllocationType": "DYNAMIC",
            "lastActivitySeconds": 42,
            "leaseTimeSeconds": 86400,
            "expiresInSeconds": 85000,
            "identity": "jane.doe",
            "operatingSystem": "Windows 11"
          },
          {
            "hostName": "printer-lobby",
            "ip": "192.168.1.20",
            "macAddress": "00:AA:BB:CC:DD:EE",
            "dhcpRange": "192.168.1.0/24",
            "networkRange": {"name": "LAN Network", "subnet": "192.168.1.0/24"},
            "ipAllocationType": "RESERVED",
            "lastActivitySeconds": 3600,
            "leaseTimeSeconds": null,
            "expiresInSeconds": null,
            "identity": null,
            "operatingSystem": null
          }
        ],
        "pageInfo": {"total": 2}
      }
    }
  }
}

networkRange

Beta
Description

Retrieves a single network range from a site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a NetworkRange

Arguments
Name Description
networkRangeId - ID!

Example

Query
query networkRange($accountId: ID!, $networkRangeId: ID!) {
  site(accountId: $accountId) {
    networkRange(networkRangeId: $networkRangeId) {
      networkRangeId
      name
      rangeType
      subnet
      translatedSubnet
      localIp
      gateway
      vlan
      mdnsReflector
      internetOnly
      dhcpSettings {
        dhcpType
        ipRange
        relayGroupId
        dhcpMicrosegmentation
      }
    }
  }
}
Variables
{"accountId": "123", "networkRangeId": "1001"}
Response
{
  "data": {
    "site": {
      "networkRange": {
        "networkRangeId": "1001",
        "name": "VLAN-10",
        "rangeType": "VLAN",
        "subnet": "10.0.10.0/24",
        "translatedSubnet": null,
        "localIp": "10.0.10.1",
        "gateway": null,
        "vlan": 10,
        "mdnsReflector": false,
        "internetOnly": false,
        "dhcpSettings": {
          "dhcpType": "DHCP_RANGE",
          "ipRange": "10.0.10.100-10.0.10.200",
          "relayGroupId": null,
          "dhcpMicrosegmentation": false
        }
      }
    }
  }
}

networkRangeList

Beta
Description

Retrieves all network ranges configured on a site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a NetworkRangeListPayload

Arguments
Name Description
input - NetworkRangeListInput!

Example

Query
query networkRangeList($accountId: ID!, $input: NetworkRangeListInput!) {
  site(accountId: $accountId) {
    networkRangeList(input: $input) {
      items {
        networkRangeId
        name
        rangeType
        subnet
        localIp
        vlan
        mdnsReflector
        internetOnly
      }
      total
    }
  }
}
Variables
{"accountId": "123", "input": {"site": {"input": "456", "by": "ID"}}}
Response
{
  "data": {
    "site": {
      "networkRangeList": {
        "items": [
          {
            "networkRangeId": "1001",
            "name": "Native",
            "rangeType": "Native",
            "subnet": "10.0.0.0/24",
            "localIp": "10.0.0.1",
            "vlan": null,
            "mdnsReflector": false,
            "internetOnly": false
          },
          {
            "networkRangeId": "1002",
            "name": "VLAN-10",
            "rangeType": "VLAN",
            "subnet": "10.0.10.0/24",
            "localIp": "10.0.10.1",
            "vlan": 10,
            "mdnsReflector": false,
            "internetOnly": false
          }
        ],
        "total": 2
      }
    }
  }
}

retrieveUsedVlanIDs

Beta
Description

Retrieve the VLAN IDs that are already in use at a specific POP. This API is only applicable for reseller accounts with private POPs.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a RetrieveUsedVlanIDsPayload

Arguments
Name Description
input - RetrieveUsedVlanIDsInput!

Example

Query
query retrieveUsedVlanIDs($accountId: ID!, $input: RetrieveUsedVlanIDsInput!) {
    site(accountId: $accountId) {
        retrieveUsedVlanIDs(input: $input) {
            reservedDot1QVlans {
                vlan
                accountId
                siteId
            }
            reservedQinQVlans {
                qinqVlan {
                    sVlan
                    cVlan
                }
                accountId
                siteId
            }
            ranges {
                from
                to
            }
        }
    }
}
Variables
{
  "accountId": 128782,
  "input": {
    "popLocation": {"by": "ID", "input": "10000"},
    "serviceProviderName": "Example Provider",
    "encapsulationMethod": "DOT1Q"
  }
}
Response
{
  "data": {
    "site": {
      "retrieveUsedVlanIDs": {
        "reservedDot1QVlans": [
          {"vlan": 100, "accountId": "128782", "siteId": "400957"},
          {"vlan": 200, "accountId": "128782", "siteId": "400958"}
        ],
        "reservedQinQVlans": [],
        "ranges": [{"from": 2, "to": 4094}]
      }
    }
  }
}

secondaryAwsVSocket

Beta
Description

Retrieves details of a specific secondary AWS vSocket.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SecondaryAwsVSocket

Arguments
Name Description
socketId - ID!

Example

Query
query secondaryAwsVSocket($accountId:ID!, $socketId: ID!){
  site(accountId:$accountId) {
    secondaryAwsVSocket(socketId: $socketId) {
      site {
                id
                name
            }
            id
            ipAddress
            subnet
            routeTableId
    }
  }
}
Variables
{"accountId": "143762", "socketId": 631159}
Response
{
  "data": {
    "site": {
      "secondaryAwsVSocket": {
        "site": {"id": "400376", "name": "aws"},
        "id": "631159",
        "ipAddress": "55.45.45.70",
        "subnet": "55.45.45.0/24",
        "routeTableId": "888"
      }
    }
  }
}

secondaryAzureVSocket

Beta
Description

Retrieves details of a specific secondary Azure vSocket.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SecondaryAzureVSocket

Arguments
Name Description
socketId - ID!

Example

Query
query secondaryAzureVSocket($accountId:ID!, $socketId: ID!){
  site(accountId:$accountId) {
    secondaryAzureVSocket(socketId: $socketId) {
      site {
                id
                name
            }
            id
            interfaceIp
            floatingIp
    }
  }
}
Variables
{"accountId": "5018", "socketId": 654376}
Response
{
  "data": {
    "site": {
      "secondaryAzureVSocket": {
        "site": {"id": "366082", "name": "azure"},
        "id": "654376",
        "interfaceIp": "122.0.0.55",
        "floatingIp": "122.0.0.56"
      }
    }
  }
}

secondaryGcpVSocket

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SecondaryGcpVSocketPayload

Arguments
Name Description
input - SecondaryGcpVSocketInput!

Example

Query
query secondaryGcpVSocket($accountId: ID!, $input: SecondaryGcpVSocketInput!) {
  site(accountId: $accountId) {
    secondaryGcpVSocket(input: $input) {
      socketInfo {
        site {
          id
          name
        }
        id
        interfaceIp
        loadBalancerIp
      }
    }
  }
}
Variables
{"accountId": "123", "input": {"id": "456"}}
Response
{
  "data": {
    "site": {
      "secondaryGcpVSocket": {
        "socketInfo": {
          "site": {"id": "789", "name": "example site"},
          "id": "456",
          "interfaceIp": "10.0.0.1",
          "loadBalancerIp": "10.0.0.2"
        }
      }
    }
  }
}

siteBackhauling

Beta
Description

Fetch backhauling configuration for a site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SiteBackhaulingPayload

Arguments
Name Description
site - SiteRefInput!

Example

Query
query siteBackhauling($accountId: ID!, $site: SiteRefInput!) {
  site(accountId: $accountId) {
    siteBackhauling(site: $site) {
      site {
        id
        name
      }
      useAsBackhaulingGW
      destination
      nextHopIP
      preferredSocketPort
    }
  }
}
Variables
{"accountId": "123", "site": {"input": "456", "by": "ID"}}
Response
{
  "data": {
    "site": {
      "siteBackhauling": {
        "site": {"id": "456", "name": "example site"},
        "useAsBackhaulingGW": true,
        "destination": "LOCAL_GATEWAY_IP",
        "nextHopIP": "192.168.0.1",
        "preferredSocketPort": null
      }
    }
  }
}

siteBgpStatus

Beta
Description

Provides the BGP status of the specified site, including session and route details.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SiteBgpStatus

Arguments
Name Description
input - SiteBgpStatusInput!

Example

Query
query siteBgpStatus($accountId: ID!, $input: SiteBgpStatusInput!) {
                            site(accountId: $accountId) {
                                siteBgpStatus(input: $input) {
                                    status {
                                        remoteIp
                                        bgpSession
                                        bfdSession
                                        routesFromPeer
                                        routesToPeer
                                        rejectedRoutesFromPeer {
                                            subnet
                                            type
                                            community{
                                                from
                                                to
                                            }
                                            rule
                                            lastPublishAttempt
                                        }
                                    }
                                    rawStatus
                        
                                }
                            }
                        }
                        
Variables
{"accountId": 123, "input": {"site": {"by": "ID", "input": "456"}}}
Response
{
  "data": {
    "site": {
      "siteBgpStatus": {
        "status": [
          {
            "remoteIp": "192.168.2.100",
            "bgpSession": "Established via outgoing connection",
            "bfdSession": null,
            "routesFromPeer": ["172.16.32.0/24"],
            "routesToPeer": [
              "10.41.0.0/16",
              "100.1.0.0/16",
              "172.17.31.0/24",
              "10.254.254.0/24",
              "220.220.220.0/24",
              "10.254.254.12/32",
              "10.254.254.253/32",
              "100.1.1.0/24",
              "120.120.120.0/24",
              "111.1.1.1/32",
              "156.88.88.0/24",
              "192.168.1.0/24",
              "10.254.254.5/32",
              "10.254.254.1/32",
              "192.168.2.0/24"
            ],
            "rejectedRoutesFromPeer": [
              {
                "subnet": "200.1.1.0/24",
                "type": "IPv4",
                "community": [{"from": 5555, "to": 5555}],
                "rule": " ( ( bgp_range == 200.1.1.0/24 ) )",
                "lastPublishAttempt": null
              },
              {
                "subnet": "200.1.0.0/16",
                "type": "IPv4",
                "community": [{"from": 6666, "to": 6666}],
                "rule": " ( ( bgp_communities ~= 436869642 ) )",
                "lastPublishAttempt": null
              }
            ]
          }
        ],
        "rawStatus": [
          "{\"Exposed_On_Interface\":\"LAN1\",\"Exposed_With_IP\":\"192.168.2.1\",\"Peer\":{\"BGP_Session\":\"Established via outgoing connection\",\"BGP_peer_filter_rule\":{\"default_accept\":true,\"rules\":[{\"accept\":false,\"description\":\"\",\"expression\":{\"expression\":[],\"op\":\"BOOL_AND\",\"predicate\":[{\"field_name\":\"bgp_range\",\"op\":\"OP_EQ\",\"values\":[{\"str\":\"200.1.1.0/24\",\"type\":\"field_type_ip\"}]}]},\"id\":18258},{\"accept\":false,\"description\":\"\",\"expression\":{\"expression\":[],\"op\":\"BOOL_AND\",\"predicate\":[{\"field_name\":\"bgp_communities\",\"op\":\"OP_CONTAINS\",\"values\":[{\"num\":\"364058035\",\"type\":\"field_type_hostorder_uint64\"}]}]},\"id\":18259},{\"accept\":false,\"description\":\"\",\"expression\":{\"expression\":[],\"op\":\"BOOL_AND\",\"predicate\":[{\"field_name\":\"bgp_communities\",\"op\":\"OP_CONTAINS\",\"values\":[{\"num\":\"436869642\",\"type\":\"field_type_hostorder_uint64\"}]}]},\"id\":18260}]},\"Incoming_Connection\":{\"State\":\"Idle\",\"Transport\":\"Not set\"},\"Local_ASN\":\"65000\",\"Local_IP\":\"169.254.1.179\",\"Negotiated\":{\"Capabilities\":{\"as4\":\"0\",\"enhanced_route_refresh\":\"1\",\"graceful_restart_always_publish\":false,\"graceful_restart_enabled\":false,\"graceful_restart_present\":false,\"graceful_restart_timeout\":\"0\",\"multiprotocol_ext\":\"1\",\"route_refresh\":\"1\"},\"Hold_Time\":\"60\",\"Keepalive_Period\":\"20\"},\"Outgoing_Connection\":{\"State\":\"Established\",\"Transport\":\"169.254.1.179:43113-192.168.2.100:179\"},\"RIB_out\":[{\"add_time\":\"1733132478 (02/12/24 09:41:18)\",\"last_update_time\":\"1733132478 (02/12/24 09:41:18)\",\"med\":100,\"next_hop\":\"192.168.2.1\",\"prepend_count\":1,\"subnet\":\"10.254.254.253/32\"},{\"add_time\":\"1733132478 (02/12/24 09:41:18)\",\"last_update_time\":\"1733132478 (02/12/24 09:41:18)\",\"med\":100,\"next_hop\":\"192.168.2.1\",\"prepend_count\":1,\"subnet\":\"10.254.254.0/24\"},{\"add_time\":\"1733132508 (02/12/24 09:41:48)\",\"blob\":{\"AS_Path offset\":\"4\",\"Communities count\":\"1\",\"Communities offset\":\"15\",\"Transitive Attributes\":[\"40\",\"01\",\"01\",\"00\",\"50\",\"02\",\"00\",\"04\",\"02\",\"01\",\"1d\",\"fd\",\"c0\",\"08\",\"04\",\"15\",\"b3\",\"00\",\"37\"],\"communities\":[\"5555:55\"]},\"last_update_time\":\"1733132508 (02/12/24 09:41:48)\",\"med\":100,\"next_hop\":\"192.168.2.1\",\"prepend_count\":1,\"subnet\":\"100.1.0.0/16\"},{\"add_time\":\"1733132478 (02/12/24 09:41:18)\",\"last_update_time\":\"1733132478 (02/12/24 09:41:18)\",\"med\":100,\"next_hop\":\"192.168.2.1\",\"prepend_count\":1,\"subnet\":\"120.120.120.0/24\"},{\"add_time\":\"1733132508 (02/12/24 09:41:48)\",\"blob\":{\"AS_Path offset\":\"4\",\"Communities count\":\"0\",\"Communities offset\":\"0\",\"Transitive Attributes\":[\"40\",\"01\",\"01\",\"00\",\"50\",\"02\",\"00\",\"04\",\"02\",\"01\",\"1d\",\"fd\"]},\"last_update_time\":\"1733132508 (02/12/24 09:41:48)\",\"med\":100,\"next_hop\":\"192.168.2.1\",\"prepend_count\":1,\"subnet\":\"172.17.31.0/24\"},{\"add_time\":\"1733132478 (02/12/24 09:41:18)\",\"last_update_time\":\"1733132478 (02/12/24 09:41:18)\",\"med\":100,\"next_hop\":\"192.168.2.1\",\"prepend_count\":1,\"subnet\":\"156.88.88.0/24\"},{\"add_time\":\"1733132508 (02/12/24 09:41:48)\",\"blob\":{\"AS_Path offset\":\"4\",\"Communities count\":\"1\",\"Communities offset\":\"15\",\"Transitive Attributes\":[\"40\",\"01\",\"01\",\"00\",\"50\",\"02\",\"00\",\"04\",\"02\",\"01\",\"1d\",\"fd\",\"c0\",\"08\",\"04\",\"08\",\"ae\",\"08\",\"ae\"],\"communities\":[\"2222:2222\"]},\"last_update_time\":\"1733132508 (02/12/24 09:41:48)\",\"med\":100,\"next_hop\":\"192.168.2.1\",\"prepend_count\":1,\"subnet\":\"100.1.1.0/24\"},{\"add_time\":\"1733132478 (02/12/24 09:41:18)\",\"last_update_time\":\"1733132478 (02/12/24 09:41:18)\",\"med\":100,\"next_hop\":\"192.168.2.1\",\"prepend_count\":1,\"subnet\":\"220.220.220.0/24\"},{\"add_time\":\"1733132478 (02/12/24 09:41:18)\",\"last_update_time\":\"1733132478 (02/12/24 09:41:18)\",\"med\":100,\"next_hop\":\"192.168.2.1\",\"prepend_count\":1,\"subnet\":\"192.168.2.0/24\"},{\"add_time\":\"1733132478 (02/12/24 09:41:18)\",\"last_update_time\":\"1733132478 (02/12/24 09:41:18)\",\"med\":100,\"next_hop\":\"192.168.2.1\",\"prepend_count\":1,\"subnet\":\"10.41.0.0/16\"},{\"add_time\":\"1733132508 (02/12/24 09:41:48)\",\"blob\":{\"AS_Path offset\":\"4\",\"Communities count\":\"1\",\"Communities offset\":\"15\",\"Transitive Attributes\":[\"40\",\"01\",\"01\",\"00\",\"50\",\"02\",\"00\",\"04\",\"02\",\"01\",\"1d\",\"fd\",\"c0\",\"08\",\"04\",\"0d\",\"05\",\"0d\",\"05\"],\"communities\":[\"3333:3333\"]},\"last_update_time\":\"1733132508 (02/12/24 09:41:48)\",\"med\":100,\"next_hop\":\"192.168.2.1\",\"prepend_count\":1,\"subnet\":\"111.1.1.1/32\"},{\"add_time\":\"1733132478 (02/12/24 09:41:18)\",\"last_update_time\":\"1733132478 (02/12/24 09:41:18)\",\"med\":100,\"next_hop\":\"192.168.2.1\",\"prepend_count\":1,\"subnet\":\"10.254.254.1/32\"},{\"add_time\":\"1733132478 (02/12/24 09:41:18)\",\"last_update_time\":\"1733132478 (02/12/24 09:41:18)\",\"med\":100,\"next_hop\":\"192.168.2.1\",\"prepend_count\":1,\"subnet\":\"10.254.254.12/32\"},{\"add_time\":\"1733132478 (02/12/24 09:41:18)\",\"last_update_time\":\"1733132478 (02/12/24 09:41:18)\",\"med\":100,\"next_hop\":\"192.168.2.1\",\"prepend_count\":1,\"subnet\":\"10.254.254.5/32\"},{\"add_time\":\"1733132478 (02/12/24 09:41:18)\",\"last_update_time\":\"1733132478 (02/12/24 09:41:18)\",\"med\":100,\"next_hop\":\"192.168.2.1\",\"prepend_count\":1,\"subnet\":\"192.168.1.0/24\"}],\"Remote_ASN\":\"7678\",\"Remote_IP\":\"192.168.2.100\",\"Router_ID\":\"192.168.2.1\",\"Router_Weight\":\"100\"},\"accept_default_route\":false,\"advertise_cato\":true,\"advertise_default\":\"never\",\"advertise_summary\":false,\"bfd_peer\":{\"BFD_Session\":\"DOWN\",\"bfd_config\":{\"local_asn\":65000,\"local_ip_no\":\"169.254.1.179\",\"local_port_ho\":0,\"remote_asn\":7678,\"remote_ip_no\":\"192.168.2.100\"},\"bfd_session_info\":{\"active_mode\":false,\"auth_type\":0,\"desired_min_tx_interval_usec\":300000,\"detect_interval_usec\":0,\"detect_mult\":3,\"local_diag\":\"NO_DIAGNOSTIC\",\"my_discriminator\":1394721461,\"next_detect_timestamp_usec\":9223372036854776000,\"next_send_timestamp_usec\":9223372036854776000,\"poll_in_progress\":false,\"remote_demand_mode\":false,\"remote_detect_mult\":0,\"remote_diag\":\"NO_DIAGNOSTIC\",\"remote_discriminator\":0,\"remote_min_echo_interval_usec\":0,\"remote_min_rx_interval_usec\":0,\"remote_min_tx_interval_usec\":0,\"remote_state\":\"DOWN\",\"remote_tx_interval_usec\":0,\"required_min_echo_interval_usec\":0,\"required_min_rx_interval_usec\":300000,\"state\":\"DOWN\",\"tx_interval_usec\":0},\"bfd_timeline\":[{\"event\":{\"func\":\"bfd_peer_init\",\"line\":\"513\",\"msg\":\"initialized BFD session to 192.168.2.100. tx = 300000 usec, rx = 300000 usec, mult = 3 , mode is passive\"},\"time\":\"02/12/24 09:41:03.583\"}],\"enabled\":true},\"custom_ranges_advertise\":\"never\",\"interface_pcap_captured_packets\":\"0\",\"interface_pcap_enabled\":false,\"interface_port_id\":0,\"rejected_routes_from_neighbor\":[{\"Communities\":[\"5555:5555\"],\"Subnet\":\"200.1.1.0/24\",\"Type\":\"IPv4\",\"last_publish_attempt\":\"02/12/24 09:41:18.216\",\"rule\":\" ( ( bgp_range == 200.1.1.0/24 ) )\"},{\"Communities\":[\"6666:6666\"],\"Subnet\":\"200.1.0.0/16\",\"Type\":\"IPv4\",\"last_publish_attempt\":\"02/12/24 09:41:18.216\",\"rule\":\" ( ( bgp_communities ~= 436869642 ) )\"}],\"routes_count\":\"1\",\"routes_count_limit\":\"1024\",\"routes_count_limit_exceeded\":false,\"routes_from_neighbor\":[{\"Next_Hop\":\"192.168.2.100\",\"Range\":\"172.16.32.0-172.16.32.255\",\"Subnet\":\"172.16.32.0/24\"}],\"routes_to_neighbor\":[{\"Subnet\":\"10.41.0.0/16\"},{\"Subnet\":\"111.1.1.1/32\"},{\"Subnet\":\"100.1.0.0/16\"},{\"Subnet\":\"100.1.1.0/24\"},{\"Subnet\":\"172.17.31.0/24\"},{\"Subnet\":\"120.120.120.0/24\"},{\"Subnet\":\"192.168.1.0/24\"},{\"Subnet\":\"220.220.220.0/24\"},{\"Subnet\":\"192.168.2.0/24\"},{\"Subnet\":\"10.254.254.0/24\"},{\"Subnet\":\"10.254.254.12/32\"},{\"Subnet\":\"10.254.254.253/32\"},{\"Subnet\":\"10.254.254.5/32\"},{\"Subnet\":\"10.254.254.1/32\"},{\"Subnet\":\"156.88.88.0/24\"}]}"
        ]
      }
    }
  }
}

siteGeneralDetails

Beta
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SiteGeneralDetailsPayload

Arguments
Name Description
site - SiteRefInput!

Example

Query
query siteGeneralDetails($accountId: ID!, $site: SiteRefInput!) {
  site(accountId: $accountId) {
    siteGeneralDetails(site: $site) {
      site {
        id
        name
      }
      siteType
      description
      siteLocation {
        countryCode
        stateCode
        cityName
        timezone
        address
      }
      preferredPopLocation {
        primary {
          id
          name
        }
        secondary {
          id
          name
        }
        preferredOnly
      }
      workingHours {
        override
        fromTimeMinuteOffset
        toTimeMinuteOffset
        workingDays
      }
      disableAclForSip
    }
  }
}
Variables
{"accountId": "123", "site": {"input": "456", "by": "ID"}}
Response
{
  "data": {
    "site": {
      "siteGeneralDetails": {
        "site": {"id": "456", "name": "example site"},
        "siteType": "BRANCH",
        "description": "222",
        "siteLocation": {
          "countryCode": "IL",
          "stateCode": "",
          "cityName": "Tel Aviv",
          "timezone": "Asia/Jerusalem",
          "address": "Iben Gabirol 123"
        },
        "preferredPopLocation": {
          "primary": {"id": "1", "name": "example_location_1"},
          "secondary": {"id": "2", "name": "example_location_2"},
          "preferredOnly": true
        },
        "workingHours": {
          "override": false,
          "fromTimeMinuteOffset": 540,
          "toTimeMinuteOffset": 1080,
          "workingDays": [
            "MONDAY",
            "TUESDAY",
            "WEDNESDAY",
            "THURSDAY",
            "FRIDAY"
          ]
        },
        "disableAclForSip": false
      }
    }
  }
}

siteSocketConfiguration

Beta
Description

Fetch the Socket configuration for a site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SiteSocketConfiguration

Arguments
Name Description
input - SiteSocketConfigurationInput!

Example

Query
query siteSocketConfiguration($accountId: ID!, $input: SiteSocketConfigurationInput!) {
  site(accountId: $accountId) {
    siteSocketConfiguration(input: $input) {
      primarySocketConfiguration {
        description
        serial
        managementIp
        socketInfo {
          model
          platform
          version
          registrationStatus
          wifiSupported
          isPrimary
        }
      }
      secondarySocketConfiguration {
        description
        serial
        managementIp
        socketInfo {
          model
          platform
          version
          registrationStatus
          wifiSupported
          isPrimary
        }
      }
    }
  }
}
Variables
{"accountId": "123", "input": {"site": {"input": "456", "by": "ID"}}}
Response
{
  "data": {
    "site": {
      "siteSocketConfiguration": {
        "primarySocketConfiguration": {
          "description": "primary socket",
          "serial": "GA1234ABCDEF",
          "managementIp": "192.168.1.1",
          "socketInfo": {
            "model": "X1700",
            "platform": "X1700",
            "version": "20.0.19100",
            "registrationStatus": "REGISTERED",
            "wifiSupported": "TRUE",
            "isPrimary": true
          }
        },
        "secondarySocketConfiguration": {
          "description": "secondary socket",
          "serial": "GA5678GHIJKL",
          "managementIp": "192.168.1.2",
          "socketInfo": {
            "model": "X1700",
            "platform": "X1700",
            "version": "20.0.19100",
            "registrationStatus": "REGISTERED",
            "wifiSupported": "TRUE",
            "isPrimary": false
          }
        }
      }
    }
  }
}

staticHost

Beta
Description

Retrieve a single static host configured on a site by its ID.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a StaticHostPayload

Arguments
Name Description
site - SiteRefInput!
hostId - ID!

Example

Query
query staticHost($accountId: ID!, $site: SiteRefInput!, $hostId: ID!) {
  site(accountId: $accountId) {
    staticHost(site: $site, hostId: $hostId) {
      host {
        hostId
        name
        ip
        macAddress
      }
    }
  }
}
Variables
{"accountId": "123", "site": {"input": "456", "by": "ID"}, "hostId": "1001"}
Response
{
  "data": {
    "site": {
      "staticHost": {
        "host": {
          "hostId": "1001",
          "name": "print-server-01",
          "ip": "10.0.1.50",
          "macAddress": "AA:BB:CC:DD:EE:FF"
        }
      }
    }
  }
}

staticHostList

Beta
Description

Retrieve all static hosts configured on a site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a StaticHostListPayload

Arguments
Name Description
site - SiteRefInput!

Example

Query
query staticHostList($accountId: ID!, $site: SiteRefInput!) {
  site(accountId: $accountId) {
    staticHostList(site: $site) {
      items {
        hostId
        name
        ip
        macAddress
      }
    }
  }
}
Variables
{"accountId": "123", "site": {"input": "456", "by": "ID"}}
Response
{
  "data": {
    "site": {
      "staticHostList": {
        "items": [
          {
            "hostId": "1001",
            "name": "print-server-01",
            "ip": "10.0.1.50",
            "macAddress": "AA:BB:CC:DD:EE:FF"
          },
          {
            "hostId": "1002",
            "name": "nas-storage",
            "ip": "10.0.1.51",
            "macAddress": null
          }
        ]
      }
    }
  }
}

validWifiRadioSettings

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a ValidWifiRadioSettingsPayload

Arguments
Name Description
input - ValidWifiRadioSettingsInput!

Example

Query
query validWifiRadioSettings($accountId: ID!, $input: ValidWifiRadioSettingsInput!) {
  site(accountId: $accountId) {
    validWifiRadioSettings(input: $input) {
      band24 {
        standards
        channelWidths
        channels
      }
      band5 {
        standards
        channelWidths
        channels
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"input": "456", "by": "ID"},
    "band24": {
      "standard": "IEEE80211AX",
      "channelWidth": "MHZ_20",
      "dfsEnabled": false
    },
    "band5": {
      "standard": "IEEE80211AC",
      "channelWidth": "MHZ_80",
      "dfsEnabled": true
    }
  }
}
Response
{
  "data": {
    "site": {
      "validWifiRadioSettings": {
        "band24": {
          "standards": ["AUTO", "IEEE80211N", "IEEE80211AX"],
          "channelWidths": ["AUTO", "MHZ_20", "MHZ_40"],
          "channels": [1, 6, 11]
        },
        "band5": {
          "standards": ["AUTO", "IEEE80211AC", "IEEE80211AX"],
          "channelWidths": ["AUTO", "MHZ_20", "MHZ_40", "MHZ_80"],
          "channels": [36, 40, 44, 48]
        }
      }
    }
  }
}

validWifiRadioSettingsByCountry

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a ValidWifiRadioSettingsPayload

Arguments
Name Description
input - ValidWifiRadioSettingsByCountryInput!

Example

Query
query validWifiRadioSettingsByCountry($accountId: ID!, $input: ValidWifiRadioSettingsByCountryInput!) {
  site(accountId: $accountId) {
    validWifiRadioSettingsByCountry(input: $input) {
      band24 {
        standards
        channelWidths
        channels
      }
      band5 {
        standards
        channelWidths
        channels
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "countryCode": "US",
    "band24": {
      "standard": "IEEE80211AX",
      "channelWidth": "MHZ_20",
      "dfsEnabled": false
    },
    "band5": {
      "standard": "IEEE80211AC",
      "channelWidth": "MHZ_80",
      "dfsEnabled": true
    }
  }
}
Response
{
  "data": {
    "site": {
      "validWifiRadioSettingsByCountry": {
        "band24": {
          "standards": ["AUTO", "IEEE80211N", "IEEE80211AX"],
          "channelWidths": ["AUTO", "MHZ_20", "MHZ_40"],
          "channels": [1, 6, 11]
        },
        "band5": {
          "standards": ["AUTO", "IEEE80211AC", "IEEE80211AX"],
          "channelWidths": ["AUTO", "MHZ_20", "MHZ_40", "MHZ_80"],
          "channels": [36, 40, 44, 48]
        }
      }
    }
  }
}

validateWifiRadioProfile

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a ValidateWifiRadioProfilePayload

Arguments
Name Description
input - ValidateWifiRadioProfileInput!

Example

Query
query validateWifiRadioProfile($accountId: ID!, $input: ValidateWifiRadioProfileInput!) {
  site(accountId: $accountId) {
    validateWifiRadioProfile(input: $input) {
      result {
        band24 {
          isValid
          errors
        }
        band5 {
          isValid
          errors
        }
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"input": "456", "by": "ID"},
    "radioProfile": {
      "band24": {
        "band": "BAND_2P4G",
        "standard": "IEEE80211AX",
        "channelWidth": "MHZ_20",
        "dfsEnabled": false,
        "channel": 6
      },
      "band5": {
        "band": "BAND_5G",
        "standard": "IEEE80211AC",
        "channelWidth": "MHZ_80",
        "dfsEnabled": true,
        "channel": 36
      }
    }
  }
}
Response
{
  "data": {
    "site": {
      "validateWifiRadioProfile": {
        "result": {
          "band24": {"isValid": true, "errors": []},
          "band5": {"isValid": true, "errors": []}
        }
      }
    }
  }
}

validateWifiRadioProfileByCountry

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a ValidateWifiRadioProfilePayload

Arguments
Name Description
input - ValidateWifiRadioProfileByCountryInput!

Example

Query
query validateWifiRadioProfileByCountry($accountId: ID!, $input: ValidateWifiRadioProfileByCountryInput!) {
  site(accountId: $accountId) {
    validateWifiRadioProfileByCountry(input: $input) {
      result {
        band24 {
          isValid
          errors
        }
        band5 {
          isValid
          errors
        }
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "countryCode": "US",
    "radioProfile": {
      "band24": {
        "band": "BAND_2P4G",
        "standard": "IEEE80211AX",
        "channelWidth": "MHZ_20",
        "dfsEnabled": false,
        "channel": 6
      },
      "band5": {
        "band": "BAND_5G",
        "standard": "IEEE80211AC",
        "channelWidth": "MHZ_80",
        "dfsEnabled": true,
        "channel": 36
      }
    }
  }
}
Response
{
  "data": {
    "site": {
      "validateWifiRadioProfileByCountry": {
        "result": {
          "band24": {"isValid": true, "errors": []},
          "band5": {"isValid": true, "errors": []}
        }
      }
    }
  }
}

wifiRadioProfile

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a WifiRadioProfile

Arguments
Name Description
input - WifiRadioProfileRefInput!

Example

Query
query wifiRadioProfile($accountId: ID!, $input: WifiRadioProfileRefInput!) {
  site(accountId: $accountId) {
    wifiRadioProfile(input: $input) {
      id
      site {
        id
        name
      }
      band24 {
        band
        standard
        channelWidth
        dfsEnabled
        channel
      }
      band5 {
        band
        standard
        channelWidth
        dfsEnabled
        channel
      }
    }
  }
}
Variables
{"accountId": "123", "input": {"input": "456", "by": "ID"}}
Response
{
  "data": {
    "site": {
      "wifiRadioProfile": {
        "id": "456",
        "site": {"id": "789", "name": "example site"},
        "band24": {
          "band": "BAND_2P4G",
          "standard": "IEEE80211AX",
          "channelWidth": "MHZ_20",
          "dfsEnabled": false,
          "channel": 6
        },
        "band5": {
          "band": "BAND_5G",
          "standard": "IEEE80211AC",
          "channelWidth": "MHZ_80",
          "dfsEnabled": true,
          "channel": 36
        }
      }
    }
  }
}

wifiRadioProfileBySite

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a WifiRadioProfile

Arguments
Name Description
input - SiteRefInput!

Example

Query
query wifiRadioProfileBySite($accountId: ID!, $input: SiteRefInput!) {
  site(accountId: $accountId) {
    wifiRadioProfileBySite(input: $input) {
      id
      site {
        id
        name
      }
      band24 {
        band
        standard
        channelWidth
        dfsEnabled
        channel
      }
      band5 {
        band
        standard
        channelWidth
        dfsEnabled
        channel
      }
    }
  }
}
Variables
{"accountId": "123", "input": {"input": "456", "by": "ID"}}
Response
{
  "data": {
    "site": {
      "wifiRadioProfileBySite": {
        "id": "789",
        "site": {"id": "456", "name": "example site"},
        "band24": {
          "band": "BAND_2P4G",
          "standard": "IEEE80211AX",
          "channelWidth": "MHZ_20",
          "dfsEnabled": false,
          "channel": 6
        },
        "band5": {
          "band": "BAND_5G",
          "standard": "IEEE80211AC",
          "channelWidth": "MHZ_80",
          "dfsEnabled": true,
          "channel": 36
        }
      }
    }
  }
}

wifiRadioProfileList

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a WifiRadioProfileListPayload

Arguments
Name Description
input - WifiRadioProfileListInput!

Example

Query
query wifiRadioProfileList($accountId: ID!, $input: WifiRadioProfileListInput!) {
  site(accountId: $accountId) {
    wifiRadioProfileList(input: $input) {
      wifiRadioProfiles {
        id
        site {
          id
          name
        }
        band24 {
          band
          standard
          channelWidth
          dfsEnabled
          channel
        }
        band5 {
          band
          standard
          channelWidth
          dfsEnabled
          channel
        }
      }
      pageInfo {
        total
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {"wifiRadioProfiles": [{"input": "456", "by": "ID"}]}
}
Response
{
  "data": {
    "site": {
      "wifiRadioProfileList": {
        "wifiRadioProfiles": [
          {
            "id": "456",
            "site": {"id": "789", "name": "example site"},
            "band24": {
              "band": "BAND_2P4G",
              "standard": "IEEE80211AX",
              "channelWidth": "MHZ_20",
              "dfsEnabled": false,
              "channel": 6
            },
            "band5": {
              "band": "BAND_5G",
              "standard": "IEEE80211AC",
              "channelWidth": "MHZ_80",
              "dfsEnabled": true,
              "channel": 36
            }
          }
        ],
        "pageInfo": {"total": 1}
      }
    }
  }
}

wifiSsid

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a WifiSsid

Arguments
Name Description
input - WifiSsidRefInput!

Example

Query
query wifiSsid($accountId: ID!, $input: WifiSsidRefInput!) {
  site(accountId: $accountId) {
    wifiSsid(input: $input) {
      id
      networkInterfaceId
      site {
        id
        name
      }
      name
      enabled
      category
      visible
      subnet
      localIp
      dhcp {
        dhcpSubnet
      }
      microsegmentationEnabled
      internetOnly
      mdnsEnabled
      security {
        mode
        authProtocol
        trackAuthentication
      }
      band
    }
  }
}
Variables
{"accountId": "123", "input": {"input": "456", "by": "ID"}}
Response
{
  "data": {
    "site": {
      "wifiSsid": {
        "id": "456",
        "networkInterfaceId": "789",
        "site": {"id": "100", "name": "example site"},
        "name": "Corporate-WiFi",
        "enabled": true,
        "category": "CORPORATE",
        "visible": true,
        "subnet": "10.0.0.0/24",
        "localIp": "10.0.0.1",
        "dhcp": {"dhcpSubnet": "10.0.0.0/24"},
        "microsegmentationEnabled": false,
        "internetOnly": false,
        "mdnsEnabled": false,
        "security": {
          "mode": "PSK",
          "authProtocol": "WPA3",
          "trackAuthentication": false
        },
        "band": "BOTH"
      }
    }
  }
}

wifiSsidList

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a WifiSsidListPayload

Arguments
Name Description
input - WifiSsidListInput!

Example

Query
query wifiSsidList($accountId: ID!, $input: WifiSsidListInput!) {
  site(accountId: $accountId) {
    wifiSsidList(input: $input) {
      wifiSsid {
        id
        networkInterfaceId
        site {
          id
          name
        }
        name
        enabled
        category
        visible
        subnet
        localIp
        dhcp {
          dhcpSubnet
        }
        microsegmentationEnabled
        internetOnly
        mdnsEnabled
        security {
          mode
          authProtocol
          trackAuthentication
        }
        band
      }
      pageInfo {
        total
      }
    }
  }
}
Variables
{"accountId": "123", "input": {"site": {"input": "456", "by": "ID"}}}
Response
{
  "data": {
    "site": {
      "wifiSsidList": {
        "wifiSsid": [
          {
            "id": "789",
            "networkInterfaceId": "101",
            "site": {"id": "456", "name": "example site"},
            "name": "Corporate-WiFi",
            "enabled": true,
            "category": "CORPORATE",
            "visible": true,
            "subnet": "10.0.0.0/24",
            "localIp": "10.0.0.1",
            "dhcp": {"dhcpSubnet": "10.0.0.0/24"},
            "microsegmentationEnabled": false,
            "internetOnly": false,
            "mdnsEnabled": false,
            "security": {
              "mode": "PSK",
              "authProtocol": "WPA3",
              "trackAuthentication": false
            },
            "band": "BOTH"
          }
        ],
        "pageInfo": {"total": 1}
      }
    }
  }
}

UserQueries

dynamicUserGroupsConfiguration

Beta
Description

The account's dynamic-groups configuration.

Required Permissions

This API requires access to the following permissions:

Users & User Groups

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
query userDynamicUserGroupsConfiguration($accountId: ID!) {
    user(accountId: $accountId) {
        dynamicUserGroupsConfiguration {
            department {
                enabled
            }
        }
    }
}
Variables
{"accountId": "12345"}
Response
{
  "data": {
    "user": {
      "dynamicUserGroupsConfiguration": {"department": {"enabled": true}}
    }
  }
}

userList

Description

The userList query retrieves a paginated list of the users. Filtering and sorting can be applied.

Required Permissions

This API requires access to the following permissions:

Users & User Groups

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a UserListPayload

Arguments
Name Description
input - UserListInput!

Example

Query
query userUserList($accountId: ID!, $input: UserListInput!) {
    user(accountId: $accountId) {
        userList(input: $input) {
            items {
                id
                userId
                objectId
                onPremSid
                firstName
                lastName
                userPrincipalName
                displayName
                phone
                email
                department
                jobTitle
                userStatus
                creationDate
                lastModified
                userImportType
                directoryId
                hasRemoteAccessEligibility
                authInfo {
                    authMethod
                    authStatus
                }
                riskScore
            }
            pageInfo {
                total
            }
        }
    }
}
Variables
{
  "accountId": "123456",
  "input": {
    "filter": {
      "id": [{"in": ["12847", "12903"]}],
      "email": [{"eq": "john.doe@company.com"}],
      "searchTerm": {"search": "john"},
      "riskScore": [{"in": ["MEDIUM", "HIGH"]}],
      "userImportType": [{"eq": "SCIM"}]
    },
    "sort": {
      "name": {"direction": "ASC", "priority": 100},
      "email": {"direction": "DESC", "priority": 100},
      "userStatus": {"direction": "ASC", "priority": 100},
      "remoteAccessEligibility": {"direction": "ASC", "priority": 100},
      "userImportType": {"direction": "ASC", "priority": 100}
    },
    "paging": {"limit": 25, "from": 0}
  }
}
Response
{
  "data": {
    "user": {
      "userList": {
        "items": [
          {
            "id": "12847",
            "userId": "john.doe",
            "objectId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
            "onPremSid": null,
            "firstName": "John",
            "lastName": "Doe",
            "userPrincipalName": "john.doe@company.com",
            "displayName": "John Doe",
            "phone": null,
            "email": "john.doe@company.com",
            "department": "Product",
            "jobTitle": "Product Manager",
            "userStatus": "ACTIVE",
            "creationDate": "2024-02-10T09:15:00.000Z",
            "lastModified": "2024-02-28T11:45:00.000Z",
            "userImportType": "SCIM",
            "directoryId": "dir123456",
            "hasRemoteAccessEligibility": true,
            "authInfo": {"authMethod": "SSO", "authStatus": "COMPLETED"},
            "riskScore": "MEDIUM"
          }
        ],
        "pageInfo": {"total": 42}
      }
    }
  }
}

XDR

stories

Beta
Description

Define the paging, sort, and filter arguments to define the XDR stories that are returned in the query

Required Permissions

This API requires access to at least one of the following permissions:

Detection & Response Partner Dashboard

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns a StoriesData

Arguments
Name Description
input - StoryInput!

Example

Query
query Stories($accountId: ID!, $from: Int!, $limit: Int!, $sort: [StorySortInput!], $filter: [StoryFilterInput!]!) {
                          xdr(accountID: $accountId) {
                            stories(
                              input: {paging: {from: $from, limit: $limit}, sort: $sort, filter: $filter}
                            ) {
                              paging {
                                from
                                limit
                                total
                                __typename
                              }
                              items {
                                ...StoryBrief
                                __typename
                              }
                              __typename
                            }
                            __typename
                          }
                        }
                        
                        fragment StoryBrief on Story {
                          id
                          accountId
                          accountName
                          updatedAt
                          createdAt
                          analystName
                          incident {
                            __typename
                            id
                            status
                            lastSignal
                            firstSignal
                            producer
                            connectionType
                            indication
                            queryName
                            description
                            criticality
                            source
                            ticket
                            research
                            vendor
                            sourceIp
                            analystFeedback {
                              severity
                              __typename
                            }
                            ... on Threat {
                              ...ThreatIncidentBrief
                              __typename
                            }
                            ... on ThreatPrevention {
                              ...ThreatPreventionIncidentBrief
                              __typename
                            }
                            ... on AnomalyStats {
                              ...AnomalyStatsIncidentBrief
                              __typename
                            }
                            ... on AnomalyEvents {
                              ...AnomalyEventsIncidentBrief
                              __typename
                            }
                            ... on NetworkXDRIncident {
                              ...NetworkXDRIncidentBrief
                              __typename
                            }
                          }
                          __typename
                        }
                        
                        fragment ThreatIncidentBrief on Threat {
                          __typename
                          site {
                            id
                            name
                            __typename
                          }
                          user {
                            id
                            name
                            __typename
                          }
                          direction
                        }
                        
                        fragment ThreatPreventionIncidentBrief on ThreatPrevention {
                          __typename
                          site {
                            id
                            name
                            __typename
                          }
                          user {
                            id
                            name
                            __typename
                          }
                          direction
                        }
                        
                        fragment AnomalyStatsIncidentBrief on AnomalyStats {
                          __typename
                          srcSiteId
                          subjectType
                          drillDownFilter {
                            name
                            value
                            __typename
                          }
                        }
                        
                        fragment AnomalyEventsIncidentBrief on AnomalyEvents {
                          __typename
                          srcSiteId
                          subjectType
                          drillDownFilter {
                            name
                            value
                            __typename
                          }
                        }
                        
                        fragment NetworkXDRIncidentBrief on NetworkXDRIncident {
                          __typename
                          storyDuration
                          storyType
                          siteConnectionType
                          siteConfigLocation
                          acknowledged
                          linkId
                          linkName
                          linkConfigPrecedence
                          deviceConfigHaRole
                          licenseRegion
                          licenseBandwidth
                          isp
                          bgpConnection {
                            connectionName
                            peerIp
                            peerAsn
                            catoIp
                            catoAsn
                            __typename
                          }
                          networkIncidentTimeline {
                            created
                            validated
                            description
                            eventType
                            eventIds
                            acknowledged
                            networkEventSource
                            linkId
                            linkName
                            linkConfigPrecedence
                            linkStatus
                            linkConfigBandwidth
                            deviceConfigHaRole
                            deviceHaRoleState
                            isp
                            bgpConnection {
                              connectionName
                              peerIp
                              peerAsn
                              catoIp
                              catoAsn
                              __typename
                            }
                            linkQualityIssue {
                              issueType
                              direction
                              current
                              threshold
                              __typename
                            }
                            __typename
                          }
                        }
                        
Variables
{
  "accountId": "123",
  "from": 0,
  "limit": 25,
  "filter": [
    {
      "timeFrame": {"time": "last.P14D", "timeFrameModifier": "StoryUpdate"},
      "producer": {
        "in": [
          "AnomalyEvents",
          "AnomalyStats",
          "ThreatHunt",
          "ThreatPrevention",
          "MicrosoftEndpointDefender",
          "CatoEndpointAlert"
        ]
      }
    }
  ],
  "sort": [{"fieldName": "updatedAt", "order": "desc"}]
}
Response
{
  "data": {
    "xdr": {
      "__typename": "XDR",
      "stories": {
        "paging": {"from": 0, "limit": 25, "total": 5, "__typename": "Paging"},
        "items": [
          {
            "id": "65ba47966e0c8517cf2de805",
            "accountId": 123,
            "accountName": "account",
            "updatedAt": "2024-01-31T13:13:58Z",
            "createdAt": "2024-01-31T13:13:58Z",
            "analystName": "abc123",
            "incident": {
              "__typename": "CatoEndpoint",
              "id": "29ebcff1",
              "status": "PendingMoreInfo",
              "lastSignal": "2024-01-18T01:48:25Z",
              "firstSignal": "2024-01-18T01:48:25Z",
              "producer": "CatoEndpointAlert",
              "connectionType": null,
              "indication": "Cato Endpoint Alert",
              "queryName": null,
              "description": null,
              "criticality": 5,
              "source": "source",
              "ticket": null,
              "research": false,
              "vendor": "CATO",
              "sourceIp": null,
              "analystFeedback": {
                "severity": "Medium",
                "__typename": "AnalystFeedback"
              }
            },
            "__typename": "Story"
          }
        ]
      }
    }
  }
}
XDR

story

Beta
Description

Define either the story ID, or the incident ID and producer arguments, to query the specific XDR story

Required Permissions

This API requires access to the following permissions:

Detection & Response

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a Story

Arguments
Name Description
storyId - ID
producer - StoryProducerEnum
incidentId - ID

Example

Query
query StoryDetails($accountId: ID!, $storyId: ID!) {
                          xdr(accountID: $accountId) {
                            ... on XDR {
                              story(storyId: $storyId) {
                                ...StoryDetailed
                                __typename
                              }
                              __typename
                            }
                            __typename
                          }
                        }
                        
                        
                        fragment StoryDetailed on Story {
                          __typename
                          id
                          summary
                          updatedAt
                          createdAt
                          playbook
                          timeline {
                            ...TimelineItem
                            __typename
                          }
                          incident {
                            __typename
                            id
                            status
                            producer
                            ticket
                            connectionType
                            indication
                            queryName
                            criticality
                            source
                            research
                            firstSignal
                            lastSignal
                            description
                            site {
                              id
                              name
                              __typename
                            }
                            user {
                              id
                              name
                              __typename
                            }
                            ... on AnomalyStats {
                              ...AnomalyStatsIncidentDetailed
                              __typename
                            }
                            ... on AnomalyEvents {
                              ...AnomalyEventsIncidentDetailed
                              __typename
                            }
                            ... on Threat {
                              ...ThreatIncidentDetailed
                              __typename
                            }
                            ... on ThreatPrevention {
                              ...ThreatPreventionIncidentDetailed
                              __typename
                            }
                        
                            ... on NetworkXDRIncident {
                              ...NetworkXDRIncidentDetailed
                              __typename
                            }
                            ... on MicrosoftEndpoint {
                              ...MicrosoftEndpointIncidentDetailed
                              __typename
                            }
                            ... on CatoEndpoint {
                              ...CatoEndpointIncidentDetailed
                              __typename
                            }
                          }
                        }
                        
                        fragment TimelineItem on TimelineItem {
                          createdAt
                          type
                          descriptions
                          additionalInfo
                          analystInfo {
                            name
                            __typename
                          }
                          context
                          category
                          __typename
                        }
                        
                        fragment AnomalyStatsIncidentDetailed on AnomalyStats {
                          __typename
                          srcSiteId
                          subjectType
                          metric {
                            name
                            value
                            __typename
                          }
                          drillDownFilter {
                            name
                            value
                            __typename
                          }
                          gaussian {
                            n
                            avg
                            __typename
                          }
                          mitres {
                            id
                            name
                            __typename
                          }
                          logonName
                          sourceIp
                          os
                          clientClass
                          deviceName
                          macAddress
                          breakdownField
                          predictedVerdict
                          predictedThreatType
                          similarStoriesData {
                            storyId
                            indication
                            threatTypeName
                            verdict
                            similarityPercentage
                            __typename
                          }
                          targets {
                            name
                            analysisScore
                            infectionSource
                            catoPopularity
                            threatFeeds
                            creationTime
                            categories
                            countryOfRegistration
                            searchHits
                            engines
                            eventData {
                              signatureId
                              eventType
                              threatType
                              threatName
                              severity
                              action
                              __typename
                            }
                            __typename
                          }
                          analystFeedback {
                            ...AnalystFeedback
                            __typename
                          }
                        }
                        
                        fragment AnalystFeedback on AnalystFeedback {
                          verdict
                          severity
                          threatType {
                            name
                            details
                            recommendedAction
                            __typename
                          }
                          threatClassification
                          additionalInfo
                          __typename
                        }
                        
                        fragment AnomalyEventsIncidentDetailed on AnomalyEvents {
                          __typename
                          srcSiteId
                          subjectType
                          metric {
                            name
                            value
                            __typename
                          }
                          drillDownFilter {
                            name
                            value
                            __typename
                          }
                          gaussian {
                            n
                            avg
                            __typename
                          }
                          mitres {
                            id
                            name
                            __typename
                          }
                          logonName
                          sourceIp
                          os
                          clientClass
                          deviceName
                          macAddress
                          breakdownField
                          predictedVerdict
                          predictedThreatType
                          similarStoriesData {
                            storyId
                            indication
                            threatTypeName
                            verdict
                            similarityPercentage
                            __typename
                          }
                          targets {
                            name
                            analysisScore
                            infectionSource
                            catoPopularity
                            threatFeeds
                            creationTime
                            categories
                            countryOfRegistration
                            searchHits
                            engines
                            eventData {
                              signatureId
                              eventType
                              threatType
                              threatName
                              severity
                              action
                              __typename
                            }
                            __typename
                          }
                          analystFeedback {
                            ...AnalystFeedback
                            __typename
                          }
                        }
                        
                        fragment ThreatIncidentDetailed on Threat {
                          __typename
                          srcSiteId
                          flowsCardinality
                          storyDuration
                          os
                          deviceName
                          macAddress
                          sourceIp
                          logonName
                          direction
                          predictedVerdict
                          predictedThreatType
                          similarStoriesData {
                            storyId
                            indication
                            threatTypeName
                            verdict
                            similarityPercentage
                            __typename
                          }
                          queryName
                          events {
                            signatureId
                            eventType
                            threatType
                            threatName
                            severity
                            __typename
                          }
                          mitres {
                            id
                            name
                            __typename
                          }
                          timeSeries {
                            info
                            units
                            label
                            data(perSecond: false)
                            sum
                            key {
                              measureFieldName
                              dimensions {
                                fieldName
                                value
                                __typename
                              }
                              __typename
                            }
                            __typename
                          }
                          targets {
                            type
                            name
                            analysisScore
                            infectionSource
                            catoPopularity
                            threatFeeds
                            creationTime
                            categories
                            countryOfRegistration
                            searchHits
                            engines
                            eventData {
                              signatureId
                              eventType
                              threatType
                              threatName
                              severity
                              action
                              __typename
                            }
                            __typename
                          }
                          flows {
                            appName
                            clientClass
                            sourceIp
                            sourcePort
                            direction
                            createdAt
                            referer
                            userAgent
                            method
                            destinationCountry
                            destinationPort
                            destinationIp
                            destinationGeolocation
                            url
                            tunnelGeolocation
                            domain
                            target
                            httpResponseCode
                            dnsResponseIP
                            smbFileName
                            fileHash
                            ja3
                            __typename
                          }
                          analystFeedback {
                            ...AnalystFeedback
                            __typename
                          }
                        }
                        
                        fragment ThreatPreventionIncidentDetailed on ThreatPrevention {
                          __typename
                          srcSiteId
                          flowsCardinality
                          storyDuration
                          os
                          deviceName
                          macAddress
                          sourceIp
                          logonName
                          direction
                          predictedVerdict
                          predictedThreatType
                          similarStoriesData {
                            storyId
                            indication
                            threatTypeName
                            verdict
                            similarityPercentage
                            __typename
                          }
                          queryName
                          events {
                            signatureId
                            eventType
                            threatType
                            threatName
                            severity
                            __typename
                          }
                          mitres {
                            id
                            name
                            __typename
                          }
                          timeSeries {
                            info
                            units
                            label
                            data(perSecond: false)
                            sum
                            key {
                              measureFieldName
                              dimensions {
                                fieldName
                                value
                                __typename
                              }
                              __typename
                            }
                            __typename
                          }
                          targets {
                            type
                            name
                            analysisScore
                            infectionSource
                            catoPopularity
                            threatFeeds
                            creationTime
                            categories
                            countryOfRegistration
                            searchHits
                            engines
                            eventData {
                              signatureId
                              eventType
                              threatType
                              threatName
                              severity
                              action
                              __typename
                            }
                            __typename
                          }
                          threatPreventionsEvents {
                            appName
                            clientClass
                            sourceIp
                            sourcePort
                            direction
                            createdAt
                            referrer
                            userAgent
                            method
                            destinationCountry
                            destinationPort
                            destinationIp
                            destinationGeolocation
                            url
                            tunnelGeolocation
                            domain
                            target
                            httpResponseCode
                            dnsResponseIP
                            smbFileName
                            fileHash
                            ja3
                            __typename
                          }
                          analystFeedback {
                            ...AnalystFeedback
                            __typename
                          }
                        }
                        
                        fragment NetworkXDRIncidentDetailed on NetworkXDRIncident {
                          __typename
                          storyDuration
                          storyType
                          occurrences
                          siteConnectionType
                          siteConfigLocation
                          acknowledged
                          description
                          linkId
                          linkName
                          linkConfigPrecedence
                          deviceConfigHaRole
                          licenseRegion
                          licenseBandwidth
                          pop
                          isp
                          hostIp
                          ruleName
                          bgpConnection {
                            connectionName
                            peerIp
                            peerAsn
                            catoIp
                            catoAsn
                            __typename
                          }
                          networkIncidentTimeline {
                            created
                            validated
                            description
                            eventType
                            incidentId
                            eventIds
                            acknowledged
                            networkEventSource
                            linkId
                            linkName
                            linkConfigPrecedence
                            linkStatus
                            linkConfigBandwidth
                            deviceConfigHaRole
                            deviceHaRoleState
                            pop
                            isp
                            hostIp
                            ruleName
                            tunnelResetCount
                            bgpConnection {
                              connectionName
                              peerIp
                              peerAsn
                              catoIp
                              catoAsn
                              __typename
                            }
                            linkQualityIssue {
                              issueType
                              direction
                              current
                              threshold
                              __typename
                            }
                            __typename
                          }
                          analystFeedback {
                            ... on AnalystFeedback {
                              severity
                              __typename
                            }
                            __typename
                          }
                        }
                        
                        fragment MicrosoftEndpointIncidentDetailed on MicrosoftEndpoint {
                          storyDuration
                          sourceIp
                          analystFeedback {
                            ...AnalystFeedback
                            __typename
                          }
                          device {
                            deviceName
                            osDetails {
                              ... on OsDetails {
                                ...MicrosoftEndpointIncidentDeviceOsDetails
                                __typename
                              }
                              __typename
                            }
                            loggedOnUsers {
                              ... on EndpointUser {
                                ...MicrosoftEndpointIncidentDeviceLoggedOnUser
                                __typename
                              }
                              __typename
                            }
                            __typename
                          }
                          alerts {
                            ... on MicrosoftDefenderEndpointAlert {
                              ...StoryDetailsMicrosoftEndpointAlert
                              __typename
                            }
                            __typename
                          }
                          __typename
                        }
                        
                        fragment MicrosoftEndpointIncidentDeviceOsDetails on OsDetails {
                          osType
                          osBuild
                          osVersion
                          __typename
                        }
                        
                        fragment MicrosoftEndpointIncidentDeviceLoggedOnUser on EndpointUser {
                          ... on MicrosoftEndpointUser {
                            ...MicrosoftEndpointIncidentUserDetails
                            __typename
                          }
                          __typename
                        }
                        
                        fragment MicrosoftEndpointIncidentUserDetails on MicrosoftEndpointUser {
                          name
                          domainName
                          __typename
                        }
                        
                        fragment StoryDetailsMicrosoftEndpointAlert on MicrosoftDefenderEndpointAlert {
                          id
                          title
                          localIp
                          destinationIp
                          destinationUrl
                          mitreTechnique {
                            id
                            name
                            __typename
                          }
                          firstActivityDateTime
                          lastActivityDateTime
                          threatName
                          activities {
                            ...StoryDetailsMicrosoftEndpointActivity
                            __typename
                          }
                          resources {
                            ...StoryDetailsMicrosoftEndpointResource
                            __typename
                          }
                          ... on MicrosoftDefenderEndpointAlert {
                            criticality
                            msStatus: status
                            __typename
                          }
                          __typename
                        }
                        
                        fragment StoryDetailsMicrosoftEndpointActivity on MicrosoftActivity {
                          id
                          resourceId
                          parentResourceId
                          action
                          __typename
                        }
                        
                        fragment StoryDetailsMicrosoftEndpointResource on MicrosoftEndpointResource {
                          id
                          remediationStatus
                          createdDateTime
                          verdict
                          roles
                          ...StoryDetailsMicrosoftEndpointFileResource
                          ...StoryDetailsMicrosoftEndpointProcessResource
                          ...StoryDetailsMicrosoftEndpointRegistryResource
                          __typename
                        }
                        
                        fragment StoryDetailsMicrosoftEndpointFileResource on MicrosoftFileResource {
                          detectionStatus
                          fileDetails {
                            ...StoryDetailsMicrosoftEndpointFileDetails
                            __typename
                          }
                          __typename
                        }
                        
                        fragment StoryDetailsMicrosoftEndpointFileDetails on FileDetails {
                          path
                          name
                          size
                          sha1
                          sha256
                          issuer
                          signer
                          __typename
                        }
                        
                        fragment StoryDetailsMicrosoftEndpointProcessResource on MicrosoftProcessResource {
                          processId
                          processCommandLine
                          imageFile {
                            ...StoryDetailsMicrosoftEndpointFileDetails
                            __typename
                          }
                          userAccount {
                            ...StoryDetailsMicrosoftEndpointUserDetails
                            __typename
                          }
                          __typename
                        }
                        
                        fragment StoryDetailsMicrosoftEndpointUserDetails on EndpointUser {
                          id
                          ... on MicrosoftEndpointUser {
                            userSid
                            __typename
                          }
                          __typename
                        }
                        
                        fragment StoryDetailsMicrosoftEndpointRegistryResource on MicrosoftRegistryResource {
                          valueName
                          valueType
                          value
                          key
                          hive
                          __typename
                        }
                        
                        fragment CatoEndpointIncidentDetailed on CatoEndpoint {
                          storyDuration
                          sourceIp
                          analystFeedback {
                            ...AnalystFeedback
                            __typename
                          }
                          device {
                            deviceName
                            macAddress
                            osDetails {
                              ... on OsDetails {
                                ...CatoEndpointIncidentDeviceOsDetails
                                __typename
                              }
                              __typename
                            }
                            loggedOnUsers {
                              ... on EndpointUser {
                                ...CatoEndpointIncidentDeviceLoggedOnUser
                                __typename
                              }
                              __typename
                            }
                            __typename
                          }
                          alerts {
                            ... on CatoEndpointAlert {
                              ...StoryDetailsCatoEndpointAlert
                              __typename
                            }
                            __typename
                          }
                          __typename
                        }
                        
                        fragment CatoEndpointIncidentDeviceOsDetails on OsDetails {
                          osType
                          osBuild
                          osVersion
                          __typename
                        }
                        
                        fragment CatoEndpointIncidentDeviceLoggedOnUser on EndpointUser {
                          ... on CatoEndpointUser {
                            ...CatoEndpointIncidentUserDetails
                            __typename
                          }
                          __typename
                        }
                        
                        fragment CatoEndpointIncidentUserDetails on CatoEndpointUser {
                          name
                          __typename
                        }
                        
                        fragment StoryDetailsCatoEndpointAlert on CatoEndpointAlert {
                          id
                          title
                          mitreTechnique {
                            id
                            name
                            __typename
                          }
                          createdDateTime
                          threatName
                          activities {
                            ...StoryDetailsCatoEndpointActivity
                            __typename
                          }
                          resources {
                            ...StoryDetailsCatoEndpointResource
                            __typename
                          }
                          ... on CatoEndpointAlert {
                            criticality
                            catoStatus: status
                            __typename
                          }
                          __typename
                        }
                        
                        fragment StoryDetailsCatoEndpointActivity on CatoActivity {
                          id
                          resourceId
                          parentResourceId
                          __typename
                        }
                        
                        fragment StoryDetailsCatoEndpointResource on CatoResource {
                          id
                          createdDateTime
                          remediationStatus
                          ...StoryDetailsCatoEndpointFileResource
                          ...StoryDetailsCatoEndpointProcessResource
                          __typename
                        }
                        
                        fragment StoryDetailsCatoEndpointFileResource on CatoFileResource {
                          detectionStatus
                          fileDetails {
                            ...StoryDetailsCatoEndpointFileDetails
                            __typename
                          }
                          __typename
                        }
                        
                        fragment StoryDetailsCatoEndpointFileDetails on FileDetails {
                          path
                          name
                          size
                          sha1
                          sha256
                          issuer
                          signer
                          __typename
                        }
                        
                        fragment StoryDetailsCatoEndpointProcessResource on CatoProcessResource {
                          processId
                          processCommandLine
                          imageFile {
                            ...StoryDetailsCatoEndpointFileDetails
                            __typename
                          }
                          userAccount {
                            ...StoryDetailsCatoEndpointUserDetails
                            __typename
                          }
                          __typename
                        }
                        
                        fragment StoryDetailsCatoEndpointUserDetails on EndpointUser {
                          id
                          ... on CatoEndpointUser {
                            name
                            __typename
                          }
                          __typename
                        }
                        
Variables
{"accountId": "123", "storyId": "abc123"}
Response
{
  "data": {
    "xdr": {
      "__typename": "XDR",
      "story": {
        "playbook": null,
        "incident": {
          "__typename": "Threat",
          "id": "abc123",
          "status": "Open",
          "producer": "ThreatHunt",
          "ticket": null,
          "connectionType": "Site",
          "indication": "abc123",
          "queryName": "abc123",
          "criticality": 5,
          "source": "abc123",
          "research": false,
          "firstSignal": "2024-02-29T09:00:00Z",
          "lastSignal": "2024-02-29T13:00:00Z",
          "description": "abc123",
          "site": null,
          "user": null,
          "srcSiteId": "123",
          "flowsCardinality": 4,
          "storyDuration": 14400,
          "os": "OS_WINDOWS",
          "deviceName": "abc123",
          "macAddress": "aa:aa:11:22:33:44",
          "sourceIp": "1.2.3.4",
          "logonName": null,
          "direction": "OUTBOUND",
          "predictedVerdict": null,
          "predictedThreatType": null,
          "similarStoriesData": [],
          "events": [],
          "mitres": [],
          "timeSeries": [],
          "targets": [
            {
              "type": "domain",
              "name": "123",
              "analysisScore": 0.75688803,
              "infectionSource": true,
              "catoPopularity": -1,
              "threatFeeds": 2,
              "creationTime": "2023-01-10T06:16:40Z",
              "categories": "abc123",
              "countryOfRegistration": "CZ",
              "searchHits": "123",
              "engines": null,
              "eventData": [],
              "__typename": "IncidentTargetRep"
            }
          ],
          "flows": [
            {
              "appName": "http",
              "clientClass": null,
              "sourceIp": "11.22.33.111",
              "sourcePort": 123,
              "direction": "INBOUND",
              "createdAt": "2024-02-29T09:45:00Z",
              "referer": null,
              "userAgent": null,
              "method": null,
              "destinationCountry": "US",
              "destinationPort": 123,
              "destinationIp": "11.22.33.644",
              "destinationGeolocation": "11.1,22.2",
              "url": null,
              "tunnelGeolocation": "11.1,22.2",
              "domain": "abc123",
              "target": "abc123",
              "httpResponseCode": null,
              "dnsResponseIP": null,
              "smbFileName": null,
              "fileHash": null,
              "ja3": null,
              "__typename": "IncidentFlow"
            }
          ],
          "analystFeedback": {
            "verdict": null,
            "severity": null,
            "threatType": {
              "name": "PuP",
              "details": null,
              "recommendedAction": null,
              "__typename": "AnalystFeedbackThreatType"
            },
            "threatClassification": null,
            "additionalInfo": null,
            "__typename": "AnalystFeedback"
          }
        },
        "__typename": "Story",
        "id": "abc123",
        "summary": "abc123",
        "updatedAt": "2024-03-27T08:32:44Z",
        "createdAt": "2024-03-27T08:22:51Z",
        "timeline": [
          {
            "createdAt": "2024-03-27T08:22:51Z",
            "type": "Diff",
            "descriptions": ["abc123"],
            "additionalInfo": null,
            "analystInfo": null,
            "context": "Story created",
            "category": null,
            "__typename": "TimelineItem"
          }
        ]
      }
    }
  }
}

ZtnaAppConnectorQueries

ztnaAppConnector

Beta Rollout
Description

Retrieve a single ZTNA App Connector

Required Permissions

This API requires access to the following permissions:

Ztna App Connector

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a ZtnaAppConnector

Arguments
Name Description
input - ZtnaAppConnectorRefInput!

Example

Query
query ZtnaAppConnector($accountId: ID!) {
    ztnaAppConnector(accountId: $accountId) {
        ztnaAppConnector(input: { by: ID, input: "1500000001" }) {
            id
            name
            description
            type
            groupName
            serialNumber
            socketId
            socketModel
            isRegistered
            privateAppCount
            privateAppRef {
                id
                name
            }
            location {
                countryCode
                countryName
                stateCode
                cityName
                address
                timezone
            }
            preferredPopLocation {
                automatic
                preferredOnly
                primary {
                    id
                    name
                }
                secondary {
                    id
                    name
                }
            }
            createdAt
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "ztnaAppConnector": {
      "ztnaAppConnector": {
        "id": "1500000001",
        "name": "DC-East-Connector-1",
        "description": "Primary connector for east data center",
        "type": "PHYSICAL",
        "groupName": "East-DC-Group",
        "serialNumber": "X1600-ABC12345",
        "socketId": "98765",
        "socketModel": "X1600",
        "isRegistered": true,
        "privateAppCount": 3,
        "privateAppRef": [
          {"id": "2001", "name": "internal-wiki"},
          {"id": "2002", "name": "jira-server"},
          {"id": "2003", "name": "gitlab-instance"}
        ],
        "location": {
          "countryCode": "US",
          "countryName": "United States",
          "stateCode": "California",
          "cityName": "San Francisco",
          "address": "100 Market Street",
          "timezone": "America/Los_Angeles"
        },
        "preferredPopLocation": {
          "automatic": false,
          "preferredOnly": false,
          "primary": {"id": "123", "name": "New York"},
          "secondary": {"id": "456", "name": "Tel Aviv"}
        },
        "createdAt": "2025-06-15T10:30:00Z"
      }
    }
  }
}

ztnaAppConnectorGroupList

Beta Rollout
Description

List connector group names, with optional free-text search and paging

Required Permissions

This API requires access to the following permissions:

Ztna App Connector

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - ZtnaAppConnectorGroupListInput

Example

Query
query ZtnaAppConnectorGroupList($accountId: ID!) {
    ztnaAppConnector(accountId: $accountId) {
        ztnaAppConnectorGroupList(input: {
            paging: { limit: 50, from: 0 }
        }) {
            items
            pageInfo {
                total
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "ztnaAppConnector": {
      "ztnaAppConnectorGroupList": {
        "items": ["East-DC-Group", "West-DC-Group", "AWS-Connectors"],
        "pageInfo": {"total": 3}
      }
    }
  }
}

ztnaAppConnectorList

Beta Rollout
Description

Paged list of ZTNA App Connectors, with optional filtering by group name(s)

Required Permissions

This API requires access to the following permissions:

Ztna App Connector

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a ZtnaAppConnectorListPayload

Arguments
Name Description
input - ZtnaAppConnectorListInput!

Example

Query
query ZtnaAppConnectorList($accountId: ID!) {
    ztnaAppConnector(accountId: $accountId) {
        ztnaAppConnectorList(input: {
            filter: {
                groupName: [{ eq: "East-DC-Group" }]
                type: { eq: PHYSICAL }
            }
            sort: { name: { direction: ASC, priority: 1 } }
            paging: { limit: 10, from: 0 }
        }) {
            ztnaAppConnector {
                id
                name
                type
                groupName
                serialNumber
                socketModel
                isRegistered
                location {
                    countryCode
                    cityName
                    timezone
                }
                createdAt
            }
            pageInfo {
                total
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "ztnaAppConnector": {
      "ztnaAppConnectorList": {
        "ztnaAppConnector": [
          {
            "id": "1500000001",
            "name": "DC-East-Connector-1",
            "type": "PHYSICAL",
            "groupName": "East-DC-Group",
            "serialNumber": "X1600-ABC12345",
            "socketModel": "X1600",
            "isRegistered": true,
            "location": {
              "countryCode": "US",
              "cityName": "San Francisco",
              "timezone": "America/Los_Angeles"
            },
            "createdAt": "2025-06-15T10:30:00Z"
          },
          {
            "id": "1500000002",
            "name": "DC-East-Connector-2",
            "type": "PHYSICAL",
            "groupName": "East-DC-Group",
            "serialNumber": "X1700-DEF67890",
            "socketModel": "X1700",
            "isRegistered": true,
            "location": {
              "countryCode": "US",
              "cityName": "San Francisco",
              "timezone": "America/Los_Angeles"
            },
            "createdAt": "2025-07-01T14:00:00Z"
          }
        ],
        "pageInfo": {"total": 2}
      }
    }
  }
}

ztnaAppConnectorsConfiguration

Beta Rollout
Description

Get ZTNA App Connectors configuration for the account

Required Permissions

This API requires access to the following permissions:

Ztna App Connector

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a ZtnaAppConnectorsConfiguration

Example

Query
query ZtnaAppConnectorsConfiguration($accountId: ID!) {
    ztnaAppConnector(accountId: $accountId) {
        ztnaAppConnectorsConfiguration {
            privateAppsServiceRange
            appConnectorManagementRange
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "ztnaAppConnector": {
      "ztnaAppConnectorsConfiguration": {
        "privateAppsServiceRange": "100.64.0.0/16",
        "appConnectorManagementRange": "100.65.0.0/16"
      }
    }
  }
}

Mutations

encryptKeytabFile

Beta
Description

Uploads a Kerberos keytab file for Site Web Proxy and returns an encrypted payload. This operation is a pre-step for configuring Kerberos authentication in siteWebProxy policy.

The request must be sent as a GraphQL multipart/form-data upload (graphql-multipart-request-spec): input.file is null in operations, and the file bytes are sent as a separate form-data part mapped to it via map.

curl -X POST "https://api.catonetworks.com/api/v1/graphql2" \
  -H "x-api-key: <API_KEY>" \
  -F 'operations={"query":"mutation encryptKeytabFile($accountId: ID!, $input: EncryptKeytabFileInput!) { encryptKeytabFile(accountId: $accountId, input: $input) { encryptedFile } }","variables":{"accountId":"123","input":{"file":null}}}' \
  -F 'map={"0":["variables.input.file"]}' \
  -F '0=@/path/to/file.keytab'
Required Permissions

This API requires access to the following permissions:

Users & User Groups

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an EncryptKeytabFilePayload!

Arguments
Name Description
accountId - ID!
input - EncryptKeytabFileInput!

Example

Query
mutation encryptKeytabFile($accountId: ID!, $input: EncryptKeytabFileInput!) {
  encryptKeytabFile(accountId: $accountId, input: $input) {
    encryptedFile
  }
}
Variables
{"accountId": "123", "input": {"file": "<file sent as a multipart part>"}}
Response
{
  "data": {
    "encryptKeytabFile": {"encryptedFile": "BASE64_ENCRYPTED_KEYTAB_SAMPLE"}
  }
}

AccessPrivateApplicationMutations

createPrivateApplication

Beta Rollout
Description

Create a new private application for Private Access

Required Permissions

This API requires access to the following permissions:

Private Application

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CreatePrivateApplicationPayload

Arguments
Name Description
input - CreatePrivateApplicationInput!

Example

Query
mutation CreatePrivateApplication($accountId: ID!) {
    privateApplication(accountId: $accountId) {
        createPrivateApplication(input: {
            name: "Internal HR Portal"
            description: "Internal HR management application"
            internalAppAddress: "hr.internal.corp"
            probingEnabled: true
            published: true
            allowIcmpProtocol: true
            protocolPorts: [
                {
                    protocol: TCP
                    port: [443, 8443]
                }
            ]
            publishedAppDomain: {
                publishedAppDomain: "publish.domain.com"
                connectorGroupName: "group 1"
            }
        }) {
            application {
                id
                name
                description
                internalAppAddress
                probingEnabled
                published
                allowIcmpProtocol
                protocolPorts {
                    protocol
                    port
                }
                publishedAppDomain {
                    publishedAppDomain
                    connectorGroupName
                }
            }
        }
    }
}
Variables
{"accountId": 203337}
Response
{
  "data": {
    "privateApplication": {
      "createPrivateApplication": {
        "application": {
          "id": "5001",
          "name": "Internal HR Portal",
          "description": "Internal HR management application",
          "internalAppAddress": "hr.internal.corp",
          "probingEnabled": true,
          "published": false,
          "allowIcmpProtocol": true,
          "protocolPorts": [{"protocol": "TCP", "port": [443, 8443]}],
          "publishedAppDomain": {
            "publishedAppDomain": "publish.domain.com",
            "connectorGroupName": "group 1"
          }
        }
      }
    }
  }
}

deletePrivateApplication

Beta Rollout
Description

Delete a private application. This action cannot be undone.

Required Permissions

This API requires access to the following permissions:

Private Application

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DeletePrivateApplicationPayload

Arguments
Name Description
input - DeletePrivateApplicationInput!

Example

Query
mutation DeletePrivateApplication($accountId: ID!) {
    privateApplication(accountId: $accountId) {
        deletePrivateApplication(input: {
            privateApplication: {
                by: ID
                input: "5001"
            }
        }) {
            application
        }
    }
}
Variables
{"accountId": 203337}
Response
{
  "data": {
    "privateApplication": {"deletePrivateApplication": {"application": "5001"}}
  }
}

updatePrivateApplication

Beta Rollout
Description

Update an existing private application's configuration

Required Permissions

This API requires access to the following permissions:

Private Application

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdatePrivateApplicationPayload

Arguments
Name Description
input - UpdatePrivateApplicationInput!

Example

Query
mutation UpdatePrivateApplication($accountId: ID!) {
    privateApplication(accountId: $accountId) {
        updatePrivateApplication(input: {
            id: "5001"
            name: "Updated HR Portal"
            description: "Updated internal HR management application"
            published: true
            protocolPorts: [
                {
                    protocol: TCP
                    port: [443]
                }
            ]
            privateAppProbing: {
                type: "ICMP_PING"
                interval: 5
                faultThresholdDown: 5
            }
        }) {
            application {
                id
                name
                description
                internalAppAddress
                probingEnabled
                published
                allowIcmpProtocol
                protocolPorts {
                    protocol
                    port
                }
                privateAppProbing {
                    type
                    interval
                    faultThresholdDown
                }
            }
        }
    }
}
Variables
{"accountId": 203337}
Response
{
  "data": {
    "privateApplication": {
      "updatePrivateApplication": {
        "application": {
          "id": "5001",
          "name": "Updated HR Portal",
          "description": "Updated internal HR management application",
          "internalAppAddress": "hr.internal.corp",
          "probingEnabled": true,
          "published": true,
          "allowIcmpProtocol": true,
          "protocolPorts": [{"protocol": "TCP", "port": [443]}],
          "privateAppProbing": {
            "type": "ICMP_PING",
            "interval": 5,
            "faultThresholdDown": 5
          }
        }
      }
    }
  }
}

AccountManagementMutations

addAccount

Description

Add a new account

Required Permissions

This API requires access to the following permissions:

Accounts

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AccountInfo

Arguments
Name Description
input - AddAccountInput!

Example

Query
mutation addAccount($accountId:ID!, $input:AddAccountInput!) {
  accountManagement(accountId: $accountId) {
    addAccount(input: $input) {
      description
      id
      name
      tenancy
      timeZone
      type
      audit {
        createdBy
        createdTime
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "name": "account_name",
    "tenancy": "SINGLE_TENANT",
    "type": "CUSTOMER",
    "description": "account description",
    "timezone": "Australia/ACT"
  }
}
Response
{
  "data": {
    "accountManagement": {
      "addAccount": {
        "description": "account description",
        "id": "456",
        "name": "name",
        "tenancy": "SINGLE_TENANT",
        "timeZone": "Australia/ACT",
        "type": "CUSTOMER",
        "audit": {
          "createdBy": "main@admin.com",
          "createdTime": "2024-08-14T09:34:24Z"
        }
      }
    }
  }
}

disableAccount

Description

Sets the account status to "Disabled" for accounts with plan = "Trial" and status = "Active" or "Locked".

Required Permissions

This API requires access to the following permissions:

Accounts

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DisableAccountPayload

Arguments
Name Description
accountId - ID!

Example

Query
mutation disableAccount($parentAccountId:ID!, $accountId:ID!) {
  accountManagement(accountId: $parentAccountId) {
    disableAccount(accountId: $accountId) {
      accountInfo {
                description
                id
                name
                tenancy
                timeZone
                type
                audit {
                    createdBy
                    createdTime
                }
                plan
                status
      }
    }
  }
}
Variables
{"parentAccountId": "123", "accountId": "456"}
Response
{
  "data": {
    "accountManagement": {
      "disableAccount": {
        "accountInfo": {
          "description": "account description",
          "id": "456",
          "name": "name",
          "tenancy": "SINGLE_TENANT",
          "timeZone": "Australia/ACT",
          "type": "CUSTOMER",
          "audit": {
            "createdBy": "main@admin.com",
            "createdTime": "2024-08-14T09:34:24Z"
          },
          "plan": "TRIAL",
          "status": "ACTIVE"
        }
      }
    }
  }
}

removeAccount

Description

Delete an existing account. The account status will become “Disabled”, and it will be scheduled for deletion

Required Permissions

This API requires access to the following permissions:

Accounts

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a RemoveAccountPayload

Arguments
Name Description
accountId - ID!

Example

Query
mutation removeAccount($parentAccountId:ID!, $accountId:ID!) {
  accountManagement(accountId: $parentAccountId) {
    removeAccount(accountId: $accountId) {
      accountInfo {
                description
                id
                name
                tenancy
                timeZone
                type
                audit {
                    createdBy
                    createdTime
                }
      }
    }
  }
}
Variables
{"parentAccountId": "123", "accountId": "456"}
Response
{
  "data": {
    "accountManagement": {
      "removeAccount": {
        "accountInfo": {
          "description": "account description",
          "id": "456",
          "name": "name",
          "tenancy": "SINGLE_TENANT",
          "timeZone": "Australia/ACT",
          "type": "CUSTOMER",
          "audit": {
            "createdBy": "main@admin.com",
            "createdTime": "2024-08-14T09:34:24Z"
          }
        }
      }
    }
  }
}

updateAccount

Description

Update existing account attributes

Required Permissions

This API requires access to the following permissions:

Account Info

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AccountInfo

Arguments
Name Description
input - UpdateAccountInput!

Example

Query
mutation updateAccount($accountId:ID!, $input:UpdateAccountInput!) {
  accountManagement(accountId: $accountId) {
    updateAccount(input: $input) {
      description
      id
      name
      tenancy
      timeZone
      type
      audit {
        createdBy
        createdTime
      }
    }
  }
}
Variables
{"accountId": "456", "input": {"description": "new account description"}}
Response
{
  "data": {
    "accountManagement": {
      "updateAccount": {
        "description": "account description",
        "id": "456",
        "name": "name",
        "tenancy": "SINGLE_TENANT",
        "timeZone": "Australia/ACT",
        "type": "CUSTOMER",
        "audit": {
          "createdBy": "main@admin.com",
          "createdTime": "2024-08-14T09:34:24Z"
        }
      }
    }
  }
}

AdminMutations

addAdmin

Required Permissions

This API requires access to the following permissions:

Administrators

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddAdminPayload

Arguments
Name Description
input - AddAdminInput!

Example

Query
mutation addAdmin($accountId:ID!, $input: AddAdminInput!) {
  admin(accountId:$accountId) {
    addAdmin(input:$input) {
      adminID
      passwordSetupUrl
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "firstName": "Name",
    "lastName": "Surname",
    "email": "name.surname@company.org",
    "passwordNeverExpires": false,
    "mfaEnabled": true,
    "shouldSendInvitationEmail": false,
    "managedRoles": [{"role": {"id": 2, "name": "Viewer"}}]
  }
}
Response
{
  "data": {
    "admin": {
      "addAdmin": {
        "adminID": "456",
        "passwordSetupUrl": "https://company.cc.catnet.works/create-password?payload=dummy-payload"
      }
    }
  }
}

addServicePrincipalAdmin

Required Permissions

This API requires access to the following permissions:

Administrators

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddServicePrincipalAdminPayload

Arguments
Name Description
input - AddServicePrincipalAdminInput!

Example

Query
mutation addServicePrincipalAdmin($accountId:ID!, $input: AddServicePrincipalAdminInput!) {
  admin(accountId:$accountId) {
    addServicePrincipalAdmin(input:$input) {
      adminID
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "name": "Service Principal",
    "email": "service.principal@company.org",
    "managedRoles": [{"role": {"id": 2, "name": "Viewer"}}]
  }
}
Response
{"data": {"admin": {"addServicePrincipalAdmin": {"adminID": "456"}}}}

removeAdmin

Required Permissions

This API requires access to the following permissions:

Administrators

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a RemoveAdminPayload

Arguments
Name Description
adminID - ID!

Example

Query
mutation removeAdmin($accountId:ID!, $adminID:ID!){
  admin(accountId:$accountId) {
    removeAdmin(adminID:$adminID) {
      adminID
    }
  }
}
Variables
{"accountId": "123", "adminID": "456"}
Response
{"data": {"admin": {"removeAdmin": {"adminID": "456"}}}}

removeServicePrincipalAdmin

Required Permissions

This API requires access to the following permissions:

Administrators

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
adminID - ID!

Example

Query
mutation removeServicePrincipalAdmin($accountId:ID!, $adminID:ID!){
  admin(accountId:$accountId) {
    removeServicePrincipalAdmin(adminID:$adminID) {
      adminID
    }
  }
}
Variables
{"accountId": "123", "adminID": "456"}
Response
{"data": {"admin": {"removeServicePrincipalAdmin": {"adminID": "456"}}}}

updateAdmin

Required Permissions

This API requires access to the following permissions:

Administrators

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateAdminPayload

Arguments
Name Description
adminID - ID!
input - UpdateAdminInput!

Example

Query
mutation updateAdmin($accountId:ID!, $adminID:ID!, $input: UpdateAdminInput!){
  admin(accountId:$accountId) {
    updateAdmin(adminID:$adminID,input:$input) {
      adminID
    }
  }
}
Variables
{
  "accountId": "123",
  "adminID": "456",
  "input": {
    "managedRoles": [
      {"role": {"id": 1, "name": "Editor"}},
      {"role": {"id": 2, "name": "Viewer"}}
    ]
  }
}
Response
{"data": {"admin": {"updateAdmin": {"adminID": "456"}}}}

updateServicePrincipalAdmin

Required Permissions

This API requires access to the following permissions:

Administrators

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
adminID - ID!
input - UpdateServicePrincipalAdminInput!

Example

Query
mutation updateServicePrincipalAdmin($accountId:ID!, $adminID:ID!, $input: UpdateServicePrincipalAdminInput!){
  admin(accountId:$accountId) {
    updateServicePrincipalAdmin(adminID:$adminID,input:$input) {
      adminID
    }
  }
}
Variables
{
  "accountId": "123",
  "adminID": "456",
  "input": {
    "name": "Service Principal (renamed)",
    "managedRoles": [{"role": {"id": 1, "name": "Editor"}}]
  }
}
Response
{"data": {"admin": {"updateServicePrincipalAdmin": {"adminID": "456"}}}}

BusinessPlatformMutations

createTrialAccount

Beta Rollout
Description

Creates a new trial account under the partner.

Required Permissions

This API requires access to the following permissions:

Business Platform

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - BusinessPlatformCreateTrialAccountInput!

Example

Query
mutation businessPlatform($accountId: ID!, $input: BusinessPlatformCreateTrialAccountInput!) {
  businessPlatform(accountId: $accountId) {
    createTrialAccount(input: $input) {
      account {
        id
        externalName
        accountExternalName
        plan
        expiresOn
        account {
          id
          name
        }
        partner {
          id
          name
        }
      }
    }
  }
}
Variables
{
  "accountId": "26361",
  "input": {
    "id": "a1B2c3D4",
    "accountData": {
      "name": "Acme Corp",
      "description": "Trial account for Acme",
      "timezone": "America/New_York",
      "tenancy": "SINGLE_TENANT",
      "type": "CUSTOMER"
    },
    "adminData": {
      "firstName": "John",
      "lastName": "Doe",
      "email": "john.doe@acme.com"
    },
    "canManageSubAccounts": false
  }
}
Response
{
  "data": {
    "businessPlatform": {
      "createTrialAccount": {
        "account": {
          "id": "a1B2c3D4",
          "externalName": "Acme Corp",
          "accountExternalName": "Acme Corporation Ltd.",
          "plan": "TRIAL",
          "expiresOn": "2026-09-30",
          "account": {
            "id": "10036494",
            "name": "Acme Corp",
            "__typename": "AccountRef"
          },
          "partner": {
            "id": "26361",
            "name": "Best Partner Inc.",
            "__typename": "AccountRef"
          },
          "__typename": "BusinessPlatformAccount"
        },
        "__typename": "BusinessPlatformCreateTrialAccountPayload"
      },
      "__typename": "BusinessPlatformMutations"
    }
  }
}

linkToTrialAccount

Beta Rollout
Description

Links an existing business platform account to an already provisioned trial (CMA) account.

Required Permissions

This API requires access to the following permissions:

Business Platform

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - BusinessPlatformLinkToTrialAccountInput!

Example

Query
mutation businessPlatform($accountId: ID!, $input: BusinessPlatformLinkToTrialAccountInput!) {
  businessPlatform(accountId: $accountId) {
    linkToTrialAccount(input: $input) {
      account {
        id
        externalName
        accountExternalName
        plan
        account {
          id
          name
        }
        partner {
          id
          name
        }
      }
    }
  }
}
Variables
{"accountId": "26361", "input": {"id": "a1B2c3D4", "cmaId": "10036494"}}
Response
{
  "data": {
    "businessPlatform": {
      "linkToTrialAccount": {
        "account": {
          "id": "a1B2c3D4",
          "externalName": "Acme Corp",
          "accountExternalName": "Acme Corporation Ltd.",
          "plan": "TRIAL",
          "account": {
            "id": "10036494",
            "name": "Acme Corp",
            "__typename": "AccountRef"
          },
          "partner": {
            "id": "26361",
            "name": "Best Partner Inc.",
            "__typename": "AccountRef"
          },
          "__typename": "BusinessPlatformAccount"
        },
        "__typename": "BusinessPlatformLinkToTrialAccountPayload"
      },
      "__typename": "BusinessPlatformMutations"
    }
  }
}

updateSettings

Beta Rollout
Description

Updates the account's Business Platform settings.

Required Permissions

This API requires access to the following permissions:

Self Provisioning Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - BusinessPlatformUpdateSettingsInput!

Example

Query
mutation businessPlatform($accountId: ID!, $input: BusinessPlatformUpdateSettingsInput!) {
  businessPlatform(accountId: $accountId) {
    updateSettings(input: $input) {
      approvalEnabled
    }
  }
}
Variables
{"accountId": "26361", "input": {"approvalEnabled": true}}
Response
{
  "data": {
    "businessPlatform": {
      "updateSettings": {
        "approvalEnabled": true,
        "__typename": "BusinessPlatformUpdateSettingsPayload"
      },
      "__typename": "BusinessPlatformMutations"
    }
  }
}

ContainerMutations

delete

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DeleteContainerPayload!

Arguments
Name Description
input - DeleteContainerInput!

Example

Query
mutation removeValuesFqdnContainer($accountId:ID!, $input:DeleteContainerInput!) {
    container(accountId: $accountId) {
        delete(input: $input) {
            container {
                __typename
                id
                name
                description
                size
                audit {
                    createdBy
                    createdAt
                    lastModifiedBy
                    lastModifiedAt
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {"ref": {"by": "NAME", "input": "Some Container"}}
}
Response
{
  "data": {
    "container": {
      "delete": {
        "container": {
          "__typename": "FqdnContainer",
          "id": "1234567890",
          "name": "Some Container",
          "description": "Description of some container",
          "size": 100,
          "audit": {
            "createdBy": "some.admin@catonetworks.com",
            "createdAt": "2024-09-18T14:31:03Z",
            "lastModifiedBy": "some.admin@catonetworks.com",
            "lastModifiedAt": "2024-09-18T14:31:03Z"
          }
        }
      }
    }
  }
}

FqdnContainerMutations

addValues

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a FqdnContainerAddValuesPayload!

Arguments
Name Description
input - FqdnContainerAddValuesInput!

Example

Query
mutation addValuesToFqdnContainer($accountId:ID!, $input:FqdnContainerAddValuesInput!)  {
    container(accountId: $accountId) {
        fqdn {
            addValues(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "ref": {"by": "NAME", "input": "Some Container"},
    "values": ["google.com", "amazon.com"]
  }
}
Response
{
  "data": {
    "container": {
      "fqdn": {
        "addValues": {
          "container": {
            "__typename": "FqdnContainer",
            "id": "1234567890",
            "name": "Some Container",
            "description": "Description of some container",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            }
          }
        }
      }
    }
  }
}

createFromFile

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - CreateFqdnContainerFromFileInput!

Example

Query
mutation createFqdnContainerFromFile($accountId:ID!, $input:CreateFqdnContainerFromFileInput!)  {
    container(accountId: $accountId) {
        fqdn {
            createFromFile(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "name": "Some Container",
    "description": "Description of some container",
    "uploadFile": "A multipart file containing data"
  }
}
Response
{
  "data": {
    "container": {
      "fqdn": {
        "createFromFile": {
          "container": {
            "__typename": "FqdnContainer",
            "id": "1234567890",
            "name": "Some Container",
            "description": "Description of some container",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            }
          }
        }
      }
    }
  }
}

createFromList

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - CreateFqdnContainerFromListInput!

Example

Query
mutation createFqdnContainerFromListInput($accountId:ID!, $input:CreateFqdnContainerFromListInput!)  {
    container(accountId: $accountId) {
        fqdn {
            createFromList(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "name": "Some Container",
    "description": "Description of some container",
    "values": ["www.example.com"]
  }
}
Response
{
  "data": {
    "container": {
      "fqdn": {
        "createFromList": {
          "container": {
            "__typename": "IpAddressRangeContainer",
            "id": "1234567890",
            "name": "Some Container",
            "description": "Description of some container",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            }
          }
        }
      }
    }
  }
}

createFromURL

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - CreateFqdnContainerFromUrlInput!

Example

Query
mutation createFqdnContainerFromURL($accountId:ID!, $input:CreateFqdnContainerFromUrlInput!)  {
    container(accountId: $accountId) {
        fqdn {
            createFromURL(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                    syncData {
                        fileType
                        url
                        timeInterval
                        timeUnit
                        notifications {
                            subscriptionGroup {
                                id
                                name
                            }
                            webhook {
                                id
                                name
                            }
                            mailingList {
                                id
                                name
                            }
                        }
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "name": "FQDN Container from URL",
    "description": "Container synced from external URL",
    "fileType": "CSV",
    "syncData": {
      "url": "https://example.com/fqdns.csv",
      "timeInterval": 24,
      "timeUnit": "HOUR",
      "notifications": {
        "subscriptionGroup": [],
        "webhook": [],
        "mailingList": [{"by": "NAME", "input": "All Admins"}]
      }
    }
  }
}
Response
{
  "data": {
    "container": {
      "fqdn": {
        "createFromURL": {
          "container": {
            "__typename": "FqdnContainer",
            "id": "1234567890",
            "name": "FQDN Container from URL",
            "description": "Container synced from external URL",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            },
            "syncData": {
              "fileType": "CSV",
              "url": "https://example.com/fqdns.csv",
              "timeInterval": 24,
              "timeUnit": "HOUR",
              "notifications": {
                "subscriptionGroup": [],
                "webhook": [],
                "mailingList": [{"id": "-100", "name": "All Admins"}]
              }
            }
          }
        }
      }
    }
  }
}

removeValues

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - FqdnContainerRemoveValuesInput!

Example

Query
mutation removeValuesToFqdnContainer($accountId:ID!, $input:FqdnContainerRemoveValuesInput!)  {
    container(accountId: $accountId) {
        fqdn {
            removeValues(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "ref": {"by": "NAME", "input": "Some Container"},
    "values": ["google.com", "amazon.com"]
  }
}
Response
{
  "data": {
    "container": {
      "fqdn": {
        "removeValues": {
          "container": {
            "__typename": "FqdnContainer",
            "id": "1234567890",
            "name": "Some Container",
            "description": "Description of some container",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            }
          }
        }
      }
    }
  }
}

syncFromURL

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - SyncFqdnContainerFromUrlInput!

Example

Query
mutation syncFqdnContainerFromURL($accountId:ID!, $input:SyncFqdnContainerFromUrlInput!)  {
    container(accountId: $accountId) {
        fqdn {
            syncFromURL(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                    syncData {
                        fileType
                        url
                        timeInterval
                        timeUnit
                        notifications {
                            subscriptionGroup {
                                id
                                name
                            }
                            webhook {
                                id
                                name
                            }
                            mailingList {
                                id
                                name
                            }
                        }
                    }
                    syncDataAudit {
                        lastSynced
                        lastSyncAttempt
                        errorMsg
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {"ref": {"by": "NAME", "input": "FQDN Container from URL"}}
}
Response
{
  "data": {
    "container": {
      "fqdn": {
        "syncFromURL": {
          "container": {
            "__typename": "FqdnContainer",
            "id": "1234567890",
            "name": "FQDN Container from URL",
            "description": "Container synced from external URL",
            "size": 150,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T16:00:00Z"
            },
            "syncData": {
              "fileType": "CSV",
              "url": "https://example.com/fqdns.csv",
              "timeInterval": 24,
              "timeUnit": "HOUR",
              "notifications": {
                "subscriptionGroup": [],
                "webhook": [],
                "mailingList": []
              }
            },
            "syncDataAudit": {
              "lastSynced": "2024-09-18T16:00:00Z",
              "lastSyncAttempt": "2024-09-18T16:00:00Z",
              "errorMsg": null
            }
          }
        }
      }
    }
  }
}

updateFromFile

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - UpdateFqdnContainerFromFileInput!

Example

Query
mutation updateFqdnContainerFromFile($accountId:ID!, $input:UpdateFqdnContainerFromFileInput!)  {
    container(accountId: $accountId) {
        fqdn {
            updateFromFile(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "ref": {"by": "NAME", "input": "Some Container"},
    "description": "Description of some container",
    "uploadFile": null
  }
}
Response
{
  "data": {
    "container": {
      "fqdn": {
        "updateFromFile": {
          "container": {
            "__typename": "FqdnContainer",
            "id": "1234567890",
            "name": "Some Container",
            "description": "Description of some container",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            }
          }
        }
      }
    }
  }
}

updateFromList

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - UpdateFqdnContainerFromListInput!

Example

Query
mutation updateFqdnContainerFromListInput($accountId:ID!, $input:UpdateFqdnContainerFromListInput!)  {
    container(accountId: $accountId) {
        fqdn {
            updateFromList(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "ref": {"by": "NAME", "input": "Some Container"},
    "description": "Description of some container",
    "values": ["www.example.com"]
  }
}
Response
{
  "data": {
    "container": {
      "fqdn": {
        "updateFromList": {
          "container": {
            "__typename": "IpAddressRangeContainer",
            "id": "1234567890",
            "name": "Some Container",
            "description": "Description of some container",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            }
          }
        }
      }
    }
  }
}

updateFromURL

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - UpdateFqdnContainerFromUrlInput!

Example

Query
mutation updateFqdnContainerFromURL($accountId:ID!, $input:UpdateFqdnContainerFromUrlInput!)  {
    container(accountId: $accountId) {
        fqdn {
            updateFromURL(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                    syncData {
                        fileType
                        url
                        timeInterval
                        timeUnit
                        notifications {
                            subscriptionGroup {
                                id
                                name
                            }
                            webhook {
                                id
                                name
                            }
                            mailingList {
                                id
                                name
                            }
                        }
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "ref": {"by": "NAME", "input": "FQDN Container from URL"},
    "description": "Updated description for container synced from URL",
    "fileType": "CSV",
    "syncData": {
      "url": "https://example.com/fqdns-updated.csv",
      "timeInterval": 12,
      "timeUnit": "HOUR",
      "notifications": {
        "subscriptionGroup": [],
        "webhook": [],
        "mailingList": []
      }
    }
  }
}
Response
{
  "data": {
    "container": {
      "fqdn": {
        "updateFromURL": {
          "container": {
            "__typename": "FqdnContainer",
            "id": "1234567890",
            "name": "FQDN Container from URL",
            "description": "Updated description for container synced from URL",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T15:45:00Z"
            },
            "syncData": {
              "fileType": "CSV",
              "url": "https://example.com/fqdns-updated.csv",
              "timeInterval": 12,
              "timeUnit": "HOUR",
              "notifications": {
                "subscriptionGroup": [],
                "webhook": [],
                "mailingList": []
              }
            }
          }
        }
      }
    }
  }
}

IpAddressRangeContainerMutations

addValues

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - IpAddressRangeContainerAddValuesInput!

Example

Query
mutation addValuesToIpAddressRangeContainer($accountId:ID!, $input:IpAddressRangeContainerAddValuesInput!)  {
    container(accountId: $accountId) {
        ipAddressRange {
            addValues(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "ref": {"by": "NAME", "input": "Some Container"},
    "values": [
      {"from": "190.20.24.36", "to": "190.20.24.236"},
      {"from": "190.30.24.36", "to": "190.30.24.236"}
    ]
  }
}
Response
{
  "data": {
    "container": {
      "ipAddressRange": {
        "addValues": {
          "container": {
            "__typename": "IpAddressRangeContainer",
            "id": "1234567890",
            "name": "Some Container",
            "description": "Description of some container",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            }
          }
        }
      }
    }
  }
}

createFromFile

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
mutation createIpAddressRangeContainerFromFile($accountId:ID!, $input:CreateIpAddressRangeContainerFromFileInput!)  {
    container(accountId: $accountId) {
        ipAddressRange {
            createFromFile(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "name": "Some Container",
    "description": "Description of some container",
    "uploadFile": "A multipart file containing data"
  }
}
Response
{
  "data": {
    "container": {
      "ipAddressRange": {
        "createFromFile": {
          "container": {
            "__typename": "IpAddressRangeContainer",
            "id": "1234567890",
            "name": "Some Container",
            "description": "Description of some container",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            }
          }
        }
      }
    }
  }
}

createFromList

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
mutation createIpAddressRangeContainerFromList($accountId:ID!, $input:CreateIpAddressRangeContainerFromListInput!)  {
    container(accountId: $accountId) {
        ipAddressRange {
            createFromList(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "name": "Some Container",
    "description": "Description of some container",
    "values": [{"from": "1.2.3.4", "to": "2.3.4.5"}]
  }
}
Response
{
  "data": {
    "container": {
      "ipAddressRange": {
        "createFromList": {
          "container": {
            "__typename": "IpAddressRangeContainer",
            "id": "1234567890",
            "name": "Some Container",
            "description": "Description of some container",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            }
          }
        }
      }
    }
  }
}

createFromURL

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
mutation createIpAddressRangeContainerFromURL($accountId:ID!, $input:CreateIpAddressRangeContainerFromUrlInput!)  {
    container(accountId: $accountId) {
        ipAddressRange {
            createFromURL(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                    syncData {
                        fileType
                        url
                        timeInterval
                        timeUnit
                        notifications {
                            subscriptionGroup {
                                id
                                name
                            }
                            webhook {
                                id
                                name
                            }
                            mailingList {
                                id
                                name
                            }
                        }
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "name": "IP Range Container from URL",
    "description": "Container synced from external URL",
    "fileType": "CSV",
    "syncData": {
      "url": "https://example.com/ip-ranges.csv",
      "timeInterval": 24,
      "timeUnit": "HOUR",
      "notifications": {
        "subscriptionGroup": [],
        "webhook": [],
        "mailingList": [{"by": "NAME", "input": "All Admins"}]
      }
    }
  }
}
Response
{
  "data": {
    "container": {
      "ipAddressRange": {
        "createFromURL": {
          "container": {
            "__typename": "IpAddressRangeContainer",
            "id": "1234567890",
            "name": "IP Range Container from URL",
            "description": "Container synced from external URL",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            },
            "syncData": {
              "fileType": "CSV",
              "url": "https://example.com/ip-ranges.csv",
              "timeInterval": 24,
              "timeUnit": "HOUR",
              "notifications": {
                "subscriptionGroup": [],
                "webhook": [],
                "mailingList": [{"id": "-100", "name": "All Admins"}]
              }
            }
          }
        }
      }
    }
  }
}

removeValues

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - IpAddressRangeContainerRemoveValuesInput!

Example

Query
mutation removeValuesToIpAddressRangeContainer($accountId:ID!, $input:IpAddressRangeContainerRemoveValuesInput!)  {
    container(accountId: $accountId) {
        ipAddressRange {
            removeValues(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "ref": {"by": "NAME", "input": "Some Container"},
    "values": [
      {"from": "190.20.24.36", "to": "190.20.24.236"},
      {"from": "190.30.24.36", "to": "190.30.24.236"}
    ]
  }
}
Response
{
  "data": {
    "container": {
      "ipAddressRange": {
        "removeValues": {
          "container": {
            "__typename": "IpAddressRangeContainer",
            "id": "1234567890",
            "name": "Some Container",
            "description": "Description of some container",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            }
          }
        }
      }
    }
  }
}

syncFromURL

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - SyncIpAddressRangeContainerFromUrlInput!

Example

Query
mutation syncIpAddressRangeContainerFromURL($accountId:ID!, $input:SyncIpAddressRangeContainerFromUrlInput!)  {
    container(accountId: $accountId) {
        ipAddressRange {
            syncFromURL(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                    syncData {
                        fileType
                        url
                        timeInterval
                        timeUnit
                        notifications {
                            subscriptionGroup {
                                id
                                name
                            }
                            webhook {
                                id
                                name
                            }
                            mailingList {
                                id
                                name
                            }
                        }
                    }
                    syncDataAudit {
                        lastSynced
                        lastSyncAttempt
                        errorMsg
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {"ref": {"by": "NAME", "input": "IP Range Container from URL"}}
}
Response
{
  "data": {
    "container": {
      "ipAddressRange": {
        "syncFromURL": {
          "container": {
            "__typename": "IpAddressRangeContainer",
            "id": "1234567890",
            "name": "IP Range Container from URL",
            "description": "Container synced from external URL",
            "size": 150,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T16:00:00Z"
            },
            "syncData": {
              "fileType": "CSV",
              "url": "https://example.com/ip-ranges.csv",
              "timeInterval": 24,
              "timeUnit": "HOUR",
              "notifications": {
                "subscriptionGroup": [],
                "webhook": [],
                "mailingList": []
              }
            },
            "syncDataAudit": {
              "lastSynced": "2024-09-18T16:00:00Z",
              "lastSyncAttempt": "2024-09-18T16:00:00Z",
              "errorMsg": null
            }
          }
        }
      }
    }
  }
}

updateFromFile

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
mutation updateIpAddressRangeContainerFromFile($accountId:ID!, $input:UpdateIpAddressRangeContainerFromFileInput!)  {
    container(accountId: $accountId) {
        ipAddressRange {
            updateFromFile(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "ref": {"by": "NAME", "input": "Some Container"},
    "description": "Description of some container",
    "uploadFile": null
  }
}
Response
{
  "data": {
    "container": {
      "ipAddressRange": {
        "updateFromFile": {
          "container": {
            "__typename": "IpAddressRangeContainer",
            "id": "1234567890",
            "name": "Some Container",
            "description": "Description of some container",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            }
          }
        }
      }
    }
  }
}

updateFromList

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
mutation updateIpAddressRangeContainerFromList($accountId:ID!, $input:UpdateIpAddressRangeContainerFromListInput!)  {
    container(accountId: $accountId) {
        ipAddressRange {
            updateFromList(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "ref": {"by": "NAME", "input": "Some Container"},
    "description": "Description of some container",
    "values": [{"from": "1.2.3.4", "to": "2.3.4.5"}]
  }
}
Response
{
  "data": {
    "container": {
      "ipAddressRange": {
        "updateFromList": {
          "container": {
            "__typename": "IpAddressRangeContainer",
            "id": "1234567890",
            "name": "Some Container",
            "description": "Description of some container",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T14:31:03Z"
            }
          }
        }
      }
    }
  }
}

updateFromURL

Beta
Required Permissions

This API requires access to the following permissions:

Categories

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - UpdateIpAddressRangeContainerFromUrlInput!

Example

Query
mutation updateIpAddressRangeContainerFromURL($accountId:ID!, $input:UpdateIpAddressRangeContainerFromUrlInput!)  {
    container(accountId: $accountId) {
        ipAddressRange {
            updateFromURL(input: $input) {
                container {
                    __typename
                    id
                    name
                    description
                    size
                    audit {
                        createdBy
                        createdAt
                        lastModifiedBy
                        lastModifiedAt
                    }
                    syncData {
                        fileType
                        url
                        timeInterval
                        timeUnit
                        notifications {
                            subscriptionGroup {
                                id
                                name
                            }
                            webhook {
                                id
                                name
                            }
                            mailingList {
                                id
                                name
                            }
                        }
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": 12345,
  "input": {
    "ref": {"by": "NAME", "input": "IP Range Container from URL"},
    "description": "Updated description for container synced from URL",
    "fileType": "CSV",
    "syncData": {
      "url": "https://example.com/ip-ranges-updated.csv",
      "timeInterval": 12,
      "timeUnit": "HOUR",
      "notifications": {
        "subscriptionGroup": [],
        "webhook": [],
        "mailingList": []
      }
    }
  }
}
Response
{
  "data": {
    "container": {
      "ipAddressRange": {
        "updateFromURL": {
          "container": {
            "__typename": "IpAddressRangeContainer",
            "id": "1234567890",
            "name": "IP Range Container from URL",
            "description": "Updated description for container synced from URL",
            "size": 100,
            "audit": {
              "createdBy": "some.admin@catonetworks.com",
              "createdAt": "2024-09-18T14:31:03Z",
              "lastModifiedBy": "some.admin@catonetworks.com",
              "lastModifiedAt": "2024-09-18T15:45:00Z"
            },
            "syncData": {
              "fileType": "CSV",
              "url": "https://example.com/ip-ranges-updated.csv",
              "timeInterval": 12,
              "timeUnit": "HOUR",
              "notifications": {
                "subscriptionGroup": [],
                "webhook": [],
                "mailingList": []
              }
            }
          }
        }
      }
    }
  }
}

CustomAppDataMutations

addCustomApplication

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Custom Applications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddCustomApplicationPayload

Arguments
Name Description
input - AddCustomApplicationInput!

Example

Query
mutation ($accountId: ID!, $input: AddCustomApplicationInput!) {
  customAppData(accountId: $accountId) {
    addCustomApplication(input: $input) {
      customApplication {
        id
        name
        description
        category {
          id
          name
        }
        criteria {
          protocol
          port
          portRange {
            from
            to
          }
          destination {
            domain
            fqdn
            destinationIp {
              ip
              subnet
              ipRange {
                from
                to
              }
            }
          }
        }
      }
    }
  }
}
Variables
{
  "accountId": "123456",
  "input": {
    "name": "My Custom App",
    "description": "A sample custom application",
    "category": [{"by": "ID", "input": "security"}],
    "criteria": [
      {
        "protocol": "TCP",
        "port": [443],
        "portRange": [{"from": 8000, "to": 8080}],
        "destination": {
          "domain": ["example.com"],
          "fqdn": ["api.example.com"],
          "destinationIp": {
            "ip": ["192.168.1.1"],
            "subnet": ["192.168.1.0/24"],
            "ipRange": [{"from": "192.168.1.1", "to": "192.168.1.100"}]
          }
        }
      }
    ]
  }
}
Response
{
  "data": {
    "customAppData": {
      "addCustomApplication": {
        "customApplication": {
          "id": "custom-app-id-456",
          "name": "My Custom App",
          "description": "A sample custom application",
          "category": [{"id": "security", "name": "Security"}],
          "criteria": [
            {
              "protocol": "TCP",
              "port": [443],
              "portRange": [{"from": 8000, "to": 8080}],
              "destination": {
                "domain": ["example.com"],
                "fqdn": ["api.example.com"],
                "destinationIp": {
                  "ip": ["192.168.1.1"],
                  "subnet": ["192.168.1.0/24"],
                  "ipRange": [{"from": "192.168.1.1", "to": "192.168.1.100"}]
                }
              }
            }
          ]
        }
      }
    }
  }
}

deleteCustomApplication

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Custom Applications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DeleteCustomApplicationPayload

Arguments
Name Description
input - DeleteCustomApplicationInput!

Example

Query
mutation ($accountId: ID!, $input: DeleteCustomApplicationInput!) {
  customAppData(accountId: $accountId) {
    deleteCustomApplication(input: $input) {
      customApplication {
        id
        name
      }
    }
  }
}
Variables
{
  "accountId": "123456",
  "input": {"customApplication": {"by": "ID", "input": "custom-app-id-123"}}
}
Response
{
  "data": {
    "customAppData": {
      "deleteCustomApplication": {
        "customApplication": {
          "id": "custom-app-id-123",
          "name": "My Custom App"
        }
      }
    }
  }
}

updateCustomApplication

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Custom Applications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateCustomApplicationPayload

Arguments
Name Description
input - UpdateCustomApplicationInput!

Example

Query
mutation ($accountId: ID!, $input: UpdateCustomApplicationInput!) {
  customAppData(accountId: $accountId) {
    updateCustomApplication(input: $input) {
      customApplication {
        id
        name
        description
        category {
          id
          name
        }
        criteria {
          protocol
          port
          portRange {
            from
            to
          }
          destination {
            domain
            fqdn
            destinationIp {
              ip
              subnet
              ipRange {
                from
                to
              }
            }
          }
        }
      }
    }
  }
}
Variables
{
  "accountId": "123456",
  "input": {
    "id": "custom-app-id-123",
    "name": "Updated Custom App",
    "description": "Updated description",
    "category": [{"by": "ID", "input": "security"}],
    "criteria": [
      {
        "protocol": "TCP",
        "port": [443, 8443],
        "portRange": [],
        "destination": {
          "domain": ["updated-example.com"],
          "fqdn": ["api.updated-example.com"]
        }
      }
    ]
  }
}
Response
{
  "data": {
    "customAppData": {
      "updateCustomApplication": {
        "customApplication": {
          "id": "custom-app-id-123",
          "name": "Updated Custom App",
          "description": "Updated description",
          "category": [{"id": "security", "name": "Security"}],
          "criteria": [
            {
              "protocol": "TCP",
              "port": [443, 8443],
              "portRange": [],
              "destination": {
                "domain": ["updated-example.com"],
                "fqdn": ["api.updated-example.com"],
                "destinationIp": null
              }
            }
          ]
        }
      }
    }
  }
}

EnterpriseDirectoryMutations

archiveLocation

Beta
Required Permissions

This API requires access to the following permissions:

Enterprise Directory

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
locationId - ID

Example

Query
mutation archiveEnterpriseDirectoryLocation($accountID:ID!, $locationID: ID!) {
  enterpriseDirectory(accountId:$accountID) {
    archiveLocation(locationId: $locationID
    ){
      location{
        id
      }
    }
  }
}
Variables
{"accountID": "123456", "locationID": "4749add2-b6f4-45cf-8b04-41e83ccaed20"}
Response
{
  "data": {
    "enterpriseDirectory": {
      "archiveLocation": {
        "location": {"id": "4749add2-b6f4-45cf-8b04-41e83ccaed20"}
      }
    }
  }
}

createLocation

Beta
Required Permissions

This API requires access to the following permissions:

Enterprise Directory

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - EnterpriseDirectoryCreateLocationInput!

Example

Query
mutation createEnterpriseDirectoryLocation($accountID:ID!, $input: EnterpriseDirectoryCreateLocationInput!) {
  enterpriseDirectory(accountId:$accountID) {
    createLocation(input: $input
    ){
      location{
        id
      }
    }
  }
}
Variables
{
  "accountID": "123456",
  "input": {
    "name": "test location",
    "type": "BRANCH",
    "details": {
      "companyName": "",
      "postalAddress": {
        "address1": "226 rue de rivoli",
        "cityName": "Paris",
        "zipCode": "75019",
        "country": {"by": "ID", "input": "FR"}
      },
      "contact": {
        "name": "Angelina",
        "phone": "0567476293",
        "email": "Angelina@gmail.com"
      },
      "vatId": ""
    }
  }
}
Response
{
  "data": {
    "enterpriseDirectory": {
      "createLocation": {
        "location": {"id": "4749add2-b6f4-45cf-8b04-41e83ccaed20"}
      }
    }
  }
}

restoreLocation

Beta
Required Permissions

This API requires access to the following permissions:

Enterprise Directory

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
locationId - ID

Example

Query
mutation restoreEnterpriseDirectoryLocation($accountID:ID!, $locationID: ID!) {
  enterpriseDirectory(accountId:$accountID) {
    restoreLocation(locationId: $locationID
    ){
      location{
        id
      }
    }
  }
}
Variables
{"accountID": "123456", "locationID": "4749add2-b6f4-45cf-8b04-41e83ccaed20"}
Response
{
  "data": {
    "enterpriseDirectory": {
      "restoreLocation": {
        "location": {"id": "4749add2-b6f4-45cf-8b04-41e83ccaed20"}
      }
    }
  }
}

updateLocation

Beta
Required Permissions

This API requires access to the following permissions:

Enterprise Directory

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - EnterpriseDirectoryUpdateLocationInput!

Example

Query
mutation updateEnterpriseDirectoryLocation($accountID:ID!, $input: EnterpriseDirectoryUpdateLocationInput!) {
  enterpriseDirectory(accountId:$accountID) {
    updateLocation(input: $input
    ){
      location{
        id
      }
    }
  }
}
Variables
{
  "accountID": "123456",
  "input": {
    "id": "4749add2-b6f4-45cf-8b04-41e83ccaed20",
    "name": "test location",
    "type": "BRANCH",
    "details": {
      "companyName": "",
      "postalAddress": {
        "address1": "226 rue de rivoli",
        "cityName": "Paris",
        "zipCode": "75019",
        "country": {"by": "ID", "input": "FR"}
      },
      "contact": {
        "name": "Angelina",
        "phone": "0567476293",
        "email": "Angelina@gmail.com"
      },
      "vatId": ""
    }
  }
}
Response
{
  "data": {
    "enterpriseDirectory": {
      "updateLocation": {
        "location": {"id": "4749add2-b6f4-45cf-8b04-41e83ccaed20"}
      }
    }
  }
}

ExternalAccessMutations

addPartnerAccessRequest

Beta
Description

Add partner access request. This mutation is used to request access to managed accounts.

Required Permissions

This API requires access to the following permissions:

Partner External Access

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddPartnerAccessRequestPayload

Arguments
Name Description
input - AddPartnerAccessRequestInput!

Example

Query
mutation addPartnerAccessRequest($accountId: ID! $input: AddPartnerAccessRequestInput!) {
  externalAccess(accountId: $accountId) {
    addPartnerAccessRequest(input: $input) {
      invitation {
        id
        account {
          id
          name
        }
        activeDate
        admins {
          id
          name
        }
        partner {
          id
          name
        }
        requestedDate
        expirationDate
        status
        reason
        partnerNote
        roles {
          id
          name       
        }
      }
    }
  }
}
Variables
{
  "accountId": "123456",
  "input": {
    "partner": {"input": "123456", "by": "ID"},
    "accounts": [{"input": "123458", "by": "ID"}],
    "roles": [{"input": "2", "by": "ID"}],
    "admins": [{"input": "87400", "by": "ID"}],
    "reason": "reason",
    "expirationDate": "2025-03-10T00:00:00+02:00",
    "partnerNote": "note"
  }
}
Response
{
  "data": {
    "externalAccess": {
      "addPartnerAccessRequest": {
        "invitation": [
          {
            "id": "67c56e8d6dbc4e000cfd3b63",
            "partner": {"id": "123456", "name": "ExternalAccessPartner"},
            "activeDate": "2025-03-03T08:55:41.848Z",
            "requestedDate": "2025-03-03T08:55:41.848Z",
            "expirationDate": "2025-03-09T22:00:00.000Z",
            "status": "PENDING",
            "reason": "test",
            "partnerNote": "note",
            "account": {"id": "123458", "name": "ExternalAccess_Account"},
            "admins": [
              {"id": "87400", "name": "r t", "__typename": "AdminRef"}
            ],
            "roles": [{"id": "2", "name": "Viewer"}]
          }
        ]
      }
    }
  }
}

cancelPartnerAccess

Beta
Description

This mutation is used to cancel previously requested partner access to the managed account.

Required Permissions

This API requires access to at least one of the following permissions:

Partner External Access Support Access

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CancelPartnerAccessPayload

Arguments
Name Description
input - CancelPartnerAccessInput!

Example

Query
mutation cancelPartnerAccess($accountId: ID! $invitationId: ID! $reason: String) {
  externalAccess(accountId: $accountId) {
    cancelPartnerAccess(
      input: { invitationId: $invitationId, reason: $reason }
    ) {
      invitation {
        id
        partner {
          id
          name
        }
        requestedDate
        expirationDate
        status
        reason
        partnerNote
        account {
          id
          name
        }
        roles {
          id
          name
        }
      }
    }
  }
}
Variables
{
  "accountId": "123456",
  "invitationId": "67c56e8d6dbc4e000cfd3b63",
  "reason": "reason"
}
Response
{
  "data": {
    "externalAccess": {
      "cancelPartnerAccess": {
        "invitation": {
          "id": "67c56e8d6dbc4e000cfd3b63",
          "partner": {"id": "123455", "name": "ExternalAccessPartner"},
          "requestedDate": "2025-03-03T08:55:41.848Z",
          "expirationDate": "2025-03-09T22:00:00.000Z",
          "status": "PENDING",
          "reason": "test",
          "partnerNote": null,
          "account": {"id": "123456", "name": "ExternalAccess_Account"},
          "roles": [{"id": "2", "name": "Viewer"}]
        }
      }
    }
  }
}

resolveIncomingAccessRequest

Beta
Description

Approve or reject a managed account access request.

Required Permissions

This API requires access to the following permissions:

External Access

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - ResolveIncomingAccessRequestInput!

Example

Query
mutation resolveIncomingAccessRequest(
  $accountId: ID!
  $requestId: ID!
  $approval: PartnerAccessApprovalResponse!
  $note: String
) {
  externalAccess(accountId: $accountId) {
    resolveIncomingAccessRequest(
      input: { requestId: $requestId, approval: $approval, note: $note }
    ) {
      request {
        id
        partner {
          id
          name
        }
        requestedDate
        expirationDate
        status
        reason
        note
        permissions {
          permissions {
            action
            resource
          }
        }
      }
    }
  }
}
Variables
{
  "accountId": "219517",
  "approval": "APPROVE",
  "requestId": "67c61938000a440d96107be2",
  "note": "Grant access for support"
}
Response
{
  "data": {
    "externalAccess": {
      "resolveIncomingAccessRequest": {
        "request": {
          "id": "67c61938000a440d96107be2",
          "partner": {"id": "218687", "name": "ExternalAccessPartner"},
          "requestedDate": "2025-03-03T21:03:52.482Z",
          "expirationDate": "2025-03-03T22:00:00.000Z",
          "status": "ACTIVE",
          "reason": "reason",
          "note": "Grant access for support",
          "permissions": {
            "permissions": [{"action": "EDIT", "resource": "NetworkRules"}]
          }
        }
      }
    }
  }
}

revokePartnerAccess

Beta
Description

This mutation is used to revoke previously granted access to the account.

Required Permissions

This API requires access to the following permissions:

External Access

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a RevokePartnerAccessPayload

Arguments
Name Description
input - RevokePartnerAccessInput!

Example

Query
mutation revokePartnerAccess($accountId: ID! $invitationId: ID! $reason: String) {
  externalAccess(accountId: $accountId) {
    revokePartnerAccess(
      input: { invitationId: $invitationId, reason: $reason }
    ) {
      invitation {
        id
        partner {
          id
          name
        }
        requestedDate
        expirationDate
        status
        reason
        note
        permissions {
          permissions {
            action
            resource
          }
        }
      }
    }
  }
}
Variables
{"accountId": "123456", "invitationId": "123456", "reason": "reason"}
Response
{
  "data": {
    "externalAccess": {
      "revokePartnerAccess": {
        "invitation": {
          "id": "164386",
          "partner": {"id": "123455", "name": "Partner_Account"},
          "requestedDate": "2024-12-02T06:07:47.000Z",
          "expirationDate": "2026-12-02T06:07:46.982Z",
          "status": "ACTIVE",
          "reason": "",
          "note": "",
          "account": {"id": "123456", "name": "ExternalAccess_Account"},
          "permissions": {
            "permissions": [{"action": "EDIT", "resource": "NetworkRules"}]
          }
        }
      }
    }
  }
}

GroupsMutations

createGroup

Beta
Description

Create a new group

Required Permissions

This API requires access to the following permissions:

Groups

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CreateGroupPayload

Arguments
Name Description
input - CreateGroupInput!

Example

Query
mutation createGroup($accountId: ID!, $input: CreateGroupInput!) {
  groups(accountId: $accountId) {
    createGroup(input: $input) {
      group {
        id
        name
        description
        membersCount          
        members {
          items {
            name
            type
          }
          paging {
            total
          }
        }           
        membersCountPerType {
          type
          membersCount
        }
        audit {
          updatedTime
        }
      }
    }
  }
}
Variables
{
  "accountId": "12345",
  "input": {
    "name": "group-2",
    "description": "a group of printers",
    "members": [{"type": "HOST", "by": "ID", "input": "3579"}]
  }
}
Response
{
  "data": {
    "groups": {
      "createGroup": {
        "group": {
          "id": "54499492-a6eb-4a99-90f2-795da5d942ce",
          "name": "group-2",
          "description": "a group of printers",
          "membersCount": 1,
          "members": {
            "items": [{"name": "printer-1", "type": "HOST"}],
            "paging": {"total": 1}
          },
          "membersCountPerType": [{"type": "HOST", "membersCount": 1}],
          "audit": {"updatedTime": "2023-07-27T11:43:13.889"}
        }
      }
    }
  }
}

deleteGroup

Beta
Description

Delete a group

Required Permissions

This API requires access to the following permissions:

Groups

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DeleteGroupPayload

Arguments
Name Description
input - GroupRefInput!

Example

Query
mutation deleteGroup($accountId: ID!, $group: GroupRefInput!) {
  groups(accountId: $accountId) {
    deleteGroup(input: $group) {
      group {
        id
        name
      }
    }
  }
}
Variables
{"accountId": "12345", "group": {"input": "group-2"}}
Response
{
  "data": {
    "groups": {
      "deleteGroup": {
        "group": {
          "id": "54499492-a6eb-4a99-90f2-795da5d942fb",
          "name": "group-2"
        }
      }
    }
  }
}

updateGroup

Beta
Description

Update an existing group, including attributes such as name, description, and member items

Required Permissions

This API requires access to the following permissions:

Groups

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateGroupPayload

Arguments
Name Description
input - UpdateGroupInput!

Example

Query
mutation updateGroup($accountId: ID!, $input: UpdateGroupInput!) {
  groups(accountId: $accountId) {
    updateGroup(input: $input) {
      group {
        id
        name
        description
        membersCount
        members {
          items {
            name
            type
          }
          paging {
            total
          }
        }        
        membersCountPerType {
          type
          membersCount
        }
        audit {
          updatedTime
        }
      }
    }
  }
}
Variables
{
  "accountId": "12345",
  "input": {
    "group": {"by": "NAME", "input": "group-2"},
    "membersToAdd": [{"by": "ID", "input": "2468", "type": "SITE"}],
    "membersToRemove": [{"by": "ID", "input": "3579", "type": "SITE"}]
  }
}
Response
{
  "data": {
    "groups": {
      "updateGroup": {
        "group": {
          "id": "54499492-a6eb-4a99-90f2-795da5d942ce",
          "name": "grp-2",
          "description": "grp-2 description",
          "membersCount": 1,
          "members": {
            "items": [{"name": "s1", "type": "SITE"}],
            "paging": {"total": 1}
          },
          "membersCountPerType": [{"type": "SITE", "membersCount": 1}],
          "audit": {"updatedTime": "2023-07-27T11:55:02.717"}
        }
      }
    }
  }
}

HardwareMutations

updateHwShipping

Beta
Description

Set Shipping details for a list of hardware

Required Permissions

This API requires access to the following permissions:

Sockets Inventory

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a HardwarePayload

Arguments
Name Description
input - UpdateHwShippingInput!

Example

Query
mutation hardware($accountID:ID!, $input: UpdateHwShippingInput!) {
  hardware(accountId:$accountID) {
    updateHwShipping(input: $input
    ){
      items{
        id
      }
    }
  }
}
Variables
{
  "accountID": "26361",
  "input": {
    "ids": ["4749add2-b6f4-45cf-8b04-41e83ccaed20"],
    "details": {
      "powerCable": "US",
      "details": {
        "address": "5850add2-b6f4-45dg-9b04-41e83ccaed30",
        "comment": "something"
      }
    }
  }
}
Response
{
  "data": {
    "hardware": {
      "updateHwShipping": {
        "items": [{"id": "4749add2-b6f4-45cf-8b04-41e83ccaed20"}]
      }
    }
  }
}

LicensingMutations

addLicenseToManagedAccount

Beta
Description

BETA

Required Permissions

This API requires access to the following permissions:

Partner Licenses

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddLicenseToManagedAccountPayload

Arguments
Name Description
input - AddLicenseToManagedAccountInput!

Example

Query
mutation addLicenseToManagedAccount($accountId: ID!, $addLicenseToManagedAccountInput: AddLicenseToManagedAccountInput!) {
  licensing(accountId: $accountId) {
    addLicenseToManagedAccount(input: $addLicenseToManagedAccountInput) {
      license {
        __typename
        id
        sku
        status
        startDate
        expirationDate
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "addLicenseToManagedAccountInput": {
    "licenseId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "managedAccountId": "456",
    "bw": 100
  }
}
Response
{
  "data": {
    "licensing": {
      "addLicenseToManagedAccount": {
        "license": {
          "__typename": "PooledBandwidthLicense",
          "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "sku": "CATO_PB",
          "status": "ACTIVE",
          "startDate": "2025-01-01T00:00:00.000Z",
          "expirationDate": "2026-01-01T00:00:00.000Z"
        }
      }
    }
  }
}

disableServiceForManagedAccount

Beta
Description

BETA

Required Permissions

This API requires access to the following permissions:

Partner Licenses

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - DisableServiceForManagedAccountInput!

Example

Query
mutation disableServiceForManagedAccount($accountId: ID!, $disableServiceForManagedAccountInput: DisableServiceForManagedAccountInput!) {
  licensing(accountId: $accountId) {
    disableServiceForManagedAccount(input: $disableServiceForManagedAccountInput) {
      isSuccess
    }
  }
}
Variables
{
  "accountId": "123",
  "disableServiceForManagedAccountInput": {
    "service": "CATO_CASB",
    "managedAccountId": "456"
  }
}
Response
{
  "data": {
    "licensing": {"disableServiceForManagedAccount": {"isSuccess": true}}
  }
}

enableServiceForManagedAccount

Beta
Description

BETA

Required Permissions

This API requires access to the following permissions:

Partner Licenses

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - EnableServiceForManagedAccountInput!

Example

Query
mutation enableServiceForManagedAccount($accountId: ID!, $enableServiceForManagedAccountInput: EnableServiceForManagedAccountInput!) {
  licensing(accountId: $accountId) {
    enableServiceForManagedAccount(input: $enableServiceForManagedAccountInput) {
      isSuccess
    }
  }
}
Variables
{
  "accountId": "123",
  "enableServiceForManagedAccountInput": {
    "service": "CATO_CASB",
    "managedAccountId": "456"
  }
}
Response
{"data": {"licensing": {"enableServiceForManagedAccount": {"isSuccess": true}}}}

removeLicenseFromManagedAccount

Beta
Description

BETA

Required Permissions

This API requires access to the following permissions:

Partner Licenses

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - RemoveLicenseFromManagedAccountInput!

Example

Query
mutation removeLicenseFromManagedAccount($accountId: ID!, $removeLicenseFromManagedAccountInput: RemoveLicenseFromManagedAccountInput!) {
  licensing(accountId: $accountId) {
    removeLicenseFromManagedAccount(input: $removeLicenseFromManagedAccountInput) {
      license {
        __typename
        id
        sku
        status
        startDate
        expirationDate
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "removeLicenseFromManagedAccountInput": {
    "licenseId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "managedAccountId": "456"
  }
}
Response
{
  "data": {
    "licensing": {
      "removeLicenseFromManagedAccount": {
        "license": {
          "__typename": "PooledBandwidthLicense",
          "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "sku": "CATO_PB",
          "status": "ACTIVE",
          "startDate": "2025-01-01T00:00:00.000Z",
          "expirationDate": "2026-01-01T00:00:00.000Z"
        }
      }
    }
  }
}

startServiceTrial

Beta
Description

BETA - Starts a self-service trial of a service for the account. The requested duration is validated per service (currently up to 30 days for CATO_ASTS_SEC_1_5K) and the trial starts immediately. A service can be tried once per commercial account.

Required Permissions

This API requires access to the following permissions:

License

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - LicensingStartServiceTrialInput!

Example

Query
mutation licensingStartServiceTrial($accountId: ID!, $startServiceTrialInput: LicensingStartServiceTrialInput!) {
  licensing(accountId: $accountId) {
    startServiceTrial(input: $startServiceTrialInput) {
      trial {
        service
        plan
        status
        startDate
        expirationDate
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "startServiceTrialInput": {
    "service": "CATO_ASTS_SEC_1_5K",
    "durationDays": 30
  }
}
Response
{
  "data": {
    "licensing": {
      "startServiceTrial": {
        "trial": {
          "service": "CATO_ASTS_SEC_1_5K",
          "plan": "TRIAL",
          "status": "ACTIVE",
          "startDate": "2026-08-09T00:00:00.000Z",
          "expirationDate": "2026-09-08T00:00:00.000Z"
        }
      }
    }
  }
}

updateCommercialLicense

Beta
Description

BETA

Required Permissions

This API requires access to the following permissions:

License

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateCommercialLicensePayload

Arguments
Name Description
input - UpdateCommercialLicenseInput!

Example

Query
mutation updateCommercialLicense($accountId: ID!, $updateCommercialLicenseInput: UpdateCommercialLicenseInput!) {
  licensing(accountId: $accountId) {
    updateCommercialLicense(input: $updateCommercialLicenseInput) {
      license {
        __typename
        id
        startDate
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "updateCommercialLicenseInput": {
    "startDate": "2025-10-20T00:00:00.000Z",
    "licenseId": "99d9485f-0829-4b7e-8781-6365bd6f8914"
  }
}
Response
{
  "data": {
    "licensing": {
      "updateCommercialLicense": {
        "license": {
          "__typename": "SiteLicense",
          "id": "99d9485f-0829-4b7e-8781-6365bd6f8914",
          "startDate": "2025-10-20T00:00:00.000Z"
        }
      }
    }
  }
}

updateLicenseForManagedAccount

Beta
Description

BETA

Required Permissions

This API requires access to the following permissions:

Partner Licenses

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - UpdateLicenseForManagedAccountInput!

Example

Query
mutation updateLicenseForManagedAccount($accountId: ID!, $updateLicenseForManagedAccountInput: UpdateLicenseForManagedAccountInput!) {
  licensing(accountId: $accountId) {
    updateLicenseForManagedAccount(input: $updateLicenseForManagedAccountInput) {
      license {
        __typename
        id
        sku
        status
        startDate
        expirationDate
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "updateLicenseForManagedAccountInput": {
    "licenseId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "managedAccountId": "456",
    "bw": 200
  }
}
Response
{
  "data": {
    "licensing": {
      "updateLicenseForManagedAccount": {
        "license": {
          "__typename": "PooledBandwidthLicense",
          "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "sku": "CATO_PB",
          "status": "ACTIVE",
          "startDate": "2025-01-01T00:00:00.000Z",
          "expirationDate": "2026-01-01T00:00:00.000Z"
        }
      }
    }
  }
}

NetworkConfigDhcpMutations

createOption

Beta Rollout
Description

Create DHCP options. Returns the created options.

Required Permissions

This API requires access to the following permissions:

Dhcp Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDhcpCreateOptionInput!

Example

Query
mutation networkConfigDhcpCreateOption($accountId: ID!, $input: NetworkConfigDhcpCreateOptionInput!) {
    networkConfig(accountId: $accountId) {
        dhcp {
            createOption(input: $input) {
                option {
                    id
                    tag
                    value
                    description
                    type
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "option": [
      {
        "tag": 66,
        "value": "10.20.0.5",
        "description": "TFTP boot server",
        "type": "IP"
      }
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dhcp": {
        "createOption": {
          "option": [
            {
              "id": "RGhjcE9wdGlvbjE=",
              "tag": 66,
              "value": "10.20.0.5",
              "description": "TFTP boot server",
              "type": "IP"
            }
          ]
        }
      }
    }
  }
}

createRelayGroup

Beta Rollout
Description

Create DHCP relay groups. Returns the created groups.

Required Permissions

This API requires access to the following permissions:

Dhcp Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDhcpCreateRelayGroupInput!

Example

Query
mutation networkConfigDhcpCreateRelayGroup($accountId: ID!, $input: NetworkConfigDhcpCreateRelayGroupInput!) {
    networkConfig(accountId: $accountId) {
        dhcp {
            createRelayGroup(input: $input) {
                relayGroup {
                    id
                    name
                    server
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "relayGroup": [
      {"name": "Branch Relay Servers", "server": ["10.20.0.20", "10.20.0.21"]}
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dhcp": {
        "createRelayGroup": {
          "relayGroup": [
            {
              "id": "RGhjcFJlbGF5R3JvdXA3",
              "name": "Branch Relay Servers",
              "server": ["10.20.0.20", "10.20.0.21"]
            }
          ]
        }
      }
    }
  }
}

deleteOption

Beta Rollout
Description

Delete DHCP options. Returns the deleted options.

Required Permissions

This API requires access to the following permissions:

Dhcp Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDhcpDeleteOptionInput!

Example

Query
mutation networkConfigDhcpDeleteOption($accountId: ID!, $input: NetworkConfigDhcpDeleteOptionInput!) {
    networkConfig(accountId: $accountId) {
        dhcp {
            deleteOption(input: $input) {
                option {
                    id
                    tag
                    value
                    description
                    type
                }
            }
        }
    }
}
Variables
{"accountId": "12345", "input": {"id": ["RGhjcE9wdGlvbjE="]}}
Response
{
  "data": {
    "networkConfig": {
      "dhcp": {
        "deleteOption": {
          "option": [
            {
              "id": "RGhjcE9wdGlvbjE=",
              "tag": 66,
              "value": "10.20.0.5",
              "description": "TFTP boot server",
              "type": "IP"
            }
          ]
        }
      }
    }
  }
}

deleteRelayGroup

Beta Rollout
Description

Delete DHCP relay groups. A group in use by enabled relay cannot be deleted. Returns the deleted groups.

Required Permissions

This API requires access to the following permissions:

Dhcp Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDhcpDeleteRelayGroupInput!

Example

Query
mutation networkConfigDhcpDeleteRelayGroup($accountId: ID!, $input: NetworkConfigDhcpDeleteRelayGroupInput!) {
    networkConfig(accountId: $accountId) {
        dhcp {
            deleteRelayGroup(input: $input) {
                relayGroup {
                    id
                    name
                    server
                }
            }
        }
    }
}
Variables
{"accountId": "12345", "input": {"id": ["RGhjcFJlbGF5R3JvdXA3"]}}
Response
{
  "data": {
    "networkConfig": {
      "dhcp": {
        "deleteRelayGroup": {
          "relayGroup": [
            {
              "id": "RGhjcFJlbGF5R3JvdXA3",
              "name": "Branch Relay Servers",
              "server": ["10.20.0.20", "10.20.0.21"]
            }
          ]
        }
      }
    }
  }
}

setOption

Beta Rollout
Description

Replace the whole DHCP options collection with the given list. Items with an id update the existing option; items without an id are created; existing options missing from the list are deleted. Returns the resulting collection.

Required Permissions

This API requires access to the following permissions:

Dhcp Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDhcpSetOptionInput!

Example

Query
mutation networkConfigDhcpSetOption($accountId: ID!, $input: NetworkConfigDhcpSetOptionInput!) {
    networkConfig(accountId: $accountId) {
        dhcp {
            setOption(input: $input) {
                option {
                    id
                    tag
                    value
                    description
                    type
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "option": [
      {
        "id": "RGhjcE9wdGlvbjE=",
        "tag": 66,
        "value": "10.20.0.5",
        "description": "TFTP boot server",
        "type": "IP"
      }
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dhcp": {
        "setOption": {
          "option": [
            {
              "id": "RGhjcE9wdGlvbjE=",
              "tag": 66,
              "value": "10.20.0.5",
              "description": "TFTP boot server",
              "type": "IP"
            }
          ]
        }
      }
    }
  }
}

setRelayGroup

Beta Rollout
Description

Replace the whole DHCP relay-group catalog with the given list. Items with an id update the existing group; items without an id are created; existing groups missing from the list are deleted (rejected if a missing group is in use). Returns the resulting collection.

Required Permissions

This API requires access to the following permissions:

Dhcp Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDhcpSetRelayGroupInput!

Example

Query
mutation networkConfigDhcpSetRelayGroup($accountId: ID!, $input: NetworkConfigDhcpSetRelayGroupInput!) {
    networkConfig(accountId: $accountId) {
        dhcp {
            setRelayGroup(input: $input) {
                relayGroup {
                    id
                    name
                    server
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "relayGroup": [
      {
        "id": "RGhjcFJlbGF5R3JvdXA3",
        "name": "Branch Relay Servers",
        "server": ["10.20.0.20", "10.20.0.21"]
      }
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dhcp": {
        "setRelayGroup": {
          "relayGroup": [
            {
              "id": "RGhjcFJlbGF5R3JvdXA3",
              "name": "Branch Relay Servers",
              "server": ["10.20.0.20", "10.20.0.21"]
            }
          ]
        }
      }
    }
  }
}

updateOption

Beta Rollout
Description

Partially update DHCP options, addressed by id. Returns the updated options.

Required Permissions

This API requires access to the following permissions:

Dhcp Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDhcpUpdateOptionInput!

Example

Query
mutation networkConfigDhcpUpdateOption($accountId: ID!, $input: NetworkConfigDhcpUpdateOptionInput!) {
    networkConfig(accountId: $accountId) {
        dhcp {
            updateOption(input: $input) {
                option {
                    id
                    tag
                    value
                    description
                    type
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "option": [
      {
        "id": "RGhjcE9wdGlvbjE=",
        "tag": 66,
        "value": "10.20.0.5",
        "description": "TFTP boot server",
        "type": "IP"
      }
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dhcp": {
        "updateOption": {
          "option": [
            {
              "id": "RGhjcE9wdGlvbjE=",
              "tag": 66,
              "value": "10.20.0.5",
              "description": "TFTP boot server",
              "type": "IP"
            }
          ]
        }
      }
    }
  }
}

updateRelayGroup

Beta Rollout
Description

Partially update DHCP relay groups, addressed by id. Returns the updated groups.

Required Permissions

This API requires access to the following permissions:

Dhcp Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDhcpUpdateRelayGroupInput!

Example

Query
mutation networkConfigDhcpUpdateRelayGroup($accountId: ID!, $input: NetworkConfigDhcpUpdateRelayGroupInput!) {
    networkConfig(accountId: $accountId) {
        dhcp {
            updateRelayGroup(input: $input) {
                relayGroup {
                    id
                    name
                    server
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "relayGroup": [
      {
        "id": "RGhjcFJlbGF5R3JvdXA3",
        "name": "Branch Relay Servers",
        "server": ["10.20.0.20", "10.20.0.21"]
      }
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dhcp": {
        "updateRelayGroup": {
          "relayGroup": [
            {
              "id": "RGhjcFJlbGF5R3JvdXA3",
              "name": "Branch Relay Servers",
              "server": ["10.20.0.20", "10.20.0.21"]
            }
          ]
        }
      }
    }
  }
}

updateSettings

Beta Rollout
Description

Update the account-level DHCP settings (relay configuration and lease time).

Required Permissions

This API requires access to the following permissions:

Dhcp Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDhcpUpdateSettingsInput!

Example

Query
mutation networkConfigDhcpUpdateSettings($accountId: ID!, $input: NetworkConfigDhcpUpdateSettingsInput!) {
    networkConfig(accountId: $accountId) {
        dhcp {
            updateSettings(input: $input) {
                settings {
                    relay {
                        enabled
                        timeout
                        group {
                            id
                            name
                        }
                    }
                    leaseTime
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "relay": {
      "enabled": true,
      "timeout": 30,
      "group": {"by": "NAME", "input": "Branch Relay Servers"}
    },
    "leaseTime": 86400
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dhcp": {
        "updateSettings": {
          "settings": {
            "relay": {
              "enabled": true,
              "timeout": 30,
              "group": {
                "id": "RGhjcFJlbGF5R3JvdXA3",
                "name": "Branch Relay Servers"
              }
            },
            "leaseTime": 86400
          }
        }
      }
    }
  }
}

NetworkConfigDnsMutations

createForwardingRule

Beta Rollout
Description

Create DNS forwarding rules. Returns the created rules.

Required Permissions

This API requires access to the following permissions:

Dns Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsCreateForwardingRuleInput!

Example

Query
mutation networkConfigDnsCreateForwardingRule($accountId: ID!, $input: NetworkConfigDnsCreateForwardingRuleInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            createForwardingRule(input: $input) {
                forwardingRule {
                    id
                    domain
                    server
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "forwardingRule": [
      {"domain": "internal.example.com", "server": ["203.0.113.53"]}
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "createForwardingRule": {
          "forwardingRule": [
            {
              "id": "a024a560-a124-46f3-a224-a886a324aa19",
              "domain": "internal.example.com",
              "server": ["203.0.113.53"]
            }
          ]
        }
      }
    }
  }
}

createServerSet

Beta Rollout
Description

Create DNS server sets. Returns the created sets.

Required Permissions

This API requires access to the following permissions:

Dns Dhcp Profiles

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsCreateServerSetInput!

Example

Query
mutation networkConfigDnsCreateServerSet($accountId: ID!, $input: NetworkConfigDnsCreateServerSetInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            createServerSet(input: $input) {
                dnsServerSet {
                    id
                    name
                    server
                    audit {
                        updatedTime
                        updatedBy {
                            __typename
                            ... on AdminRef {
                                id
                                name
                            }
                            ... on ApiKeyRef {
                                id
                                name
                            }
                        }
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "dnsServerSet": [
      {"name": "Corporate DNS", "server": ["10.20.0.10", "10.20.0.11"]}
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "createServerSet": {
          "dnsServerSet": [
            {
              "id": "RG5zU2VydmVyU2V0Nw==",
              "name": "Corporate DNS",
              "server": ["10.20.0.10", "10.20.0.11"],
              "audit": {
                "updatedTime": "2026-08-02T14:31:07Z",
                "updatedBy": {
                  "__typename": "AdminRef",
                  "id": "18294",
                  "name": "dana.cohen@example.com"
                }
              }
            }
          ]
        }
      }
    }
  }
}

createSuffixSet

Beta Rollout
Description

Create DNS suffix sets. Returns the created sets.

Required Permissions

This API requires access to the following permissions:

Dns Dhcp Profiles

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsCreateSuffixSetInput!

Example

Query
mutation networkConfigDnsCreateSuffixSet($accountId: ID!, $input: NetworkConfigDnsCreateSuffixSetInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            createSuffixSet(input: $input) {
                dnsSuffixSet {
                    id
                    name
                    suffix
                    audit {
                        updatedTime
                        updatedBy {
                            __typename
                            ... on AdminRef {
                                id
                                name
                            }
                            ... on ApiKeyRef {
                                id
                                name
                            }
                        }
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "dnsSuffixSet": [
      {
        "name": "Corporate Suffixes",
        "suffix": ["corp.example.com", "eu.corp.example.com"]
      }
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "createSuffixSet": {
          "dnsSuffixSet": [
            {
              "id": "RG5zU3VmZml4U2V0Mw==",
              "name": "Corporate Suffixes",
              "suffix": ["corp.example.com", "eu.corp.example.com"],
              "audit": {
                "updatedTime": "2026-08-02T14:31:07Z",
                "updatedBy": {
                  "__typename": "AdminRef",
                  "id": "18294",
                  "name": "dana.cohen@example.com"
                }
              }
            }
          ]
        }
      }
    }
  }
}

deleteForwardingRule

Beta Rollout
Description

Delete DNS forwarding rules. Returns the deleted rules.

Required Permissions

This API requires access to the following permissions:

Dns Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsDeleteForwardingRuleInput!

Example

Query
mutation networkConfigDnsDeleteForwardingRule($accountId: ID!, $input: NetworkConfigDnsDeleteForwardingRuleInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            deleteForwardingRule(input: $input) {
                forwardingRule {
                    id
                    domain
                    server
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {"id": ["8b415764-8c41-48f7-8d41-5a8a8e415c1d"]}
}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "deleteForwardingRule": {
          "forwardingRule": [
            {
              "id": "f5ddc975-f4dd-47e2-b3dd-c64ff2ddc4bc",
              "domain": "internal.example.com",
              "server": ["203.0.113.53"]
            }
          ]
        }
      }
    }
  }
}

deleteServerSet

Beta Rollout
Description

Delete DNS server sets. A set a DHCP profile references cannot be deleted. Returns the deleted sets.

Required Permissions

This API requires access to the following permissions:

Dns Dhcp Profiles

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsDeleteServerSetInput!

Example

Query
mutation networkConfigDnsDeleteServerSet($accountId: ID!, $input: NetworkConfigDnsDeleteServerSetInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            deleteServerSet(input: $input) {
                dnsServerSet {
                    id
                    name
                    server
                    audit {
                        updatedTime
                        updatedBy {
                            __typename
                            ... on AdminRef {
                                id
                                name
                            }
                            ... on ApiKeyRef {
                                id
                                name
                            }
                        }
                    }
                }
            }
        }
    }
}
Variables
{"accountId": "12345", "input": {"id": ["RG5zU2VydmVyU2V0Nw=="]}}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "deleteServerSet": {
          "dnsServerSet": [
            {
              "id": "RG5zU2VydmVyU2V0Nw==",
              "name": "Corporate DNS",
              "server": ["10.20.0.10", "10.20.0.11"],
              "audit": {
                "updatedTime": "2026-08-02T14:31:07Z",
                "updatedBy": {
                  "__typename": "AdminRef",
                  "id": "18294",
                  "name": "dana.cohen@example.com"
                }
              }
            }
          ]
        }
      }
    }
  }
}

deleteSuffixSet

Beta Rollout
Description

Delete DNS suffix sets. A set a DHCP profile references cannot be deleted. Returns the deleted sets.

Required Permissions

This API requires access to the following permissions:

Dns Dhcp Profiles

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsDeleteSuffixSetInput!

Example

Query
mutation networkConfigDnsDeleteSuffixSet($accountId: ID!, $input: NetworkConfigDnsDeleteSuffixSetInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            deleteSuffixSet(input: $input) {
                dnsSuffixSet {
                    id
                    name
                    suffix
                    audit {
                        updatedTime
                        updatedBy {
                            __typename
                            ... on AdminRef {
                                id
                                name
                            }
                            ... on ApiKeyRef {
                                id
                                name
                            }
                        }
                    }
                }
            }
        }
    }
}
Variables
{"accountId": "12345", "input": {"id": ["RG5zU3VmZml4U2V0Mw=="]}}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "deleteSuffixSet": {
          "dnsSuffixSet": [
            {
              "id": "RG5zU3VmZml4U2V0Mw==",
              "name": "Corporate Suffixes",
              "suffix": ["corp.example.com", "eu.corp.example.com"],
              "audit": {
                "updatedTime": "2026-08-02T14:31:07Z",
                "updatedBy": {
                  "__typename": "AdminRef",
                  "id": "18294",
                  "name": "dana.cohen@example.com"
                }
              }
            }
          ]
        }
      }
    }
  }
}

removeSiteSettings

Beta Rollout
Description

Remove the DNS override from one or more sites so they inherit the account default.

Required Permissions

This API requires access to the following permissions:

Dns Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsRemoveSiteSettingsInput!

Example

Query
mutation networkConfigDnsRemoveSiteSettings($accountId: ID!, $input: NetworkConfigDnsRemoveSiteSettingsInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            removeSiteSettings(input: $input) {
                siteSettings {
                    siteId
                    primaryServer
                    secondaryServer
                    suffix
                }
            }
        }
    }
}
Variables
{"accountId": "12345", "input": {"site": [{"by": "ID", "input": "98765"}]}}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "removeSiteSettings": {
          "siteSettings": [
            {
              "siteId": "98765",
              "primaryServer": "192.0.2.1",
              "secondaryServer": "192.0.2.2",
              "suffix": ["example.com"]
            }
          ]
        }
      }
    }
  }
}

setForwardingRule

Beta Rollout
Description

Replace the whole DNS forwarding-rule collection with the given list. Items with an id update the existing rule; items without an id are created; existing rules missing from the list are deleted. Returns the resulting collection.

Required Permissions

This API requires access to the following permissions:

Dns Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsSetForwardingRuleInput!

Example

Query
mutation networkConfigDnsSetForwardingRule($accountId: ID!, $input: NetworkConfigDnsSetForwardingRuleInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            setForwardingRule(input: $input) {
                forwardingRule {
                    id
                    domain
                    server
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "forwardingRule": [
      {"domain": "internal.example.com", "server": ["203.0.113.53"]}
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "setForwardingRule": {
          "forwardingRule": [
            {
              "id": "02a95834-03a9-49c7-84a9-5b5a05a95ced",
              "domain": "internal.example.com",
              "server": ["203.0.113.53"]
            }
          ]
        }
      }
    }
  }
}

setServerSet

Beta Rollout
Description

Replace the whole DNS server set collection with the given list. Items with an id update the existing set; items without an id are created; existing sets missing from the list are deleted (rejected if a missing set is referenced). Returns the resulting collection.

Required Permissions

This API requires access to the following permissions:

Dns Dhcp Profiles

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsSetServerSetInput!

Example

Query
mutation networkConfigDnsSetServerSet($accountId: ID!, $input: NetworkConfigDnsSetServerSetInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            setServerSet(input: $input) {
                dnsServerSet {
                    id
                    name
                    server
                    audit {
                        updatedTime
                        updatedBy {
                            __typename
                            ... on AdminRef {
                                id
                                name
                            }
                            ... on ApiKeyRef {
                                id
                                name
                            }
                        }
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "dnsServerSet": [
      {
        "id": "RG5zU2VydmVyU2V0Nw==",
        "name": "Corporate DNS",
        "server": ["10.20.0.10", "10.20.0.11"]
      }
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "setServerSet": {
          "dnsServerSet": [
            {
              "id": "RG5zU2VydmVyU2V0Nw==",
              "name": "Corporate DNS",
              "server": ["10.20.0.10", "10.20.0.11"],
              "audit": {
                "updatedTime": "2026-08-02T14:31:07Z",
                "updatedBy": {
                  "__typename": "AdminRef",
                  "id": "18294",
                  "name": "dana.cohen@example.com"
                }
              }
            }
          ]
        }
      }
    }
  }
}

setSuffixSet

Beta Rollout
Description

Replace the whole DNS suffix set collection with the given list. Items with an id update the existing set; items without an id are created; existing sets missing from the list are deleted (rejected if a missing set is referenced). Returns the resulting collection.

Required Permissions

This API requires access to the following permissions:

Dns Dhcp Profiles

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsSetSuffixSetInput!

Example

Query
mutation networkConfigDnsSetSuffixSet($accountId: ID!, $input: NetworkConfigDnsSetSuffixSetInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            setSuffixSet(input: $input) {
                dnsSuffixSet {
                    id
                    name
                    suffix
                    audit {
                        updatedTime
                        updatedBy {
                            __typename
                            ... on AdminRef {
                                id
                                name
                            }
                            ... on ApiKeyRef {
                                id
                                name
                            }
                        }
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "dnsSuffixSet": [
      {
        "id": "RG5zU3VmZml4U2V0Mw==",
        "name": "Corporate Suffixes",
        "suffix": ["corp.example.com", "eu.corp.example.com"]
      }
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "setSuffixSet": {
          "dnsSuffixSet": [
            {
              "id": "RG5zU3VmZml4U2V0Mw==",
              "name": "Corporate Suffixes",
              "suffix": ["corp.example.com", "eu.corp.example.com"],
              "audit": {
                "updatedTime": "2026-08-02T14:31:07Z",
                "updatedBy": {
                  "__typename": "AdminRef",
                  "id": "18294",
                  "name": "dana.cohen@example.com"
                }
              }
            }
          ]
        }
      }
    }
  }
}

updateForwardingRule

Beta Rollout
Description

Partially update DNS forwarding rules, addressed by id. Returns the updated rules.

Required Permissions

This API requires access to the following permissions:

Dns Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsUpdateForwardingRuleInput!

Example

Query
mutation networkConfigDnsUpdateForwardingRule($accountId: ID!, $input: NetworkConfigDnsUpdateForwardingRuleInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            updateForwardingRule(input: $input) {
                forwardingRule {
                    id
                    domain
                    server
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "forwardingRule": [
      {
        "id": "20d6f4ef-1fd6-435c-a2d6-f81521d6f682",
        "domain": "internal.example.com",
        "server": ["203.0.113.53"]
      }
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "updateForwardingRule": {
          "forwardingRule": [
            {
              "id": "20d6f4ef-1fd6-435c-a2d6-f81521d6f682",
              "domain": "internal.example.com",
              "server": ["203.0.113.53"]
            }
          ]
        }
      }
    }
  }
}

updateServerSet

Beta Rollout
Description

Partially update DNS server sets, addressed by id. Returns the updated sets.

Required Permissions

This API requires access to the following permissions:

Dns Dhcp Profiles

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsUpdateServerSetInput!

Example

Query
mutation networkConfigDnsUpdateServerSet($accountId: ID!, $input: NetworkConfigDnsUpdateServerSetInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            updateServerSet(input: $input) {
                dnsServerSet {
                    id
                    name
                    server
                    audit {
                        updatedTime
                        updatedBy {
                            __typename
                            ... on AdminRef {
                                id
                                name
                            }
                            ... on ApiKeyRef {
                                id
                                name
                            }
                        }
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "dnsServerSet": [
      {
        "id": "RG5zU2VydmVyU2V0Nw==",
        "name": "Corporate DNS",
        "server": ["10.20.0.10", "10.20.0.11"]
      }
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "updateServerSet": {
          "dnsServerSet": [
            {
              "id": "RG5zU2VydmVyU2V0Nw==",
              "name": "Corporate DNS",
              "server": ["10.20.0.10", "10.20.0.11"],
              "audit": {
                "updatedTime": "2026-08-02T14:31:07Z",
                "updatedBy": {
                  "__typename": "AdminRef",
                  "id": "18294",
                  "name": "dana.cohen@example.com"
                }
              }
            }
          ]
        }
      }
    }
  }
}

updateSettings

Beta Rollout
Description

Update the account-level DNS settings (servers, suffixes, LAN-interface acceptance).

Required Permissions

This API requires access to the following permissions:

Dns Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsUpdateSettingsInput!

Example

Query
mutation networkConfigDnsUpdateSettings($accountId: ID!, $input: NetworkConfigDnsUpdateSettingsInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            updateSettings(input: $input) {
                settings {
                    primaryServer
                    secondaryServer
                    suffix
                    acceptDnsRequestsOnLanInterfaceIp
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "primaryServer": "192.0.2.1",
    "secondaryServer": "192.0.2.2",
    "suffix": ["example.com"],
    "acceptDnsRequestsOnLanInterfaceIp": true
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "updateSettings": {
          "settings": {
            "primaryServer": "192.0.2.1",
            "secondaryServer": "192.0.2.2",
            "suffix": ["example.com"],
            "acceptDnsRequestsOnLanInterfaceIp": true
          }
        }
      }
    }
  }
}

updateSiteSettings

Beta Rollout
Description

Create or update the DNS override for one or more sites.

Required Permissions

This API requires access to the following permissions:

Dns Settings

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsUpdateSiteSettingsInput!

Example

Query
mutation networkConfigDnsUpdateSiteSettings($accountId: ID!, $input: NetworkConfigDnsUpdateSiteSettingsInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            updateSiteSettings(input: $input) {
                siteSettings {
                    siteId
                    primaryServer
                    secondaryServer
                    suffix
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "siteSettings": [
      {
        "site": {"by": "ID", "input": "98765"},
        "primaryServer": "192.0.2.1",
        "secondaryServer": "192.0.2.2",
        "suffix": ["example.com"]
      }
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "updateSiteSettings": {
          "siteSettings": [
            {
              "siteId": "98765",
              "primaryServer": "192.0.2.1",
              "secondaryServer": "192.0.2.2",
              "suffix": ["example.com"]
            }
          ]
        }
      }
    }
  }
}

updateSuffixSet

Beta Rollout
Description

Partially update DNS suffix sets, addressed by id. Returns the updated sets.

Required Permissions

This API requires access to the following permissions:

Dns Dhcp Profiles

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - NetworkConfigDnsUpdateSuffixSetInput!

Example

Query
mutation networkConfigDnsUpdateSuffixSet($accountId: ID!, $input: NetworkConfigDnsUpdateSuffixSetInput!) {
    networkConfig(accountId: $accountId) {
        dns {
            updateSuffixSet(input: $input) {
                dnsSuffixSet {
                    id
                    name
                    suffix
                    audit {
                        updatedTime
                        updatedBy {
                            __typename
                            ... on AdminRef {
                                id
                                name
                            }
                            ... on ApiKeyRef {
                                id
                                name
                            }
                        }
                    }
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "dnsSuffixSet": [
      {
        "id": "RG5zU3VmZml4U2V0Mw==",
        "name": "Corporate Suffixes",
        "suffix": ["corp.example.com", "eu.corp.example.com"]
      }
    ]
  }
}
Response
{
  "data": {
    "networkConfig": {
      "dns": {
        "updateSuffixSet": {
          "dnsSuffixSet": [
            {
              "id": "RG5zU3VmZml4U2V0Mw==",
              "name": "Corporate Suffixes",
              "suffix": ["corp.example.com", "eu.corp.example.com"],
              "audit": {
                "updatedTime": "2026-08-02T14:31:07Z",
                "updatedBy": {
                  "__typename": "AdminRef",
                  "id": "18294",
                  "name": "dana.cohen@example.com"
                }
              }
            }
          ]
        }
      }
    }
  }
}

NotificationSubscriptionMutations

createMailingList

Description

Creates a new Mailing List. Any valid email can be added, including those not associated with account users.

Usage limits:

  • Maximum number of Mailing Lists per account: 1,000.
  • Maximum number of members in each Mailing List: 1,000.
Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CreateMailingListPayload!

Arguments
Name Description
input - CreateMailingListInput!

Example

Query
mutation CreateMailingList($accountId: ID!) {
    notification(accountId: $accountId) {
        createMailingList(input: {
            name: "Security Team"
            address: ["security-lead@example.com", "soc-analyst@example.com"]
            admin: [{ by: ID, input: "example-id" }]
        }) {
            mailingList {
                id
                name
                type
                address
                admin {
                    id
                }
                audit {
                    updatedTime
                    updatedBy {
                        name
                    }
                }
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "createMailingList": {
        "mailingList": {
          "id": "example-id",
          "name": "Security Team",
          "type": "SPECIFIC_EMAILS",
          "address": ["security-lead@example.com", "soc-analyst@example.com"],
          "admin": [{"id": "example-id"}],
          "audit": {
            "updatedBy": {
              "__typename": "AdminRef",
              "name": "admin@example.com"
            },
            "updatedTime": "2025-01-15T10:30:00Z"
          }
        }
      }
    }
  }
}

createSubscriptionGroup

Description

Creates a Subscription Group. Subscription Groups combine Mailing Lists and integrations (including webhooks) for sending notifications.

Usage limits:

  • Maximum number of Subscription Groups per account: 1,000.
  • Maximum number of members in each Subscription Group: 100.
Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CreateSubscriptionGroupPayload

Arguments
Name Description
input - CreateSubscriptionGroupInput!

Example

Query
mutation CreateSubscriptionGroup($accountId: ID!) {
    notification(accountId: $accountId) {
        createSubscriptionGroup(input: {
            name: "Critical Alerts"
            mailingList: [
                { by: ID, input: "example-id" }
            ]
            integration: [
                { by: ID, input: "example-id" }
            ]
        }) {
            subscriptionGroup {
                id
                name
                mailingList {
                    id
                    name
                }
                integration {
                    webhookList {
                        id
                        name
                        enabled
                    }
                }
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "createSubscriptionGroup": {
        "subscriptionGroup": {
          "id": "example-id",
          "name": "Critical Alerts",
          "mailingList": [{"id": "example-id", "name": "Security Team"}],
          "integration": {
            "webhookList": [
              {
                "id": "example-id",
                "name": "Slack Security Channel",
                "enabled": true
              }
            ]
          }
        }
      }
    }
  }
}

deleteMailingList

Description

Deletes a Mailing List. This action cannot be undone.

Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DeleteMailingListPayload

Arguments
Name Description
input - MailingListRefInput!

Example

Query
mutation DeleteMailingList($accountId: ID!) {
    notification(accountId: $accountId) {
        deleteMailingList(input: {
            by: ID
            input: "example-id"
        }) {
            mailingList {
                id
                name
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "deleteMailingList": {
        "mailingList": {"id": "example-id", "name": "Security Team"}
      }
    }
  }
}

deleteSubscriptionGroup

Description

Deletes a Subscription Group. This action cannot be undone.

Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DeleteSubscriptionGroupPayload

Arguments
Name Description
input - SubscriptionGroupRefInput!

Example

Query
mutation DeleteSubscriptionGroup($accountId: ID!) {
    notification(accountId: $accountId) {
        deleteSubscriptionGroup(input: {
            by: ID
            input: "example-id"
        }) {
            subscriptionGroup {
                id
                name
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "deleteSubscriptionGroup": {
        "subscriptionGroup": {"id": "example-id", "name": "Critical Alerts"}
      }
    }
  }
}

updateMailingList

Description

Updates an existing Mailing List. Only specified attributes in the input will be updated, no changes to other attributes.

Usage limits:

  • Maximum number of members in each Mailing List: 1,000.
Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateMailingListPayload!

Arguments
Name Description
input - UpdateMailingListInput!

Example

Query
mutation UpdateMailingList($accountId: ID!) {
    notification(accountId: $accountId) {
        updateMailingList(input: {
            mailingList: {
                by: ID
                input: "example-id"
            }
            name: "Updated Security Team"
            addressToAdd: ["new-member@example.com"]
            addressToRemove: ["soc-analyst@example.com"]
        }) {
            mailingList {
                id
                name
                type
                address
                admin {
                    id
                }
                audit {
                    updatedTime
                    updatedBy {
                        name
                    }
                }
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "updateMailingList": {
        "mailingList": {
          "id": "example-id",
          "name": "Updated Security Team",
          "type": "SPECIFIC_EMAILS",
          "address": ["security-lead@example.com", "new-member@example.com"],
          "admin": [{"id": "example-id"}],
          "audit": {
            "updatedBy": {
              "__typename": "AdminRef",
              "name": "admin@example.com"
            },
            "updatedTime": "2025-01-15T10:30:00Z"
          }
        }
      }
    }
  }
}

updateSubscriptionGroup

Description

Updates an existing Subscription Group. Subscription Groups combine Mailing Lists and integrations (including webhooks) for sending notifications.

Usage limits:

  • Maximum number of members in each Subscription Group: 100.
Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateSubscriptionGroupPayload

Arguments
Name Description
input - UpdateSubscriptionGroupInput!

Example

Query
mutation UpdateSubscriptionGroup($accountId: ID!) {
    notification(accountId: $accountId) {
        updateSubscriptionGroup(input: {
            subscriptionGroup: {
                by: ID
                input: "example-id"
            }
            name: "Critical Alerts - Updated"
            mailingListToAdd: [
                { by: ID, input: "example-id" }
            ]
            integrationToRemove: [
                { by: ID, input: "example-id" }
            ]
        }) {
            subscriptionGroup {
                id
                name
                mailingList {
                    id
                    name
                }
                integration {
                    webhookList {
                        id
                        name
                        enabled
                    }
                }
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "updateSubscriptionGroup": {
        "subscriptionGroup": {
          "id": "example-id",
          "name": "Critical Alerts - Updated",
          "mailingList": [
            {"id": "example-id", "name": "Security Team"},
            {"id": "example-id", "name": "Network Operations"}
          ],
          "integration": {"webhookList": []}
        }
      }
    }
  }
}

IntegrationMutations

createWebhook

Description

Create a webhook integration to send notifications to third-party integrations and vendors via HTTP/HTTPS.

Usage limits:

  • Maximum number of webhooks per account: 1,000.
Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CreateWebhookPayload

Arguments
Name Description
input - CreateWebhookInput!

Example

Query
mutation CreateWebhook($accountId: ID!) {
    notification(accountId: $accountId) {
        integration {
            createWebhook(input: {
                name: "Slack Security Channel"
                enabled: true
                url: "https://hooks.slack.com/services/example"
                auth: {
                    bearer: {
                        bearerToken: "xoxb-example-token"
                    }
                }
                header: [
                    { name: "Content-Type", value: "application/json" }
                ]
                body: "{\"text\": \"$alertTypeName - $alertMessage\"}"
                requestMethod: POST
            }) {
                webhook {
                    id
                    name
                    enabled
                    url
                    requestMethod
                    header {
                        name
                        value
                    }
                    body
                    responseMapping {
                        key
                        value
                    }
                    relatedWebhookId
                }
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "integration": {
        "createWebhook": {
          "webhook": {
            "id": "example-id",
            "name": "Slack Security Channel",
            "enabled": true,
            "url": "https://hooks.slack.com/services/example",
            "requestMethod": "POST",
            "header": [{"name": "Content-Type", "value": "application/json"}],
            "body": "{\"text\": \"$alertTypeName - $alertMessage\"}",
            "responseMapping": [],
            "relatedWebhookId": null
          }
        }
      }
    }
  }
}

deleteWebhook

Description

Delete a webhook integration. This action cannot be undone.

Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DeleteWebhookPayload

Arguments
Name Description
input - WebhookIntegrationRefInput!

Example

Query
mutation DeleteWebhook($accountId: ID!) {
    notification(accountId: $accountId) {
        integration {
            deleteWebhook(input: {
                by: ID
                input: "example-id"
            }) {
                webhook {
                    id
                    name
                }
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "integration": {
        "deleteWebhook": {
          "webhook": {"id": "example-id", "name": "Slack Security Channel"}
        }
      }
    }
  }
}

testWebhook

Description

Tests an existing webhook integration by sending a request with the specified field structure, auto-populated with sample (placeholder) values.

Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a TestWebhookPayload!

Arguments
Name Description
input - WebhookIntegrationRefInput!

Example

Query
mutation TestWebhook($accountId: ID!) {
    notification(accountId: $accountId) {
        integration {
            testWebhook(input: {
                by: ID
                input: "example-id"
            }) {
                success
                errorMessage
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "integration": {"testWebhook": {"success": true, "errorMessage": null}}
    }
  }
}

updateWebhook

Description

Update existing webhook integration.

Required Permissions

This API requires access to the following permissions:

Notifications

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateWebhookPayload

Arguments
Name Description
input - UpdateWebhookInput!

Example

Query
mutation UpdateWebhook($accountId: ID!) {
    notification(accountId: $accountId) {
        integration {
            updateWebhook(input: {
                webhook: {
                    by: ID
                    input: "example-id"
                }
                name: "Slack Security Channel - Updated"
                enabled: false
                url: "https://hooks.slack.com/services/updated-example"
                body: "{\"text\": \"[$alertSeverity] $alertTypeName - $alertMessage\"}"
                headerToAdd: [
                    { name: "X-Custom-Header", value: "custom-value" }
                ]
            }) {
                webhook {
                    id
                    name
                    enabled
                    url
                    requestMethod
                    header {
                        name
                        value
                    }
                    body
                    responseMapping {
                        key
                        value
                    }
                    relatedWebhookId
                }
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "notification": {
      "integration": {
        "updateWebhook": {
          "webhook": {
            "id": "example-id",
            "name": "Slack Security Channel - Updated",
            "enabled": false,
            "url": "https://hooks.slack.com/services/updated-example",
            "requestMethod": "POST",
            "header": [
              {"name": "Content-Type", "value": "application/json"},
              {"name": "X-Custom-Header", "value": "custom-value"}
            ],
            "body": "{\"text\": \"[$alertSeverity] $alertTypeName - $alertMessage\"}",
            "responseMapping": [],
            "relatedWebhookId": null
          }
        }
      }
    }
  }
}

ObjectMutations

createGlobalIpRangeBulk

Beta
Description

Creates one or more global IP ranges.

Required Permissions

This API requires access to the following permissions:

Global I P Ranges

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CreateGlobalIpRangeBulkPayload

Arguments
Name Description
input - [CreateGlobalIpRangeInput!]!

Example

Query
mutation createGlobalIpRangeBulk($accountId: ID!, $input: [CreateGlobalIpRangeInput!]!) {
  object(accountId: $accountId) {
    createGlobalIpRangeBulk(input: $input) {
      globalIpRange {
        id
        name
        description
        ipRange
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": [
    {
      "name": "DC Network",
      "description": "Primary data center CIDR range",
      "ipRange": "10.0.0.0/24"
    },
    {"name": "Branch Network", "ipRange": "172.16.0.0/16"},
    {
      "name": "Printer Host",
      "description": "Single host",
      "ipRange": "192.168.1.42"
    },
    {
      "name": "DHCP Pool",
      "description": "Inclusive IP range",
      "ipRange": "10.0.0.10-10.0.0.20"
    }
  ]
}
Response
{
  "data": {
    "object": {
      "createGlobalIpRangeBulk": {
        "globalIpRange": [
          {
            "id": "1",
            "name": "DC Network",
            "description": "Primary data center CIDR range",
            "ipRange": "10.0.0.0/24"
          },
          {
            "id": "2",
            "name": "Branch Network",
            "description": null,
            "ipRange": "172.16.0.0/16"
          },
          {
            "id": "3",
            "name": "Printer Host",
            "description": "Single host",
            "ipRange": "192.168.1.42"
          },
          {
            "id": "4",
            "name": "DHCP Pool",
            "description": "Inclusive IP range",
            "ipRange": "10.0.0.10-10.0.0.20"
          }
        ]
      }
    }
  }
}

deleteGlobalIpRangeBulk

Beta
Description

Deletes one or more existing global IP ranges.

Required Permissions

This API requires access to the following permissions:

Global I P Ranges

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DeleteGlobalIpRangeBulkPayload

Arguments
Name Description
input - [GlobalIpRangeRefInput!]!

Example

Query
mutation deleteGlobalIpRangeBulk($accountId: ID!, $input: [GlobalIpRangeRefInput!]!) {
  object(accountId: $accountId) {
    deleteGlobalIpRangeBulk(input: $input) {
      globalIpRange {
        id
        name
        description
        ipRange
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": [
    {"by": "ID", "input": "1"},
    {"by": "NAME", "input": "Branch Network"}
  ]
}
Response
{
  "data": {
    "object": {
      "deleteGlobalIpRangeBulk": {
        "globalIpRange": [
          {
            "id": "1",
            "name": "DC Network",
            "description": "Primary data center CIDR range",
            "ipRange": "10.0.0.0/24"
          },
          {
            "id": "2",
            "name": "Branch Network",
            "description": null,
            "ipRange": "172.16.0.0/16"
          }
        ]
      }
    }
  }
}

updateGlobalIpRangeBulk

Beta
Description

Updates one or more existing global IP ranges in place.

Required Permissions

This API requires access to the following permissions:

Global I P Ranges

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateGlobalIpRangeBulkPayload

Arguments
Name Description
input - [UpdateGlobalIpRangeInput!]!

Example

Query
mutation updateGlobalIpRangeBulk($accountId: ID!, $input: [UpdateGlobalIpRangeInput!]!) {
  object(accountId: $accountId) {
    updateGlobalIpRangeBulk(input: $input) {
      globalIpRange {
        id
        name
        description
        ipRange
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": [
    {"id": "1", "name": "DC Network - Updated"},
    {
      "id": "2",
      "description": "Expanded branch CIDR",
      "ipRange": "172.16.0.0/12"
    },
    {
      "id": "3",
      "description": "Moved printer to a new host",
      "ipRange": "192.168.1.50"
    },
    {
      "id": "4",
      "description": "Shifted DHCP pool range",
      "ipRange": "10.0.0.30-10.0.0.40"
    }
  ]
}
Response
{
  "data": {
    "object": {
      "updateGlobalIpRangeBulk": {
        "globalIpRange": [
          {
            "id": "1",
            "name": "DC Network - Updated",
            "description": "Primary data center CIDR range",
            "ipRange": "10.0.0.0/24"
          },
          {
            "id": "2",
            "name": "Branch Network",
            "description": "Expanded branch CIDR",
            "ipRange": "172.16.0.0/12"
          },
          {
            "id": "3",
            "name": "Printer Host",
            "description": "Moved printer to a new host",
            "ipRange": "192.168.1.50"
          },
          {
            "id": "4",
            "name": "DHCP Pool",
            "description": "Shifted DHCP pool range",
            "ipRange": "10.0.0.30-10.0.0.40"
          }
        ]
      }
    }
  }
}

PolicyMutations

antiMalwareFileHash

Beta
Required Permissions

This API requires access to the following permissions:

Anti Malware

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - AntiMalwareFileHashPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            antiMalwareFileHash {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {
      "antiMalwareFileHash": {
        "__typename": "AntiMalwareFileHashPolicyMutations"
      }
    }
  }
}

appTenantRestriction

Beta
Required Permissions

This API requires access to the following permissions:

Application Control

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - AppTenantRestrictionPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            appTenantRestriction {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {
      "appTenantRestriction": {
        "__typename": "AppTenantRestrictionPolicyMutations"
      }
    }
  }
}

applicationControl

Beta
Required Permissions

This API requires access to the following permissions:

Application Control

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an ApplicationControlPolicyMutations

Arguments
Name Description
input - ApplicationControlPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            applicationControl {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {
      "applicationControl": {"__typename": "ApplicationControlPolicyMutations"}
    }
  }
}

clientConnectivity

Beta
Required Permissions

This API requires access to the following permissions:

Client Connectivity Policy

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - ClientConnectivityPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            clientConnectivity {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {
      "clientConnectivity": {"__typename": "ClientConnectivityPolicyMutations"}
    }
  }
}

dynamicIpAllocation

Beta
Required Permissions

This API requires access to the following permissions:

SDP IP Allocation Policy

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - DynamicIpAllocationPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            dynamicIpAllocation {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {
      "dynamicIpAllocation": {
        "__typename": "DynamicIpAllocationPolicyMutations"
      }
    }
  }
}

internetFirewall

Beta
Required Permissions

This API requires access to the following permissions:

Internet Firewall

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an InternetFirewallPolicyMutations

Arguments
Name Description
input - InternetFirewallPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            internetFirewall {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {
      "internetFirewall": {"__typename": "InternetFirewallPolicyMutations"}
    }
  }
}

privateAccess

Beta
Required Permissions

This API requires access to the following permissions:

Private Access Policy

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PrivateAccessPolicyMutations

Arguments
Name Description
input - PrivateAccessPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            privateAccess {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"privateAccess": {"__typename": "PrivateAccessPolicyMutations"}}
  }
}

remotePortFwd

Beta
Required Permissions

This API requires access to the following permissions:

Remote Port Forwarding

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a RemotePortFwdPolicyMutations

Arguments
Name Description
input - RemotePortFwdPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            remotePortFwd {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"remotePortFwd": {"__typename": "RemotePortFwdPolicyMutations"}}
  }
}

siteWebProxy

Beta
Required Permissions

This API requires access to the following permissions:

Site Web Proxy

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SiteWebProxyPolicyMutations

Arguments
Name Description
input - SiteWebProxyPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            siteWebProxy {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"siteWebProxy": {"__typename": "SiteWebProxyPolicyMutations"}}
  }
}

socketBypass

Beta
Required Permissions

This API requires access to the following permissions:

Socket Bypass

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SocketBypassPolicyMutations

Arguments
Name Description
input - SocketBypassPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            socketBypass {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"socketBypass": {"__typename": "SocketBypassPolicyMutations"}}
  }
}

socketLan

Beta
Required Permissions

This API requires access to the following permissions:

Socket LAN Network

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SocketLanPolicyMutations

Arguments
Name Description
input - SocketLanPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            socketLan {
                __typename
            }
        }
    }
Variables
{}
Response
{"data": {"policy": {"socketLan": {"__typename": "SocketLanPolicyMutations"}}}}

splitTunnel

Beta
Required Permissions

This API requires access to the following permissions:

SDP Split Tunnel

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a SplitTunnelPolicyMutations

Arguments
Name Description
input - SplitTunnelPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            splitTunnel {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"splitTunnel": {"__typename": "SplitTunnelPolicyMutations"}}
  }
}

terminalServer

Beta
Required Permissions

This API requires access to the following permissions:

User Awareness

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a TerminalServerPolicyMutations

Arguments
Name Description
input - TerminalServerPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            terminalServer {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {
      "terminalServer": {"__typename": "TerminalServerPolicyMutations"}
    }
  }
}

tlsInspect

Beta
Required Permissions

This API requires access to the following permissions:

TLS Inspection

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a TlsInspectPolicyMutations

Arguments
Name Description
input - TlsInspectPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            tlsInspect {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"tlsInspect": {"__typename": "TlsInspectPolicyMutations"}}
  }
}

wanFirewall

Beta
Required Permissions

This API requires access to the following permissions:

WAN Firewall

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a WanFirewallPolicyMutations

Arguments
Name Description
input - WanFirewallPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            wanFirewall {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"wanFirewall": {"__typename": "WanFirewallPolicyMutations"}}
  }
}

wanNetwork

Beta
Required Permissions

This API requires access to the following permissions:

Network Rules

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a WanNetworkPolicyMutations

Arguments
Name Description
input - WanNetworkPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            wanNetwork {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"wanNetwork": {"__typename": "WanNetworkPolicyMutations"}}
  }
}

ztnaAlwaysOn

Beta
Required Permissions

This API requires access to the following permissions:

Always On Policy

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a ZtnaAlwaysOnPolicyMutations

Arguments
Name Description
input - ZtnaAlwaysOnPolicyMutationInput

Example

Query
mutation {
        policy(accountId: "42") {
            ztnaAlwaysOn {
                __typename
            }
        }
    }
Variables
{}
Response
{
  "data": {
    "policy": {"ztnaAlwaysOn": {"__typename": "ZtnaAlwaysOnPolicyMutations"}}
  }
}

PopLocationMutations

addAllocatedIp

Beta
Description

Allocates an IP address for a PoP location.

Required Permissions

This API requires access to at least one of the following permissions:

IP Allocation Byoip

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - PopLocationAddAllocatedIpInput!

Example

Query
mutation addAllocatedIp($accountId: ID!, $input: PopLocationAddAllocatedIpInput!) {
  popLocationMutations(accountId: $accountId) {
    addAllocatedIp(input: $input) {
      allocatedIp {
        id
        ip
        description
        allocationType
        popLocation {
          id
          name
        }
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "type": "BYOIP",
    "popLocation": {"by": "ID", "input": "456"},
    "description": "New allocated IP for London POP"
  }
}
Response
{
  "data": {
    "popLocationMutations": {
      "addAllocatedIp": {
        "allocatedIp": {
          "id": "1234",
          "ip": "203.0.113.10",
          "description": "New allocated IP for London POP",
          "allocationType": "BYOIP",
          "popLocation": {"id": "456", "name": "London-1"}
        }
      }
    }
  }
}

addBgpProfile

Beta
Required Permissions

This API requires access to the following permissions:

Byoip

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PopLocationAddBgpProfilePayload

Arguments
Name Description
input - PopLocationAddBgpProfileInput!

Example

Query
mutation addBgpProfile($accountId: ID!, $input: PopLocationAddBgpProfileInput!) {
  popLocationMutations(accountId: $accountId) {
    addBgpProfile(input: $input) {
      bgpProfile {
        id
        name
        description
        communities {
          from
          to
        }
        createdAt
        lastUpdatedAt
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "name": "Primary transit communities",
    "description": "Communities used for primary transit advertisements",
    "communities": [{"from": 64512, "to": 64512}]
  }
}
Response
{
  "data": {
    "popLocationMutations": {
      "addBgpProfile": {
        "bgpProfile": {
          "id": "bgp-profile-123",
          "name": "Primary transit communities",
          "description": "Communities used for primary transit advertisements",
          "communities": [{"from": 64512, "to": 64512}],
          "createdAt": "2026-07-20T09:00:00Z",
          "lastUpdatedAt": "2026-07-20T09:00:00Z"
        }
      }
    }
  }
}

allocateIp

Beta
Use addAllocatedIp instead.
Description

Allocates an IP address for a PoP location.

Required Permissions

This API requires access to at least one of the following permissions:

IP Allocation Byoip

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PopLocationAllocateIpPayload

Arguments
Name Description
input - PopLocationAllocateIpInput!

Example

Query
mutation allocateIp($accountId: ID!, $input: PopLocationAllocateIpInput!) {
  popLocationMutations(accountId: $accountId) {
    allocateIp(input: $input) {
      allocatedIp {
        id
        ip
        description
        allocationType
        popLocation {
          id
          name
        }
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "type": "SYSTEM",
    "popLocation": {"by": "ID", "input": "456"},
    "description": "New allocated IP for London POP"
  }
}
Response
{
  "data": {
    "popLocationMutations": {
      "allocateIp": {
        "allocatedIp": {
          "id": 1234,
          "ip": "203.0.113.10",
          "description": "New allocated IP for London POP",
          "allocationType": "SYSTEM",
          "popLocation": {"id": "456", "name": "London-1"}
        }
      }
    }
  }
}

releaseIp

Beta
Use removeAllocatedIp instead.
Description

Releases an allocated IP address for a PoP location.

Required Permissions

This API requires access to at least one of the following permissions:

IP Allocation Byoip

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PopLocationReleaseIpPayload

Arguments
Name Description
input - PopLocationReleaseIpInput!

Example

Query
mutation releaseIp($accountId: ID!, $input: PopLocationReleaseIpInput!) {
  popLocationMutations(accountId: $accountId) {
    releaseIp(input: $input) {
      allocatedIp {
        id
        ip
        description
        allocationType
        popLocation {
          id
          name
        }
      }
    }
  }
}
Variables
{"accountId": "123", "input": {"ip": "203.0.113.10", "type": "SYSTEM"}}
Response
{
  "data": {
    "popLocationMutations": {
      "releaseIp": {
        "allocatedIp": {
          "id": "1234",
          "ip": "203.0.113.10",
          "description": "IP address",
          "allocationType": "SYSTEM",
          "popLocation": {"id": "456", "name": "London-1"}
        }
      }
    }
  }
}

removeAllocatedIp

Beta
Description

Releases an allocated IP address for a PoP location.

Required Permissions

This API requires access to at least one of the following permissions:

IP Allocation Byoip

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - PopLocationRemoveAllocatedIpInput!

Example

Query
mutation removeAllocatedIp($accountId: ID!, $input: PopLocationRemoveAllocatedIpInput!) {
  popLocationMutations(accountId: $accountId) {
    removeAllocatedIp(input: $input) {
      allocatedIp {
        id
        ip
        description
        allocationType
        popLocation {
          id
          name
        }
      }
    }
  }
}
Variables
{"accountId": "123", "input": {"ip": "203.0.113.10", "type": "BYOIP"}}
Response
{
  "data": {
    "popLocationMutations": {
      "removeAllocatedIp": {
        "allocatedIp": {
          "id": "1234",
          "ip": "203.0.113.10",
          "description": "IP address",
          "allocationType": "BYOIP",
          "popLocation": {"id": "456", "name": "London-1"}
        }
      }
    }
  }
}

removeBgpProfile

Beta
Required Permissions

This API requires access to the following permissions:

Byoip

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
bgpProfileId - ID!

Example

Query
mutation removeBgpProfile($accountId: ID!, $bgpProfileId: ID!) {
  popLocationMutations(accountId: $accountId) {
    removeBgpProfile(bgpProfileId: $bgpProfileId) {
      bgpProfile {
        id
        name
        description
        communities {
          from
          to
        }
        createdAt
        lastUpdatedAt
      }
    }
  }
}
Variables
{"accountId": "123", "bgpProfileId": "bgp-profile-123"}
Response
{
  "data": {
    "popLocationMutations": {
      "removeBgpProfile": {
        "bgpProfile": {
          "id": "bgp-profile-123",
          "name": "Primary transit communities",
          "description": "Communities used for primary transit advertisements",
          "communities": [{"from": 64512, "to": 64512}],
          "createdAt": "2026-07-20T09:00:00Z",
          "lastUpdatedAt": "2026-07-20T09:05:00Z"
        }
      }
    }
  }
}

updateAllocatedIpDescription

Beta
Description

Updates the description for an allocated IP address for a PoP location.

Required Permissions

This API requires access to at least one of the following permissions:

IP Allocation Byoip

Note: The API key needs permissions for at least one of the above permissions (OR logic). Contact your administrator to configure the appropriate role and permissions.

Example

Query
mutation updateAllocatedIpDescription($accountId: ID!, $input: PopLocationUpdateAllocatedIpDescriptionInput!) {
  popLocationMutations(accountId: $accountId) {
    updateAllocatedIpDescription(input: $input) {
      allocatedIp {
        id
        ip
        description
        allocationType
        popLocation {
          id
          name
        }
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "ip": "203.0.113.10",
    "description": "Updated description for allocated IP"
  }
}
Response
{
  "data": {
    "popLocationMutations": {
      "updateAllocatedIpDescription": {
        "allocatedIp": {
          "id": "1234",
          "ip": "203.0.113.10",
          "description": "Updated description for allocated IP",
          "allocationType": "SYSTEM",
          "popLocation": {"id": "456", "name": "London-1"}
        }
      }
    }
  }
}

updateBgpProfile

Beta
Required Permissions

This API requires access to the following permissions:

Byoip

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - PopLocationUpdateBgpProfileInput!

Example

Query
mutation updateBgpProfile($accountId: ID!, $input: PopLocationUpdateBgpProfileInput!) {
  popLocationMutations(accountId: $accountId) {
    updateBgpProfile(input: $input) {
      bgpProfile {
        id
        name
        description
        communities {
          from
          to
        }
        createdAt
        lastUpdatedAt
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "id": "bgp-profile-123",
    "description": "Updated communities used for primary transit advertisements"
  }
}
Response
{
  "data": {
    "popLocationMutations": {
      "updateBgpProfile": {
        "bgpProfile": {
          "id": "bgp-profile-123",
          "name": "Primary transit communities",
          "description": "Updated communities used for primary transit advertisements",
          "communities": [{"from": 64512, "to": 64512}],
          "createdAt": "2026-07-20T09:00:00Z",
          "lastUpdatedAt": "2026-07-20T09:05:00Z"
        }
      }
    }
  }
}

PostureMutations

addCheckComment

Beta
Description

Adds a comment to a Posture Check result.

Required Permissions

This API requires access to the following permissions:

Posture

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddCheckCommentPayload

Arguments
Name Description
input - AddCheckCommentInput! Check result id and comment text.

Example

Query
mutation postureAddCheckComment($accountId: ID!, $input: AddCheckCommentInput!) {
    posture(accountId: $accountId) {
        addCheckComment(input: $input) {
            comments {
                id
                timestamp
                text
                actor {
                    name
                    type
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {"checkId": "check-1", "text": "Reviewed by security team"}
}
Response
{
  "data": {
    "posture": {
      "addCheckComment": {
        "comments": [
          {
            "id": "101",
            "timestamp": "2025-01-31T12:00:00Z",
            "text": "Reviewed by security team",
            "actor": {"name": "Jane Analyst", "type": "USER"}
          }
        ]
      }
    }
  }
}

dismissFinding

Beta
Description

Permanently dismisses a specific Finding for a Posture Check.

Required Permissions

This API requires access to the following permissions:

Posture

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PostureDismissFindingPayload

Arguments
Name Description
input - PostureDismissFindingInput! Finding id to dismiss and an optional reason.

Example

Query
mutation postureDismissFinding($accountId: ID!, $input: PostureDismissFindingInput!) {
    posture(accountId: $accountId) {
        dismissFinding(input: $input) {
            finding {
                id
                externalId
                checkId
                name
                description
                impact
                impactedEntities {
                    id
                    type
                    name
                }
                additionalInfo {
                    key
                    value
                }
                muteStatus
                muteReason
                mutedAt
                muteDurationInDays
                resolutionStatus
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {"findingId": "2001", "reason": "Not applicable"}
}
Response
{
  "data": {
    "posture": {
      "dismissFinding": {
        "finding": {
          "id": "2001",
          "externalId": "ext-2001",
          "checkId": "check-1",
          "name": "Admin account without MFA",
          "description": "MFA is not enabled",
          "impact": "HIGH",
          "impactedEntities": [],
          "additionalInfo": [],
          "muteStatus": "DISMISSED",
          "muteReason": "Not applicable",
          "mutedAt": null,
          "muteDurationInDays": null,
          "resolutionStatus": "RESOLVED"
        }
      }
    }
  }
}

muteCheck

Beta
Description

Mutes a Posture Check for a specified duration (up to 60 days).

Required Permissions

This API requires access to the following permissions:

Posture

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PostureMuteCheckPayload

Arguments
Name Description
input - PostureMuteCheckInput! Check result id, mute duration, and optional reason.

Example

Query
mutation postureMuteCheck($accountId: ID!, $input: PostureMuteCheckInput!) {
    posture(accountId: $accountId) {
        muteCheck(input: $input) {
            check {
                definition {
                    id
                }
                result {
                    id
                }
                findings {
                    id
                }
                findingsCount {
                    breakdown {
                        muteStatus
                        resolutionStatus
                        count
                    }
                }
                events {
                    id
                }
                comparisons {
                    comparisonType
                    comparisonValue
                    percentile
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "checkId": "check-1",
    "reason": "Temporary exception",
    "durationInDays": 30
  }
}
Response
{
  "data": {
    "posture": {
      "muteCheck": {
        "check": {
          "definition": {"id": "check-1"},
          "result": {"id": "9001"},
          "findings": [],
          "findingsCount": {"breakdown": []},
          "events": [],
          "comparisons": []
        }
      }
    }
  }
}

muteFinding

Beta
Description

Mutes a specific Finding for a Posture Check for up to 60 days.

Required Permissions

This API requires access to the following permissions:

Posture

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PostureMuteFindingPayload

Arguments
Name Description
input - PostureMuteFindingInput! Finding id, mute duration, and optional reason.

Example

Query
mutation postureMuteFinding($accountId: ID!, $input: PostureMuteFindingInput!) {
    posture(accountId: $accountId) {
        muteFinding(input: $input) {
            finding {
                id
                externalId
                checkId
                name
                description
                impact
                impactedEntities {
                    id
                    type
                    name
                }
                additionalInfo {
                    key
                    value
                }
                muteStatus
                muteReason
                mutedAt
                muteDurationInDays
                resolutionStatus
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "findingId": "2001",
    "reason": "Accepted risk",
    "durationInDays": 14
  }
}
Response
{
  "data": {
    "posture": {
      "muteFinding": {
        "finding": {
          "id": "2001",
          "externalId": "ext-2001",
          "checkId": "check-1",
          "name": "Admin account without MFA",
          "description": "MFA is not enabled",
          "impact": "HIGH",
          "impactedEntities": [],
          "additionalInfo": [],
          "muteStatus": "MUTED",
          "muteReason": "Accepted risk",
          "mutedAt": "2025-01-31T12:00:00Z",
          "muteDurationInDays": 14,
          "resolutionStatus": "OPEN"
        }
      }
    }
  }
}

reevaluateChecks

Beta
Description

Triggers an immediate reevaluation of Posture checks for the account. Only checks that can be evaluated by this service are refreshed immediately. Some checks depend on external systems and will update only after external updates are received.

Required Permissions

This API requires access to the following permissions:

Posture

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PostureReevaluateChecksPayload

Example

Query
mutation postureReevaluateChecks($accountId: ID!) {
    posture(accountId: $accountId) {
        reevaluateChecks {
            success
        }
    }
}
Variables
{"accountId": "12345"}
Response
{"data": {"posture": {"reevaluateChecks": {"success": true}}}}

undismissFinding

Beta
Description

Restores a previously dismissed Finding.

Required Permissions

This API requires access to the following permissions:

Posture

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PostureUndismissFindingPayload

Arguments
Name Description
input - PostureUndismissFindingInput! Finding id to restore from a dismissed state.

Example

Query
mutation postureUndismissFinding($accountId: ID!, $input: PostureUndismissFindingInput!) {
    posture(accountId: $accountId) {
        undismissFinding(input: $input) {
            finding {
                id
                externalId
                checkId
                name
                description
                impact
                impactedEntities {
                    id
                    type
                    name
                }
                additionalInfo {
                    key
                    value
                }
                muteStatus
                muteReason
                mutedAt
                muteDurationInDays
                resolutionStatus
            }
        }
    }
}
Variables
{"accountId": "12345", "input": {"findingId": "2001"}}
Response
{
  "data": {
    "posture": {
      "undismissFinding": {
        "finding": {
          "id": "2001",
          "externalId": "ext-2001",
          "checkId": "check-1",
          "name": "Admin account without MFA",
          "description": "MFA is not enabled",
          "impact": "HIGH",
          "impactedEntities": [],
          "additionalInfo": [],
          "muteStatus": "NONE",
          "muteReason": null,
          "mutedAt": null,
          "muteDurationInDays": null,
          "resolutionStatus": "OPEN"
        }
      }
    }
  }
}

unmuteCheck

Beta
Description

Restores a previously muted Posture Check.

Required Permissions

This API requires access to the following permissions:

Posture

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PostureUnmuteCheckPayload

Arguments
Name Description
input - PostureUnmuteCheckInput! Check result id to restore from a muted state.

Example

Query
mutation postureUnmuteCheck($accountId: ID!, $input: PostureUnmuteCheckInput!) {
    posture(accountId: $accountId) {
        unmuteCheck(input: $input) {
            check {
                definition {
                    id
                }
                result {
                    id
                }
                findings {
                    id
                }
                findingsCount {
                    breakdown {
                        muteStatus
                        resolutionStatus
                        count
                    }
                }
                events {
                    id
                }
                comparisons {
                    comparisonType
                    comparisonValue
                    percentile
                }
            }
        }
    }
}
Variables
{"accountId": "12345", "input": {"checkId": "check-1"}}
Response
{
  "data": {
    "posture": {
      "unmuteCheck": {
        "check": {
          "definition": {"id": "check-1"},
          "result": {"id": "9001"},
          "findings": [],
          "findingsCount": {"breakdown": []},
          "events": [],
          "comparisons": []
        }
      }
    }
  }
}

unmuteFinding

Beta
Description

Restores a previously muted Finding.

Required Permissions

This API requires access to the following permissions:

Posture

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a PostureUnmuteFindingPayload

Arguments
Name Description
input - PostureUnmuteFindingInput! Finding id to restore from a muted state.

Example

Query
mutation postureUnmuteFinding($accountId: ID!, $input: PostureUnmuteFindingInput!) {
    posture(accountId: $accountId) {
        unmuteFinding(input: $input) {
            finding {
                id
                externalId
                checkId
                name
                description
                impact
                impactedEntities {
                    id
                    type
                    name
                }
                additionalInfo {
                    key
                    value
                }
                muteStatus
                muteReason
                mutedAt
                muteDurationInDays
                resolutionStatus
            }
        }
    }
}
Variables
{"accountId": "12345", "input": {"findingId": "2001"}}
Response
{
  "data": {
    "posture": {
      "unmuteFinding": {
        "finding": {
          "id": "2001",
          "externalId": "ext-2001",
          "checkId": "check-1",
          "name": "Admin account without MFA",
          "description": "MFA is not enabled",
          "impact": "HIGH",
          "impactedEntities": [],
          "additionalInfo": [],
          "muteStatus": "NONE",
          "muteReason": null,
          "mutedAt": null,
          "muteDurationInDays": null,
          "resolutionStatus": "OPEN"
        }
      }
    }
  }
}

updateCheckConfiguration

Beta
Description

Enables or disables one or more Posture Checks.

Required Permissions

This API requires access to the following permissions:

Posture Check Catalog

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - PostureUpdateCheckConfigurationInput! Checks to enable or disable and their desired statuses.

Example

Query
mutation postureUpdateCheckConfiguration($accountId: ID!, $input: PostureUpdateCheckConfigurationInput!) {
    posture(accountId: $accountId) {
        updateCheckConfiguration(input: $input) {
            items {
                id
                scoreMetadata {
                    effectiveAreaCriticality
                    effectiveBlastRadiusValue
                    effectiveBlastRadiusClass
                    effectiveFindingsSignal
                    effectiveSuggestedScore
                    effectiveSuggestedSeverity
                    effectiveSeverity
                    scoreContributionPct
                }
                suppressedStatus
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {"suppressedCheckStatus": [{"id": "check-1", "status": "ENABLED"}]}
}
Response
{
  "data": {
    "posture": {
      "updateCheckConfiguration": {
        "items": [
          {
            "id": "check-1",
            "suppressedStatus": "ENABLED",
            "scoreMetadata": null
          }
        ]
      }
    }
  }
}

SandboxMutations

deleteReport

Beta Rollout
Description

Delete a sandbox report

Required Permissions

This API requires access to the following permissions:

Sandbox Reports

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DeleteReportPayload!

Arguments
Name Description
input - DeleteReportInput!

Example

Query
mutation sandboxReports($accountId: ID!, $input: DeleteReportInput!) {
  sandbox(accountId: $accountId) {
    deleteReport(input: $input) {
      fileHash
    }
  }
}
Variables
{"accountId": 12345, "input": {"fileHash": "FILE_HASH"}}
Response
{"data": {"sandbox": {"deleteReport": {"fileHash": "FILE_HASH"}}}}

uploadFile

Beta Rollout
Description

Upload a file for sandbox analysis

Required Permissions

This API requires access to the following permissions:

Sandbox Reports

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UploadFilePayload!

Arguments
Name Description
input - UploadFileInput!

Example

Query
mutation sandboxReports($accountId: ID!, $input: UploadFileInput!) {
  sandbox(accountId: $accountId) {
    uploadFile(input: $input) {
      uploadUrl
    }
  }
}
Variables
{"accountId": 12345, "input": {"fileName": "eicar.zip"}}
Response
{"data": {"sandbox": {"uploadFile": {"uploadUrl": "UPLOAD_URL"}}}}

SiteMutations

addBgpPeer

Beta
Description

Adds a new BGP peer to the specified site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddBgpPeerPayload

Arguments
Name Description
input - AddBgpPeerInput!

Example

Query
mutation addBgpPeer($accountId: ID!, $input: AddBgpPeerInput!) {
                            sites(accountId: $accountId) {
                                addBgpPeer(input: $input){
                                    bgpPeer{
                                        site{
                                            id
                                            name
                                        }
                                        id
                                        name
                                        peerAsn
                                        catoAsn
                                        peerIp
                                        catoIp
                                        advertiseDefaultRoute
                                        advertiseAllRoutes
                                        advertiseSummaryRoutes
                                        summaryRoute{
                                            id
                                            route
                                            community{
                                                from
                                                to
                                            }
                                        }
                                        defaultAction
                                        performNat
                                        md5AuthKey
                                        metric
                                        holdTime
                                        keepaliveInterval
                                        bfdEnabled
                                        bfdSettings {
                                            transmitInterval
                                            receiveInterval
                                            multiplier
                                        }
                                        tracking{
                                            id
                                            enabled
                                            alertFrequency
                                            subscriptionId
                                        }
                                    }
                        
                                }
                            }
                        }
                        
Variables
{
  "accountId": 123,
  "input": {
    "site": {"input": "456", "by": "ID"},
    "name": "example peer",
    "peerAsn": 1,
    "catoAsn": 8,
    "peerIp": "185.0.0.69",
    "advertiseDefaultRoute": true,
    "advertiseAllRoutes": false,
    "advertiseSummaryRoutes": false,
    "summaryRoute": [
      {
        "route": "1.6.5.0/25",
        "community": [{"from": 1, "to": 2}, {"from": 1, "to": 3}]
      }
    ],
    "defaultAction": "ACCEPT",
    "performNat": false,
    "md5AuthKey": "2313123",
    "metric": 100,
    "holdTime": 60,
    "keepaliveInterval": 20,
    "bfdEnabled": false,
    "tracking": {
      "enabled": true,
      "alertFrequency": "DAILY",
      "subscriptionId": "-100"
    }
  }
}
Response
{
  "data": {
    "sites": {
      "addBgpPeer": {
        "bgpPeer": {
          "site": {"id": "456", "name": "test-accept"},
          "id": "13372",
          "name": "example peer",
          "peerAsn": 1,
          "catoAsn": 8,
          "peerIp": "185.0.0.69",
          "catoIp": "185.0.0.1",
          "advertiseDefaultRoute": true,
          "advertiseAllRoutes": false,
          "advertiseSummaryRoutes": false,
          "summaryRoute": [
            {
              "id": "3830",
              "route": "1.6.5.0/25",
              "community": [{"from": 1, "to": 2}, {"from": 1, "to": 3}]
            }
          ],
          "defaultAction": "ACCEPT",
          "performNat": false,
          "md5AuthKey": "2313123",
          "metric": 100,
          "holdTime": 60,
          "keepaliveInterval": 20,
          "bfdEnabled": false,
          "bfdSettings": {
            "transmitInterval": 1000,
            "receiveInterval": 1000,
            "multiplier": 5
          },
          "tracking": {
            "id": "1689",
            "enabled": true,
            "alertFrequency": "DAILY",
            "subscriptionId": "-100"
          }
        }
      }
    }
  }
}

addCloudInterconnectPhysicalConnection

Beta
Description

Add a new physical connection to a cloud interconnect site.Either connect to a partner, or a non-supported public provider

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
mutation addCloudInterconnectPhysicalConnection($accountId: ID!, $input: AddCloudInterconnectPhysicalConnectionInput!){
 site(accountId: $accountId) {
    addCloudInterconnectPhysicalConnection( input: $input ) {
      id
    }
  }
}
Variables
{
  "accountId": 128782,
  "input": {
    "site": {"by": "ID", "input": "400957"},
    "haRole": "PRIMARY",
    "popLocation": {"input": "10000", "by": "ID"},
    "serviceProviderName": "Equinix",
    "encapsulationMethod": "DOT1Q",
    "subnet": "200.0.2.0/24",
    "privateCatoIp": "200.0.2.19",
    "privateSiteIp": "200.0.2.20",
    "upstreamBwLimit": "100",
    "downstreamBwLimit": "100"
  }
}
Response
{
  "data": {
    "site": {
      "addCloudInterconnectPhysicalConnection": {"id": "NDAwOTU3LVBSSU1BUlk="}
    }
  }
}

addCloudInterconnectSite

Beta
Description

Add a new cloud interconnect site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddCloudInterconnectSitePayload

Arguments
Name Description
input - AddCloudInterconnectSiteInput!

Example

Query
mutation addCloudInterconnectSite($accountId: ID!, $input: AddCloudInterconnectSiteInput!){
 site(accountId: $accountId) {
    addCloudInterconnectSite( input: $input){
      siteId
    }
  }
}
Variables
{
  "accountId": 128782,
  "input": {
    "name": "cloud_interconnect_test_site",
    "siteType": "BRANCH",
    "description": "test description",
    "siteLocation": {
      "countryCode": "AF",
      "timezone": "Asia/Kabul",
      "city": "‘Alāqahdārī Aṯghar"
    }
  }
}
Response
{"data": {"site": {"addCloudInterconnectSite": {"siteId": "400957"}}}}

addIpsecIkeV2Site

Beta
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddIpsecIkeV2SitePayload

Arguments
Name Description
input - AddIpsecIkeV2SiteInput!

Example

Query
mutation addIpsecIkeV2Site($accountId:ID!, $input:AddIpsecIkeV2SiteInput!){
  site(accountId:$accountId) {
    addIpsecIkeV2Site(input:$input) {
      siteId
    }
  }
}
Variables
{
  "accountId": 123,
  "input": {
    "name": "New Site",
    "siteType": "DATACENTER",
    "description": "Data warehouse",
    "nativeNetworkRange": "123.0.0.0/24",
    "vlan": 1400,
    "siteLocation": {"countryCode": "IL", "timezone": "Asia/Jerusalem"}
  }
}
Response
{"data": {"site": {"addIpsecIkeV2Site": {"siteId": "456"}}}}

addIpsecIkeV2SiteTunnels

Beta
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddIpsecIkeV2SiteTunnelsPayload

Arguments
Name Description
siteId - ID!
input - AddIpsecIkeV2SiteTunnelsInput!

Example

Query
mutation addIpsecIkeV2SiteTunnels($accountId: ID!, $siteId: ID!, $input: AddIpsecIkeV2SiteTunnelsInput!) {
  site(accountId: $accountId) {
    addIpsecIkeV2SiteTunnels(siteId: $siteId, input: $input) {
      siteId
    }
  }
}
Variables
{
  "accountId": "123",
  "siteId": "456",
  "input": {
    "primary": {
      "destinationType": "IPv4",
      "publicCatoIpId": 1000,
      "tunnels": {
        "publicSiteIp": "10.10.10.1",
        "privateCatoIp": "1.1.1.12",
        "privateSiteIp": "1.1.1.13",
        "lastMileBw": {"downstream": 100, "upstream": 100},
        "psk": "TEst123456789"
      }
    },
    "secondary": {
      "destinationType": "FQDN",
      "tunnels": {
        "publicSiteIp": "20.20.20.1",
        "lastMileBw": {"downstream": 200, "upstream": 200},
        "psk": "TEst123456789"
      }
    }
  }
}
Response
{"data": {"site": {"addIpsecIkeV2SiteTunnels": {"siteId": "456"}}}}

addNetworkRange

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddNetworkRangePayload

Arguments
Name Description
lanSocketInterfaceId - ID!
input - AddNetworkRangeInput!

Example

Query
mutation addNetworkRange(
  $accountId:ID!,
  $lanSocketInterfaceId: ID!,
  $input:AddNetworkRangeInput!
) {
  site(accountId:$accountId){
    addNetworkRange(lanSocketInterfaceId:$lanSocketInterfaceId, input:$input){
      networkRangeId
    }
  }
}
Variables
{
  "accountId": "123",
  "lanSocketInterfaceId": "456",
  "input": {
    "name": "Printers",
    "rangeType": "Routed",
    "subnet": "123.0.1.0/30",
    "gateway": "123.0.0.2"
  }
}
Response
{"data": {"site": {"addNetworkRange": {"networkRangeId": "UzQ3MDcw"}}}}

addSecondaryAwsVSocket

Beta
Description

Add a secondary AWS vSocket to an existing site

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddSecondaryAwsVSocketPayload

Arguments
Name Description
input - AddSecondaryAwsVSocketInput!

Example

Query
mutation addSecondaryAwsVSocket($accountId:ID!, $input:AddSecondaryAwsVSocketInput!){
  site(accountId:$accountId) {
    addSecondaryAwsVSocket(input:$input) {
      id
    }
  }
}
Variables
{
  "accountId": "143762",
  "input": {
    "site": {"by": "ID", "input": "400353"},
    "eniIpAddress": "11.22.34.50",
    "eniIpSubnet": "11.22.34.0/24",
    "routeTableId": "123"
  }
}
Response
{"data": {"site": {"addSecondaryAwsVSocket": {"id": "NDAwOTU3LVBSSU1BUlk="}}}}

addSecondaryAzureVSocket

Beta
Description

Add a secondary Azure vSocket to an existing site

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddSecondaryAzureVSocketPayload

Arguments
Name Description
input - AddSecondaryAzureVSocketInput!

Example

Query
mutation addSecondaryAzureVSocket($accountId:ID!, $input:AddSecondaryAzureVSocketInput!){
  site(accountId:$accountId) {
    addSecondaryAzureVSocket(input:$input) {
      id
    }
  }
}
Variables
{
  "accountId": "143762",
  "input": {
    "site": {"by": "ID", "input": "400353"},
    "interfaceIp": "20.0.0.57",
    "floatingIp": "20.0.0.17"
  }
}
Response
{"data": {"site": {"addSecondaryAzureVSocket": {"id": "627135"}}}}

addSecondaryGcpVSocket

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddSecondaryGcpVSocketPayload

Arguments
Name Description
input - AddSecondaryGcpVSocketInput!

Example

Query
mutation addSecondaryGcpVSocket($accountId: ID!, $input: AddSecondaryGcpVSocketInput!) {
  sites(accountId: $accountId) {
    addSecondaryGcpVSocket(input: $input) {
      socketInfo {
        site {
          id
          name
        }
        id
        interfaceIp
        loadBalancerIp
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"input": "456", "by": "ID"},
    "gcpConfig": {"interfaceIp": "10.0.0.1", "loadBalancerIp": "10.0.0.2"}
  }
}
Response
{
  "data": {
    "sites": {
      "addSecondaryGcpVSocket": {
        "socketInfo": {
          "site": {"id": "456", "name": "example site"},
          "id": "789",
          "interfaceIp": "10.0.0.1",
          "loadBalancerIp": "10.0.0.2"
        }
      }
    }
  }
}

addSecondaryKvmVSocket

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddSecondaryKvmVSocketPayload

Arguments
Name Description
input - AddSecondaryKvmVSocketInput!

Example

Query
mutation sitesAddSecondaryKvmVSocket($accountId: ID!, $input: AddSecondaryKvmVSocketInput!) {
    sites(accountId: $accountId) {
        addSecondaryKvmVSocket(input: $input) {
            id
        }
    }
}
Variables
{"accountId": "123", "input": {"site": {"by": "ID", "input": "456"}}}
Response
{"data": {"sites": {"addSecondaryKvmVSocket": {"id": "789"}}}}

addSocketAddOnCard

Beta
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddSocketAddOnCardPayload

Arguments
Name Description
input - AddSocketAddOnCardInput!

Example

Query
mutation addSocketAddOnCard($accountId: ID!, $input: AddSocketAddOnCardInput!) {
                          sites(accountId: $accountId) {
                            addSocketAddOnCard(input: $input) {
                              ...AddSocketAddOnCardData
                              __typename
                            }
                            __typename
                          }
                        }
                        
                        fragment AddSocketAddOnCardData on AddSocketAddOnCardPayload {
                          addOns {
                            expansionSlotNumber
                            type
                            __typename
                          }
                          __typename
                        }
                        
Variables
{
  "accountId": "123",
  "input": {
    "site": {"input": "456", "by": "ID"},
    "addOns": [
      {"type": "FOUR_10G_FIBER", "expansionSlotNumber": "SLOT_1"},
      {"type": "FOUR_10G_FIBER", "expansionSlotNumber": "SLOT_2"}
    ]
  }
}
Response
{
  "data": {
    "sites": {
      "addSocketAddOnCard": {
        "addOns": [
          {
            "expansionSlotNumber": "SLOT_1",
            "type": "FOUR_10G_FIBER",
            "__typename": "SocketAddOnCard"
          },
          {
            "expansionSlotNumber": "SLOT_2",
            "type": "FOUR_10G_FIBER",
            "__typename": "SocketAddOnCard"
          }
        ],
        "__typename": "AddSocketAddOnCardPayload"
      },
      "__typename": "SiteMutations"
    }
  }
}

addSocketSite

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddSocketSitePayload

Arguments
Name Description
input - AddSocketSiteInput!

Example

Query
mutation addSocketSite($accountId:ID!, $input:AddSocketSiteInput!){
  site(accountId:$accountId) {
    addSocketSite(input:$input) {
      siteId
    }
  }
}
Variables
{
  "accountId": 123,
  "input": {
    "name": "New Site",
    "connectionType": "SOCKET_X1700",
    "siteType": "DATACENTER",
    "description": "Data warehouse",
    "nativeNetworkRange": "123.0.0.0/24",
    "vlan": 1400,
    "siteLocation": {
      "countryCode": "IL",
      "timezone": "Asia/Jerusalem",
      "city": "Asheklon"
    }
  }
}
Response
{"data": {"site": {"addSocketSite": {"siteId": "456"}}}}

addStaticHost

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddStaticHostPayload

Arguments
Name Description
siteId - ID!
input - AddStaticHostInput!

Example

Query
mutation addStaticHost($accountId:ID!,$siteId: ID!, $input: AddStaticHostInput!) {
  sites(accountId:$accountId){
    addStaticHost(siteId:$siteId, input:$input){
      hostId
    }
  }
}
Variables
{
  "accountId": "123",
  "siteId": "456",
  "input": {"name": "Printer", "ip": "123.0.0.10"}
}
Response
{"data": {"sites": {"addStaticHost": {"hostId": "789"}}}}

assignSiteBwLicense

Beta
Description

Assign a license to an existing site // License-to-site assignment will be removed starting in 2026 with the transition to a new pricing model.

Required Permissions

This API requires access to the following permissions:

License

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AssignSiteBwLicensePayload

Arguments
Name Description
input - AssignSiteBwLicenseInput!

Example

Query
mutation assignSiteBwLicense($accountId: ID!, $input: AssignSiteBwLicenseInput!) {
  sites(accountId: $accountId) {
    assignSiteBwLicense(input: $input) {
      license {
        __typename
        id,
        sku,
        ... on SiteLicense {
          site {
            id
          }
          total
        }
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"input": "445432"},
    "licenseId": "99d9485f-0829-4b7e-8781-6365bd6f8914"
  }
}
Response
{
  "data": {
    "sites": {
      "assignSiteBwLicense": {
        "license": {
          "__typename": "SiteLicense",
          "id": "3a63749f-e7e0-4385-a02f-6a0f3db10d1d",
          "sku": "CATO_SITE",
          "site": {"id": "453087"},
          "total": 1000
        }
      }
    }
  }
}

createBgpPeerBulk

Beta
Description

Creates one or more BGP peers on a single site in a single atomic batch.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CreateBgpPeerBulkPayload

Arguments
Name Description
input - CreateBgpPeerBulkInput!

Example

Query
mutation sitesCreateBgpPeerBulk($accountId: ID!, $input: CreateBgpPeerBulkInput!) {
    sites(accountId: $accountId) {
        createBgpPeerBulk(input: $input) {
            bgpPeer {
                site {
                    id
                    name
                }
                id
                name
                peerAsn
                catoAsn
                peerIp
                catoIp
                advertiseDefaultRoute
                defaultRouteCommunities {
                    from
                    to
                }
                advertiseAllRoutes
                advertiseSummaryRoutes
                summaryRoute {
                    id
                    route
                    community {
                        from
                        to
                    }
                }
                defaultAction
                defaultActionExclusion {
                    bgpRouteExactFilterRule {
                        id
                        globalIpRange {
                            id
                            name
                        }
                        networkSubnet
                    }
                    bgpRouteExactAndInclusiveFilterRule {
                        id
                        globalIpRange {
                            id
                            name
                        }
                        globalIpRangeException {
                            id
                            name
                        }
                        networkSubnet
                        networkSubnetException
                        le
                        ge
                    }
                    communityFilterRule {
                        id
                        predicate
                        community {
                            from
                            to
                        }
                    }
                }
                performNat
                md5AuthKey
                metric
                holdTime
                keepaliveInterval
                bfdEnabled
                bfdSettings {
                    transmitInterval
                    receiveInterval
                    multiplier
                }
                tracking {
                    id
                    enabled
                    alertFrequency
                    subscriptionId
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "site": {"by": "NAME", "input": "Example Site"},
    "bgpPeer": [
      {
        "name": "datacenter-edge-router",
        "peerAsn": 64512,
        "catoAsn": 65000,
        "peerIp": "203.0.113.10",
        "advertiseDefaultRoute": true,
        "defaultRouteCommunities": [{"from": 65000, "to": 200}],
        "advertiseAllRoutes": false,
        "advertiseSummaryRoutes": true,
        "summaryRoute": [
          {"route": "10.0.0.0/16", "community": [{"from": 65000, "to": 300}]}
        ],
        "defaultAction": "DROP",
        "defaultActionExclusion": [
          {
            "bgpRouteExactFilterRule": {
              "globalIpRange": [
                {"input": "Example Global Ip Range", "by": "NAME"}
              ],
              "networkSubnet": ["10.0.0.0/24"]
            }
          },
          {
            "bgpRouteExactAndInclusiveFilterRule": {
              "globalIpRange": [
                {"input": "Example Global Ip Range", "by": "NAME"}
              ],
              "globalIpRangeException": [
                {"input": "Example Global Ip Range Exception", "by": "NAME"}
              ],
              "networkSubnet": ["10.0.0.0/24"],
              "networkSubnetException": ["10.0.0.128/25"],
              "le": 32,
              "ge": 24
            }
          },
          {
            "communityFilterRule": {
              "predicate": "NOT_EQUAL",
              "community": [{"from": 65000, "to": 400}]
            }
          }
        ],
        "performNat": false,
        "md5AuthKey": "s3cr3t-bgp-md5-key",
        "metric": 100,
        "holdTime": 180,
        "keepaliveInterval": 60,
        "bfdEnabled": true,
        "bfdSettings": {
          "transmitInterval": 300,
          "receiveInterval": 300,
          "multiplier": 3
        },
        "tracking": {
          "enabled": true,
          "alertFrequency": "DAILY",
          "subscriptionId": "3de2bf92-3ee2-4125-bbe2-bc6c3ce2bdff"
        }
      }
    ]
  }
}
Response
{
  "data": {
    "sites": {
      "createBgpPeerBulk": {
        "bgpPeer": [
          {
            "site": {
              "id": "332b2614-342b-47a7-b52b-293a362b2acd",
              "name": "New York DC"
            },
            "id": "1513be7f-1413-4cec-9713-c1a51613c012",
            "name": "datacenter-edge-router",
            "peerAsn": 64512,
            "catoAsn": 65000,
            "peerIp": "203.0.113.10",
            "catoIp": "169.254.0.1",
            "advertiseDefaultRoute": true,
            "defaultRouteCommunities": [{"from": 65000, "to": 200}],
            "advertiseAllRoutes": false,
            "advertiseSummaryRoutes": true,
            "summaryRoute": [
              {
                "id": "b59ffec6-b6a0-4059-b39f-fba0b49ffd33",
                "route": "10.0.0.0/16",
                "community": [{"from": 65000, "to": 300}]
              }
            ],
            "defaultAction": "DROP",
            "defaultActionExclusion": [
              {
                "bgpRouteExactFilterRule": {
                  "id": "a8d98715-a7d9-4582-a6d9-83efa5d9825c",
                  "globalIpRange": [
                    {
                      "id": "e3a18960-e4a1-4af3-a5a1-8c86e6a18e19",
                      "name": "Internal IP Ranges"
                    }
                  ],
                  "networkSubnet": ["10.0.0.0/24"]
                },
                "bgpRouteExactAndInclusiveFilterRule": null,
                "communityFilterRule": null
              },
              {
                "bgpRouteExactFilterRule": null,
                "bgpRouteExactAndInclusiveFilterRule": {
                  "id": "1e4f522c-1f4f-43bf-a04f-5552214f56e5",
                  "globalIpRange": [
                    {
                      "id": "2255b535-2155-43a2-a055-b20f1f55b07c",
                      "name": "Internal IP Ranges"
                    }
                  ],
                  "globalIpRangeException": [
                    {
                      "id": "8b9aeb02-8c9a-4c95-899a-e7dc8a9ae96f",
                      "name": "Excluded IP Ranges"
                    }
                  ],
                  "networkSubnet": ["10.0.0.0/24"],
                  "networkSubnetException": ["10.0.0.128/25"],
                  "le": 32,
                  "ge": 24
                },
                "communityFilterRule": null
              },
              {
                "bgpRouteExactFilterRule": null,
                "bgpRouteExactAndInclusiveFilterRule": null,
                "communityFilterRule": {
                  "id": "227ac505-217a-4372-a07a-c1df1f7ac04c",
                  "predicate": "NOT_EQUAL",
                  "community": [{"from": 65000, "to": 400}]
                }
              }
            ],
            "performNat": false,
            "md5AuthKey": "s3cr3t-bgp-md5-key",
            "metric": 100,
            "holdTime": 180,
            "keepaliveInterval": 60,
            "bfdEnabled": true,
            "bfdSettings": {
              "transmitInterval": 300,
              "receiveInterval": 300,
              "multiplier": 3
            },
            "tracking": {
              "id": "5fbdb95e-60bd-4af1-9dbd-b6385ebdb7cb",
              "enabled": true,
              "alertFrequency": "DAILY",
              "subscriptionId": "3de2bf92-3ee2-4125-bbe2-bc6c3ce2bdff"
            }
          }
        ]
      }
    }
  }
}

createNetworkRangeBulk

Beta
Description

Creates one or more network ranges on a single site in a single atomic batch.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CreateNetworkRangeBulkPayload

Arguments
Name Description
input - CreateNetworkRangeBulkInput!

Example

Query
mutation createNetworkRangeBulk($accountId: ID!, $input: CreateNetworkRangeBulkInput!) {
  sites(accountId: $accountId) {
    createNetworkRangeBulk(input: $input) {
      networkRange {
        networkRangeId
        name
        rangeType
        subnet
        localIp
        vlan
        mdnsReflector
        internetOnly
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"input": "456", "by": "ID"},
    "networkRange": [
      {
        "lanSocketInterfaceId": "101",
        "name": "VLAN-10",
        "rangeType": "VLAN",
        "subnet": "10.0.10.0/24",
        "localIp": "10.0.10.1",
        "vlan": 10
      }
    ]
  }
}
Response
{
  "data": {
    "sites": {
      "createNetworkRangeBulk": {
        "networkRange": [
          {
            "networkRangeId": "UzEwMDE=",
            "name": "VLAN-10",
            "rangeType": "VLAN",
            "subnet": "10.0.10.0/24",
            "localIp": "10.0.10.1",
            "vlan": 10,
            "mdnsReflector": false,
            "internetOnly": false
          }
        ]
      }
    }
  }
}

createStaticHostBulk

Beta
Description

Creates one or more static hosts on a single site in a single atomic batch.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CreateStaticHostBulkPayload

Arguments
Name Description
input - CreateStaticHostBulkInput!

Example

Query
mutation sitesCreateStaticHostBulk($accountId: ID!, $input: CreateStaticHostBulkInput!) {
    sites(accountId: $accountId) {
        createStaticHostBulk(input: $input) {
            host {
                hostId
                name
                ip
                macAddress
            }
        }
    }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"by": "NAME", "input": "Example Site"},
    "host": [
      {
        "name": "print-server-01",
        "ip": "10.0.1.50",
        "macAddress": "AA:BB:CC:DD:EE:FF"
      }
    ]
  }
}
Response
{
  "data": {
    "sites": {
      "createStaticHostBulk": {
        "host": [
          {
            "hostId": "1001",
            "name": "print-server-01",
            "ip": "10.0.1.50",
            "macAddress": "AA:BB:CC:DD:EE:FF"
          }
        ]
      }
    }
  }
}

createWifiRadioProfile

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CreateWifiRadioProfilePayload

Arguments
Name Description
input - CreateWifiRadioProfileInput!

Example

Query
mutation createWifiRadioProfile($accountId: ID!, $input: CreateWifiRadioProfileInput!) {
  sites(accountId: $accountId) {
    createWifiRadioProfile(input: $input) {
      wifiRadioProfile {
        id
        site {
          id
          name
        }
        band24 {
          band
          standard
          channelWidth
          dfsEnabled
          channel
        }
        band5 {
          band
          standard
          channelWidth
          dfsEnabled
          channel
        }
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"input": "456", "by": "ID"},
    "band24": {
      "band": "BAND_2P4G",
      "standard": "IEEE80211AX",
      "channelWidth": "MHZ_20",
      "dfsEnabled": false,
      "channel": 6
    },
    "band5": {
      "band": "BAND_5G",
      "standard": "IEEE80211AC",
      "channelWidth": "MHZ_80",
      "dfsEnabled": true,
      "channel": 36
    }
  }
}
Response
{
  "data": {
    "sites": {
      "createWifiRadioProfile": {
        "wifiRadioProfile": {
          "id": "789",
          "site": {"id": "456", "name": "example site"},
          "band24": {
            "band": "BAND_2P4G",
            "standard": "IEEE80211AX",
            "channelWidth": "MHZ_20",
            "dfsEnabled": false,
            "channel": 6
          },
          "band5": {
            "band": "BAND_5G",
            "standard": "IEEE80211AC",
            "channelWidth": "MHZ_80",
            "dfsEnabled": true,
            "channel": 36
          }
        }
      }
    }
  }
}

createWifiSsid

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CreateWifiSsidPayload

Arguments
Name Description
input - CreateWifiSsidInput!

Example

Query
mutation createWifiSsid($accountId: ID!, $input: CreateWifiSsidInput!) {
  sites(accountId: $accountId) {
    createWifiSsid(input: $input) {
      wifiSsid {
        id
        networkInterfaceId
        site {
          id
          name
        }
        name
        enabled
        category
        visible
        subnet
        localIp
        dhcp {
          dhcpSubnet
        }
        microsegmentationEnabled
        internetOnly
        mdnsEnabled
        security {
          mode
          authProtocol
          trackAuthentication
        }
        band
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "name": "Corporate-WiFi",
    "networkInterfaceId": "101",
    "site": {"input": "456", "by": "ID"},
    "enabled": true,
    "category": "CORPORATE",
    "visible": true,
    "subnet": "10.0.0.0/24",
    "localIp": "10.0.0.1",
    "dhcp": {"dhcpSubnet": "10.0.0.0/24"},
    "microsegmentationEnabled": false,
    "internetOnly": false,
    "mdnsEnabled": false,
    "security": {
      "mode": "PSK",
      "authProtocol": "WPA3",
      "psk": {"passkey": "example_passkey"}
    },
    "band": "BOTH"
  }
}
Response
{
  "data": {
    "sites": {
      "createWifiSsid": {
        "wifiSsid": {
          "id": "789",
          "networkInterfaceId": "101",
          "site": {"id": "456", "name": "example site"},
          "name": "Corporate-WiFi",
          "enabled": true,
          "category": "CORPORATE",
          "visible": true,
          "subnet": "10.0.0.0/24",
          "localIp": "10.0.0.1",
          "dhcp": {"dhcpSubnet": "10.0.0.0/24"},
          "microsegmentationEnabled": false,
          "internetOnly": false,
          "mdnsEnabled": false,
          "security": {
            "mode": "PSK",
            "authProtocol": "WPA3",
            "trackAuthentication": false
          },
          "band": "BOTH"
        }
      }
    }
  }
}

deleteBgpPeerBulk

Beta
Description

Removes one or more BGP peers from a single site in a single atomic batch.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DeleteBgpPeerBulkPayload

Arguments
Name Description
input - DeleteBgpPeerBulkInput!

Example

Query
mutation sitesDeleteBgpPeerBulk($accountId: ID!, $input: DeleteBgpPeerBulkInput!) {
    sites(accountId: $accountId) {
        deleteBgpPeerBulk(input: $input) {
            bgpPeer {
                site {
                    id
                    name
                }
                id
                name
                peerAsn
                catoAsn
                peerIp
                catoIp
                advertiseDefaultRoute
                defaultRouteCommunities {
                    from
                    to
                }
                advertiseAllRoutes
                advertiseSummaryRoutes
                summaryRoute {
                    id
                    route
                    community {
                        from
                        to
                    }
                }
                defaultAction
                defaultActionExclusion {
                    bgpRouteExactFilterRule {
                        id
                        globalIpRange {
                            id
                            name
                        }
                        networkSubnet
                    }
                    bgpRouteExactAndInclusiveFilterRule {
                        id
                        globalIpRange {
                            id
                            name
                        }
                        globalIpRangeException {
                            id
                            name
                        }
                        networkSubnet
                        networkSubnetException
                        le
                        ge
                    }
                    communityFilterRule {
                        id
                        predicate
                        community {
                            from
                            to
                        }
                    }
                }
                performNat
                md5AuthKey
                metric
                holdTime
                keepaliveInterval
                bfdEnabled
                bfdSettings {
                    transmitInterval
                    receiveInterval
                    multiplier
                }
                tracking {
                    id
                    enabled
                    alertFrequency
                    subscriptionId
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "site": {"by": "NAME", "input": "Example Site"},
    "bgpPeer": [{"input": "Example Bgp Peer", "by": "NAME"}]
  }
}
Response
{
  "data": {
    "sites": {
      "deleteBgpPeerBulk": {
        "bgpPeer": [
          {
            "site": {
              "id": "4bde5f5f-4ade-4dcc-8dde-62854cde60f2",
              "name": "New York DC"
            },
            "id": "e1240552-e224-46e5-9f24-022ce02403bf",
            "name": "datacenter-edge-router",
            "peerAsn": 64512,
            "catoAsn": 65000,
            "peerIp": "203.0.113.10",
            "catoIp": "169.254.0.1",
            "advertiseDefaultRoute": true,
            "defaultRouteCommunities": [{"from": 65000, "to": 200}],
            "advertiseAllRoutes": false,
            "advertiseSummaryRoutes": true,
            "summaryRoute": [
              {
                "id": "e5f28c9d-e4f2-4b0a-a3f2-8977e2f287e4",
                "route": "10.0.0.0/16",
                "community": [{"from": 65000, "to": 300}]
              }
            ],
            "defaultAction": "DROP",
            "defaultActionExclusion": [
              {
                "bgpRouteExactFilterRule": {
                  "id": "57286c36-5828-4dc9-9528-691056286aa3",
                  "globalIpRange": [
                    {
                      "id": "225c1fa3-215c-4e10-a45c-22c9235c2136",
                      "name": "Internal IP Ranges"
                    }
                  ],
                  "networkSubnet": ["10.0.0.0/24"]
                },
                "bgpRouteExactAndInclusiveFilterRule": null,
                "communityFilterRule": null
              },
              {
                "bgpRouteExactFilterRule": null,
                "bgpRouteExactAndInclusiveFilterRule": {
                  "id": "3244f837-3144-46a4-b444-fb5d3344f9ca",
                  "globalIpRange": [
                    {
                      "id": "d5fd12f6-d6fd-4489-93fd-0fd0d4fd1163",
                      "name": "Internal IP Ranges"
                    }
                  ],
                  "globalIpRangeException": [
                    {
                      "id": "47d91d07-46d9-4b74-89d9-202d48d91e9a",
                      "name": "Excluded IP Ranges"
                    }
                  ],
                  "networkSubnet": ["10.0.0.0/24"],
                  "networkSubnetException": ["10.0.0.128/25"],
                  "le": 32,
                  "ge": 24
                },
                "communityFilterRule": null
              },
              {
                "bgpRouteExactFilterRule": null,
                "bgpRouteExactAndInclusiveFilterRule": null,
                "communityFilterRule": {
                  "id": "add9c25a-aed9-43ed-abd9-bf34acd9c0c7",
                  "predicate": "NOT_EQUAL",
                  "community": [{"from": 65000, "to": 400}]
                }
              }
            ],
            "performNat": false,
            "md5AuthKey": "s3cr3t-bgp-md5-key",
            "metric": 100,
            "holdTime": 180,
            "keepaliveInterval": 60,
            "bfdEnabled": true,
            "bfdSettings": {
              "transmitInterval": 300,
              "receiveInterval": 300,
              "multiplier": 3
            },
            "tracking": {
              "id": "01ff34c1-00ff-432e-bfff-319bfeff3008",
              "enabled": true,
              "alertFrequency": "DAILY",
              "subscriptionId": "dd631d57-dc63-4bc4-9f63-207dde631eea"
            }
          }
        ]
      }
    }
  }
}

deleteNetworkRangeBulk

Beta
Description

Deletes one or more existing network ranges on a single site in a single atomic batch.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DeleteNetworkRangeBulkPayload

Arguments
Name Description
input - DeleteNetworkRangeBulkInput!

Example

Query
mutation deleteNetworkRangeBulk($accountId: ID!, $input: DeleteNetworkRangeBulkInput!) {
  sites(accountId: $accountId) {
    deleteNetworkRangeBulk(input: $input) {
      networkRange {
        networkRangeId
        name
        rangeType
        subnet
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"input": "456", "by": "ID"},
    "networkRange": [{"networkRangeId": "UzEwMDE="}]
  }
}
Response
{
  "data": {
    "sites": {
      "deleteNetworkRangeBulk": {
        "networkRange": [
          {
            "networkRangeId": "UzEwMDE=",
            "name": "VLAN-10",
            "rangeType": "VLAN",
            "subnet": "10.0.10.0/24"
          }
        ]
      }
    }
  }
}

deleteStaticHostBulk

Beta
Description

Deletes one or more existing static hosts on a single site in a single atomic batch.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DeleteStaticHostBulkPayload

Arguments
Name Description
input - DeleteStaticHostBulkInput!

Example

Query
mutation sitesDeleteStaticHostBulk($accountId: ID!, $input: DeleteStaticHostBulkInput!) {
    sites(accountId: $accountId) {
        deleteStaticHostBulk(input: $input) {
            host {
                hostId
                name
                ip
                macAddress
            }
        }
    }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"by": "NAME", "input": "Example Site"},
    "host": [{"hostId": "1001"}]
  }
}
Response
{
  "data": {
    "sites": {
      "deleteStaticHostBulk": {
        "host": [
          {
            "hostId": "1001",
            "name": "print-server-01",
            "ip": "10.0.1.50",
            "macAddress": "AA:BB:CC:DD:EE:FF"
          }
        ]
      }
    }
  }
}

exchangeSocketPorts

Beta
Description

Exchanges two socket ports on a site by swapping their interface assignments.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an ExchangeSocketPortsPayload

Arguments
Name Description
input - ExchangeSocketPortsInput!

Example

Query
mutation exchangeSocketPorts($accountId: ID!, $input: ExchangeSocketPortsInput!) {
  sites(accountId: $accountId) {
    exchangeSocketPorts(input: $input) {
      interfaces {
        interfaceId
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"by": "ID", "input": "456"},
    "firstInterface": {"interfaceId": "WAN1"},
    "secondInterface": {"interfaceId": "LAN1"}
  }
}
Response
{
  "data": {
    "sites": {
      "exchangeSocketPorts": {
        "interfaces": [{"interfaceId": "WAN1"}, {"interfaceId": "LAN1"}]
      }
    }
  }
}

removeBgpPeer

Beta
Description

Removes an existing BGP peer configuration from a site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a RemoveBgpPeerPayload

Arguments
Name Description
input - RemoveBgpPeerInput!

Example

Query
mutation removeBgpPeer($accountId: ID!, $input: RemoveBgpPeerInput!) {
    sites(accountId: $accountId) {
        removeBgpPeer(input: $input){
            bgpPeer{
                site{
                    id
                    name
                }
                id
                name
                peerAsn
                catoAsn
                peerIp
                catoIp
                advertiseDefaultRoute
                advertiseAllRoutes
                advertiseSummaryRoutes
                summaryRoute{
                    id
                    route
                    community{
                        from
                        to
                    }
                }
                defaultAction
                performNat
                md5AuthKey
                metric
                holdTime
                keepaliveInterval
                bfdEnabled
                bfdSettings {
                    transmitInterval
                    receiveInterval
                    multiplier
                }
                tracking{
                    id
                    enabled
                    alertFrequency
                    subscriptionId
                }
            }
        }
    }
}
Variables
{"accountId": 123, "input": {"id": "13372"}}
Response
{
  "data": {
    "sites": {
      "removeBgpPeer": {
        "bgpPeer": {
          "site": {"id": "456", "name": "test-accept"},
          "id": "13372",
          "name": "updatedName",
          "peerAsn": 2,
          "catoAsn": 9,
          "peerIp": "185.0.0.69",
          "catoIp": "185.0.0.1",
          "advertiseDefaultRoute": true,
          "advertiseAllRoutes": false,
          "advertiseSummaryRoutes": false,
          "summaryRoute": [
            {
              "id": "3832",
              "route": "1.6.5.0/25",
              "community": [{"from": 1, "to": 2}, {"from": 1, "to": 3}]
            }
          ],
          "defaultAction": "ACCEPT",
          "performNat": false,
          "md5AuthKey": "2313123",
          "metric": 100,
          "holdTime": 60,
          "keepaliveInterval": 20,
          "bfdEnabled": false,
          "bfdSettings": {
            "transmitInterval": 1000,
            "receiveInterval": 1000,
            "multiplier": 5
          },
          "tracking": {
            "id": "1691",
            "enabled": true,
            "alertFrequency": "DAILY",
            "subscriptionId": "-100"
          }
        }
      }
    }
  }
}

removeCloudInterconnectPhysicalConnection

Beta
Description

Remove a physical connection from a cloud interconnect site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
mutation removeCloudInterconnectPhysicalConnection($accountId: ID!, $input: RemoveCloudInterconnectPhysicalConnectionInput!){
 site(accountId: $accountId) {
    removeCloudInterconnectPhysicalConnection( input: $input ) {
      id
    }
  }
}
Variables
{"accountId": 128782, "input": {"id": "NDAwOTU3LVBSSU1BUlk="}}
Response
{
  "data": {
    "site": {
      "removeCloudInterconnectPhysicalConnection": {
        "id": "NDAwOTU3LVBSSU1BUlk="
      }
    }
  }
}

removeIpsecIkeV2SiteTunnels

Beta
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
siteId - ID!
input - RemoveIpsecIkeV2SiteTunnelsInput!

Example

Query
mutation removeIpsecIkeV2SiteTunnels($accountId: ID!, $siteId: ID!, $input: RemoveIpsecIkeV2SiteTunnelsInput!) {
  site(accountId: $accountId) {
    removeIpsecIkeV2SiteTunnels(siteId: $siteId, input: $input) {
      siteId
    }
  }
}
Variables
{"accountId": "123", "siteId": "456", "input": {"tunnelId": "PRIMARY1"}}
Response
{"data": {"site": {"removeIpsecIkeV2SiteTunnels": {"siteId": "456"}}}}

removeNetworkRange

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a RemoveNetworkRangePayload

Arguments
Name Description
networkRangeId - ID!

Example

Query
mutation removeNetworkRange(
  $accountId:ID!,
  $networkRangeId: ID!,
) {
  site(accountId:$accountId){
    removeNetworkRange(networkRangeId:$networkRangeId){
      networkRangeId
    }
  }
}
Variables
{"accountId": "123", "networkRangeId": "UzQ3MDcw"}
Response
{"data": {"site": {"removeNetworkRange": {"networkRangeId": "UzQ3MDcw"}}}}

removeSecondaryAwsVSocket

Beta
Description

Remove the secondary AWS vSocket from an existing site

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
socketId - ID!

Example

Query
mutation RemoveSecondaryAwsVSocket($accountId: ID!, $socketId: ID!) {
  site(accountId: $accountId) {
    removeSecondaryAwsVSocket(socketId: $socketId) {
      secondaryAwsVSocket {
        site {
          id
          name
        }
        id
        ipAddress
        subnet
        routeTableId
      }
    }
  }
}
Variables
{"accountId": "5018", "socketId": 648938}
Response
{
  "data": {
    "site": {
      "removeSecondaryAwsVSocket": {
        "secondaryAwsVSocket": {
          "site": {"id": "360942", "name": "aws"},
          "id": "648938",
          "ipAddress": "10.20.30.40",
          "subnet": "10.20.30.0/24",
          "routeTableId": "rtb-123456"
        }
      }
    }
  }
}

removeSecondaryAzureVSocket

Beta
Description

Remove the secondary Azure vSocket from an existing site

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
socketId - ID!

Example

Query
mutation RemoveSecondaryAzureVSocket($accountId: ID!, $socketId: ID!) {
  site(accountId: $accountId) {
    removeSecondaryAzureVSocket(socketId: $socketId) {
      secondaryAzureVSocket {
        site {
          id
          name
        }
        id
        interfaceIp
        floatingIp
      }
    }
  }
}
Variables
{"accountId": "5018", "socketId": 654376}
Response
{
  "data": {
    "site": {
      "removeSecondaryAzureVSocket": {
        "secondaryAzureVSocket": {
          "site": {"id": "366082", "name": "azure"},
          "id": "654376",
          "interfaceIp": "122.0.0.55",
          "floatingIp": "122.0.0.56"
        }
      }
    }
  }
}

removeSecondaryGcpVSocket

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - RemoveSecondaryGcpVSocketInput!

Example

Query
mutation removeSecondaryGcpVSocket($accountId: ID!, $input: RemoveSecondaryGcpVSocketInput!) {
  sites(accountId: $accountId) {
    removeSecondaryGcpVSocket(input: $input) {
      socketInfo {
        site {
          id
          name
        }
        id
        interfaceIp
        loadBalancerIp
      }
    }
  }
}
Variables
{"accountId": "123", "input": {"id": "789"}}
Response
{
  "data": {
    "sites": {
      "removeSecondaryGcpVSocket": {
        "socketInfo": {
          "site": {"id": "456", "name": "example site"},
          "id": "789",
          "interfaceIp": "10.0.0.1",
          "loadBalancerIp": "10.0.0.2"
        }
      }
    }
  }
}

removeSecondaryKvmVSocket

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - RemoveSecondaryKvmVSocketInput!

Example

Query
mutation sitesRemoveSecondaryKvmVSocket($accountId: ID!, $input: RemoveSecondaryKvmVSocketInput!) {
    sites(accountId: $accountId) {
        removeSecondaryKvmVSocket(input: $input) {
            id
        }
    }
}
Variables
{"accountId": "123", "input": {"id": "789"}}
Response
{"data": {"sites": {"removeSecondaryKvmVSocket": {"id": "789"}}}}

removeSite

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a RemoveSitePayload

Arguments
Name Description
siteId - ID!

Example

Query
mutation removeSite($accountId:ID!, $siteId:ID!){
  site(accountId:$accountId) {
    removeSite(siteId:$siteId) {
      siteId
    }
  }
}
Variables
{"accountId": "123", "siteId": "456"}
Response
{"data": {"site": {"removeSite": {"siteId": "456"}}}}

removeSiteBwLicense

Beta
Description

Remove a license from a site // License-to-site assignment will be removed starting in 2026 with the transition to a new pricing model.

Required Permissions

This API requires access to the following permissions:

License

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a RemoveSiteBwLicensePayload

Arguments
Name Description
input - RemoveSiteBwLicenseInput!

Example

Query
mutation removeSiteBwLicense($accountId: ID!,$input: RemoveSiteBwLicenseInput!) {
  sites(accountId: $accountId) {
    removeSiteBwLicense(input: $input) {
      license {
        __typename
        id
        status
        plan
        sku
        ... on SiteLicense {
          siteLicenseType
          siteLicenseGroup
          site {
            id
          }
          total
        }
      }
    }
  }
}
Variables
{
  "accountId": "228967",
  "input": {
    "site": {"input": "453087"},
    "licenseId": "3a63749f-e7e0-4385-a02f-6a0f3db10d1d"
  }
}
Response
{
  "data": {
    "sites": {
      "removeSiteBwLicense": {
        "license": {
          "__typename": "SiteLicense",
          "id": "3a63749f-e7e0-4385-a02f-6a0f3db10d1d",
          "status": "ACTIVE",
          "plan": "COMMERCIAL",
          "sku": "CATO_SITE",
          "siteLicenseType": "SASE",
          "siteLicenseGroup": "GROUP_1",
          "site": null,
          "total": 1000
        }
      }
    }
  }
}

removeSocketAddOnCard

Beta
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a RemoveSocketAddOnCardPayload

Arguments
Name Description
input - RemoveSocketAddOnCardInput!

Example

Query
mutation removeSocketAddOnCard($accountId: ID!, $input: RemoveSocketAddOnCardInput!) {
                          sites(accountId: $accountId) {
                            removeSocketAddOnCard(input: $input) {
                              ...RemoveSocketAddOnCardData
                              __typename
                            }
                            __typename
                          }
                        }
                        
                        fragment RemoveSocketAddOnCardData on RemoveSocketAddOnCardPayload {
                          addOns {
                            expansionSlotNumber
                            type
                            __typename
                          }
                          __typename
                        }
                        
Variables
{
  "accountId": "123",
  "input": {
    "site": {"input": "456", "by": "ID"},
    "expansionSlotNumbers": ["SLOT_2"]
  }
}
Response
{
  "data": {
    "sites": {
      "removeSocketAddOnCard": {
        "addOns": [
          {
            "expansionSlotNumber": "SLOT_2",
            "type": "FOUR_10G_FIBER",
            "__typename": "SocketAddOnCard"
          }
        ],
        "__typename": "RemoveSocketAddOnCardPayload"
      },
      "__typename": "SiteMutations"
    }
  }
}

removeStaticHost

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a RemoveStaticHostPayload

Arguments
Name Description
hostId - ID!

Example

Query
mutation removeStaticHost($accountId:ID!,$hostId: ID!) {
  sites(accountId:$accountId){
    removeStaticHost(hostId:$hostId){
      hostId
    }
  }
}
Variables
{"accountId": "123", "hostId": "789"}
Response
{"data": {"sites": {"removeStaticHost": {"hostId": "789"}}}}

removeWifiSsid

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a RemoveWifiSsidPayload

Arguments
Name Description
input - RemoveWifiSsidInput!

Example

Query
mutation removeWifiSsid($accountId: ID!, $input: RemoveWifiSsidInput!) {
  sites(accountId: $accountId) {
    removeWifiSsid(input: $input) {
      wifiSsid {
        id
        name
      }
    }
  }
}
Variables
{"accountId": "123", "input": {"wifiSsid": {"input": "789", "by": "ID"}}}
Response
{
  "data": {
    "sites": {
      "removeWifiSsid": {"wifiSsid": {"id": "789", "name": "Corporate-WiFi"}}
    }
  }
}

replaceSiteBwLicense

Beta
Description

Replace an existing license of a site. This API is used to make sure the site will always have a license to avoid traffic drop for sites without licenses. // License-to-site assignment will be removed starting in 2026 with the transition to a new pricing model.

Required Permissions

This API requires access to the following permissions:

License

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a ReplaceSiteBwLicensePayload

Arguments
Name Description
input - ReplaceSiteBwLicenseInput!

Example

Query
mutation replaceSiteBwLicense($accountId: ID!,$input: ReplaceSiteBwLicenseInput!) {
  sites(accountId: $accountId) {
    replaceSiteBwLicense(input: $input) {
      license {
        __typename
        id,
        sku,
        ... on SiteLicense {
          site {
            id
          }
          total
        }
      }
    }
  }
}
Variables
{
  "accountId": "228967",
  "input": {
    "site": {"input": "453087"},
    "licenseIdToAdd": "7fe1aca1-59c3-4b6b-bc8c-d2850867e073",
    "licenseIdToRemove": "3a63749f-e7e0-4385-a02f-6a0f3db10d1d"
  }
}
Response
{
  "data": {
    "sites": {
      "replaceSiteBwLicense": {
        "license": {
          "__typename": "SiteLicense",
          "id": "7fe1aca1-59c3-4b6b-bc8c-d2850867e073",
          "sku": "CATO_SITE",
          "site": {"id": "453087"},
          "total": 1000
        }
      }
    }
  }
}

startSiteUpgrade

Beta
Description

Requests an upgrade for multiple sites to specific versions. Returns the result of the request.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a StartSiteUpgradePayload

Arguments
Name Description
input - StartSiteUpgradeInput!

Example

Query
mutation SiteMutation($accountId: ID!, $input: StartSiteUpgradeInput!) {
    sites(accountId: $accountId) {
        startSiteUpgrade(input: $input) {
            results {
                site {
                    id
                    name
                }
                targetVersion
            }
        }
    }
}
Variables
{
  "accountId": 123,
  "input": {
    "upgrades": [
      {
        "site": {"input": "site-name", "by": "NAME"},
        "targetVersion": "23.0.19481"
      }
    ]
  }
}
Response
{
  "data": {
    "sites": {
      "startSiteUpgrade": {
        "results": [
          {
            "site": {"id": "456", "name": "site-name"},
            "targetVersion": "23.0.19481"
          }
        ]
      }
    }
  }
}

updateBgpPeer

Beta
Description

Updates an existing BGP peer configuration.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateBgpPeerPayload

Arguments
Name Description
input - UpdateBgpPeerInput!

Example

Query
mutation updateBgpPeer($accountId: ID!, $input: UpdateBgpPeerInput!) {
                            sites(accountId: $accountId) {
                                updateBgpPeer(input: $input){
                                    bgpPeer{
                                        site{
                                            id
                                            name
                                        }
                                        id
                                        name
                                        peerAsn
                                        catoAsn
                                        peerIp
                                        catoIp
                                        advertiseDefaultRoute
                                        advertiseAllRoutes
                                        advertiseSummaryRoutes
                                        summaryRoute{
                                            id
                                            route
                                            community{
                                                from
                                                to
                                            }
                                        }
                                        defaultAction
                                        performNat
                                        md5AuthKey
                                        metric
                                        holdTime
                                        keepaliveInterval
                                        bfdEnabled
                                        bfdSettings {
                                            transmitInterval
                                            receiveInterval
                                            multiplier
                                        }
                                        tracking{
                                            id
                                            enabled
                                            alertFrequency
                                            subscriptionId
                                        }
                                    }
                        
                                }
                            }
                        }
                        
Variables
{
  "accountId": 123,
  "input": {
    "id": "13372",
    "name": "updatedName",
    "peerAsn": 2,
    "catoAsn": 9,
    "peerIp": "185.0.0.69",
    "advertiseDefaultRoute": true,
    "advertiseAllRoutes": false,
    "advertiseSummaryRoutes": false,
    "summaryRoute": [
      {
        "route": "1.6.5.0/25",
        "community": [{"from": 1, "to": 2}, {"from": 1, "to": 3}]
      }
    ],
    "defaultAction": "ACCEPT",
    "performNat": false,
    "md5AuthKey": "2313123",
    "metric": 100,
    "holdTime": 60,
    "keepaliveInterval": 20,
    "bfdEnabled": false,
    "tracking": {
      "enabled": true,
      "alertFrequency": "DAILY",
      "subscriptionId": "-100"
    }
  }
}
Response
{
  "data": {
    "sites": {
      "updateBgpPeer": {
        "bgpPeer": {
          "site": {"id": "456", "name": "test-accept"},
          "id": "13372",
          "name": "updatedName",
          "peerAsn": 2,
          "catoAsn": 9,
          "peerIp": "185.0.0.69",
          "catoIp": "185.0.0.1",
          "advertiseDefaultRoute": true,
          "advertiseAllRoutes": false,
          "advertiseSummaryRoutes": false,
          "summaryRoute": [
            {
              "id": "3832",
              "route": "1.6.5.0/25",
              "community": [{"from": 1, "to": 2}, {"from": 1, "to": 3}]
            }
          ],
          "defaultAction": "ACCEPT",
          "performNat": false,
          "md5AuthKey": "2313123",
          "metric": 100,
          "holdTime": 60,
          "keepaliveInterval": 20,
          "bfdEnabled": false,
          "bfdSettings": {
            "transmitInterval": 1000,
            "receiveInterval": 1000,
            "multiplier": 5
          },
          "tracking": {
            "id": "1691",
            "enabled": true,
            "alertFrequency": "DAILY",
            "subscriptionId": "-100"
          }
        }
      }
    }
  }
}

updateBgpPeerBulk

Beta
Description

Updates one or more existing BGP peers on a single site in a single atomic batch.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateBgpPeerBulkPayload

Arguments
Name Description
input - UpdateBgpPeerBulkInput!

Example

Query
mutation sitesUpdateBgpPeerBulk($accountId: ID!, $input: UpdateBgpPeerBulkInput!) {
    sites(accountId: $accountId) {
        updateBgpPeerBulk(input: $input) {
            bgpPeer {
                site {
                    id
                    name
                }
                id
                name
                peerAsn
                catoAsn
                peerIp
                catoIp
                advertiseDefaultRoute
                defaultRouteCommunities {
                    from
                    to
                }
                advertiseAllRoutes
                advertiseSummaryRoutes
                summaryRoute {
                    id
                    route
                    community {
                        from
                        to
                    }
                }
                defaultAction
                defaultActionExclusion {
                    bgpRouteExactFilterRule {
                        id
                        globalIpRange {
                            id
                            name
                        }
                        networkSubnet
                    }
                    bgpRouteExactAndInclusiveFilterRule {
                        id
                        globalIpRange {
                            id
                            name
                        }
                        globalIpRangeException {
                            id
                            name
                        }
                        networkSubnet
                        networkSubnetException
                        le
                        ge
                    }
                    communityFilterRule {
                        id
                        predicate
                        community {
                            from
                            to
                        }
                    }
                }
                performNat
                md5AuthKey
                metric
                holdTime
                keepaliveInterval
                bfdEnabled
                bfdSettings {
                    transmitInterval
                    receiveInterval
                    multiplier
                }
                tracking {
                    id
                    enabled
                    alertFrequency
                    subscriptionId
                }
            }
        }
    }
}
Variables
{
  "accountId": "12345",
  "input": {
    "site": {"by": "NAME", "input": "Example Site"},
    "bgpPeer": [
      {
        "id": "9ad21786-9bd2-4919-98d2-146099d215f3",
        "name": "datacenter-edge-router",
        "peerAsn": 64512,
        "catoAsn": 65000,
        "peerIp": "203.0.113.10",
        "advertiseDefaultRoute": true,
        "advertiseAllRoutes": false
      }
    ]
  }
}
Response
{
  "data": {
    "sites": {
      "updateBgpPeerBulk": {
        "bgpPeer": [
          {
            "site": {
              "id": "def9b881-ddf9-46ee-9cf9-b55bdbf9b3c8",
              "name": "New York DC"
            },
            "id": "3b2fbff0-3c2f-4183-bd2f-c3163e2fc4a9",
            "name": "datacenter-edge-router",
            "peerAsn": 64512,
            "catoAsn": 65000,
            "peerIp": "203.0.113.10",
            "catoIp": "169.254.0.1",
            "advertiseDefaultRoute": true,
            "defaultRouteCommunities": [{"from": 65000, "to": 200}],
            "advertiseAllRoutes": false,
            "advertiseSummaryRoutes": true,
            "summaryRoute": [
              {
                "id": "4350d133-4250-4fa0-8550-d4594450d2c6",
                "route": "10.0.0.0/16",
                "community": [{"from": 65000, "to": 300}]
              }
            ],
            "defaultAction": "DROP",
            "defaultActionExclusion": [
              {
                "bgpRouteExactFilterRule": {
                  "id": "be706bd0-bf70-4d63-8070-6ef6c1707089",
                  "globalIpRange": [
                    {
                      "id": "f8ba3669-f7ba-44d6-b6ba-3343f5ba31b0",
                      "name": "Internal IP Ranges"
                    }
                  ],
                  "networkSubnet": ["10.0.0.0/24"]
                },
                "bgpRouteExactAndInclusiveFilterRule": null,
                "communityFilterRule": null
              },
              {
                "bgpRouteExactFilterRule": null,
                "bgpRouteExactAndInclusiveFilterRule": {
                  "id": "053916fd-0439-456a-8339-13d702391244",
                  "globalIpRange": [
                    {
                      "id": "34551b48-3555-4cdb-b655-1e6e37552001",
                      "name": "Internal IP Ranges"
                    }
                  ],
                  "globalIpRangeException": [
                    {
                      "id": "fa184b11-f918-497e-b818-47ebf7184658",
                      "name": "Excluded IP Ranges"
                    }
                  ],
                  "networkSubnet": ["10.0.0.0/24"],
                  "networkSubnetException": ["10.0.0.128/25"],
                  "le": 32,
                  "ge": 24
                },
                "communityFilterRule": null
              },
              {
                "bgpRouteExactFilterRule": null,
                "bgpRouteExactAndInclusiveFilterRule": null,
                "communityFilterRule": {
                  "id": "f01095ac-f110-473f-b210-98d2f3109a65",
                  "predicate": "NOT_EQUAL",
                  "community": [{"from": 65000, "to": 400}]
                }
              }
            ],
            "performNat": false,
            "md5AuthKey": "s3cr3t-bgp-md5-key",
            "metric": 100,
            "holdTime": 180,
            "keepaliveInterval": 60,
            "bfdEnabled": true,
            "bfdSettings": {
              "transmitInterval": 300,
              "receiveInterval": 300,
              "multiplier": 3
            },
            "tracking": {
              "id": "e671fdfb-e571-4c68-a872-0121e771ff8e",
              "enabled": true,
              "alertFrequency": "DAILY",
              "subscriptionId": "e8d038b1-e7d0-471e-a6d0-358be5d033f8"
            }
          }
        ]
      }
    }
  }
}

updateBgpPeers

Beta
Use the bulk BGP peer mutations 'createBgpPeerBulk', 'updateBgpPeerBulk', and 'deleteBgpPeerBulk' instead
Description

Deprecated: use the bulk BGP peer mutations createBgpPeerBulk, updateBgpPeerBulk, and deleteBgpPeerBulk instead. Bulk updates BGP peer configuration for a site. Use bgpPeer to replace all peers, or use the delta fields to add, update, and remove peers in one request.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateBgpPeersPayload

Arguments
Name Description
input - UpdateBgpPeersInput!

Example

Query
mutation updateBgpPeers($accountId: ID!, $input: UpdateBgpPeersInput!) {
    sites(accountId: $accountId) {
        updateBgpPeers(input: $input){
            bgpPeer{
                site{
                    id
                    name
                }
                id
                name
                peerAsn
                catoAsn
                peerIp
                catoIp
                advertiseDefaultRoute
                advertiseAllRoutes
                advertiseSummaryRoutes
                summaryRoute{
                    id
                    route
                    community{
                        from
                        to
                    }
                }
                defaultAction
                performNat
                md5AuthKey
                metric
                holdTime
                keepaliveInterval
                bfdEnabled
                bfdSettings {
                    transmitInterval
                    receiveInterval
                    multiplier
                }
                tracking{
                    id
                    enabled
                    alertFrequency
                    subscriptionId
                }
            }
        }
    }
}
Variables
{
  "accountId": 123,
  "input": {
    "site": {"input": "456", "by": "ID"},
    "bgpPeer": [
      {
        "name": "peer-01",
        "peerAsn": 65001,
        "catoAsn": 65000,
        "peerIp": "185.0.0.69",
        "advertiseDefaultRoute": true,
        "advertiseAllRoutes": false,
        "advertiseSummaryRoutes": false,
        "summaryRoute": [],
        "defaultAction": "ACCEPT",
        "defaultActionExclusion": [],
        "performNat": false,
        "metric": 100,
        "holdTime": 60,
        "keepaliveInterval": 20,
        "bfdEnabled": false
      },
      {
        "name": "peer-02",
        "peerAsn": 65002,
        "catoAsn": 65000,
        "peerIp": "185.0.0.70",
        "advertiseDefaultRoute": true,
        "advertiseAllRoutes": false,
        "advertiseSummaryRoutes": true,
        "summaryRoute": [
          {"route": "10.0.0.0/8", "community": [{"from": 1, "to": 2}]}
        ],
        "defaultAction": "DROP",
        "defaultActionExclusion": [],
        "performNat": false,
        "metric": 200,
        "holdTime": 90,
        "keepaliveInterval": 30,
        "bfdEnabled": true,
        "bfdSettings": {
          "transmitInterval": 1000,
          "receiveInterval": 1000,
          "multiplier": 5
        }
      }
    ]
  }
}
Response
{
  "data": {
    "sites": {
      "updateBgpPeers": {
        "bgpPeer": [
          {
            "site": {"id": "456", "name": "example site"},
            "id": "13372",
            "name": "peer-01",
            "peerAsn": 65001,
            "catoAsn": 65000,
            "peerIp": "185.0.0.69",
            "catoIp": "185.0.0.1",
            "advertiseDefaultRoute": true,
            "advertiseAllRoutes": false,
            "advertiseSummaryRoutes": false,
            "summaryRoute": [],
            "defaultAction": "ACCEPT",
            "performNat": false,
            "md5AuthKey": null,
            "metric": 100,
            "holdTime": 60,
            "keepaliveInterval": 20,
            "bfdEnabled": false,
            "bfdSettings": null,
            "tracking": null
          },
          {
            "site": {"id": "456", "name": "example site"},
            "id": "13373",
            "name": "peer-02",
            "peerAsn": 65002,
            "catoAsn": 65000,
            "peerIp": "185.0.0.70",
            "catoIp": "185.0.0.2",
            "advertiseDefaultRoute": true,
            "advertiseAllRoutes": false,
            "advertiseSummaryRoutes": true,
            "summaryRoute": [
              {
                "id": "3831",
                "route": "10.0.0.0/8",
                "community": [{"from": 1, "to": 2}]
              }
            ],
            "defaultAction": "DROP",
            "performNat": false,
            "md5AuthKey": null,
            "metric": 200,
            "holdTime": 90,
            "keepaliveInterval": 30,
            "bfdEnabled": true,
            "bfdSettings": {
              "transmitInterval": 1000,
              "receiveInterval": 1000,
              "multiplier": 5
            },
            "tracking": null
          }
        ]
      }
    }
  }
}

updateCloudInterconnectPhysicalConnection

Beta
Description

Update an existing physical connection at a cloud interconnect site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
mutation updateCloudInterconnectPhysicalConnection($accountId: ID!, $input: UpdateCloudInterconnectPhysicalConnectionInput!){
 site(accountId: $accountId) {
    updateCloudInterconnectPhysicalConnection( input: $input ) {
      id
    }
  }
}
Variables
{
  "accountId": 128782,
  "input": {
    "id": "NDAwOTU3LVBSSU1BUlk=",
    "popLocation": {"input": "10005", "by": "ID"},
    "serviceProviderName": "QnQPort",
    "encapsulationMethod": "QINQ",
    "subnet": "186.0.2.0/24",
    "privateCatoIp": "186.0.2.19",
    "privateSiteIp": "186.0.2.20",
    "upstreamBwLimit": "30",
    "downstreamBwLimit": "10"
  }
}
Response
{
  "data": {
    "site": {
      "updateCloudInterconnectPhysicalConnection": {
        "id": "NDAwOTU3LVBSSU1BUlk="
      }
    }
  }
}

updateHa

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateHaPayload

Arguments
Name Description
siteId - ID!
input - UpdateHaInput!

Example

Query
mutation updateHa($accountId:ID!,$siteId: ID!, $input: UpdateHaInput!) {
  site(accountId:$accountId){
    updateHa(siteId:$siteId, input:$input){
      siteId
    }
  }
}
Variables
{
  "accountId": "123",
  "siteId": "456",
  "input": {
    "primaryManagementIp": "123.0.0.231",
    "secondaryManagementIp": "123.0.0.232",
    "vrid": 123,
    "isCloudRouter": false
  }
}
Response
{"data": {"site": {"updateHa": {"siteId": "456"}}}}

updateIpsecIkeV2SiteGeneralDetails

Beta
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
siteId - ID!
input - UpdateIpsecIkeV2SiteGeneralDetailsInput!

Example

Query
mutation updateIpsecIkeV2SiteGeneralDetails($accountId: ID!, $siteId: ID!, $input: UpdateIpsecIkeV2SiteGeneralDetailsInput!) {
  site(accountId: $accountId) {
    updateIpsecIkeV2SiteGeneralDetails(siteId: $siteId, input: $input) {
      siteId
    }
  }
}
Variables
{
  "accountId": "123",
  "siteId": "456",
  "input": {
    "connectionMode": "RESPONDER_ONLY",
    "identificationType": "FQDN",
    "initMessage": {
      "cipher": "AUTOMATIC",
      "dhGroup": "DH_15_MODP3072",
      "integrity": "SHA256",
      "prf": "SHA256"
    },
    "authMessage": {
      "cipher": "AES_GCM_256",
      "dhGroup": "DH_16_MODP4096",
      "integrity": "AUTOMATIC"
    },
    "networkRanges": "Service1:100.100.100.0/24"
  }
}
Response
{"data": {"site": {"updateIpsecIkeV2SiteGeneralDetails": {"siteId": "456"}}}}

updateIpsecIkeV2SiteTunnels

Beta
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
siteId - ID!
input - UpdateIpsecIkeV2SiteTunnelsInput!

Example

Query
mutation updateIpsecIkeV2SiteTunnels($accountId: ID!, $siteId: ID!, $input: UpdateIpsecIkeV2SiteTunnelsInput!) {
  site(accountId: $accountId) {
    updateIpsecIkeV2SiteTunnels(siteId: $siteId, input: $input) {
      siteId
    }
  }
}
Variables
{
  "accountId": "123",
  "siteId": "456",
  "input": {
    "primary": {
      "destinationType": "IPv4",
      "publicCatoIpId": 1000,
      "tunnels": {
        "tunnelId": "PRIMARY1",
        "lastMileBw": {"downstream": 100, "upstream": 100},
        "psk": "TEst123456789"
      }
    },
    "secondary": {
      "destinationType": "FQDN",
      "tunnels": {
        "tunnelId": "SECONDARY1",
        "publicSiteIp": "20.20.20.2",
        "lastMileBw": {"downstream": 200, "upstream": 200},
        "psk": "TEst123456789"
      }
    }
  }
}
Response
{"data": {"site": {"updateIpsecIkeV2SiteTunnels": {"siteId": "456"}}}}

updateNetworkRange

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateNetworkRangePayload

Arguments
Name Description
networkRangeId - ID!
input - UpdateNetworkRangeInput!

Example

Query
mutation updateNetworkRange(
  $accountId:ID!,
  $networkRangeId: ID!,
  $input:UpdateNetworkRangeInput!
) {
  site(accountId:$accountId){
    updateNetworkRange(networkRangeId:$networkRangeId, input:$input){
      networkRangeId
    }
  }
}
Variables
{"accountId": "123", "networkRangeId": "UzQ3MDcw", "input": {"name": "Devs"}}
Response
{"data": {"site": {"updateNetworkRange": {"networkRangeId": "UzQ3MDcw"}}}}

updateNetworkRangeBulk

Beta
Description

Updates one or more existing network ranges on a single site in place, in a single atomic batch.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateNetworkRangeBulkPayload

Arguments
Name Description
input - UpdateNetworkRangeBulkInput!

Example

Query
mutation updateNetworkRangeBulk($accountId: ID!, $input: UpdateNetworkRangeBulkInput!) {
  sites(accountId: $accountId) {
    updateNetworkRangeBulk(input: $input) {
      networkRange {
        networkRangeId
        name
        rangeType
        subnet
        localIp
        vlan
        mdnsReflector
        internetOnly
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"input": "456", "by": "ID"},
    "networkRange": [
      {"id": "UzEwMDE=", "name": "VLAN-10-renamed", "subnet": "10.0.10.0/24"}
    ]
  }
}
Response
{
  "data": {
    "sites": {
      "updateNetworkRangeBulk": {
        "networkRange": [
          {
            "networkRangeId": "UzEwMDE=",
            "name": "VLAN-10-renamed",
            "rangeType": "VLAN",
            "subnet": "10.0.10.0/24",
            "localIp": "10.0.10.1",
            "vlan": 10,
            "mdnsReflector": false,
            "internetOnly": false
          }
        ]
      }
    }
  }
}

updateSecondaryAwsVSocket

Beta
Description

Update the secondary AWS vSocket from in an existing site

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateSecondaryAwsVSocketPayload

Arguments
Name Description
input - UpdateSecondaryAwsVSocketInput!

Example

Query
mutation updateSecondaryAwsVSocket($accountId:ID!, $input:UpdateSecondaryAwsVSocketInput!){
  site(accountId:$accountId) {
    updateSecondaryAwsVSocket(input:$input) {
      secondaryAwsVSocket {
                site {
                    id
                    name
                }
                id
                ipAddress
                subnet
                routeTableId
            }
    }
  }
}
Variables
{
  "accountId": "143762",
  "input": {
    "id": "631159",
    "ipAddress": "55.45.45.76",
    "routeTableId": "888",
    "subnet": "55.45.45.0/24"
  }
}
Response
{
  "data": {
    "site": {
      "updateSecondaryAwsVSocket": {
        "secondaryAwsVSocket": {
          "site": {"id": 400376, "name": "aws"},
          "id": "631159",
          "ipAddress": "55.45.45.76",
          "subnet": "55.45.45.0/24",
          "routeTableId": "888"
        }
      }
    }
  }
}

updateSecondaryAzureVSocket

Beta
Description

Update the secondary Azure vSocket in an existing site

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - UpdateSecondaryAzureVSocketInput!

Example

Query
mutation updateSecondaryAzureVSocket($accountId:ID!, $input:UpdateSecondaryAzureVSocketInput!){
  site(accountId:$accountId) {
    updateSecondaryAzureVSocket(input:$input) {
      secondaryAzureVSocket {
                site {
                    id
                    name
                }
                id
                interfaceIp
                floatingIp
            }
    }
  }
}
Variables
{
  "accountId": "5018",
  "input": {
    "id": "654376",
    "interfaceIp": "122.0.0.55",
    "floatingIp": "122.0.0.56"
  }
}
Response
{
  "data": {
    "site": {
      "updateSecondaryAzureVSocket": {
        "secondaryAzureVSocket": {
          "site": {"id": "366082", "name": "azure"},
          "id": "654376",
          "interfaceIp": "122.0.0.55",
          "floatingIp": "122.0.0.56"
        }
      }
    }
  }
}

updateSecondaryGcpVSocket

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateSecondaryGcpVSocketPayload

Arguments
Name Description
input - UpdateSecondaryGcpVSocketInput!

Example

Query
mutation updateSecondaryGcpVSocket($accountId: ID!, $input: UpdateSecondaryGcpVSocketInput!) {
  sites(accountId: $accountId) {
    updateSecondaryGcpVSocket(input: $input) {
      socketInfo {
        site {
          id
          name
        }
        id
        interfaceIp
        loadBalancerIp
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "id": "789",
    "gcpConfig": {"interfaceIp": "10.0.0.3", "loadBalancerIp": "10.0.0.4"}
  }
}
Response
{
  "data": {
    "sites": {
      "updateSecondaryGcpVSocket": {
        "socketInfo": {
          "site": {"id": "456", "name": "example site"},
          "id": "789",
          "interfaceIp": "10.0.0.3",
          "loadBalancerIp": "10.0.0.4"
        }
      }
    }
  }
}

updateSiteBackhauling

Beta
Description

Update backhauling configuration for a site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateSiteBackhaulingPayload

Arguments
Name Description
input - UpdateSiteBackhaulingInput!

Example

Query
mutation updateSiteBackhauling($accountId:ID!, $input: UpdateSiteBackhaulingInput!) {
  sites(accountId: $accountId){
    updateSiteBackhauling(input:$input) {
      site {
        id
        name
      }
      useAsBackhaulingGW
      destination
      nextHopIP
      preferredSocketPort
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"input": "456", "by": "ID"},
    "useAsBackhaulingGW": true,
    "destination": "LOCAL_GATEWAY_IP",
    "nextHopIP": "192.168.0.1"
  }
}
Response
{
  "data": {
    "sites": {
      "updateSiteBackhauling": {
        "site": {"id": "456", "name": "example site"},
        "useAsBackhaulingGW": true,
        "destination": "LOCAL_GATEWAY_IP",
        "nextHopIP": "192.168.0.1",
        "preferredSocketPort": null
      }
    }
  }
}

updateSiteBwLicense

Beta
Description

Update the bandwidth allocation of an assigned pool license of an existing site (does not apply for site license allocation) // License-to-site assignment will be removed starting in 2026 with the transition to a new pricing model.

Required Permissions

This API requires access to the following permissions:

License

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateSiteBwLicensePayload

Arguments
Name Description
input - UpdateSiteBwLicenseInput!

Example

Query
mutation updateSiteBwLicense($accountId: ID!,$input: UpdateSiteBwLicenseInput!) {
  sites(accountId: $accountId) {
    updateSiteBwLicense(input: $input) {
      license {
        __typename
        id
        status
        plan
        sku
        ... on PooledBandwidthLicense {
          siteLicenseType
          siteLicenseGroup
          total
          sites {
            allocatedBandwidth
            site {
              id
              name
            }
          }
        }
      }
    }
  }
}
Variables
{
  "accountId": "200113",
  "input": {
    "site": {"input": "453090"},
    "licenseId": "4f494671-d345-4784-86a9-ac617c935391",
    "bw": 60
  }
}
Response
{
  "data": {
    "sites": {
      "updateSiteBwLicense": {
        "license": {
          "__typename": "PooledBandwidthLicense",
          "id": "4f494671-d345-4784-86a9-ac617c935391",
          "status": "ACTIVE",
          "plan": "COMMERCIAL",
          "sku": "CATO_PB",
          "siteLicenseType": "SASE",
          "siteLicenseGroup": "GROUP_2",
          "total": 1000,
          "sites": [
            {"allocatedBandwidth": 60, "site": {"id": "453090", "name": "HQ"}}
          ]
        }
      }
    }
  }
}

updateSiteGeneralDetails

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateSiteGeneralDetailsPayload

Arguments
Name Description
siteId - ID!
input - UpdateSiteGeneralDetailsInput!

Example

Query
mutation updateSiteGeneralDetails($accountId:ID!, $siteId:ID!, $input:UpdateSiteGeneralDetailsInput!) {
  sites(accountId: $accountId){
    updateSiteGeneralDetails(siteId:$siteId, input:$input) {
      siteId
    }
  }
}
Variables
{
  "accountId": "123",
  "siteId": "456",
  "input": {
    "siteType": "BRANCH",
    "workingHours": {
      "override": false,
      "fromTimeMinuteOffset": 540,
      "toTimeMinuteOffset": 1080,
      "workingDays": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"]
    },
    "disableAclForSip": false
  }
}
Response
{"data": {"sites": {"updateSiteGeneralDetails": {"siteId": "456"}}}}

updateSiteNetworkRanges

Beta
Description

Bulk update network ranges by replacing the full collection or applying add/remove deltas.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateSiteNetworkRangesPayload

Arguments
Name Description
input - UpdateSiteNetworkRangesInput!

Example

Query
mutation updateSiteNetworkRanges($accountId: ID!, $input: UpdateSiteNetworkRangesInput!) {
  site(accountId: $accountId) {
    updateSiteNetworkRanges(input: $input) {
      networkRange {
        networkRangeId
        name
        rangeType
        subnet
        localIp
        gateway
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"input": "456", "by": "ID"},
    "networkRange": [
      {
        "lanSocketInterfaceId": "789",
        "name": "Office LAN",
        "rangeType": "Direct",
        "subnet": "10.0.1.0/24",
        "localIp": "10.0.1.1"
      },
      {
        "lanSocketInterfaceId": "789",
        "name": "Servers",
        "rangeType": "Routed",
        "subnet": "10.0.2.0/24",
        "gateway": "10.0.2.1"
      }
    ]
  }
}
Response
{
  "data": {
    "site": {
      "updateSiteNetworkRanges": {
        "networkRange": [
          {
            "networkRangeId": "UzQ3MDcw",
            "name": "Native",
            "rangeType": "Native",
            "subnet": "10.0.0.0/24",
            "localIp": "10.0.0.1",
            "gateway": null
          },
          {
            "networkRangeId": "UzQ3MDcy",
            "name": "Office LAN",
            "rangeType": "Direct",
            "subnet": "10.0.1.0/24",
            "localIp": "10.0.1.1",
            "gateway": null
          },
          {
            "networkRangeId": "UzQ3MDcz",
            "name": "Servers",
            "rangeType": "Routed",
            "subnet": "10.0.2.0/24",
            "localIp": null,
            "gateway": "10.0.2.1"
          }
        ]
      }
    }
  }
}

updateSiteSocketConfiguration

Beta
Description

Update the Socket configuration for a site.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - UpdateSiteSocketConfigurationInput!

Example

Query
mutation updateSiteSocketConfiguration($accountId: ID!, $input: UpdateSiteSocketConfigurationInput!) {
  sites(accountId: $accountId) {
    updateSiteSocketConfiguration(input: $input) {
      siteSocketConfiguration {
        primarySocketConfiguration {
          description
        }
        secondarySocketConfiguration {
          description
        }
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"input": "456", "by": "ID"},
    "primarySocketConfiguration": {"description": "primary socket"},
    "secondarySocketConfiguration": {"description": "secondary socket"}
  }
}
Response
{
  "data": {
    "sites": {
      "updateSiteSocketConfiguration": {
        "siteSocketConfiguration": {
          "primarySocketConfiguration": {"description": "primary socket"},
          "secondarySocketConfiguration": {"description": "secondary socket"}
        }
      }
    }
  }
}

updateSiteStaticHosts

Beta
Description

Bulk update static hosts by replacing the full collection or applying add/remove deltas.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateSiteStaticHostsPayload

Arguments
Name Description
input - UpdateSiteStaticHostsInput!

Example

Query
mutation updateSiteStaticHosts($accountId: ID!, $input: UpdateSiteStaticHostsInput!) {
  sites(accountId: $accountId) {
    updateSiteStaticHosts(input: $input) {
      host {
        hostId
        name
        ip
        macAddress
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"input": "456", "by": "ID"},
    "host": [
      {
        "name": "print-server-01",
        "ip": "10.0.1.50",
        "macAddress": "AA:BB:CC:DD:EE:FF"
      },
      {"name": "nas-storage", "ip": "10.0.1.51"}
    ]
  }
}
Response
{
  "data": {
    "sites": {
      "updateSiteStaticHosts": {
        "host": [
          {
            "hostId": "1001",
            "name": "print-server-01",
            "ip": "10.0.1.50",
            "macAddress": "AA:BB:CC:DD:EE:FF"
          },
          {
            "hostId": "1002",
            "name": "nas-storage",
            "ip": "10.0.1.51",
            "macAddress": null
          }
        ]
      }
    }
  }
}

updateSocketInterface

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateSocketInterfacePayload

Arguments
Name Description
siteId - ID!
socketInterfaceId - SocketInterfaceIDEnum!
input - UpdateSocketInterfaceInput!

Example

Query
mutation updateSocketInterface(
  $accountId:ID!,
  $siteId: ID!,
  $socketInterfaceId: SocketInterfaceIDEnum!,
  $input:UpdateSocketInterfaceInput!
) {
  site(accountId:$accountId){
    updateSocketInterface(siteId:$siteId, socketInterfaceId: $socketInterfaceId, input:$input){
      siteId
      socketInterfaceId
    }
  }
}
Variables
{
  "accountId": "123",
  "siteId": "456",
  "socketInterfaceId": "INT_1",
  "input": {
    "destType": "CATO",
    "bandwidth": {"upstreamBandwidth": 100, "downstreamBandwidth": 100}
  }
}
Response
{
  "data": {
    "site": {
      "updateSocketInterface": {"siteId": "456", "socketInterfaceId": "INT_1"}
    }
  }
}

updateSocketInterfaces

Beta
Description

Bulk updates the socket interface configuration of a site by replacing the configuration of all provided interfaces in a single request.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateSocketInterfacesPayload

Arguments
Name Description
input - UpdateSocketInterfacesInput!

Example

Query
mutation updateSocketInterfaces($accountId: ID!, $input: UpdateSocketInterfacesInput!) {
  sites(accountId: $accountId) {
    updateSocketInterfaces(input: $input) {
      siteId
      socketInterfaceId
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"input": "456", "by": "ID"},
    "socketInterface": [
      {
        "socketInterfaceId": "WAN1",
        "destType": "CATO",
        "name": "Primary WAN",
        "bandwidth": {"upstreamBandwidth": 100, "downstreamBandwidth": 100},
        "wan": {"precedence": "ACTIVE", "role": "wan_1"}
      },
      {
        "socketInterfaceId": "LAN1",
        "destType": "LAN",
        "name": "Office LAN",
        "lan": {"localIp": "10.0.0.1", "subnet": "10.0.0.0/24"}
      }
    ]
  }
}
Response
{
  "data": {
    "sites": {
      "updateSocketInterfaces": {
        "siteId": "456",
        "socketInterfaceId": ["WAN1", "LAN1"]
      }
    }
  }
}

updateStaticHost

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateStaticHostPayload

Arguments
Name Description
hostId - ID!
input - UpdateStaticHostInput!

Example

Query
mutation updateStaticHost($accountId:ID!,$hostId: ID!, $input: UpdateStaticHostInput!) {
  sites(accountId:$accountId){
    updateStaticHost(hostId:$hostId, input:$input){
      hostId
    }
  }
}
Variables
{
  "accountId": "123",
  "hostId": "789",
  "input": {"name": "Printer", "ip": "123.0.0.11"}
}
Response
{"data": {"sites": {"updateStaticHost": {"hostId": "789"}}}}

updateStaticHostBulk

Beta
Description

Updates one or more existing static hosts on a single site in place, in a single atomic batch.

Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateStaticHostBulkPayload

Arguments
Name Description
input - UpdateStaticHostBulkInput!

Example

Query
mutation sitesUpdateStaticHostBulk($accountId: ID!, $input: UpdateStaticHostBulkInput!) {
    sites(accountId: $accountId) {
        updateStaticHostBulk(input: $input) {
            host {
                hostId
                name
                ip
                macAddress
            }
        }
    }
}
Variables
{
  "accountId": "123",
  "input": {
    "site": {"by": "NAME", "input": "Example Site"},
    "host": [
      {
        "hostId": "1001",
        "name": "print-server-renamed",
        "ip": "10.0.1.60",
        "macAddress": "AA:BB:CC:DD:EE:FF"
      }
    ]
  }
}
Response
{
  "data": {
    "sites": {
      "updateStaticHostBulk": {
        "host": [
          {
            "hostId": "1001",
            "name": "print-server-renamed",
            "ip": "10.0.1.60",
            "macAddress": "AA:BB:CC:DD:EE:FF"
          }
        ]
      }
    }
  }
}

updateWifiRadioProfile

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateWifiRadioProfilePayload

Arguments
Name Description
input - UpdateWifiRadioProfileInput!

Example

Query
mutation updateWifiRadioProfile($accountId: ID!, $input: UpdateWifiRadioProfileInput!) {
  sites(accountId: $accountId) {
    updateWifiRadioProfile(input: $input) {
      wifiRadioProfile {
        id
        site {
          id
          name
        }
        band24 {
          band
          standard
          channelWidth
          dfsEnabled
          channel
        }
        band5 {
          band
          standard
          channelWidth
          dfsEnabled
          channel
        }
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "id": "789",
    "band24": {
      "band": "BAND_2P4G",
      "standard": "IEEE80211AX",
      "channelWidth": "MHZ_40",
      "dfsEnabled": false,
      "channel": 11
    },
    "band5": {
      "band": "BAND_5G",
      "standard": "IEEE80211AC",
      "channelWidth": "MHZ_80",
      "dfsEnabled": true,
      "channel": 44
    }
  }
}
Response
{
  "data": {
    "sites": {
      "updateWifiRadioProfile": {
        "wifiRadioProfile": {
          "id": "789",
          "site": {"id": "456", "name": "example site"},
          "band24": {
            "band": "BAND_2P4G",
            "standard": "IEEE80211AX",
            "channelWidth": "MHZ_40",
            "dfsEnabled": false,
            "channel": 11
          },
          "band5": {
            "band": "BAND_5G",
            "standard": "IEEE80211AC",
            "channelWidth": "MHZ_80",
            "dfsEnabled": true,
            "channel": 44
          }
        }
      }
    }
  }
}

updateWifiSsid

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Sites

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateWifiSsidPayload

Arguments
Name Description
input - UpdateWifiSsidInput!

Example

Query
mutation updateWifiSsid($accountId: ID!, $input: UpdateWifiSsidInput!) {
  sites(accountId: $accountId) {
    updateWifiSsid(input: $input) {
      wifiSsid {
        id
        networkInterfaceId
        site {
          id
          name
        }
        name
        enabled
        category
        visible
        subnet
        localIp
        dhcp {
          dhcpSubnet
        }
        microsegmentationEnabled
        internetOnly
        mdnsEnabled
        security {
          mode
          authProtocol
          trackAuthentication
        }
        band
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "id": "789",
    "name": "Corporate-WiFi-Updated",
    "enabled": true,
    "visible": true,
    "security": {
      "mode": "PSK",
      "authProtocol": "WPA3",
      "psk": {"passkey": "updated_passkey"}
    }
  }
}
Response
{
  "data": {
    "sites": {
      "updateWifiSsid": {
        "wifiSsid": {
          "id": "789",
          "networkInterfaceId": "101",
          "site": {"id": "456", "name": "example site"},
          "name": "Corporate-WiFi-Updated",
          "enabled": true,
          "category": "CORPORATE",
          "visible": true,
          "subnet": "10.0.0.0/24",
          "localIp": "10.0.0.1",
          "dhcp": {"dhcpSubnet": "10.0.0.0/24"},
          "microsegmentationEnabled": false,
          "internetOnly": false,
          "mdnsEnabled": false,
          "security": {
            "mode": "PSK",
            "authProtocol": "WPA3",
            "trackAuthentication": false
          },
          "band": "BOTH"
        }
      }
    }
  }
}

UserMutations

createUser

Beta
Description

Creates a new manual user.

Required Permissions

This API requires access to the following permissions:

Users & User Groups

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a CreateUserPayload

Arguments
Name Description
input - CreateUserInput!

Example

Query
mutation userCreateUser($accountId: ID!, $input: CreateUserInput!) {
    user(accountId: $accountId) {
        createUser(input: $input) {
            user {
                id
                userId
                objectId
                onPremSid
                firstName
                lastName
                userPrincipalName
                displayName
                phone
                email
                department
                jobTitle
                userStatus
                creationDate
                lastModified
                userImportType
                directoryId
                hasRemoteAccessEligibility
                authInfo {
                    authMethod
                    authStatus
                }
                riskScore
            }
        }
    }
}
Variables
{
  "accountId": "123456",
  "input": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@company.com",
    "department": "Engineering",
    "jobTitle": "Software Engineer",
    "phoneNumber": "+1 555 123 4567"
  }
}
Response
{
  "data": {
    "user": {
      "createUser": {
        "user": {
          "id": "789",
          "userId": "john.doe",
          "objectId": "b34f610a-b44f-429d-b14f-5de4b24f5f77",
          "onPremSid": "S-1-5-21-3623811015-3361044348-30300820-1013",
          "firstName": "John",
          "lastName": "Doe",
          "userPrincipalName": "john.doe@company.com",
          "displayName": "John Doe",
          "phone": "+1 555 123 4567",
          "email": "john.doe@company.com",
          "department": "Engineering",
          "jobTitle": "Software Engineer",
          "userStatus": "ACTIVE",
          "creationDate": "2024-03-09T10:30:00.000Z",
          "lastModified": "2024-03-09T10:30:00.000Z",
          "userImportType": "MANUAL",
          "directoryId": "fa6c340a-fb6c-459d-b86c-30e4f96c3277",
          "hasRemoteAccessEligibility": true,
          "authInfo": {"authMethod": "MFA", "authStatus": "COMPLETED"},
          "riskScore": "LOW"
        }
      }
    }
  }
}

deleteUser

Beta
Description

Deletes one or more users from the account. If unable to delete a user in the request, no users are deleted.

Required Permissions

This API requires access to the following permissions:

Users & User Groups

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DeleteUserPayload

Arguments
Name Description
input - DeleteUserInput!

Example

Query
mutation userDeleteUser($accountId: ID!, $input: DeleteUserInput!) {
    user(accountId: $accountId) {
        deleteUser(input: $input) {
            status
        }
    }
}
Variables
{"accountId": "123456", "input": {"userId": [789]}}
Response
{"data": {"user": {"deleteUser": {"status": "SUCCESS"}}}}

disableUser

Description

Disables one or more users in the account. Disabled users cannot authenticate or connect. If unable to disable any user in the request, no users are disabled.

Required Permissions

This API requires access to the following permissions:

Users & User Groups

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DisableUserPayload

Arguments
Name Description
input - DisableUserInput!

Example

Query
mutation userDisableUser($accountId: ID!, $input: DisableUserInput!) {
    user(accountId: $accountId) {
        disableUser(input: $input) {
            users {
                id
                userId
                objectId
                onPremSid
                firstName
                lastName
                userPrincipalName
                displayName
                phone
                email
                department
                jobTitle
                userStatus
                creationDate
                lastModified
                userImportType
                directoryId
                hasRemoteAccessEligibility
                authInfo {
                    authMethod
                    authStatus
                }
                riskScore
            }
        }
    }
}
Variables
{"accountId": "123456", "input": {"userId": [789]}}
Response
{
  "data": {
    "user": {
      "disableUser": {
        "users": [
          {
            "id": "789",
            "userId": "first_user@example.com",
            "objectId": "fedcd5ef-fddc-445c-80dc-d915ffdcd782",
            "onPremSid": "S-1-5-21-3623811015-3361044348-30300820-1174",
            "firstName": "Alice",
            "lastName": "Brown",
            "userPrincipalName": "alice.brown@company.com",
            "displayName": "Alice Brown",
            "phone": "+1 555 0100",
            "email": "alice.brown@company.com",
            "department": "Sales",
            "jobTitle": "Account Executive",
            "userStatus": "DISABLED",
            "creationDate": "2024-09-18T14:31:03Z",
            "lastModified": "2024-09-18T14:31:03Z",
            "userImportType": "SCIM",
            "directoryId": "34e97753-33e9-45c0-b6e9-7a7935e978e6",
            "hasRemoteAccessEligibility": true,
            "authInfo": {"authMethod": "SSO", "authStatus": "COMPLETED"},
            "riskScore": "LOW"
          }
        ]
      }
    }
  }
}

enableUser

Description

Enables one or more users in the account. If unable to enable any user in the request, no users are enabled.

Required Permissions

This API requires access to the following permissions:

Users & User Groups

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an EnableUserPayload

Arguments
Name Description
input - EnableUserInput!

Example

Query
mutation userEnableUser($accountId: ID!, $input: EnableUserInput!) {
    user(accountId: $accountId) {
        enableUser(input: $input) {
            users {
                id
                userId
                objectId
                onPremSid
                firstName
                lastName
                userPrincipalName
                displayName
                phone
                email
                department
                jobTitle
                userStatus
                creationDate
                lastModified
                userImportType
                directoryId
                hasRemoteAccessEligibility
                authInfo {
                    authMethod
                    authStatus
                }
                riskScore
            }
        }
    }
}
Variables
{"accountId": "123456", "input": {"userId": [789]}}
Response
{
  "data": {
    "user": {
      "enableUser": {
        "users": [
          {
            "id": "789",
            "userId": "first_user@example.com",
            "objectId": "14fd5514-15fd-46a7-96fd-583a17fd59cd",
            "onPremSid": "S-1-5-21-3623811015-3361044348-30300820-1175",
            "firstName": "Bob",
            "lastName": "Smith",
            "userPrincipalName": "bob.smith@company.com",
            "displayName": "Bob Smith",
            "phone": "+1 555 0100",
            "email": "bob.smith@company.com",
            "department": "Marketing",
            "jobTitle": "Content Strategist",
            "userStatus": "ACTIVE",
            "creationDate": "2024-09-18T14:31:03Z",
            "lastModified": "2024-09-18T14:31:03Z",
            "userImportType": "LDAP",
            "directoryId": "74981224-7598-43b7-b698-154a779816dd",
            "hasRemoteAccessEligibility": true,
            "authInfo": {"authMethod": "MFA", "authStatus": "MFA_NOT_SET"},
            "riskScore": "CRITICAL"
          }
        ]
      }
    }
  }
}

revokeUserSession

Beta
Description

Revokes the sessions for one or more users, then the users must re-authenticate. If unable to revoke a session for any user, the operation is canceled for all users.

Required Permissions

This API requires access to the following permissions:

User Risk

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a RevokeUserSessionPayload

Arguments
Name Description
input - RevokeUserSessionInput!

Example

Query
mutation userRevokeUserSession($accountId: ID!, $input: RevokeUserSessionInput!) {
    user(accountId: $accountId) {
        revokeUserSession(input: $input) {
            status
        }
    }
}
Variables
{"accountId": "123456", "input": {"userId": [0]}}
Response
{"data": {"user": {"revokeUserSession": {"status": "SUCCESS"}}}}

updateDynamicUserGroupsConfiguration

Beta
Description

Applies dynamic-group attribute changes: each entry turns one attribute on or off. Attributes not included in the input are left unchanged.

Required Permissions

This API requires access to the following permissions:

Users & User Groups

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - UpdateDynamicUserGroupsConfigurationInput!

Example

Query
mutation userUpdateDynamicUserGroupsConfiguration($accountId: ID!, $input: UpdateDynamicUserGroupsConfigurationInput!) {
    user(accountId: $accountId) {
        updateDynamicUserGroupsConfiguration(input: $input) {
            department {
                enabled
            }
        }
    }
}
Variables
{"accountId": "12345", "input": {"department": {"enabled": true}}}
Response
{
  "data": {
    "user": {
      "updateDynamicUserGroupsConfiguration": {"department": {"enabled": true}}
    }
  }
}

updateUser

Beta
Description

Updates an existing manual user.

Required Permissions

This API requires access to the following permissions:

Users & User Groups

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateUserPayload

Arguments
Name Description
input - UpdateUserInput!

Example

Query
mutation userUpdateUser($accountId: ID!, $input: UpdateUserInput!) {
    user(accountId: $accountId) {
        updateUser(input: $input) {
            user {
                id
                userId
                objectId
                onPremSid
                firstName
                lastName
                userPrincipalName
                displayName
                phone
                email
                department
                jobTitle
                userStatus
                creationDate
                lastModified
                userImportType
                directoryId
                hasRemoteAccessEligibility
                authInfo {
                    authMethod
                    authStatus
                }
                riskScore
            }
        }
    }
}
Variables
{
  "accountId": "123456",
  "input": {
    "id": "789",
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@company.com",
    "department": "Platform Engineering",
    "jobTitle": "Senior Software Engineer"
  }
}
Response
{
  "data": {
    "user": {
      "updateUser": {
        "user": {
          "id": "789",
          "userId": "john.doe",
          "objectId": "ef62c765-ee62-45d2-ad62-c43fec62c2ac",
          "onPremSid": "S-1-5-21-3623811015-3361044348-30300820-1013",
          "firstName": "John",
          "lastName": "Doe",
          "userPrincipalName": "john.doe@company.com",
          "displayName": "John Doe",
          "phone": "+1 555 987 6543",
          "email": "john.doe@company.com",
          "department": "Platform Engineering",
          "jobTitle": "Senior Software Engineer",
          "userStatus": "ACTIVE",
          "creationDate": "2024-03-09T10:30:00.000Z",
          "lastModified": "2024-03-10T15:45:00.000Z",
          "userImportType": "MANUAL",
          "directoryId": "0bf6be51-0af6-4cbe-89f6-bb2b08f6b998",
          "hasRemoteAccessEligibility": true,
          "authInfo": {"authMethod": "MFA", "authStatus": "COMPLETED"},
          "riskScore": "LOW"
        }
      }
    }
  }
}

XdrMutations

addStoryComment

Beta
Description

Post comments that help track the story investigation

Required Permissions

This API requires access to the following permissions:

Detection & Response

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddStoryCommentPayload

Arguments
Name Description
input - AddStoryCommentInput!

Example

Query
mutation addStoryComment(
    $accountId: ID!, 
    $input: AddStoryCommentInput!) {
  xdr(accountId: $accountId) {
    addStoryComment(
      input: $input) {
      comment {
        id
        createdAt
        text
        actor {
            id
            name
            __typename
        }
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {"storyId": "012345678901234567890123", "text": "This is a comment"}
}
Response
{
  "data": {
    "xdr": {
      "addStoryComment": {
        "comment": {
          "id": "01234567-0123-0123-0123-012345678901",
          "createdAt": "2024-01-01T00:00:00Z",
          "text": "This is a comment",
          "actor": {"id": 1, "name": "Actor1", "__typename": "AdminRef"}
        }
      }
    }
  }
}

analystFeedback

Beta
Description

Manage Story Actions, such as the story Verdict, Type, and Classification. You can also enter Additional Info that is relevant to the story.

Required Permissions

This API requires access to the following permissions:

Detection & Response

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AnalystFeedbackPayload

Arguments
Name Description
input - AnalystFeedbackInput!

Example

Query
mutation analystFeedback(
    $accountId: ID!, 
    $input: AnalystFeedbackInput!) {
  xdr(accountId: $accountId) {
    analystFeedback(
      input: $input) {
      story {
        id
        accountId
        analystName
        analystEmail
        accountName
        updatedAt
        createdAt
        summary
        incident {
            id
            firstSignal
            lastSignal
            engineType
            vendor
            producer
            producerName
            connectionType
            indication
            queryName
            criticality
            source
            ticket
            status
            research
            storyDuration
            description
            sourceIp
            analystFeedback {
                verdict
                severity
                threatType {
                    name
                    recommendedAction
                    details
                }
                threatClassification
                additionalInfo
            }
            site {
                id
                name
            }
            user {
                id
                name
            }
            predictedVerdict
            predictedThreatType
        }
        timeline {
            createdAt
            description
            context
            type
            descriptions
            category
            additionalInfo
            analystInfo {
                name
                email
            }
        }
        playbook
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "storyId": "012345678901234567890123",
    "verdict": "Suspicious",
    "severity": "High",
    "threatType": {
      "name": "threatTypeName",
      "recommendedAction": "recommendedAction",
      "details": "details"
    },
    "threatClassification": "threatClassification",
    "additionalInfo": "additionalInfo",
    "status": "Open"
  }
}
Response
{
  "data": {
    "xdr": {
      "analystFeedback": {
        "id": "012345678901234567890123",
        "accountId": "123",
        "analystName": "analystName",
        "analystEmail": "analyst@email.com",
        "accountName": "accountName",
        "updatedAt": "2024-02-29T09:00:00Z",
        "createdAt": "2024-02-29T09:00:00Z",
        "playbook": null,
        "summary": "summary",
        "incident": {
          "__typename": "Threat",
          "id": "id",
          "firstSignal": "2024-02-29T09:00:00Z",
          "lastSignal": "2024-02-29T09:00:00Z",
          "engineType": "ANOMALY",
          "vendor": "CATO",
          "producer": "AnomalyStats",
          "producerName": "producerName",
          "connectionType": "Site",
          "indication": "indication",
          "queryName": "queryName",
          "criticality": 1,
          "source": "source",
          "ticket": null,
          "status": "Open",
          "research": false,
          "siteName": "siteName",
          "storyDuration": 1000,
          "description": "description",
          "sourceIp": "1.2.3.4",
          "analystFeedback": {
            "verdict": "Suspicious",
            "severity": "High",
            "threatType": {
              "name": "PuP",
              "details": null,
              "recommendedAction": null
            },
            "threatClassification": null,
            "additionalInfo": null
          },
          "site": {"id": "id", "name": "name"},
          "user": {"id": "id", "name": "name"},
          "predictedVerdict": null,
          "predictedThreatType": null
        },
        "timeline": [
          {
            "createdAt": "2024-03-27T08:22:51Z",
            "description": "description",
            "context": "Story created",
            "type": "Diff",
            "descriptions": [],
            "category": null,
            "additionalInfo": null,
            "analystInfo": {"name": "name", "email": "email@email.com"}
          }
        ]
      }
    }
  }
}

deleteStoryComment

Beta
Description

Delete a previously posted comment using the comment ID.

Required Permissions

This API requires access to the following permissions:

Detection & Response

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a DeleteStoryCommentPayload

Arguments
Name Description
input - DeleteStoryCommentInput!

Example

Query
mutation deleteStoryComment(
    $accountId: ID!, 
    $input: DeleteStoryCommentInput!) {
  xdr(accountId: $accountId) {
    deleteStoryComment(
      input: $input) {
      comment {
        id
        createdAt
        text
        actor {
            id
            name
            __typename
        }
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "storyId": "012345678901234567890123",
    "commentId": "01234567-0123-0123-0123-012345678901"
  }
}
Response
{
  "data": {
    "xdr": {
      "deleteStoryComment": {
        "comment": {
          "id": "01234567-0123-0123-0123-012345678901",
          "createdAt": "2024-01-01T00:00:00Z",
          "text": "This is a comment",
          "actor": {"id": 1, "name": "Actor1", "__typename": "AdminRef"}
        }
      }
    }
  }
}

updateInvestigationDetails

Beta
Required Permissions

This API requires access to the following permissions:

Detection & Response

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateInvestigationDetailsPayload

Arguments
Name Description
input - UpdateInvestigationDetailsInput!

Example

Query
mutation updateInvestigationDetails(
    $accountId: ID!,
    $input: UpdateInvestigationDetailsInput!) {
  xdr(accountId: $accountId) {
    updateInvestigationDetails(
      input: $input) {
      investigationDetails {
        investigationStatus
        managedServiceTicketLink
        lastUserComment {
          id
          createdAt
          text
          actor {
            id
            name
            __typename
          }
        }
        lastManagedComment {
          id
          createdAt
          text
          actor {
            id
            name
            __typename
          }
        }
      }
    }
  }
}
Variables
{
  "accountId": "123",
  "input": {
    "storyId": "012345678901234567890123",
    "investigationStatus": "In Progress",
    "managedServiceTicketLink": "https://example.com/ticket/12345"
  }
}
Response
{
  "data": {
    "xdr": {
      "updateInvestigationDetails": {
        "investigationDetails": {
          "investigationStatus": "In Progress",
          "managedServiceTicketLink": "https://example.com/ticket/12345",
          "lastUserComment": {
            "id": "01234567-0123-0123-0123-012345678901",
            "createdAt": "2024-02-29T09:00:00Z",
            "text": "User comment text",
            "actor": {"id": "1", "name": "John Doe", "__typename": "AdminRef"}
          },
          "lastManagedComment": {
            "id": "01234567-0123-0123-0123-012345678902",
            "createdAt": "2024-02-29T10:00:00Z",
            "text": "Managed service comment text",
            "actor": {"id": "2", "name": "Jane Smith", "__typename": "AdminRef"}
          }
        }
      }
    }
  }
}

ZtnaAppConnectorMutations

addZtnaAppConnector

Beta Rollout
Description

Create a new ZTNA App Connector

Required Permissions

This API requires access to the following permissions:

Ztna App Connector

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an AddZtnaAppConnectorPayload!

Arguments
Name Description
input - AddZtnaAppConnectorInput!

Example

Query
mutation AddZtnaAppConnector($accountId: ID!) {
    ztnaAppConnector(accountId: $accountId) {
        addZtnaAppConnector(input: {
            name: "DC-West-Connector-1"
            description: "Connector for the west data center"
            groupName: "West-DC-Group"
            type: VIRTUAL
            location: {
                countryCode: "US"
                stateCode: "California"
                city: "Los Angeles"
                timezone: "America/Los_Angeles"
            }
        }) {
            ztnaAppConnector {
                id
                name
                description
                type
                groupName
                location {
                    countryCode
                    countryName
                    cityName
                    stateCode
                    timezone
                }
                createdAt
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "ztnaAppConnector": {
      "addZtnaAppConnector": {
        "ztnaAppConnector": {
          "id": "1500000003",
          "name": "DC-West-Connector-1",
          "description": "Connector for the west data center",
          "type": "VIRTUAL",
          "groupName": "West-DC-Group",
          "location": {
            "countryCode": "US",
            "countryName": "United States",
            "cityName": "Los Angeles",
            "stateCode": "California",
            "timezone": "America/Los_Angeles"
          },
          "createdAt": "2025-08-20T09:15:00Z"
        }
      }
    }
  }
}

addZtnaAppConnectorsConfiguration

Beta Rollout
Description

Create ZTNA App Connectors configuration. Creates default ranges if not provided.

Required Permissions

This API requires access to the following permissions:

Ztna App Connector

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - AddZtnaAppConnectorsConfigurationInput!

Example

Query
mutation AddZtnaAppConnectorsConfiguration($accountId: ID!) {
    ztnaAppConnector(accountId: $accountId) {
        addZtnaAppConnectorsConfiguration(input: {
            privateAppsServiceRange: "100.64.0.0/16"
            appConnectorManagementRange: "100.65.0.0/16"
        }) {
            ztnaAppConnectorsConfiguration {
                privateAppsServiceRange
                appConnectorManagementRange
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "ztnaAppConnector": {
      "addZtnaAppConnectorsConfiguration": {
        "ztnaAppConnectorsConfiguration": {
          "privateAppsServiceRange": "100.64.0.0/16",
          "appConnectorManagementRange": "100.65.0.0/16"
        }
      }
    }
  }
}

removeZtnaAppConnector

Beta Rollout
Description

Remove an existing ZTNA App Connector by reference Returns the removed resource

Required Permissions

This API requires access to the following permissions:

Ztna App Connector

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns a RemoveZtnaAppConnectorPayload!

Arguments
Name Description
input - RemoveZtnaAppConnectorInput!

Example

Query
mutation RemoveZtnaAppConnector($accountId: ID!) {
    ztnaAppConnector(accountId: $accountId) {
        removeZtnaAppConnector(input: {
            ztnaAppConnector: { by: ID, input: "1500000003" }
        }) {
            ztnaAppConnector {
                id
                name
                type
                groupName
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "ztnaAppConnector": {
      "removeZtnaAppConnector": {
        "ztnaAppConnector": {
          "id": "1500000003",
          "name": "DC-West-Connector-1",
          "type": "VIRTUAL",
          "groupName": "West-DC-Group"
        }
      }
    }
  }
}

removeZtnaAppConnectorsConfiguration

Beta Rollout
Description

Remove ZTNA App Connectors configuration. Fails if any IPs are currently allocated.

Required Permissions

This API requires access to the following permissions:

Ztna App Connector

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Example

Query
mutation RemoveZtnaAppConnectorsConfiguration($accountId: ID!) {
    ztnaAppConnector(accountId: $accountId) {
        removeZtnaAppConnectorsConfiguration {
            ztnaAppConnectorsConfiguration {
                privateAppsServiceRange
                appConnectorManagementRange
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "ztnaAppConnector": {
      "removeZtnaAppConnectorsConfiguration": {
        "ztnaAppConnectorsConfiguration": {
          "privateAppsServiceRange": "100.64.0.0/16",
          "appConnectorManagementRange": "100.65.0.0/16"
        }
      }
    }
  }
}

unassignSocketFromZtnaAppConnector

Beta Rollout
Description

Unassign a socket from a ZTNA App Connector

Required Permissions

This API requires access to the following permissions:

Ztna App Connector

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - UnassignSocketFromZtnaAppConnectorInput!

Example

Query
mutation UnassignSocketFromZtnaAppConnector($accountId: ID!) {
    ztnaAppConnector(accountId: $accountId) {
        unassignSocketFromZtnaAppConnector(input: {
            ztnaAppConnector: { by: ID, input: "1500000001" }
        }) {
            ztnaAppConnector {
                id
                name
                serialNumber
                socketId
                socketModel
                type
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "ztnaAppConnector": {
      "unassignSocketFromZtnaAppConnector": {
        "ztnaAppConnector": {
          "id": "1500000001",
          "name": "DC-East-Connector-1",
          "serialNumber": null,
          "socketId": null,
          "socketModel": null,
          "type": "PHYSICAL"
        }
      }
    }
  }
}

updateZtnaAppConnector

Beta Rollout
Description

Update an existing ZTNA App Connector

Required Permissions

This API requires access to the following permissions:

Ztna App Connector

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpdateZtnaAppConnectorPayload!

Arguments
Name Description
input - UpdateZtnaAppConnectorInput!

Example

Query
mutation UpdateZtnaAppConnector($accountId: ID!) {
    ztnaAppConnector(accountId: $accountId) {
        updateZtnaAppConnector(input: {
            id: "1500000001"
            name: "DC-East-Connector-Primary"
            description: "Primary connector for east data center - updated"
            location: {
                countryCode: "US"
                stateCode: "New York"
                city: "New York"
                timezone: "America/New_York"
            }
            preferredPopLocation: {
                automatic: false
                preferredOnly: true
                primary: { by: ID, input: "123" }
                secondary: { by: ID, input: "456" }
            }
        }) {
            ztnaAppConnector {
                id
                name
                description
                groupName
                location {
                    countryCode
                    countryName
                    cityName
                    stateCode
                    timezone
                }
                preferredPopLocation {
                    automatic
                    preferredOnly
                    primary {
                        id
                        name
                    }
                    secondary {
                        id
                        name
                    }
                }
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "ztnaAppConnector": {
      "updateZtnaAppConnector": {
        "ztnaAppConnector": {
          "id": "1500000001",
          "name": "DC-East-Connector-Primary",
          "description": "Primary connector for east data center - updated",
          "groupName": "East-DC-Group",
          "location": {
            "countryCode": "US",
            "countryName": "United States",
            "cityName": "New York",
            "stateCode": "New York",
            "timezone": "America/New_York"
          },
          "preferredPopLocation": {
            "automatic": false,
            "preferredOnly": true,
            "primary": {"id": "123", "name": "New York"},
            "secondary": {"id": "456", "name": "Tel Aviv"}
          }
        }
      }
    }
  }
}

updateZtnaAppConnectorsConfiguration

Beta Rollout
Description

Update ZTNA App Connectors configuration.

Required Permissions

This API requires access to the following permissions:

Ztna App Connector

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Arguments
Name Description
input - UpdateZtnaAppConnectorsConfigurationInput!

Example

Query
mutation UpdateZtnaAppConnectorsConfiguration($accountId: ID!) {
    ztnaAppConnector(accountId: $accountId) {
        updateZtnaAppConnectorsConfiguration(input: {
            privateAppsServiceRange: "100.66.0.0/16"
        }) {
            ztnaAppConnectorsConfiguration {
                privateAppsServiceRange
                appConnectorManagementRange
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "ztnaAppConnector": {
      "updateZtnaAppConnectorsConfiguration": {
        "ztnaAppConnectorsConfiguration": {
          "privateAppsServiceRange": "100.66.0.0/16",
          "appConnectorManagementRange": "100.65.0.0/16"
        }
      }
    }
  }
}

upgradeZtnaAppConnector

Beta Rollout
Required Permissions

This API requires access to the following permissions:

Ztna App Connector

Note: The API key must have permissions to access these permissions. Contact your administrator to configure the appropriate role and permissions.

Response

Returns an UpgradeZtnaAppConnectorPayload!

Arguments
Name Description
input - UpgradeZtnaAppConnectorInput!

Example

Query
mutation UpgradeZtnaAppConnector($accountId: ID!) {
    ztnaAppConnector(accountId: $accountId) {
        upgradeZtnaAppConnector(input: {
            upgrades: [
                {
                    ztnaAppConnector: { by: ID, input: "1500000001" }
                    targetVersion: "23.0.19481"
                }
            ]
        }) {
            upgrades {
                ztnaAppConnector {
                    id
                    name
                }
                targetVersion
            }
        }
    }
}
Variables
{"accountId": 12345}
Response
{
  "data": {
    "ztnaAppConnector": {
      "upgradeZtnaAppConnector": {
        "upgrades": [
          {
            "ztnaAppConnector": {
              "id": "1500000001",
              "name": "DC-East-Connector-1"
            },
            "targetVersion": "23.0.19481"
          }
        ]
      }
    }
  }
}

Types

AISecurityApplicationsLicense

Beta
Description

AI Security Applications service license details

Fields
Field Name Description
description - String
expirationDate - DateTime! License expiration date
id - ID The unique identifier for the license. If this value is not available, you can contact Cato Support, who may be able to assist in retrieving it.
lastUpdated - DateTime The date of the last update to the license
plan - LicensePlan! License plan type
sku - LicenseSku! The license SKU
startDate - DateTime License start date
status - LicenseStatus! License activation status
total - Int! License quantity
Example
{
  "description": "xyz789",
  "expirationDate": "2007-12-03T10:15:30Z",
  "id": 4,
  "lastUpdated": "2007-12-03T10:15:30Z",
  "plan": "COMMERCIAL",
  "sku": "CATO_ADSP",
  "startDate": "2007-12-03T10:15:30Z",
  "status": "ACTIVE",
  "total": 123
}

AISecurityUsersLicense

Beta
Description

AI Security Users service license details

Fields
Field Name Description
description - String
expirationDate - DateTime! License expiration date
id - ID The unique identifier for the license. If this value is not available, you can contact Cato Support, who may be able to assist in retrieving it.
lastUpdated - DateTime The date of the last update to the license
plan - LicensePlan! License plan type
sku - LicenseSku! The license SKU
startDate - DateTime License start date
status - LicenseStatus! License activation status
total - Int! License quantity
Example
{
  "description": "xyz789",
  "expirationDate": "2007-12-03T10:15:30Z",
  "id": 4,
  "lastUpdated": "2007-12-03T10:15:30Z",
  "plan": "COMMERCIAL",
  "sku": "CATO_ADSP",
  "startDate": "2007-12-03T10:15:30Z",
  "status": "ACTIVE",
  "total": 123
}

AccessRequestSortInput

Beta
Description

Sort settings for managed account access requests.

Fields
Input Field Description
activeDate - SortOrderInput Sort by activation date.
expirationDate - SortOrderInput Sort by expiration date.
id - SortOrderInput Sort by request ID.
requestedDate - SortOrderInput Sort by requested date.
status - SortOrderInput Sort by status.
Example
{
  "activeDate": SortOrderInput,
  "expirationDate": SortOrderInput,
  "id": SortOrderInput,
  "requestedDate": SortOrderInput,
  "status": SortOrderInput
}

AccessRequestStatus

Beta
Values
Enum Value Description

ACTIVE

EXPIRED

PENDING

REJECTED

REVOKED

Example
"ACTIVE"

AccessRequestStatusFilterInput

Beta
Description

Filter criteria for access request status.

Fields
Input Field Description
eq - AccessRequestStatus Equals.
in - [AccessRequestStatus!] In list.
neq - AccessRequestStatus Not equals.
nin - [AccessRequestStatus!] Not in list.
Example
{"eq": "ACTIVE", "in": ["ACTIVE"], "neq": "ACTIVE", "nin": ["ACTIVE"]}

AccessRequestTypeFilterInput

Beta
Description

Filter criteria for access request type.

Fields
Input Field Description
eq - ExternalAccessRequestType Equals.
in - [ExternalAccessRequestType!] In list.
neq - ExternalAccessRequestType Not equals.
nin - [ExternalAccessRequestType!] Not in list.
Example
{
  "eq": "ACCESS_AUTO_APPROVED_BY_PARTNER_HIERARCHY",
  "in": ["ACCESS_AUTO_APPROVED_BY_PARTNER_HIERARCHY"],
  "neq": "ACCESS_AUTO_APPROVED_BY_PARTNER_HIERARCHY",
  "nin": ["ACCESS_AUTO_APPROVED_BY_PARTNER_HIERARCHY"]
}

AccountAuditData

Fields
Field Name Description
createdBy - String! The Admin / API key name used for creating the account
createdTime - DateTime! The date when the account created
Example
{
  "createdBy": "abc123",
  "createdTime": "2007-12-03T10:15:30Z"
}

AccountDataPayload

Fields
Field Name Description
id - ID!
name - String!
subdomain - String!
Example
{
  "id": "4",
  "name": "xyz789",
  "subdomain": "abc123"
}

AccountFilter

Beta
Fields
Input Field Description
accountInclusion - AccountInclusion
in - [ID!]
Example
{
  "accountInclusion": "ALL_ACCOUNTS",
  "in": ["4"]
}

AccountIdPredicate

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

AccountInclusion

Beta
Values
Enum Value Description

ALL_ACCOUNTS

MANAGED_ACCOUNTS_ONLY

Example
"ALL_ACCOUNTS"

AccountInfo

Fields
Field Name Description
audit - AccountAuditData! Audit data for the account
description - String User-defined information as defined by an account admin
id - ID! The ID of the account
name - String! The name of the account
plan - AccountPlan The account plan
status - AccountStatus! The account status
tenancy - AccountTenancy! The account tenancy e.g. single-tenant / multi-tenant
timeZone - TimeZone! The time zone of the account. Default: UTC (GMT + 0).
type - AccountProfileType! The account type e.g. Partner or Customer
Example
{
  "audit": AccountAuditData,
  "description": "abc123",
  "id": "4",
  "name": "xyz789",
  "plan": "COMMERCIAL",
  "status": "ACTIVE",
  "tenancy": "MULTI_TENANT",
  "timeZone": "Etc/UTC",
  "type": "CUSTOMER"
}

AccountMetrics

Fields
Field Name Description
from - DateTime Starting time
granularity - Int The size of a single time bucket in seconds
id - ID Unique Identifier of Account.
sites - [SiteMetrics!] Site connectivity metrics for the requested sites.
Arguments
siteIDs - [ID!]

A list of unique IDs for each site. If specified, only sites in this list are returned. Otherwise, all sites are returned.

timeseries - [Timeseries!]
Arguments
buckets - Int

number of buckets, defaults to 10, max 1000

to - DateTime Ending time
users - [SiteMetrics!] Connectivity metrics for the requested users connecting remotely with the Client. Doesn’t include user traffic behind a site.
Arguments
userIDs - [ID!]

A list of unique IDs for each user. If specified, only users in this list are returned. Otherwise, no user metrics are returned.

Example
{
  "from": "2007-12-03T10:15:30Z",
  "granularity": 987,
  "id": 4,
  "sites": [SiteMetrics],
  "timeseries": [Timeseries],
  "to": "2007-12-03T10:15:30Z",
  "users": [SiteMetrics]
}

AccountOperationsIncident

Fields
Field Name Description
incidentTimeline - [AccountOperationsTimelineBase!]!
metadata - [AccountOperationsMetadata!]!
playbooks - [AiOperationsPlaybook!]!
Example
{
  "incidentTimeline": [AccountOperationsTimelineBase],
  "metadata": [AccountOperationsMetadata],
  "playbooks": [AiOperationsPlaybook]
}

AccountOperationsMetadata

Fields
Field Name Description
key - String!
type - MetadataType!
value - String!
Example
{
  "key": "abc123",
  "type": "TXT",
  "value": "abc123"
}

AccountOperationsTimelineBase

Fields
Field Name Description
id - ID!
created - Time!
validated - Time!
description - String!
type - AccountOperationsTimelineType!
Possible Types
AccountOperationsTimelineBase Types

AccountOperationsTimelineEvent

Example
{
  "id": "4",
  "created": "10:15:30Z",
  "validated": "10:15:30Z",
  "description": "xyz789",
  "type": "Action"
}

AccountOperationsTimelineEvent

Fields
Field Name Description
created - Time!
description - String!
eventIds - [String!]!
id - ID!
muted - Boolean!
type - AccountOperationsTimelineType!
validated - Time!
Example
{
  "created": "10:15:30Z",
  "description": "abc123",
  "eventIds": ["xyz789"],
  "id": "4",
  "muted": true,
  "type": "Action",
  "validated": "10:15:30Z"
}

AccountOperationsTimelineType

Values
Enum Value Description

Action

Event

Example
"Action"

AccountPlan

Description

enum that shows account license status

Values
Enum Value Description

COMMERCIAL

TRIAL

Example
"COMMERCIAL"

AccountProfileType

Description

enum for account type

Values
Enum Value Description

CUSTOMER

A customer account

PARTNER

A partner account
Example
"CUSTOMER"

AccountRef

Beta
Description

A reference identifying the Account object. ID: Unique Account Identifier, Name: The Account Name

Fields
Field Name Description
id - ID!
name - String!
Example
{"id": 4, "name": "abc123"}

AccountRefInput

Beta
Fields
Input Field Description
by - ObjectRefBy!
input - String!
Example
{"by": "ID", "input": "abc123"}

AccountRolesResult

Fields
Field Name Description
items - [RBACRole!]!
total - Int!
Example
{"items": [RBACRole], "total": 987}

AccountSnapshot

Fields
Field Name Description
id - ID Unique Identifier of Account
sites - [SiteSnapshot!] Sites includes information about online as well as offline sites
Arguments
siteIDs - [ID!]

List of Unique Site Identifiers. If specified, only sites in list will be returned

timestamp - DateTime
users - [UserSnapshot!] VPN users information includes only connected users by default (Unlike sites), unless specific ID is requested
Arguments
userIDs - [ID!]

request specific IDs, regardless of if connected or not

Example
{
  "id": "4",
  "sites": [SiteSnapshot],
  "timestamp": "2007-12-03T10:15:30Z",
  "users": [UserSnapshot]
}

AccountStatus

Description

enum that shows account license status

Values
Enum Value Description

ACTIVE

DISABLED

LOCKED

Example
"ACTIVE"

AccountTenancy

Description

enum for account tenancy

Values
Enum Value Description

MULTI_TENANT

Multi tenant account - default for partner accounts

SINGLE_TENANT

Single tenant account - default for customer accounts
Example
"MULTI_TENANT"

AccountType

Values
Enum Value Description

ALL

REGULAR

RESELLER

SYSTEM

Example
"ALL"

Activity

Fields
Field Name Description
id - ID!
resourceId - ID!
parentResourceId - ID!
Possible Types
Activity Types

MicrosoftActivity

CatoActivity

Example
{
  "id": "4",
  "resourceId": "4",
  "parentResourceId": "4"
}

ActorRef

Beta
Fields
Field Name Description
id - ID!
name - String!
Possible Types
ActorRef Types

AdminRef

ApiKeyRef

Example
{
  "id": "4",
  "name": "xyz789"
}

ActorRefInput

Beta
Fields
Input Field Description
by - ObjectRefBy!
input - String!
Example
{"by": "ID", "input": "xyz789"}

AddAccountInput

Fields
Input Field Description
description - String User-defined information as defined by an account admin
name - String! The name of the account
tenancy - AccountTenancy! The account tenancy (single-tenant / multi-tenant)
timezone - TimeZone! The time zone of the account. Default: UTC (GMT + 0).
type - AccountProfileType! The account type (Partner / customer)
Example
{
  "description": "xyz789",
  "name": "abc123",
  "tenancy": "MULTI_TENANT",
  "timezone": "Etc/UTC",
  "type": "CUSTOMER"
}

AddAdminInput

Fields
Input Field Description
adminType - AdminType
email - String
firstName - String!
lastName - String!
managedRoles - [UpdateAdminRoleInput!]
passwordNeverExpires - Boolean!
resellerRoles - [UpdateAdminRoleInput!]
shouldSendInvitationEmail - Boolean
Example
{
  "adminType": "LOGIN",
  "email": "abc123",
  "firstName": "abc123",
  "lastName": "xyz789",
  "managedRoles": [UpdateAdminRoleInput],
  "passwordNeverExpires": false,
  "resellerRoles": [UpdateAdminRoleInput],
  "shouldSendInvitationEmail": false
}

AddAdminPayload

Fields
Field Name Description
adminID - ID!
passwordSetupUrl - String
Example
{"adminID": 4, "passwordSetupUrl": "abc123"}

AddBgpPeerInput

Beta
Fields
Input Field Description
advertiseAllRoutes - Boolean! Advertise all routes if true.
Default
false
advertiseDefaultRoute - Boolean! Advertise the default route (0.0.0.0/0) if true.
Default
true
advertiseSummaryRoutes - Boolean! Advertise summarized routes if true.
Default
false
bfdEnabled - Boolean! Enable BFD for session failure detection if true.
Default
false
bfdSettings - BfdSettingsInput Required BFD configuration if BFD is enabled.
catoAsn - Asn16! The AS number of Cato's BGP endpoint.
defaultAction - BgpDefaultAction! Default action for routes not matching filters (ACCEPT or DROP).
defaultActionExclusion - [BgpFilterRuleInput!]! Excluded rules from the default action.
Default
[]
defaultRouteCommunities - [BgpCommunityInput!]! Community values to associate with the default route.
Default
[]
holdTime - Int! Time (in seconds) before declaring the peer unreachable.
Default
60
keepaliveInterval - Int! Time (in seconds) between keepalive messages.
Default
20
md5AuthKey - String MD5 authentication key for secure sessions.
metric - Int! Route preference metric; lower values are given precedence.
Default
100
name - String! Name of the BGP configuration entity.
peerAsn - Asn32! The AS number of the peer BGP endpoint.
peerIp - IPAddress! IP address of the peer BGP endpoint.
performNat - Boolean! Perform NAT if true.
Default
false
site - SiteRefInput! Information about the site where the BGP peer is being added.
summaryRoute - [BgpSummaryRouteInput!]! Summarized routes to advertise.
Default
[]
tracking - BgpTrackingInput Configuration for tracking the health and status of the BGP peer.
Example
{
  "advertiseAllRoutes": true,
  "advertiseDefaultRoute": false,
  "advertiseSummaryRoutes": false,
  "bfdEnabled": false,
  "bfdSettings": BfdSettingsInput,
  "catoAsn": Asn16,
  "defaultAction": "ACCEPT",
  "defaultActionExclusion": [BgpFilterRuleInput],
  "defaultRouteCommunities": [BgpCommunityInput],
  "holdTime": 123,
  "keepaliveInterval": 987,
  "md5AuthKey": "xyz789",
  "metric": 123,
  "name": "abc123",
  "peerAsn": Asn32,
  "peerIp": IPAddress,
  "performNat": true,
  "site": SiteRefInput,
  "summaryRoute": [BgpSummaryRouteInput],
  "tracking": BgpTrackingInput
}

AddBgpPeerPayload

Beta
Fields
Field Name Description
bgpPeer - BgpPeer! The BGP peer that was successfully added.
Example
{"bgpPeer": BgpPeer}

AddCheckCommentInput

Beta
Description

Input for the addCheckComment mutation.

Fields
Input Field Description
checkId - ID! Check result id to comment on.
text - String! Comment text.
Example
{"checkId": 4, "text": "xyz789"}

AddCheckCommentPayload

Beta
Description

Response payload for the addCheckComment mutation.

Fields
Field Name Description
comments - [PostureCheckComment!]! Comment entries for this check after the mutation.
Example
{"comments": [PostureCheckComment]}

AddCloudInterconnectPhysicalConnectionInput

Beta
Description

Input for adding a new physical connection to a cloud interconnect site.

Fields
Input Field Description
downstreamBwLimit - NetworkBandwidth! Downstream bandwidth limit.
encapsulationMethod - TaggingMethod! Method of encapsulation.Wither .1Q/QinQ
haRole - HaRole! High availability role of the connection.
popLocation - PopLocationRefInput! Identifying data for the POP location.
privateCatoIp - IPAddress! Private IP address of Cato.
privateSiteIp - IPAddress! Private IP address of the site.
QinQVlanConfiguration - QinQVlanConfiguration QinQ VLAN configuration for QinQ encapsulated connections. Applicable only to reseller accounts with private POPs.
serviceProviderName - String! Name of the service provider. Usually a partner, or a fabric service provider.
site - SiteRefInput! Identifying data for the site.
subnet - NetworkSubnet! Subnet for the connection, the BGP peering range. /30 CIDR.
upstreamBwLimit - NetworkBandwidth! Upstream bandwidth limit.
vlan - Vlan VLAN configuration for Dot1Q encapsulated connections. Applicable only to reseller accounts with private POPs.
Example
{
  "downstreamBwLimit": NetworkBandwidth,
  "encapsulationMethod": "DOT1Q",
  "haRole": "PRIMARY",
  "popLocation": PopLocationRefInput,
  "privateCatoIp": IPAddress,
  "privateSiteIp": IPAddress,
  "QinQVlanConfiguration": QinQVlanConfiguration,
  "serviceProviderName": "xyz789",
  "site": SiteRefInput,
  "subnet": NetworkSubnet,
  "upstreamBwLimit": NetworkBandwidth,
  "vlan": Vlan
}

AddCloudInterconnectPhysicalConnectionPayload

Beta
Description

Payload for adding a new physical connection to a cloud interconnect site.

Fields
Field Name Description
id - ID! ID of the newly added connection.
Example
{"id": 4}

AddCloudInterconnectSiteInput

Beta
Description

Input for adding a new cloud interconnect site.

Fields
Input Field Description
description - String Description of the site.
name - String! Name of the site.
siteLocation - AddSiteLocationInput! Location details of the site.
siteType - SiteType! Type of the site.
Default
BRANCH
Example
{
  "description": "abc123",
  "name": "xyz789",
  "siteLocation": AddSiteLocationInput,
  "siteType": "BRANCH"
}

AddCloudInterconnectSitePayload

Beta
Description

Payload for adding a new cloud interconnect site.

Fields
Field Name Description
siteId - ID! ID of the newly added site.
Example
{"siteId": 4}

AddCustomApplicationInput

Beta Rollout
Fields
Input Field Description
category - [ApplicationCategoryRefInput!]
criteria - [CustomApplicationCriteriaInput!]!
description - String
name - String!
Example
{
  "category": [ApplicationCategoryRefInput],
  "criteria": [CustomApplicationCriteriaInput],
  "description": "abc123",
  "name": "xyz789"
}

AddCustomApplicationPayload

Beta Rollout
Fields
Field Name Description
customApplication - CustomApplication!
Example
{"customApplication": CustomApplication}

AddIpsecIkeV2SiteInput

Beta
Fields
Input Field Description
description - String
name - String! The name of the site
nativeNetworkRange - IPSubnet! The native range of the site
siteLocation - AddSiteLocationInput! The location of the site
siteType - SiteType! Valid values are: BRANCH, HEADQUARTERS, CLOUD_DC, and DATACENTER.
Default
BRANCH
vlan - Vlan VLAN ID for native range
Example
{
  "description": "abc123",
  "name": "abc123",
  "nativeNetworkRange": IPSubnet,
  "siteLocation": AddSiteLocationInput,
  "siteType": "BRANCH",
  "vlan": Vlan
}

AddIpsecIkeV2SiteMultiTunnelPayload

Beta
Fields
Field Name Description
fqdn - Fqdn Cato’s FQDN for the multi-tunnel
tunnels - [AddIpsecIkeV2SiteTunnelPayload!]!
Example
{
  "fqdn": Fqdn,
  "tunnels": [AddIpsecIkeV2SiteTunnelPayload]
}

AddIpsecIkeV2SitePayload

Beta
Fields
Field Name Description
siteId - ID! The ID of the site
Example
{"siteId": 4}

AddIpsecIkeV2SiteTunnelPayload

Beta
Fields
Field Name Description
localId - String The local ID for the tunnel
tunnelId - IPSecV2InterfaceId The ID of the tunnel
Example
{
  "localId": "xyz789",
  "tunnelId": "PRIMARY1"
}

AddIpsecIkeV2SiteTunnelsInput

Beta
Fields
Input Field Description
primary - AddIpsecIkeV2TunnelsInput The configuration of the site’s primary tunnel
secondary - AddIpsecIkeV2TunnelsInput The configuration of the site’s secondary tunnel
Example
{
  "primary": AddIpsecIkeV2TunnelsInput,
  "secondary": AddIpsecIkeV2TunnelsInput
}

AddIpsecIkeV2SiteTunnelsPayload

Beta
Fields
Field Name Description
primary - AddIpsecIkeV2SiteMultiTunnelPayload Cato’s FQDN for the primary tunnel
secondary - AddIpsecIkeV2SiteMultiTunnelPayload Cato’s FQDN for the secondary tunnel
siteId - ID! The ID of the site
Example
{
  "primary": AddIpsecIkeV2SiteMultiTunnelPayload,
  "secondary": AddIpsecIkeV2SiteMultiTunnelPayload,
  "siteId": "4"
}

AddIpsecIkeV2TunnelInput

Beta
Fields
Input Field Description
lastMileBw - LastMileBwInput The maximum allowed bandwidth for the site. If not specified, it will be set according to the site license. If the ISP provided bandwidth is below the site bandwidth, set this parameter to the ISP bandwidth or below
name - String Tunnel name
privateCatoIp - IPAddress Cato’s private IP, used for BGP routing. Applicable for sites using BGP only
privateSiteIp - IPAddress Site private IP, used for BGP routing. Applicable for sites using BGP only
psk - String! Pre-shared key. This field is write-only.
publicSiteIp - IPAddress The public IP address where the IPsec tunnel is initiated
role - IPSecV2TunnelRole Tunnel role
Example
{
  "lastMileBw": LastMileBwInput,
  "name": "xyz789",
  "privateCatoIp": IPAddress,
  "privateSiteIp": IPAddress,
  "psk": "abc123",
  "publicSiteIp": IPAddress,
  "role": "WAN1"
}

AddIpsecIkeV2TunnelsInput

Beta
Fields
Input Field Description
destinationType - DestinationType The destination type of the IPsec tunnel
popLocationId - ID The PoP location ID
publicCatoIpId - ID The ID of the public IP (Allocated IP) of the Cato PoP to which the tunnel will connect. This will be the source-IP of the traffic transmitted to the Cato cloud over this tunnel when egressing the Cato Cloud
tunnels - [AddIpsecIkeV2TunnelInput!]!
Example
{
  "destinationType": "FQDN",
  "popLocationId": "4",
  "publicCatoIpId": "4",
  "tunnels": [AddIpsecIkeV2TunnelInput]
}

AddLicenseToManagedAccountInput

Beta
Fields
Input Field Description
bw - Int Bandwidth allocation in Mbps for the managed account (applicable for bandwidth-based licenses)
licenseId - ID! The unique identifier of the partner pool license to allocate from
managedAccountId - ID! ID of the managed account to which the license will be added.
users - Int Number of users to allocate for the managed account (applicable for user-based licenses)
Example
{
  "bw": 987,
  "licenseId": "4",
  "managedAccountId": "4",
  "users": 123
}

AddLicenseToManagedAccountPayload

Beta
Fields
Field Name Description
license - License!
Example
{"license": License}

AddNetworkRangeInput

Fields
Input Field Description
azureFloatingIp - IPAddress Only relevant for AZURE HA sites
dhcpSettings - NetworkDhcpSettingsInput Only relevant for NATIVE, VLAN rangeType
gateway - IPAddress Only relevant for ROUTED_ROUTE rangeType
internetOnly - Boolean
localIp - IPAddress Only relevant for NATIVE, SECONDARY_NATIVE, DIRECT_ROUTE, VLAN rangeType
mdnsReflector - Boolean BETA - Only relevant for NATIVE, DIRECT_ROUTE and VLAN rangeType
name - String!
rangeType - SubnetType!
subnet - IPSubnet!
translatedSubnet - IPSubnet
vlan - Int Only relevant for VLAN network rangeType
Example
{
  "azureFloatingIp": IPAddress,
  "dhcpSettings": NetworkDhcpSettingsInput,
  "gateway": IPAddress,
  "internetOnly": false,
  "localIp": IPAddress,
  "mdnsReflector": true,
  "name": "abc123",
  "rangeType": "Direct",
  "subnet": IPSubnet,
  "translatedSubnet": IPSubnet,
  "vlan": 123
}

AddNetworkRangePayload

Fields
Field Name Description
networkRangeId - ID!
Example
{"networkRangeId": "4"}

AddPartnerAccessRequestInput

Beta
Description

Input for creating a partner account access request.

Fields
Input Field Description
accounts - [AccountRefInput!]

Target accounts.

When isAppliedOnAllFullyManagedAccounts is also true, these are not targets: the request is scoped to the fully-managed accounts under each of the given accounts, which are never granted access themselves.

admins - [AdminRefInput!] Admins included in the request.
expirationDate - DateTime! Expiration date.
groups - [UsersGroupRefInput]! User groups included in the request.
Default
[]
isAppliedOnAllFullyManagedAccounts - Boolean Apply to all fully managed accounts. On its own this means every fully-managed account under the requesting partner; combined with accounts it narrows the scope to those under the given account.
partner - AccountRefInput! Partner account.
partnerNote - String Note from the partner.
reason - String Reason for the request.
roles - [RBACRoleRefInput!]! Roles included in the request.
supportLink - String Support link.
Example
{
  "accounts": [AccountRefInput],
  "admins": [AdminRefInput],
  "expirationDate": "2007-12-03T10:15:30Z",
  "groups": [UsersGroupRefInput],
  "isAppliedOnAllFullyManagedAccounts": true,
  "partner": AccountRefInput,
  "partnerNote": "abc123",
  "reason": "xyz789",
  "roles": [RBACRoleRefInput],
  "supportLink": "abc123"
}

AddPartnerAccessRequestPayload

Beta
Description

Output for creating a partner account access request.

Fields
Field Name Description
invitation - [ExternalAccessRequest!]! Created access requests.
Example
{"invitation": [ExternalAccessRequest]}

AddSecondaryAwsVSocketInput

Beta
Fields
Input Field Description
eniIpAddress - IPAddress! The IP address of LAN interface
eniIpSubnet - NetworkSubnet! The subnet of the LAN interface
routeTableId - String! The ID of the LAN route table
site - SiteRefInput! Information about the site where the secondary AWS VSocket is being added.
Example
{
  "eniIpAddress": IPAddress,
  "eniIpSubnet": NetworkSubnet,
  "routeTableId": "xyz789",
  "site": SiteRefInput
}

AddSecondaryAwsVSocketPayload

Beta
Fields
Field Name Description
id - ID! The secondary socket id
Example
{"id": 4}

AddSecondaryAzureVSocketInput

Beta
Fields
Input Field Description
floatingIp - IPAddress! The floating IP address
interfaceIp - IPAddress! The IP address of the interface
site - SiteRefInput! Information about the site where the secondary Azure VSocket is being added.
Example
{
  "floatingIp": IPAddress,
  "interfaceIp": IPAddress,
  "site": SiteRefInput
}

AddSecondaryAzureVSocketPayload

Beta
Fields
Field Name Description
id - ID! The secondary socket id
Example
{"id": 4}

AddSecondaryGcpVSocketInput

Beta Rollout
Fields
Input Field Description
gcpConfig - GcpConfigInput!
site - SiteRefInput!
Example
{
  "gcpConfig": GcpConfigInput,
  "site": SiteRefInput
}

AddSecondaryGcpVSocketPayload

Beta Rollout
Fields
Field Name Description
socketInfo - GcpVSocketInfo!
Example
{"socketInfo": GcpVSocketInfo}

AddSecondaryKvmVSocketInput

Beta Rollout
Fields
Input Field Description
site - SiteRefInput!
Example
{"site": SiteRefInput}

AddSecondaryKvmVSocketPayload

Beta Rollout
Fields
Field Name Description
id - ID!
Example
{"id": 4}

AddServicePrincipalAdminInput

Fields
Input Field Description
email - String
managedRoles - [UpdateAdminRoleInput!]
name - String!
resellerRoles - [UpdateAdminRoleInput!]
Example
{
  "email": "xyz789",
  "managedRoles": [UpdateAdminRoleInput],
  "name": "abc123",
  "resellerRoles": [UpdateAdminRoleInput]
}

AddServicePrincipalAdminPayload

Fields
Field Name Description
adminID - ID!
Example
{"adminID": 4}

AddSiteLocationInput

Fields
Input Field Description
address - String optional address
city - String city name, must belong to the country or country and state
countryCode - String! country code
stateCode - String optional state code
timezone - String! time zone
Example
{
  "address": "xyz789",
  "city": "xyz789",
  "countryCode": "xyz789",
  "stateCode": "abc123",
  "timezone": "abc123"
}

AddSocketAddOnCardInput

Beta
Fields
Input Field Description
addOns - [SocketAddOnCardInput!]!
site - SiteRefInput!
Example
{
  "addOns": [SocketAddOnCardInput],
  "site": SiteRefInput
}

AddSocketAddOnCardPayload

Beta
Fields
Field Name Description
addOns - [SocketAddOnCard!]!
Example
{"addOns": [SocketAddOnCard]}

AddSocketSiteInput

Fields
Input Field Description
connectionType - SiteConnectionTypeEnum!
description - String
name - String! The name of the site
nativeNetworkRange - IPSubnet! The native range of the site
secondaryVSocket - SecondaryVSocketAtCreationInput Optional secondary vSocket configuration. When provided, the site is created as a vSocket High Availability (HA) site with a secondary socket in addition to the primary, in a single call. Provide exactly the block matching the site's connectionType (AWS / Azure / GCP vSocket). Beta EA
siteLocation - AddSiteLocationInput! The location of the site
siteType - SiteType! Valid values are: BRANCH, HEADQUARTERS, CLOUD_DC, and DATACENTER.
Default
BRANCH
translatedSubnet - IPSubnet
vlan - Vlan VLAN ID for native range
Example
{
  "connectionType": "SOCKET_AWS1500",
  "description": "xyz789",
  "name": "xyz789",
  "nativeNetworkRange": IPSubnet,
  "secondaryVSocket": SecondaryVSocketAtCreationInput,
  "siteLocation": AddSiteLocationInput,
  "siteType": "BRANCH",
  "translatedSubnet": IPSubnet,
  "vlan": Vlan
}

AddSocketSitePayload

Fields
Field Name Description
siteId - ID!
Example
{"siteId": 4}

AddStaticHostInput

Fields
Input Field Description
ip - IPAddress!
macAddress - String
name - String!
Example
{
  "ip": IPAddress,
  "macAddress": "xyz789",
  "name": "abc123"
}

AddStaticHostPayload

Fields
Field Name Description
hostId - ID!
Example
{"hostId": 4}

AddStoryCommentInput

Beta
Fields
Input Field Description
author - String The author of the comment
storyId - ID! The relevant Story
text - String! Enter the text for the XDR story comment
type - CommentType The comment type
Default
USER
Example
{
  "author": "xyz789",
  "storyId": "4",
  "text": "xyz789",
  "type": "MANAGED_SERVICE"
}

AddStoryCommentPayload

Beta
Fields
Field Name Description
comment - StoryComment! Add a new comment to the XDR story
Example
{"comment": StoryComment}

AddZtnaAppConnectorInput

Beta Rollout
Description

Input for creating a new ZTNA App Connector

Fields
Input Field Description
description - String Optional description of the ZTNA App Connector (max 250 characters)
groupName - String! name of the ZTNA App Connector group. if not exists, it will be created
location - ZtnaAppConnectorLocationInput! Physical location of the connector
name - String!
pooledBandwidthAllocation - [ZtnaAppConnectorPooledBandwidthAllocationInput!] Pooled bandwidth license allocations for the connector. Optional at the schema level for backward compatibility; each entry, when provided, must request positive bandwidth. Whether an allocation is required (commercial accounts), commercial-account eligibility, pool eligibility and shared capacity are validated by the allocation authority.
preferredPopLocation - ZtnaAppConnectorPreferredPopLocationInput! Preferred PoP locations settings
Default
{"automatic": "true", "preferredOnly": "false"}
type - ZtnaAppConnectorType! Connector type
Example
{
  "description": "abc123",
  "groupName": "abc123",
  "location": ZtnaAppConnectorLocationInput,
  "name": "abc123",
  "pooledBandwidthAllocation": [
    ZtnaAppConnectorPooledBandwidthAllocationInput
  ],
  "preferredPopLocation": ZtnaAppConnectorPreferredPopLocationInput,
  "type": "PHYSICAL"
}

AddZtnaAppConnectorPayload

Beta Rollout
Fields
Field Name Description
pooledBandwidthAllocation - [ZtnaAppConnectorPooledBandwidthAllocation!]! The pooled bandwidth allocations persisted for the created connector
ztnaAppConnector - ZtnaAppConnector!
Example
{
  "pooledBandwidthAllocation": [
    ZtnaAppConnectorPooledBandwidthAllocation
  ],
  "ztnaAppConnector": ZtnaAppConnector
}

AddZtnaAppConnectorsConfigurationInput

Beta Rollout
Description

Input for creating ZTNA App Connectors configuration. If not provided, default ranges will be used (100.64.0.0/16 for Private Apps Service, 100.65.0.0/16 for App Connector Service).

Fields
Input Field Description
appConnectorManagementRange - NetworkSubnet! App Connector Management range (must be /16, e.g., 100.65.0.0/16). Defaults to 100.65.0.0/16 if not provided.
privateAppsServiceRange - NetworkSubnet! Private Apps Service range (must be /16, e.g., 100.64.0.0/16). Defaults to 100.64.0.0/16 if not provided.
Example
{
  "appConnectorManagementRange": NetworkSubnet,
  "privateAppsServiceRange": NetworkSubnet
}

AddZtnaAppConnectorsConfigurationPayload

Beta Rollout
Description

Payload returned after creating ZTNA App Connectors configuration.

Fields
Field Name Description
ztnaAppConnectorsConfiguration - ZtnaAppConnectorsConfiguration! Created configuration
Example
{
  "ztnaAppConnectorsConfiguration": ZtnaAppConnectorsConfiguration
}

AddressValidationStatus

Beta
Values
Enum Value Description

INVALID

NA

VALID

Example
"INVALID"

Admin

Description

A CC2 administrator

Fields
Field Name Description
adminType - AdminType
allowedItems - [Entity!]
creationDate - DateTime
email - String
firstName - String
id - ID!
lastName - String
managedRoles - [AdminRole!]
mfaEnabled - Boolean
modifyDate - DateTime
nativeAccountID - ID
passwordNeverExpires - Boolean
presentUsageAndEvents - Boolean
resellerRoles - [AdminRole!]
role - UserRole
status - OperationalStatus
version - String!
Example
{
  "adminType": "LOGIN",
  "allowedItems": [Entity],
  "creationDate": "2007-12-03T10:15:30Z",
  "email": "abc123",
  "firstName": "abc123",
  "id": 4,
  "lastName": "xyz789",
  "managedRoles": [AdminRole],
  "mfaEnabled": true,
  "modifyDate": "2007-12-03T10:15:30Z",
  "nativeAccountID": "4",
  "passwordNeverExpires": false,
  "presentUsageAndEvents": false,
  "resellerRoles": [AdminRole],
  "role": "EDITOR",
  "status": "active",
  "version": "xyz789"
}

AdminRef

Beta
Description

A reference identifying the Admin object. ID: Unique Admin Identifier, Name: The Admin Name

Fields
Field Name Description
id - ID!
name - String!
Example
{"id": 4, "name": "xyz789"}

AdminRefInput

Fields
Input Field Description
by - ObjectRefBy!
input - String!
Example
{"by": "ID", "input": "xyz789"}

AdminRole

Fields
Field Name Description
allowedAccounts - [ID!]
allowedEntities - [Entity!]
role - RBACRole!
Example
{
  "allowedAccounts": ["4"],
  "allowedEntities": [Entity],
  "role": RBACRole
}

AdminType

Values
Enum Value Description

LOGIN

SERVICE_PRINCIPLE

Example
"LOGIN"

AdminsResult

Fields
Field Name Description
items - [Admin!]!
total - Int!
Example
{"items": [Admin], "total": 987}

AdspLicense

Beta
Description

App & Data Security Package (ADSP) service license details

Fields
Field Name Description
description - String
expirationDate - DateTime! License expiration date
id - ID The unique identifier for the license. If this value is not available, you can contact Cato Support, who may be able to assist in retrieving it.
lastUpdated - DateTime The date of the last update to the license
plan - LicensePlan! License plan type
sku - LicenseSku! The license SKU
startDate - DateTime License start date
status - LicenseStatus! License activation status
Example
{
  "description": "xyz789",
  "expirationDate": "2007-12-03T10:15:30Z",
  "id": "4",
  "lastUpdated": "2007-12-03T10:15:30Z",
  "plan": "COMMERCIAL",
  "sku": "CATO_ADSP",
  "startDate": "2007-12-03T10:15:30Z",
  "status": "ACTIVE"
}

AdvancedStringFilterInput

Beta
Fields
Input Field Description
eq - String
in - [String!]
neq - String
nin - [String!]
regex - String
Example
{
  "eq": "abc123",
  "in": ["abc123"],
  "neq": "abc123",
  "nin": ["abc123"],
  "regex": "xyz789"
}

AgenticThreatPreventionLicense

Beta
Description

Agentic Threat Prevention (AGTP) service license details

Fields
Field Name Description
description - String
expirationDate - DateTime! License expiration date
id - ID The unique identifier for the license. If this value is not available, you can contact Cato Support, who may be able to assist in retrieving it.
lastUpdated - DateTime The date of the last update to the license
plan - LicensePlan! License plan type
sku - LicenseSku! The license SKU
startDate - DateTime License start date
status - LicenseStatus! License activation status
Example
{
  "description": "abc123",
  "expirationDate": "2007-12-03T10:15:30Z",
  "id": "4",
  "lastUpdated": "2007-12-03T10:15:30Z",
  "plan": "COMMERCIAL",
  "sku": "CATO_ADSP",
  "startDate": "2007-12-03T10:15:30Z",
  "status": "ACTIVE"
}

AggregationType

Values
Enum Value Description

any

avg

changes

count

count_distinct

distinct

max

min

sum

uniq_set

Example
"any"

AiOperationsIncident

Beta
Fields
Field Name Description
accountOperationIncident - AccountOperationsIncident
analystFeedback - AnalystFeedback
categories - [IncidentCategory!]!
connectionType - ConnectionTypeEnum
criticality - Int
description - String
engineType - StoryEngineTypeEnum
entities - [IncidentEntity!]!
eventsGraphQuery - EventsGraphQuery
firstSignal - DateTime!
flowLastTime - DateTime! use 'lastSignal' instead
flowStartTime - DateTime! use 'firstSignal' instead
id - ID!
indication - String!
ioa - String! 'ioa' is deprecated, use 'indication' instead
lastSignal - DateTime!
muted - Boolean!
occurrences - Int
predictedThreatType - String
predictedVerdict - StoryVerdictEnum
producer - StoryProducerEnum! use 'producerType' instead
producerName - String!
producerType - StoryProducerEnum!
queryName - String
research - Boolean
riskScore - Int! 'riskScore' is deprecated, use 'criticality' instead
similarStoriesData - [SimilarStoryData!]!
site - SiteRef
siteName - String 'siteName' is deprecated, use 'site.name' instead
source - String
sourceIp - String
status - StoryStatusEnum
storyDuration - Int
ticket - String
type - AiOperationsIncidentTypeEnum
user - UserRef
vendor - VendorEnum
Example
{
  "accountOperationIncident": AccountOperationsIncident,
  "analystFeedback": AnalystFeedback,
  "categories": ["OPERATIONAL"],
  "connectionType": "Host",
  "criticality": 987,
  "description": "abc123",
  "engineType": "ANOMALY",
  "entities": [IncidentEntity],
  "eventsGraphQuery": EventsGraphQuery,
  "firstSignal": "2007-12-03T10:15:30Z",
  "flowLastTime": "2007-12-03T10:15:30Z",
  "flowStartTime": "2007-12-03T10:15:30Z",
  "id": 4,
  "indication": "abc123",
  "ioa": "xyz789",
  "lastSignal": "2007-12-03T10:15:30Z",
  "muted": false,
  "occurrences": 987,
  "predictedThreatType": "xyz789",
  "predictedVerdict": "Benign",
  "producer": "AnomalyEvents",
  "producerName": "xyz789",
  "producerType": "AnomalyEvents",
  "queryName": "xyz789",
  "research": false,
  "riskScore": 123,
  "similarStoriesData": [SimilarStoryData],
  "site": SiteRef,
  "siteName": "abc123",
  "source": "abc123",
  "sourceIp": "abc123",
  "status": "Closed",
  "storyDuration": 987,
  "ticket": "abc123",
  "type": "Account",
  "user": UserRef,
  "vendor": "CATO"
}

AiOperationsIncidentTypeEnum

Values
Enum Value Description

Account

Example
"Account"

AiOperationsPlaybook

Fields
Field Name Description
description - String!
link - String
title - String!
Example
{
  "description": "xyz789",
  "link": "xyz789",
  "title": "abc123"
}

AiSecurityAgentsEvent

Beta
Description

The sensitive content of a single agent event.

Fields
Field Name Description
appActivityType - String! The agent activity of the event: User Prompt, LLM Response, Tool Call or Tool Message.
content - String The sensitive content, not redacted. Null when the event has no sensitive content, or it was not stored or could not be loaded.
interactionId - ID! Unique identifier of the agent interaction, the same as interaction_id on the CDP event.
time - DateTime! UTC time of the event.
Example
{
  "appActivityType": "xyz789",
  "content": "abc123",
  "interactionId": 4,
  "time": "2007-12-03T10:15:30Z"
}

AiSecurityAgentsEventInput

Beta
Description

Input for fetching a single agent event's PSI.

Fields
Input Field Description
interactionId - ID! Interaction identifier of the agent event, as returned by session.
sessionId - ID! Identifier of the agent session.
Example
{"interactionId": "4", "sessionId": 4}

AiSecurityAgentsSessionInput

Beta
Description

Input for fetching an agent session's PSI.

Fields
Input Field Description
paging - PagingInput! Pagination parameters. The limit is at most 100.
Default
{"from": "0", "limit": "100"}
sessionId - ID! Identifier of the agent session.
Example
{
  "paging": PagingInput,
  "sessionId": "4"
}

AiSecurityAgentsSessionPayload

Beta
Description

A page of an agent session's PSI.

Fields
Field Name Description
items - [AiSecurityAgentsEvent!]! The agent events in this page.
paging - PageInfo! Pagination metadata.
Example
{
  "items": [AiSecurityAgentsEvent],
  "paging": PageInfo
}

AiSecurityAppsGuardRef

Beta
Description

Reference to an AI security guard.

Fields
Field Name Description
id - ID!
name - String!
Example
{
  "id": "4",
  "name": "xyz789"
}

AiSecurityAppsInvocation

Beta
Description

A single invocation (any call to or response from an LLM) intercepted by the AI Security guard.

Fields
Field Name Description
action - AiSecurityAppsInvocationAction! The enforcement outcome applied to this invocation.
data - AiSecurityAppsInvocationData! Invocation messages (original, not anonymized). Caller must have AiSecurityForAppsGuardsSensitive RBAC permission.
guard - AiSecurityAppsGuardRef The guard that received this invocation.
id - ID! Globally unique identifier for this invocation.
sessionId - ID Identifier grouping invocations that belong to the same conversation session.
timestamp - DateTime! UTC timestamp of when the invocation was intercepted.
tokenCount - Int! Total number of tokens in the invocation (prompt + completion).
Example
{
  "action": "ANONYMIZE",
  "data": AiSecurityAppsInvocationData,
  "guard": AiSecurityAppsGuardRef,
  "id": "4",
  "sessionId": 4,
  "timestamp": "2007-12-03T10:15:30Z",
  "tokenCount": 123
}

AiSecurityAppsInvocationAction

Beta
Description

The enforcement outcome applied to an invocation.

Values
Enum Value Description

ANONYMIZE

Sensitive content was masked before forwarding.

BLOCK

The request or response was blocked.

MONITOR

No action was taken — all matched rules are in monitor mode.

NONE

No action was taken — no rules matched.
Example
"ANONYMIZE"

AiSecurityAppsInvocationData

Beta
Description

The input data of an invocation.

Fields
Field Name Description
message - [AiSecurityAppsInvocationMessage!]!
Example
{"message": [AiSecurityAppsInvocationMessage]}

AiSecurityAppsInvocationInput

Beta
Fields
Input Field Description
id - ID!
Example
{"id": 4}

AiSecurityAppsInvocationMessage

Beta
Description

A single message within an invocation's chat.

Fields
Field Name Description
content - [AiSecurityAppsInvocationMessageContent!]! The content of the message.
role - String! The role of the message author (well-known values: USER, ASSISTANT, TOOL_CALL, TOOL_MESSAGE; custom roles are also possible).
Example
{
  "content": [AiSecurityAppsInvocationMessageContent],
  "role": "abc123"
}

AiSecurityAppsInvocationMessageContent

Beta
Description

A single content item within a message.

Fields
Field Name Description
text - String The text of the message.
Example
{"text": "abc123"}

AiSecurityAttributes

Beta
Fields
Field Name Description
dataUsagePolicy - AiSecurityDataUsagePolicy
risk - AiSecurityRisk
scope - AiSecurityScope
Example
{
  "dataUsagePolicy": AiSecurityDataUsagePolicy,
  "risk": "CRITICAL",
  "scope": "EMBEDDED"
}

AiSecurityDataProfileRef

Beta
Description

A reference identifying the AiSecurityDataProfile object. ID: Unique AiSecurityDataProfile Identifier, Name: The AiSecurityDataProfile Name TODO: rename data to Content

Fields
Field Name Description
id - ID!
name - String!
Example
{"id": 4, "name": "xyz789"}

AiSecurityDataUsagePolicy

Beta
Fields
Field Name Description
description - String
reference - String
referenceType - String
referenceUrl - String
type - AiSecurityDataUsagePolicyType
Example
{
  "description": "xyz789",
  "reference": "abc123",
  "referenceType": "abc123",
  "referenceUrl": "abc123",
  "type": "GENERAL_DATA_USAGE"
}

AiSecurityDataUsagePolicyType

Beta
Values
Enum Value Description

GENERAL_DATA_USAGE

NO_DATA_USAGE

NOT_MENTIONED

TRAINS_ON_DATA

Example
"GENERAL_DATA_USAGE"

AiSecurityEndUsersConversation

Beta
Description

A single end-user conversation's prompt sensitive information (PSI).

Fields
Field Name Description
llmResponse - String The LLM response, including any sensitive information it contains (not redacted). Null when the conversation has no response (e.g. the prompt was blocked before reaching the model).
userPrompt - String! The prompt as sent by the end user, including any sensitive information it contains (not redacted).
Example
{
  "llmResponse": "xyz789",
  "userPrompt": "abc123"
}

AiSecurityEndUsersSessionConversationInput

Beta
Description

Input for fetching a single end-user conversation's PSI by message id.

Fields
Input Field Description
appId - ID! Canonical id of the application the conversation belongs to.
messageId - ID! Identifier of the message (conversation) to fetch. Together with sessionId this identifies the conversation uniquely.
sessionId - ID! Identifier of the chat session the conversation belongs to.
userId - ID Optional end-user identifier. Used only to narrow the underlying lookup for performance; it does not scope the result per user — sessionId and messageId already identify the conversation uniquely, so omitting it never returns a different user's conversation.
Example
{
  "appId": "4",
  "messageId": "4",
  "sessionId": "4",
  "userId": 4
}

AiSecurityGuardRef

Beta
Description

A reference identifying the Guard object. ID: Unique Guard Identifier, Name: The Guard Name

Fields
Field Name Description
id - ID!
name - String!
Example
{"id": 4, "name": "abc123"}

AiSecurityHomegrownAppRef

Beta
Description

A reference identifying the Homegrown App object. ID: Unique App Identifier, Name: The App Name

Fields
Field Name Description
id - ID!
name - String!
Example
{"id": 4, "name": "xyz789"}

AiSecurityRisk

Beta
Values
Enum Value Description

CRITICAL

HIGH

LOW

MEDIUM

Example
"CRITICAL"

AiSecurityScope

Beta
Values
Enum Value Description

EMBEDDED

NATIVE

Example
"EMBEDDED"

AlertClassificationEnum

Values
Enum Value Description

FALSE_POSITIVE

INFORMATIONAL_EXPECTED_ACTIVITY

TRUE_POSITIVE

Example
"FALSE_POSITIVE"

AlertDeterminationEnum

Values
Enum Value Description

APT

COMPROMISED_ACCOUNT

CONFIRMED_ACTIVITY

LINE_OF_BUSINESS_APPLICATION

MALICIOUS_USER_ACTIVITY

MALWARE

MULTI_STAGED_ATTACK

NOT_ENOUGH_DATA_TO_VALIDATE

NOT_MALICIOUS

OTHER

PHISHING

SECURITY_PERSONNEL

SECURITY_TESTING

UNWANTED_SOFTWARE

Example
"APT"

AllocatedIpRef

Beta
Description

A reference identifying the AllocatedIp object. ID: Unique AllocatedIp Identifier, Name: The AllocatedIp Name

Fields
Field Name Description
id - ID!
name - String!
Example
{"id": 4, "name": "xyz789"}

AllocatedIpRefInput

Beta
Fields
Input Field Description
by - ObjectRefBy!
input - String!
Example
{"by": "ID", "input": "abc123"}

AllowlistRuleRef

Beta
Fields
Field Name Description
id - ID!
name - String!
Example
{
  "id": "4",
  "name": "xyz789"
}

AnalystFeedback

Beta
Fields
Field Name Description
additionalInfo - String
severity - SeverityEnum
threatClassification - String
threatType - AnalystFeedbackThreatType
verdict - StoryVerdictEnum
Example
{
  "additionalInfo": "abc123",
  "severity": "High",
  "threatClassification": "abc123",
  "threatType": AnalystFeedbackThreatType,
  "verdict": "Benign"
}

AnalystFeedbackInput

Beta
Fields
Input Field Description
additionalInfo - String Free text for the analyst to enter additional information about the XDR story
severity - SeverityEnum Enum for analyst to assign the severity of a Malicious XDR story
status - StoryStatusEnum Enum for the current status of the XDR story.
storyId - ID! The relevant Story
threatClassification - String More detailed description of the type of threat. For example, the Anonymizer threatType can be assigned the Bitorrent Client threatClassification.
threatType - StoryThreatType Type of threat for the XDR story that is assigned by the analyst
verdict - StoryVerdictEnum Enum for analyst to assign the verdict of the XDR story
Example
{
  "additionalInfo": "abc123",
  "severity": "High",
  "status": "Closed",
  "storyId": "4",
  "threatClassification": "xyz789",
  "threatType": StoryThreatType,
  "verdict": "Benign"
}

AnalystFeedbackPayload

Beta
Fields
Field Name Description
story - Story Data related to the actions and information that an analyst adds to the XDR story
Example
{"story": Story}

AnalystFeedbackThreatType

Beta
Fields
Field Name Description
details - String
name - String
recommendedAction - String
Example
{
  "details": "xyz789",
  "name": "abc123",
  "recommendedAction": "abc123"
}

AnalystInfo

Beta
Fields
Field Name Description
email - String Security analyst email address
name - String Security analyst name
Example
{
  "email": "abc123",
  "name": "abc123"
}

AnnotationType

Values
Enum Value Description

generic

Other events that are included in annotations

popChange

The site connects to a different PoP

remoteIPChange

The ISP IP address (remote IP) changed

roleChange

Change for HA status role
Example
"generic"

Anomalies

Beta
Fields
Field Name Description
id - ID!
firstSignal - DateTime!
lastSignal - DateTime!
engineType - StoryEngineTypeEnum
vendor - VendorEnum
producer - StoryProducerEnum! use 'producerType' instead
producerType - StoryProducerEnum!
producerName - String!
connectionType - ConnectionTypeEnum
indication - String!
queryName - String
source - String
criticality - Int
ticket - String
status - StoryStatusEnum
research - Boolean
siteName - String 'siteName' is deprecated, use 'site.name' instead
storyDuration - Int
description - String
analystFeedback - AnalystFeedback
site - SiteRef
user - UserRef
sourceIp - String
similarStoriesData - [SimilarStoryData!]!
predictedVerdict - StoryVerdictEnum
predictedThreatType - String
categories - [IncidentCategory!]!
entities - [IncidentEntity!]!
muted - Boolean!
direction - String
Possible Types
Anomalies Types

AnomalyStats

AnomalyEvents

Example
{
  "id": 4,
  "firstSignal": "2007-12-03T10:15:30Z",
  "lastSignal": "2007-12-03T10:15:30Z",
  "engineType": "ANOMALY",
  "vendor": "CATO",
  "producer": "AnomalyEvents",
  "producerType": "AnomalyEvents",
  "producerName": "abc123",
  "connectionType": "Host",
  "indication": "abc123",
  "queryName": "abc123",
  "source": "xyz789",
  "criticality": 987,
  "ticket": "xyz789",
  "status": "Closed",
  "research": false,
  "siteName": "xyz789",
  "storyDuration": 123,
  "description": "xyz789",
  "analystFeedback": AnalystFeedback,
  "site": SiteRef,
  "user": UserRef,
  "sourceIp": "xyz789",
  "similarStoriesData": [SimilarStoryData],
  "predictedVerdict": "Benign",
  "predictedThreatType": "abc123",
  "categories": ["OPERATIONAL"],
  "entities": [IncidentEntity],
  "muted": true,
  "direction": "abc123"
}

AnomalyEvents

Beta
Description

The AnomalyEvents object represents a data structure used in GraphQL queries or mutations, containing fields related to security anomalies, such as analyst feedback, connection type, criticality, description, and various identifiers and metrics, to provide detailed information about potential security incidents.

Fields
Field Name Description
analystFeedback - AnalystFeedback
breakdownField - String
categories - [IncidentCategory!]!
clientClass - [String!]!
connectionType - ConnectionTypeEnum
criticality - Int
description - String
deviceName - String
direction - String
drillDownFilter - [StoryDrillDownFilter!]
engineType - StoryEngineTypeEnum
entities - [IncidentEntity!]!
extra - [Extra!]
firstSignal - DateTime!
gaussian - Gaussian
id - ID!
indication - String!
lastSignal - DateTime!
logonName - String
macAddress - String
metric - Metric
metricDetails - MetricDetails
mitres - [Mitre!]
muted - Boolean!
os - String
predictedThreatType - String
predictedVerdict - StoryVerdictEnum
producer - StoryProducerEnum! use 'producerType' instead
producerName - String!
producerType - StoryProducerEnum!
queryName - String
research - Boolean
rules - [String!]
similarStoriesData - [SimilarStoryData!]!
site - SiteRef
siteName - String 'siteName' is deprecated, use 'site.name' instead
source - String
sourceIp - String
srcSiteId - String
status - StoryStatusEnum
storyDuration - Int
subjectType - String
targets - [IncidentTargetRep!]!
ticket - String
timeSeries - [IncidentTimeseries!]
user - UserRef
vendor - VendorEnum
Example
{
  "analystFeedback": AnalystFeedback,
  "breakdownField": "abc123",
  "categories": ["OPERATIONAL"],
  "clientClass": ["xyz789"],
  "connectionType": "Host",
  "criticality": 987,
  "description": "xyz789",
  "deviceName": "xyz789",
  "direction": "xyz789",
  "drillDownFilter": [StoryDrillDownFilter],
  "engineType": "ANOMALY",
  "entities": [IncidentEntity],
  "extra": [Extra],
  "firstSignal": "2007-12-03T10:15:30Z",
  "gaussian": Gaussian,
  "id": "4",
  "indication": "abc123",
  "lastSignal": "2007-12-03T10:15:30Z",
  "logonName": "xyz789",
  "macAddress": "xyz789",
  "metric": Metric,
  "metricDetails": MetricDetails,
  "mitres": [Mitre],
  "muted": true,
  "os": "abc123",
  "predictedThreatType": "xyz789",
  "predictedVerdict": "Benign",
  "producer": "AnomalyEvents",
  "producerName": "abc123",
  "producerType": "AnomalyEvents",
  "queryName": "abc123",
  "research": true,
  "rules": ["xyz789"],
  "similarStoriesData": [SimilarStoryData],
  "site": SiteRef,
  "siteName": "xyz789",
  "source": "xyz789",
  "sourceIp": "xyz789",
  "srcSiteId": "abc123",
  "status": "Closed",
  "storyDuration": 987,
  "subjectType": "xyz789",
  "targets": [IncidentTargetRep],
  "ticket": "abc123",
  "timeSeries": [IncidentTimeseries],
  "user": UserRef,
  "vendor": "CATO"
}

AnomalyStats

Beta
Description

The AnomalyStats object is a GraphQL type that represents statistical data related to anomalies, including fields such as analyst feedback, connection type, criticality, device information, and various metrics, along with associated metadata like timestamps, status, and predicted verdicts.

Fields
Field Name Description
analystFeedback - AnalystFeedback
breakdownField - String
categories - [IncidentCategory!]!
clientClass - [String!]!
connectionType - ConnectionTypeEnum
criticality - Int
description - String
deviceName - String
direction - String
drillDownFilter - [StoryDrillDownFilter!]
engineType - StoryEngineTypeEnum
entities - [IncidentEntity!]!
extra - [Extra!]
firstSignal - DateTime!
gaussian - Gaussian
id - ID!
indication - String!
lastSignal - DateTime!
logonName - String
macAddress - String
metric - Metric
metricDetails - MetricDetails
mitres - [Mitre!]
muted - Boolean!
os - String
predictedThreatType - String
predictedVerdict - StoryVerdictEnum
producer - StoryProducerEnum! use 'producerType' instead
producerName - String!
producerType - StoryProducerEnum!
queryName - String
research - Boolean
rules - [String!]
similarStoriesData - [SimilarStoryData!]!
site - SiteRef
siteName - String 'siteName' is deprecated, use 'site.name' instead
source - String
sourceIp - String
srcSiteId - String
status - StoryStatusEnum
storyDuration - Int
subjectType - String
targets - [IncidentTargetRep!]!
ticket - String
timeSeries - [IncidentTimeseries!]
user - UserRef
vendor - VendorEnum
Example
{
  "analystFeedback": AnalystFeedback,
  "breakdownField": "abc123",
  "categories": ["OPERATIONAL"],
  "clientClass": ["abc123"],
  "connectionType": "Host",
  "criticality": 123,
  "description": "abc123",
  "deviceName": "xyz789",
  "direction": "xyz789",
  "drillDownFilter": [StoryDrillDownFilter],
  "engineType": "ANOMALY",
  "entities": [IncidentEntity],
  "extra": [Extra],
  "firstSignal": "2007-12-03T10:15:30Z",
  "gaussian": Gaussian,
  "id": "4",
  "indication": "xyz789",
  "lastSignal": "2007-12-03T10:15:30Z",
  "logonName": "abc123",
  "macAddress": "xyz789",
  "metric": Metric,
  "metricDetails": MetricDetails,
  "mitres": [Mitre],
  "muted": false,
  "os": "abc123",
  "predictedThreatType": "abc123",
  "predictedVerdict": "Benign",
  "producer": "AnomalyEvents",
  "producerName": "xyz789",
  "producerType": "AnomalyEvents",
  "queryName": "abc123",
  "research": true,
  "rules": ["xyz789"],
  "similarStoriesData": [SimilarStoryData],
  "site": SiteRef,
  "siteName": "abc123",
  "source": "xyz789",
  "sourceIp": "xyz789",
  "srcSiteId": "abc123",
  "status": "Closed",
  "storyDuration": 123,
  "subjectType": "xyz789",
  "targets": [IncidentTargetRep],
  "ticket": "abc123",
  "timeSeries": [IncidentTimeseries],
  "user": UserRef,
  "vendor": "CATO"
}

AntiMalwareFileHashAction

Beta
Values
Enum Value Description

BLOCK

Block file download by filehash action

BYPASS

Bypass file download by filehash action
Example
"BLOCK"

AntiMalwareFileHashAddRuleDataInput

Beta
Fields
Input Field Description
action - AntiMalwareFileHashAction! The action when the file hash is matched: [BLOCK | BYPASS]
Default
BLOCK
description - String!
enabled - Boolean!
expirationDate - DateTime! The date when the block or bypass action expires
fileName - String! The name of the file
name - String!
sha256 - SHA_256! The file's unique SHA-256 hash identifier
Example
{
  "action": "BLOCK",
  "description": "xyz789",
  "enabled": true,
  "expirationDate": "2007-12-03T10:15:30Z",
  "fileName": "xyz789",
  "name": "xyz789",
  "sha256": SHA_256
}

AntiMalwareFileHashAddRuleInput

Beta
Fields
Input Field Description
at - PolicyRulePositionInput Position of the rule in the policy
rule - AntiMalwareFileHashAddRuleDataInput! Parameters for the rule you are adding
Example
{
  "at": PolicyRulePositionInput,
  "rule": AntiMalwareFileHashAddRuleDataInput
}

AntiMalwareFileHashPolicy

Beta
Fields
Field Name Description
audit - PolicyAudit
enabled - Boolean!
revision - PolicyRevision
rules - [AntiMalwareFileHashRulePayload!]!
sections - [PolicySectionPayload!]!
Example
{
  "audit": PolicyAudit,
  "enabled": true,
  "revision": PolicyRevision,
  "rules": [AntiMalwareFileHashRulePayload],
  "sections": [PolicySectionPayload]
}

AntiMalwareFileHashPolicyInput

Beta
Fields
Input Field Description
revision - PolicyRevisionInput A revision is a specific instance of the policy. Unpublished revisions are working copies of the policy available to a specific admin or a set of admins Published revisions are revisions that were applied to the account network. The last published revision is the active policy.
Example
{"revision": PolicyRevisionInput}

AntiMalwareFileHashPolicyMutationInput

Beta
Fields
Input Field Description
revision - PolicyMutationRevisionInput
Example
{"revision": PolicyMutationRevisionInput}

AntiMalwareFileHashPolicyMutationPayload

Beta
Fields
Field Name Description
errors - [PolicyMutationError!]!
policy - AntiMalwareFileHashPolicy
status - PolicyMutationStatus!
Example
{
  "errors": [PolicyMutationError],
  "policy": AntiMalwareFileHashPolicy,
  "status": "FAILURE"
}

AntiMalwareFileHashPolicyMutations

Beta
Example
{
  "addRule": AntiMalwareFileHashRuleMutationPayload,
  "addSection": PolicySectionMutationPayload,
  "createPolicyRevision": AntiMalwareFileHashPolicyMutationPayload,
  "discardPolicyRevision": AntiMalwareFileHashPolicyMutationPayload,
  "moveRule": AntiMalwareFileHashRuleMutationPayload,
  "moveSection": PolicySectionMutationPayload,
  "publishPolicyRevision": AntiMalwareFileHashPolicyMutationPayload,
  "removeRule": AntiMalwareFileHashRuleMutationPayload,
  "removeSection": PolicySectionMutationPayload,
  "updatePolicy": AntiMalwareFileHashPolicyMutationPayload,
  "updateRule": AntiMalwareFileHashRuleMutationPayload,
  "updateSection": PolicySectionMutationPayload
}

AntiMalwareFileHashPolicyQueries

Beta
Fields
Field Name Description
policy - AntiMalwareFileHashPolicy!
Arguments
revisions - PolicyRevisionsPayload
Example
{
  "policy": AntiMalwareFileHashPolicy,
  "revisions": PolicyRevisionsPayload
}

AntiMalwareFileHashPolicyUpdateInput

Beta
Fields
Input Field Description
state - PolicyToggleState
Example
{"state": "DISABLED"}

AntiMalwareFileHashRemoveRuleInput

Beta
Fields
Input Field Description
id - ID!
Example
{"id": "4"}

AntiMalwareFileHashRule

Beta
Fields
Field Name Description
action - AntiMalwareFileHashAction! The action when the file hash is matched: [BLOCK | BYPASS]
description - String! Description for the rule
enabled - Boolean! TRUE = Rule is enabled FALSE = Rule is disabled
expirationDate - DateTime! The date when the block or bypass action expires
fileName - String! The name of the file
id - ID! Rule ID
index - Int! Position / priority of rule
name - String! Name of the rule
section - PolicySectionInfo! Policy section where the rule is located
sha256 - SHA_256! The file's unique SHA-256 hash identifier
Example
{
  "action": "BLOCK",
  "description": "xyz789",
  "enabled": false,
  "expirationDate": "2007-12-03T10:15:30Z",
  "fileName": "xyz789",
  "id": 4,
  "index": 987,
  "name": "xyz789",
  "section": PolicySectionInfo,
  "sha256": SHA_256
}

AntiMalwareFileHashRuleMutationPayload

Beta
Fields
Field Name Description
errors - [PolicyMutationError!]!
rule - AntiMalwareFileHashRulePayload
status - PolicyMutationStatus!
Example
{
  "errors": [PolicyMutationError],
  "rule": AntiMalwareFileHashRulePayload,
  "status": "FAILURE"
}

AntiMalwareFileHashRulePayload

Beta
Fields
Field Name Description
audit - PolicyElementAudit!
properties - [PolicyElementPropertiesEnum!]!
rule - AntiMalwareFileHashRule!
Example
{
  "audit": PolicyElementAudit,
  "properties": ["ADDED"],
  "rule": AntiMalwareFileHashRule
}

AntiMalwareFileHashUpdateRuleDataInput

Beta
Fields
Input Field Description
action - AntiMalwareFileHashAction The action when the file hash is matched: [BLOCK | BYPASS]
description - String
enabled - Boolean
expirationDate - DateTime The date when the block or bypass action expires
fileName - String The name of the file
name - String
sha256 - SHA_256 The file's unique SHA-256 hash identifier
Example
{
  "action": "BLOCK",
  "description": "xyz789",
  "enabled": false,
  "expirationDate": "2007-12-03T10:15:30Z",
  "fileName": "abc123",
  "name": "xyz789",
  "sha256": SHA_256
}

AntiMalwareFileHashUpdateRuleInput

Beta
Fields
Input Field Description
id - ID!
rule - AntiMalwareFileHashUpdateRuleDataInput!
Example
{"id": 4, "rule": AntiMalwareFileHashUpdateRuleDataInput}

AntiTamperModeEnum

Beta
Description

Specifies the level of protection against tampering

Values
Enum Value Description

MONITOR

Tampering attempts are logged, but changes are permitted

OFF

No protection. Users are allowed to make changes

PROTECT

Changes are blocked. Users are not allowed to make modifications
Example
"MONITOR"

ApiKeyRef

Beta
Description

A reference identifying the ApiKey object. ID: Unique ApiKey Identifier, Name: The ApiKey Name

Fields
Field Name Description
id - ID!
name - String!
Example
{
  "id": "4",
  "name": "xyz789"
}

ApnMethod

Values
Enum Value Description

METHOD_AUTO

METHOD_MANUAL

METHOD_UNKNOWN

Example
"METHOD_AUTO"

AppStats

Fields
Field Name Description
from - DateTime
id - ID
records - [AppStatsRecord!]
Arguments
limit - Int
from - Int
to - DateTime
total - Int Number of records returned by records, so it never exceeds the requested limit. Use totalCount for the number of rows the query matches. use totalCount instead
totalCount - Int Number of rows the query matched, before limit/from are applied. Use it to page. null when the field was not selected and when the page holds no rows. Not to be confused with totals (the aggregated values of all the rows).
totals - Map
Example
{
  "from": "2007-12-03T10:15:30Z",
  "id": 4,
  "records": [AppStatsRecord],
  "to": "2007-12-03T10:15:30Z",
  "total": 987,
  "totalCount": 123,
  "totals": Map
}

AppStatsField

Fields
Field Name Description
name - AppStatsFieldName!
value - Value!
Example
{"name": "account_id", "value": StringValue}

AppStatsFieldName

Values
Enum Value Description

account_id

Account ID. CMA Name: Account ID

account_name

Account name. CMA Name: Account Name

action

Firewall decision on this flow (Block/Allow). CMA Name: Action

ad_name

Active Directory name. CMA Name: Ad Name

ai_proxy_rule_name

AI Proxy rule name. CMA Name: AI Proxy Rule Name

app

Application ID of the flow, in legacy format. CMA Name: Appid use application_id instead. Planned end-of-life (EoL) date: June 30, 2026.

application

The application identifier. CMA Name: Application use application_name instead. Planned end-of-life (EoL) date: June 30, 2026.

application_description

Description of the application. CMA Name: Application Description

application_id

Application ID of the flow. CMA Name: Application ID

application_name

Application of the flow. CMA Name: Application Name

application_risk_level

Application risk level based on the application risk score. CMA Name: Application Risk Level

application_risk_level_current_state

Current effective risk level of the application, derived from the current-state risk score. CMA Name: Application Risk Level Current State

application_risk_score

Risk score of the application, based on Cato's risk assessment. CMA Name: Application Risk Score

application_risk_score_current_state

Current effective risk score of the application (latest classification, not historical). CMA Name: Application Risk Score Current State

application_type

Application type (Custom, Private or System). CMA Name: Application Type

categories

Cato system category. CMA Name: Categories

categories_current_state

Current effective categories of the application. CMA Name: Categories Current State

category

Cato system category of the application. CMA Name: Category use categories instead. Planned end-of-life (EoL) date: June 30, 2026.

client_class

Type of process generating this traffic. CMA Name: Client Class

client_version

Socket or SDP Client version. CMA Name: Client Version

configured_host_name

For hosts configured with a static IP in the Cato Management Application, the host name. CMA Name: Configured Host Name

connection_origin

Connection Origin. CMA Name: Connection Origin

department

The user's department. CMA Name: Department

description

Application description. CMA Name: Description use application_description instead. Planned end-of-life (EoL) date: June 30, 2026.

dest_country

Country where the destination host is located (Internet traffic via public IP, WAN-bound traffic via the destination site or app connector). CMA Name: Destination Country

dest_domain

Destination domain (FQDN-like) based on the SSL SNI, HTTP host name, or DNS name. CMA Name: Dest Domain

dest_endpoint_type

Destination endpoint type (Site, SDP User, App Connector, or OOB). CMA Name: Destination Endpoint Type

dest_ip

For Internet traffic, destination host IP address. CMA Name: Dest Ip

dest_is_site_or_vpn

For WAN traffic, destination is site or SDP user. CMA Name: Dest Is Site Or Vpn

dest_port

Destination port. CMA Name: Destination Port

dest_site

Destination Site or VPN user ID (proto). CMA Name: Dest Site

dest_site_id

Unique internal Cato ID for the destination site or remote user. CMA Name: Dest Site ID

dest_site_name

For Internet traffic, destination host IP address. CMA Name: Dest Site Name

device_categories

Device Categories. CMA Name: Device Category

device_compliance_state

The device compliance state at the time of the event, as reported by Intune. CMA Name: Device Compliance State

device_id

Unique Cato ID for devices. CMA Name: Device ID

device_manufacturer

Device Manufacturer. CMA Name: Device Manufacturer

device_model

Device Model. CMA Name: Device Model

device_name

Name for device related to the traffic. CMA Name: Device Name

device_os_type

Device OS Type. CMA Name: Device OS Type

device_posture_profile

Device posture profiles. CMA Name: Device Posture Profile

device_type

Device Type. CMA Name: Device Type

discovered_app

Total SaaS apps discovered ever until the To in the timeframe. CMA Name: Discovered App

domain

Domain name. CMA Name: Domain Name use tld instead. Planned end-of-life (EoL) date: July 1, 2026.

downstream

Bytes sent from the destination to the host. CMA Name: Downstream

duration

Duration of the flow in ms. Only available for native flows data integration created in the CMA. Not available in the appstats or appstatsTimeSeries API.

egress_pop_name

Egress PoP Name. CMA Name: Egress PoP Name

egress_site_name

Egress Site Name for backhauling traffic. CMA Name: Egress Site

experience_score_level

Experience Score Level. CMA Name: Experience Score Level. Requires license: CATO_DEM

flow_bytes_downstream

Total bytes sent from the destination to the host for the entire flow. Only available for native flows data integration created in the CMA. Not available in the appstats or appstatsTimeSeries API.

flow_bytes_total

Total bytes (upstream + downstream) for the entire flow. Only available for native flows data integration created in the CMA. Not available in the appstats or appstatsTimeSeries API.

flow_bytes_upstream

Total bytes sent from the host to the destination for the entire flow. Only available for native flows data integration created in the CMA. Not available in the appstats or appstatsTimeSeries API.

flow_id

Uniquely identifies a traffic flow and enables correlation of events and other records related to the same flow. Only available for native flows data integration created in the CMA. Not available in the appstats or appstatsTimeSeries API.

flow_packets_downstream

Total packets sent from the destination to the host for the entire flow. Only available for native flows data integration created in the CMA. Not available in the appstats or appstatsTimeSeries API.

flow_packets_total

Total packets (upstream + downstream) for the entire flow. Only available for native flows data integration created in the CMA. Not available in the appstats or appstatsTimeSeries API.

flow_packets_upstream

Total packets sent from the host to the destination for the entire flow. Only available for native flows data integration created in the CMA. Not available in the appstats or appstatsTimeSeries API.

flow_start_time

Time stamp of the flow start (Linux epoch format). Only available for native flows data integration created in the CMA. Not available in the appstats or appstatsTimeSeries API.

flows_created

Number of flows created for this event. CMA Name: Flows Created

full_path_url

Full path URL application activity. CMA Name: Full Path URL

host_ip

IP address of host related to event. CMA Name: Host IP

host_mac

MAC address of host related to event. CMA Name: Host MAC Address

hq_location

Country of the application headquarters. CMA Name: Hq Location

http_error_rate

Percentage of HTTP errors. CMA Name: Http Failures. Requires license: CATO_DEM

http_latency

Average of HTTP connection time. CMA Name: Http Latency. Requires license: CATO_DEM

http_request_method

HTTP request method (ie. Get, Post). CMA Name: Request Method

ip

Local IP address of the host. CMA Name: Local Ip use src_ip/dest_ip instead. Planned end-of-life (EoL) date: July 1, 2026.

ip_protocol

Network protocol for this event. CMA Name: IP Protocol

is_cloud_app

Is the application a cloud application? (True/False). CMA Name: Is Cloud App

is_flow_terminated

Is last sample for flow. Only available for native flows data integration created in the CMA. Not available in the appstats or appstatsTimeSeries API.

is_sanctioned_app

Is the app for this event defined as a sanctioned app? (True/False). CMA Name: Is Sanctioned App

is_sanctioned_app_current_state

Current effective sanctioned-app state of the application (latest classification, not historical). CMA Name: Is Sanctioned App Current State

ISP_name

The ISP related to this event (when the IP address isn't provided by the ISP, then the event message is IP Addresses are assigned statically). CMA Name: ISP Name

job_title

The user's job title. CMA Name: Job Title

network_rule

Matched network rule. CMA Name: Network Rule

new_app

new_app. CMA Name: New App

os_version

OS version for the device (such as 14.3.0). CMA Name: OS Version

packets_downstream

Packets sent from the destination to the host. CMA Name: Packets Downstream

packets_total

Total packet count (upstream + downstream). CMA Name: Packets Total

packets_upstream

Packets sent from the host to the destination. CMA Name: Packets Upstream

pop_name

Name of PoP location. CMA Name: Pop Name

qos_priority

QoS Priority value. CMA Name: QoS Priority

risk_level

risk_level. CMA Name: Risk Level use application_risk_level instead. Planned end-of-life (EoL) date: June 30, 2026.

risk_score

The application risk score assigned by Cato. CMA Name: Risk Score use application_risk_score instead. Planned end-of-life (EoL) date: June 30, 2026.

sanctioned

Is the application defined as sanctioned?. CMA Name: Sanctioned use is_sanctioned_app instead. Planned end-of-life (EoL) date: June 30, 2026.

site_country

Country in which the source host is located. CMA Name: Site Country

site_state

State in which the source host is located. CMA Name: Site State

socket_interface

Name for Socket interface. CMA Name: Socket Interface

src_country

Country in which the source host is located (detected via public IP address). CMA Name: Source Country

src_country_code

Country Code of country in which the source host is located (detected via public IP address). CMA Name: Source Country Code

src_endpoint_type

Source endpoint type (Site, SDP User, App Connector, API Client, or OOB). CMA Name: Source Endpoint Type

src_ip

IP for host or Cato Client. CMA Name: Src Ip

src_is_site_or_vpn

Source type: site or remote user. CMA Name: Src Is Site Or Vpn

src_isp_ip

IP address provided by ISP to site or Client. CMA Name: Source ISP IP

src_port

Internal port number. CMA Name: Source Port

src_site_country_code

Site country code alpha2. CMA Name: Src Site Country Code

src_site_id

Unique internal Cato ID for the site or remote user. CMA Name: Src Site ID

src_site_name

Source site or remote user. CMA Name: Src Site Name

src_site_state

Site state code. CMA Name: Src Site State

subnet

Name of subnet as defined in Cato Management Application. CMA Name: Subnet use subnet_name instead. Planned end-of-life (EoL) date: June 30, 2026.

subnet_name

Name of subnet as defined in Cato Management Application. CMA Name: Subnet Name

tcp_acceleration

Shows if traffic was TCP accelerated or not. CMA Name: TCP Acceleration

tcp_latency

Average of TCP connection time. CMA Name: Tcp Handshake Duration. Requires license: CATO_DEM

time_str

Time stamp of the flow update (Human-readable format). Only available for native flows data integration created in the CMA. Not available in the appstats or appstatsTimeSeries API.

tld

Top Level Domain of the host name. CMA Name: Tld

tls_inspection

Shows if traffic was TLS inspected or not. CMA Name: TLS Inspection

tls_latency

Average of TLS connection time. CMA Name: Tls Handshake Duration. Requires license: CATO_DEM

tls_rule_name

TLS Inspection rule name. CMA Name: TLS Rule Name

traffic

The total sum of upstream and downstream data in bytes. CMA Name: Traffic

traffic_direction

Direction of network traffic for this event, values are inbound or outbound. CMA Name: Traffic Direction

translated_client_ip

Translated Client IP. CMA Name: Translated Client IP

translated_server_ip

Translated Server IP. CMA Name: Translated Server IP

ttfb

Average of Time To First Byte. CMA Name: Ttfb. Requires license: CATO_DEM

upstream

Bytes sent from the host to the destination. CMA Name: Upstream

user_awareness_method

Method used to get identity with User Awareness (such as Identity Agent). CMA Name: User Awareness Method

user_id

User ID. CMA Name: User ID

user_name

User that generated the event. CMA Name: User Name

vpn_user_email

User’s email address. CMA Name: SDP User Email

vpn_user_id

User ID. CMA Name: Vpn User ID use user_id instead. Planned end-of-life (EoL) date: June 30, 2026.
Example
"account_id"

AppStatsFilter

Fields
Input Field Description
fieldName - AppStatsFieldName!
operator - FilterOperator!
values - [String!]!
Example
{
  "fieldName": "account_id",
  "operator": "between",
  "values": ["abc123"]
}

AppStatsPostAggFilter

Fields
Input Field Description
aggType - AggregationType!
filter - AppStatsFilter!
Example
{"aggType": "any", "filter": AppStatsFilter}

AppStatsRecord

Fields
Field Name Description
fields - [AppStatsField!]
fieldsMap - Map fields in map format (see Map scalar)
fieldsUnitTypes - [UnitType!]
flatFields - [String!] Simplified fields, as array of name value tuples, e.g: [ [ "name", "val" ], [ "name2", "val2" ] ... ]
prevTimeFrame - Map
trends - Map
Example
{
  "fields": [AppStatsField],
  "fieldsMap": Map,
  "fieldsUnitTypes": ["bits"],
  "flatFields": ["abc123"],
  "prevTimeFrame": Map,
  "trends": Map
}

AppStatsSort

Fields
Input Field Description
alias - String
fieldName - AppStatsFieldName
order - DirectionEnum!
Example
{
  "alias": "xyz789",
  "fieldName": "account_id",
  "order": "asc"
}

AppStatsTimeSeries

Fields
Field Name Description
from - DateTime
granularity - Int
id - ID
timeseries - [Timeseries!]
Arguments
buckets - Int!
to - DateTime
Example
{
  "from": "2007-12-03T10:15:30Z",
  "granularity": 123,
  "id": "4",
  "timeseries": [Timeseries],
  "to": "2007-12-03T10:15:30Z"
}

AppTenantRestrictionActionEnum

Beta
Description

Allowed actions

Values
Enum Value Description

BYPASS

Do not inject any Headers nor Values for outgoing traffic

INJECT_HEADERS

Inject Headers and Values for outgoing traffic
Example
"BYPASS"

AppTenantRestrictionAddRuleDataInput

Beta
Fields
Input Field Description
action - AppTenantRestrictionActionEnum! The action applied by the App Tenant Restriction if the rule is matched
Default
INJECT_HEADERS
application - ApplicationRefInput! Applications for the rule (pre-defined)
description - String!
enabled - Boolean!
headers - [AppTenantRestrictionHeaderValueInput!]! Headers and Values to Inject
Default
[]
name - String!
schedule - PolicyScheduleInput! The time period specifying when the rule is enabled, otherwise it is disabled.
Default
{"activeOn": "ALWAYS"}
severity - AppTenantRestrictionSeverityEnum! Severity defined for the rule
Default
HIGH
source - AppTenantRestrictionSourceInput! Source traffic matching criteria. Logical ‘OR’ is applied within the criteria set. Logical ‘AND’ is applied between criteria sets.
Default
{
  "country": [],
  "floatingSubnet": [],
  "globalIpRange": [],
  "group": [],
  "host": [],
  "ip": [],
  "ipRange": [],
  "networkInterface": [],
  "site": [],
  "siteNetworkSubnet": [],
  "subnet": [],
  "systemGroup": [],
  "user": [],
  "usersGroup": []
}
Example
{
  "action": "BYPASS",
  "application": ApplicationRefInput,
  "description": "abc123",
  "enabled": false,
  "headers": [AppTenantRestrictionHeaderValueInput],
  "name": "abc123",
  "schedule": PolicyScheduleInput,
  "severity": "HIGH",
  "source": AppTenantRestrictionSourceInput
}

AppTenantRestrictionAddRuleInput

Beta
Fields
Input Field Description
at - PolicyRulePositionInput Position of the rule in the policy
rule - AppTenantRestrictionAddRuleDataInput! Parameters for the rule you are adding
Example
{
  "at": PolicyRulePositionInput,
  "rule": AppTenantRestrictionAddRuleDataInput
}

AppTenantRestrictionHeaderValue

Beta
Description

pair of header name and value

Fields
Field Name Description
name - HttpHeaderName! Header to inject
value - HttpHeaderValue! Value to inject
Example
{
  "name": HttpHeaderName,
  "value": HttpHeaderValue
}

AppTenantRestrictionHeaderValueInput

Beta
Description

pair of header name and value

Fields
Input Field Description
name - HttpHeaderName! Header to inject
value - HttpHeaderValue! Value to inject
Example
{
  "name": HttpHeaderName,
  "value": HttpHeaderValue
}

AppTenantRestrictionPolicy

Beta
Fields
Field Name Description
audit - PolicyAudit
enabled - Boolean!
revision - PolicyRevision
rules - [AppTenantRestrictionRulePayload!]!
sections - [PolicySectionPayload!]!
Example
{
  "audit": PolicyAudit,
  "enabled": true,
  "revision": PolicyRevision,
  "rules": [AppTenantRestrictionRulePayload],
  "sections": [PolicySectionPayload]
}

AppTenantRestrictionPolicyInput

Beta
Fields
Input Field Description
revision - PolicyRevisionInput A revision is a specific instance of the policy. Unpublished revisions are working copies of the policy available to a specific admin or a set of admins Published revisions are revisions that were applied to the account network. The last published revision is the active policy.
Example
{"revision": PolicyRevisionInput}

AppTenantRestrictionPolicyMutationInput

Beta
Fields
Input Field Description
revision - PolicyMutationRevisionInput
Example
{"revision": PolicyMutationRevisionInput}

AppTenantRestrictionPolicyMutationPayload

Beta
Fields
Field Name Description
errors - [PolicyMutationError!]!
policy - AppTenantRestrictionPolicy
status - PolicyMutationStatus!
Example
{
  "errors": [PolicyMutationError],
  "policy": AppTenantRestrictionPolicy,
  "status": "FAILURE"
}

AppTenantRestrictionPolicyMutations

Beta
Example
{
  "addRule": AppTenantRestrictionRuleMutationPayload,
  "addSection": PolicySectionMutationPayload,
  "createPolicyRevision": AppTenantRestrictionPolicyMutationPayload,
  "discardPolicyRevision": AppTenantRestrictionPolicyMutationPayload,
  "moveRule": AppTenantRestrictionRuleMutationPayload,
  "moveSection": PolicySectionMutationPayload,
  "publishPolicyRevision": AppTenantRestrictionPolicyMutationPayload,
  "removeRule": AppTenantRestrictionRuleMutationPayload,
  "removeSection": PolicySectionMutationPayload,
  "updatePolicy": AppTenantRestrictionPolicyMutationPayload,
  "updateRule": AppTenantRestrictionRuleMutationPayload,
  "updateSection": PolicySectionMutationPayload
}

AppTenantRestrictionPolicyQueries

Beta
Fields
Field Name Description
policy - AppTenantRestrictionPolicy!
revisions - PolicyRevisionsPayload
Example
{
  "policy": AppTenantRestrictionPolicy,
  "revisions": PolicyRevisionsPayload
}

AppTenantRestrictionPolicyUpdateInput

Beta
Fields
Input Field Description
state - PolicyToggleState
Example
{"state": "DISABLED"}

AppTenantRestrictionRemoveRuleInput

Beta
Fields
Input Field Description
id - ID!
Example
{"id": 4}

AppTenantRestrictionRule

Beta
Fields
Field Name Description
action - AppTenantRestrictionActionEnum! The action applied by the App Tenant Restriction if the rule is matched
application - ApplicationRef! Applications for the rule (pre-defined)
description - String! Description for the rule
enabled - Boolean! TRUE = Rule is enabled FALSE = Rule is disabled
headers - [AppTenantRestrictionHeaderValue!]! Headers and Values to Inject
id - ID! Rule ID
index - Int! Position / priority of rule
name - String! Name of the rule
schedule - PolicySchedule! The time period specifying when the rule is enabled, otherwise it is disabled.
section - PolicySectionInfo! Policy section where the rule is located
severity - AppTenantRestrictionSeverityEnum! Severity defined for the rule
source - AppTenantRestrictionSource! Source traffic matching criteria. Logical ‘OR’ is applied within the criteria set. Logical ‘AND’ is applied between criteria sets.
Example
{
  "action": "BYPASS",
  "application": ApplicationRef,
  "description": "xyz789",
  "enabled": true,
  "headers": [AppTenantRestrictionHeaderValue],
  "id": "4",
  "index": 987,
  "name": "xyz789",
  "schedule": PolicySchedule,
  "section": PolicySectionInfo,
  "severity": "HIGH",
  "source": AppTenantRestrictionSource
}

AppTenantRestrictionRuleMutationPayload

Beta
Fields
Field Name Description
errors - [PolicyMutationError!]!
revision - PolicyRevision
rule - AppTenantRestrictionRulePayload
status - PolicyMutationStatus!
Example
{
  "errors": [PolicyMutationError],
  "revision": PolicyRevision,
  "rule": AppTenantRestrictionRulePayload,
  "status": "FAILURE"
}

AppTenantRestrictionRulePayload

Beta
Fields
Field Name Description
audit - PolicyElementAudit!
metadata - PolicyElementMetadata
properties - [PolicyElementPropertiesEnum!]!
rule - AppTenantRestrictionRule!
Example
{
  "audit": PolicyElementAudit,
  "metadata": PolicyElementMetadata,
  "properties": ["ADDED"],
  "rule": AppTenantRestrictionRule
}

AppTenantRestrictionSeverityEnum

Beta
Description

Severity options

Values
Enum Value Description

HIGH

High severity

LOW

Low severity

MEDIUM

Medium severity
Example
"HIGH"

AppTenantRestrictionSource

Beta
Description

Returns the settings for Source of an App Tenant Restriction rule

Fields
Field Name Description
country - [CountryRef!]! Source country traffic matching criteria.
floatingSubnet - [FloatingSubnetRef!]! Floating Subnets (ie. Floating Ranges) are used to identify traffic exactly matched to the route advertised by BGP. They are not associated with a specific site. This is useful in scenarios such as active-standby high availability routed via BGP.
globalIpRange - [GlobalIpRangeRef!]! Globally defined IP range, IP and subnet objects
group - [GroupRef!]! Groups defined for your account
host - [HostRef!]! Hosts and servers defined for your account
ip - [IPAddress!]! IPv4 address
ipRange - [IpAddressRange!]! Multiple separate IP addresses or an IP range
networkInterface - [NetworkInterfaceRef!]! Network range defined for a site
site - [SiteRef!]! Site defined for the account
siteNetworkSubnet - [SiteNetworkSubnetRef!]! GlobalRange + InterfaceSubnet
subnet - [NetworkSubnet!]! Subnets and network ranges defined for the LAN interfaces of a site
systemGroup - [SystemGroupRef!]! Predefined Cato groups
user - [UserRef!]! Individual users defined for the account
usersGroup - [UsersGroupRef!]! Group of users
Example
{
  "country": [CountryRef],
  "floatingSubnet": [FloatingSubnetRef],
  "globalIpRange": [GlobalIpRangeRef],
  "group": [GroupRef],
  "host": [HostRef],
  "ip": [IPAddress],
  "ipRange": [IpAddressRange],
  "networkInterface": [NetworkInterfaceRef],
  "site": [SiteRef],
  "siteNetworkSubnet": [SiteNetworkSubnetRef],
  "subnet": [NetworkSubnet],
  "systemGroup": [SystemGroupRef],
  "user": [UserRef],
  "usersGroup": [UsersGroupRef]
}

AppTenantRestrictionSourceInput

Beta
Description

Input of the settings for Source of an App Tenant Restriction rule

Fields
Input Field Description
country - [CountryRefInput!]! Source country traffic matching criteria.
Default
[]
floatingSubnet - [FloatingSubnetRefInput!]! Floating Subnets (ie. Floating Ranges) are used to identify traffic exactly matched to the route advertised by BGP. They are not associated with a specific site. This is useful in scenarios such as active-standby high availability routed via BGP.
Default
[]
globalIpRange - [GlobalIpRangeRefInput!]! Globally defined IP range, IP and subnet objects
Default
[]
group - [GroupRefInput!]! Groups defined for your account
Default
[]
host - [HostRefInput!]! Hosts and servers defined for your account
Default
[]
ip - [IPAddress!]! IPv4 address
Default
[]
ipRange - [IpAddressRangeInput!]! Multiple separate IP addresses or an IP range
Default
[]
networkInterface - [NetworkInterfaceRefInput!]! Network range defined for a site
Default
[]
site - [SiteRefInput!]! Site defined for the account
Default
[]
siteNetworkSubnet - [SiteNetworkSubnetRefInput!]! GlobalRange + InterfaceSubnet
Default
[]
subnet - [NetworkSubnet!]! Subnets and network ranges defined for the LAN interfaces of a site
Default
[]
systemGroup - [SystemGroupRefInput!]! Predefined Cato groups
Default
[]
user - [UserRefInput!]! Individual users defined for the account
Default
[]
usersGroup - [UsersGroupRefInput!]! Group of users
Default
[]
Example
{
  "country": [CountryRefInput],
  "floatingSubnet": [FloatingSubnetRefInput],
  "globalIpRange": [GlobalIpRangeRefInput],
  "group": [GroupRefInput],
  "host": [HostRefInput],
  "ip": [IPAddress],
  "ipRange": [IpAddressRangeInput],
  "networkInterface": [NetworkInterfaceRefInput],
  "site": [SiteRefInput],
  "siteNetworkSubnet": [SiteNetworkSubnetRefInput],
  "subnet": [NetworkSubnet],
  "systemGroup": [SystemGroupRefInput],
  "user": [UserRefInput],
  "usersGroup": [UsersGroupRefInput]
}

AppTenantRestrictionSourceUpdateInput

Beta
Description

Input of the settings for Source of an App Tenant Restriction rule

Fields
Input Field Description
country - [CountryRefInput!] Source country traffic matching criteria.
floatingSubnet - [FloatingSubnetRefInput!] Floating Subnets (ie. Floating Ranges) are used to identify traffic exactly matched to the route advertised by BGP. They are not associated with a specific site. This is useful in scenarios such as active-standby high availability routed via BGP.
globalIpRange - [GlobalIpRangeRefInput!] Globally defined IP range, IP and subnet objects
group - [GroupRefInput!] Groups defined for your account
host - [HostRefInput!] Hosts and servers defined for your account
ip - [IPAddress!] IPv4 address
ipRange - [IpAddressRangeInput!] Multiple separate IP addresses or an IP range
networkInterface - [NetworkInterfaceRefInput!] Network range defined for a site
site - [SiteRefInput!] Site defined for the account
siteNetworkSubnet - [SiteNetworkSubnetRefInput!] GlobalRange + InterfaceSubnet
subnet - [NetworkSubnet!] Subnets and network ranges defined for the LAN interfaces of a site
systemGroup - [SystemGroupRefInput!] Predefined Cato groups
user - [UserRefInput!] Individual users defined for the account
usersGroup - [UsersGroupRefInput!] Group of users
Example
{
  "country": [CountryRefInput],
  "floatingSubnet": [FloatingSubnetRefInput],
  "globalIpRange": [GlobalIpRangeRefInput],
  "group": [GroupRefInput],
  "host": [HostRefInput],
  "ip": [IPAddress],
  "ipRange": [IpAddressRangeInput],
  "networkInterface": [NetworkInterfaceRefInput],
  "site": [SiteRefInput],
  "siteNetworkSubnet": [SiteNetworkSubnetRefInput],
  "subnet": [NetworkSubnet],
  "systemGroup": [SystemGroupRefInput],
  "user": [UserRefInput],
  "usersGroup": [UsersGroupRefInput]
}

AppTenantRestrictionUpdateRuleDataInput

Beta
Fields
Input Field Description
action - AppTenantRestrictionActionEnum The action applied by the App Tenant Restriction if the rule is matched
application - ApplicationRefInput Applications for the rule (pre-defined)
description - String
enabled - Boolean
headers - [AppTenantRestrictionHeaderValueInput!] Headers and Values to Inject
name - String
schedule - PolicyScheduleUpdateInput The time period specifying when the rule is enabled, otherwise it is disabled.
severity - AppTenantRestrictionSeverityEnum Severity defined for the rule
source - AppTenantRestrictionSourceUpdateInput Source traffic matching criteria. Logical ‘OR’ is applied within the criteria set. Logical ‘AND’ is applied between criteria sets.
Example
{
  "action": "BYPASS",
  "application": ApplicationRefInput,
  "description": "abc123",
  "enabled": true,
  "headers": [AppTenantRestrictionHeaderValueInput],
  "name": "xyz789",
  "schedule": PolicyScheduleUpdateInput,
  "severity": "HIGH",
  "source": AppTenantRestrictionSourceUpdateInput
}

AppTenantRestrictionUpdateRuleInput

Beta
Fields
Input Field Description
id - ID!
rule - AppTenantRestrictionUpdateRuleDataInput!
Example
{"id": 4, "rule": AppTenantRestrictionUpdateRuleDataInput}

ApplicationCategoryRef

Beta
Description

A reference identifying the ApplicationCategory object. ID: Unique ApplicationCategory Identifier, Name: The ApplicationCategory Name

Fields
Field Name Description
id - ID!
name - String!
Example
{
  "id": "4",
  "name": "xyz789"
}

ApplicationCategoryRefInput

Beta
Fields
Input Field Description
by - ObjectRefBy!
input - String!
Example
{"by": "ID", "input": "xyz789"}

ApplicationCategorySortInput

Beta Rollout
Fields
Input Field Description
name - SortOrderInput
Example
{"name": SortOrderInput}

ApplicationConnectorCatalogEntityRef

Beta
Description

A reference identifying the Application Connector object. ID: Unique Application Connector Identifier, Name: The Application Connector Name

Fields
Field Name Description
id - ID!
name - String!
Example
{
  "id": "4",
  "name": "xyz789"
}

ApplicationConnectorCatalogEntityRefFilterInput

Beta
Fields
Input Field Description
id - IdFilterInput
name - StringFilterInput
Example
{
  "id": IdFilterInput,
  "name": StringFilterInput
}

ApplicationConnectorCatalogEntityRefSortOrderInput

Beta
Fields
Input Field Description
id - SortOrderInput
name - SortOrderInput
Example
{
  "id": SortOrderInput,
  "name": SortOrderInput
}

ApplicationControlAccessMethod

Beta
Description

Access method matching configuration

Fields
Field Name Description
accessMethod - ApplicationControlAccessMethodType! Specifies the access method type
operator - ApplicationControlOperator! Defines the comparison operator
value - String Specifies the comparison value (used with all operators except IN)
valueSet - StringValueSetRef References a set of values (used only with IN operator)
Example
{
  "accessMethod": "USER_AGENT",
  "operator": "CONTAINS",
  "value": "abc123",
  "valueSet": StringValueSetRef
}

ApplicationControlAccessMethodInput

Beta
Description

Access method matching configuration

Fields
Input Field Description
accessMethod - ApplicationControlAccessMethodType! Specifies the access method type
Default
USER_AGENT
operator - ApplicationControlOperator! Defines the comparison operator
Default
IS
value - String Specifies the comparison value (used with all operators except IN)
valueSet - StringValueSetRefInput References a set of values (used only with IN operator)
Example
{
  "accessMethod": "USER_AGENT",
  "operator": "CONTAINS",
  "value": "abc123",
  "valueSet": StringValueSetRefInput
}

ApplicationControlAccessMethodType

Beta
Description

Application Control Access Method Type

Values
Enum Value Description

USER_AGENT

User agent identification method
Example
"USER_AGENT"

ApplicationControlAction

Beta
Description

Application Control Action

Values
Enum Value Description

ALLOW

Permit the action

BLOCK

Prevent the action

MONITOR

Log the action without enforcement

NOTIFY

Notify the user when the rule is triggered
Example
"ALLOW"

ApplicationControlActionConfig

Beta
Description

Configuration for application control action

Fields
Field Name Description
userNotification - [UserNotificationTemplateRef!]! User notification template to display when the rule is triggered. Applies to BLOCK and NOTIFY actions; the template's own type must match the rule's action. Only a single element is allowed.
Example
{"userNotification": [UserNotificationTemplateRef]}

ApplicationControlActionConfigInput

Beta
Description

Configuration for application control action

Fields
Input Field Description
userNotification - [UserNotificationTemplateRefInput!]! User notification template to display when the rule is triggered. Applies to BLOCK and NOTIFY actions; the template's own type must match the rule's action. Only a single element is allowed.
Default
[]
Example
{"userNotification": [UserNotificationTemplateRefInput]}

ApplicationControlActionConfigUpdateInput

Beta
Description

Configuration for application control action

Fields
Input Field Description
userNotification - [UserNotificationTemplateRefInput!] User notification template to display when the rule is triggered. Applies to BLOCK and NOTIFY actions; the template's own type must match the rule's action. Only a single element is allowed.
Example
{"userNotification": [UserNotificationTemplateRefInput]}

ApplicationControlActivity

Beta
Description

Activity matching configuration

Fields
Field Name Description
activity - ApplicationControlActivityRef! References the application control activity type
field - ApplicationControlActivityFieldRef References specific application control activity fields associated with the activity type
operator - ApplicationControlOperator Defines the operator used for comparisons
value - String Specifies the comparison value (used with all operators except IN)
valueSet - StringValueSetRef References a set of values (used only with IN operator)
Example
{
  "activity": ApplicationControlActivityRef,
  "field": ApplicationControlActivityFieldRef,
  "operator": "CONTAINS",
  "value": "xyz789",
  "valueSet": StringValueSetRef
}

ApplicationControlActivityFieldRef

Beta
Fields
Field Name Description
id - ID!
name - String!
Example
{"id": 4, "name": "xyz789"}

ApplicationControlActivityFieldRefInput

Beta
Fields
Input Field Description
by - ObjectRefBy!
input - String!
Example
{"by": "ID", "input": "abc123"}

ApplicationControlActivityInput

Beta
Description

Activity matching configuration

Fields
Input Field Description
activity - ApplicationControlActivityRefInput! References the application control activity type
field - ApplicationControlActivityFieldRefInput References specific application control activity fields associated with the activity type
operator - ApplicationControlOperator Defines the operator used for comparisons
Default
IS
value - String Specifies the comparison value (used with all operators except IN)
valueSet - StringValueSetRefInput References a set of values (used only with IN operator)
Example
{
  "activity": ApplicationControlActivityRefInput,
  "field": ApplicationControlActivityFieldRefInput,
  "operator": "CONTAINS",
  "value": "abc123",
  "valueSet": StringValueSetRefInput
}

ApplicationControlActivityRef

Beta
Fields
Field Name Description
id - ID!
name - String!
Example
{"id": 4, "name": "abc123"}

ApplicationControlActivityRefInput

Beta
Fields
Input Field Description
by - ObjectRefBy!
input - String!
Example
{"by": "ID", "input": "xyz789"}

ApplicationControlAddRuleDataInput

Beta
Fields
Input Field Description
applicationRule - ApplicationControlApplicationRuleInput Defines application control settings. Must only be used when ruleType is APPLICATION
Default
{
  "accessMethod": [],
  "action": "BLOCK",
  "actionConfig": {"userNotification": []},
  "application": {"applicationType": []},
  "applicationActivity": [],
  "applicationActivitySatisfy": "ANY",
  "applicationContext": {"applicationTenant": []},
  "applicationCriteria": {
    "attributes": {
      "complianceAttributes": {
        "hippa": "ANY",
        "isae3402": "ANY",
        "iso27001": "ANY",
        "pciDss": "ANY",
        "soc1": "ANY",
        "soc2": "ANY",
        "soc3": "ANY",
        "sox": "ANY"
      },
      "securityAttributes": {
        "auditTrail": "ANY",
        "encryptionAtRest": "ANY",
        "httpSecurityHeaders": "ANY",
        "mfa": "ANY",
        "rbac": "ANY",
        "rememberPassword": "ANY",
        "sso": "ANY",
        "tlsEnforcement": "ANY",
        "trustedCertificate": "ANY"
      }
    },
    "originCountry": [],
    "risk": []
  },
  "applicationCriteriaSatisfy": "ANY",
  "device": [],
  "schedule": {"activeOn": "ALWAYS"},
  "severity": "HIGH",
  "source": {
    "country": [],
    "floatingSubnet": [],
    "globalIpRange": [],
    "group": [],
    "host": [],
    "ip": [],
    "ipRange": [],
    "networkInterface": [],
    "site": [],
    "siteNetworkSubnet": [],
    "subnet": [],
    "systemGroup": [],
    "user": [],
    "usersGroup": []
  },
  "tracking": {
    "alert": {
      "enabled": "false",
      "frequency": "HOURLY",
      "mailingList": [],
      "subscriptionGroup": [],
      "webhook": []
    },
    "event": {"enabled": "false"}
  }
}
dataRule - ApplicationControlDataRuleInput Defines data control settings. Must only be used when ruleType is DATA
Default
{
  "accessMethod": [],
  "action": "BLOCK",
  "actionConfig": {"userNotification": []},
  "application": {"applicationType": []},
  "applicationActivity": [],
  "applicationActivitySatisfy": "ANY",
  "applicationContext": {"applicationTenant": []},
  "applicationCriteria": {
    "attributes": {
      "complianceAttributes": {
        "hippa": "ANY",
        "isae3402": "ANY",
        "iso27001": "ANY",
        "pciDss": "ANY",
        "soc1": "ANY",
        "soc2": "ANY",
        "soc3": "ANY",
        "sox": "ANY"
      },
      "securityAttributes": {
        "auditTrail": "ANY",
        "encryptionAtRest": "ANY",
        "httpSecurityHeaders": "ANY",
        "mfa": "ANY",
        "rbac": "ANY",
        "rememberPassword": "ANY",
        "sso": "ANY",
        "tlsEnforcement": "ANY",
        "trustedCertificate": "ANY"
      }
    },
    "originCountry": [],
    "risk": []
  },
  "applicationCriteriaSatisfy": "ANY",
  "device": [],
  "dlpProfile": {"contentProfile": [], "edmProfile": []},
  "fileAttribute": [],
  "fileAttributeSatisfy": "ANY",
  "schedule": {"activeOn": "ALWAYS"},
  "severity": "HIGH",
  "source": {
    "country": [],
    "floatingSubnet": [],
    "globalIpRange": [],
    "group": [],
    "host": [],
    "ip": [],
    "ipRange": [],
    "networkInterface": [],
    "site": [],
    "siteNetworkSubnet": [],
    "subnet": [],
    "systemGroup": [],
    "user": [],
    "usersGroup": []
  },
  "tracking": {
    "alert": {
      "enabled": "false",
      "frequency": "HOURLY",
      "mailingList": [],
      "subscriptionGroup": [],
      "webhook": []
    },
    "event": {"enabled": "false"}
  }
}
description - String!
enabled - Boolean!
fileRule - ApplicationControlFileRuleInput Defines file control settings. Must only be used when ruleType is FILE
Default
{
  "accessMethod": [],
  "action": "BLOCK",
  "actionConfig": {"userNotification": []},
  "application": {"applicationType": []},
  "applicationActivity": [],
  "applicationActivitySatisfy": "ANY",
  "applicationContext": {"applicationTenant": []},
  "applicationCriteria": {
    "attributes": {
      "complianceAttributes": {
        "hippa": "ANY",
        "isae3402": "ANY",
        "iso27001": "ANY",
        "pciDss": "ANY",
        "soc1": "ANY",
        "soc2": "ANY",
        "soc3": "ANY",
        "sox": "ANY"
      },
      "securityAttributes": {
        "auditTrail": "ANY",
        "encryptionAtRest": "ANY",
        "httpSecurityHeaders": "ANY",
        "mfa": "ANY",
        "rbac": "ANY",
        "rememberPassword": "ANY",
        "sso": "ANY",
        "tlsEnforcement": "ANY",
        "trustedCertificate": "ANY"
      }
    },
    "originCountry": [],
    "risk": []
  },
  "applicationCriteriaSatisfy": "ANY",
  "device": [],
  "fileAttribute": [],
  "fileAttributeSatisfy": "ANY",
  "schedule": {"activeOn": "ALWAYS"},
  "severity": "HIGH",
  "source": {
    "country": [],
    "floatingSubnet": [],
    "globalIpRange": [],
    "group": [],
    "host": [],
    "ip": [],
    "ipRange": [],
    "networkInterface": [],
    "site": [],
    "siteNetworkSubnet": [],
    "subnet": [],
    "systemGroup": [],
    "user": [],
    "usersGroup": []
  },
  "tracking": {
    "alert": {
      "enabled": "false",
      "frequency": "HOURLY",
      "mailingList": [],
      "subscriptionGroup": [],
      "webhook": []
    },
    "event": {"enabled": "false"}
  }
}
name - String!
ruleType - ApplicationControlRuleType! Determines which rule configuration to use. When set to APPLICATION, only applicationRule should be used. When set to DATA, only dataRule should be used. When set to FILE, only fileRule should be used
Default
APPLICATION
Example
{
  "applicationRule": ApplicationControlApplicationRuleInput,
  "dataRule": ApplicationControlDataRuleInput,
  "description": "abc123",
  "enabled": true,
  "fileRule": ApplicationControlFileRuleInput,
  "name": "abc123",
  "ruleType": "APPLICATION"
}

ApplicationControlAddRuleInput

Beta
Fields
Input Field Description
at - PolicyRulePositionInput Position of the rule in the policy
rule - ApplicationControlAddRuleDataInput! Parameters for the rule you are adding
Example
{
  "at": PolicyRulePositionInput,
  "rule": ApplicationControlAddRuleDataInput
}

ApplicationControlApplication

Beta
Description

Application matching configuration. Only one of the following fields should be filled - the others must remain empty.

Fields
Field Name Description
appCategory - ApplicationCategoryRef Cato category of applications which are dynamically updated by Cato
application - ApplicationRef Applications for the rule (pre-defined)
applicationType - [ApplicationType!]! Application types
customApp - CustomApplicationRef Custom (user-defined) applications
customCategory - CustomCategoryRef Custom Categories – Groups of objects such as predefined and custom applications, predefined and custom services, domains, FQDNs etc.
sanctionedAppsCategory - SanctionedAppsCategoryRef Sanctioned Cloud Applications - apps that are approved and generally represent an understood and acceptable level of risk in your organization.
Example
{
  "appCategory": ApplicationCategoryRef,
  "application": ApplicationRef,
  "applicationType": ["APPLICATION"],
  "customApp": CustomApplicationRef,
  "customCategory": CustomCategoryRef,
  "sanctionedAppsCategory": SanctionedAppsCategoryRef
}

ApplicationControlApplicationInput

Beta
Description

Application matching configuration. Only one of the following fields should be filled - the others must remain empty.

Fields
Input Field Description
appCategory - ApplicationCategoryRefInput Cato category of applications which are dynamically updated by Cato
application - ApplicationRefInput Applications for the rule (pre-defined)
applicationType - [ApplicationType!]! Application types
Default
[]
customApp - CustomApplicationRefInput Custom (user-defined) applications
customCategory - CustomCategoryRefInput Custom Categories – Groups of objects such as predefined and custom applications, predefined and custom services, domains, FQDNs etc.
sanctionedAppsCategory - SanctionedAppsCategoryRefInput Sanctioned Cloud Applications - apps that are approved and generally represent an understood and acceptable level of risk in your organization.
Example
{
  "appCategory": ApplicationCategoryRefInput,
  "application": ApplicationRefInput,
  "applicationType": ["APPLICATION"],
  "customApp": CustomApplicationRefInput,
  "customCategory": CustomCategoryRefInput,
  "sanctionedAppsCategory": SanctionedAppsCategoryRefInput
}

ApplicationControlApplicationRule

Beta
Description

Configuration for application-based control rules

Fields
Field Name Description
accessMethod - [ApplicationControlAccessMethod!]! Defines access method criteria with OR logic within sets and AND between sets
action - ApplicationControlAction! Defines the enforcement action when rule conditions match
actionConfig - ApplicationControlActionConfig! Configuration for application control action
application - ApplicationControlApplication! Defines application matching criteria with OR logic within sets and AND between sets
applicationActivity - [ApplicationControlActivity!]! Defines activity matching criteria using activitySatisfy logic within sets and AND between sets
applicationActivitySatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL activity criteria must match
applicationContext - ApplicationControlContext! Defines application context criteria with OR logic within sets and AND between sets
applicationCriteria - ApplicationControlCriteria! Defines custom criteria using applicationCriteriaSatisfy logic within sets and AND between sets
applicationCriteriaSatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL criteria must match
device - [DeviceProfileRef!]! Defines device profile criteria with OR logic within sets and AND between sets
schedule - PolicySchedule! Defines time periods when the rule is active
severity - ApplicationControlSeverity! Indicates the rule's severity level
source - ApplicationControlSource! Defines source traffic criteria with OR logic within sets and AND between sets
tracking - PolicyTracking! Specifies event logging and notification settings
Example
{
  "accessMethod": [ApplicationControlAccessMethod],
  "action": "ALLOW",
  "actionConfig": ApplicationControlActionConfig,
  "application": ApplicationControlApplication,
  "applicationActivity": [ApplicationControlActivity],
  "applicationActivitySatisfy": "ALL",
  "applicationContext": ApplicationControlContext,
  "applicationCriteria": ApplicationControlCriteria,
  "applicationCriteriaSatisfy": "ALL",
  "device": [DeviceProfileRef],
  "schedule": PolicySchedule,
  "severity": "HIGH",
  "source": ApplicationControlSource,
  "tracking": PolicyTracking
}

ApplicationControlApplicationRuleInput

Beta
Description

Configuration for application-based control rules

Fields
Input Field Description
accessMethod - [ApplicationControlAccessMethodInput!]! Defines access method criteria with OR logic within sets and AND between sets
Default
[]
action - ApplicationControlAction! Defines the enforcement action when rule conditions match
Default
BLOCK
actionConfig - ApplicationControlActionConfigInput! Configuration for application control action
Default
{"userNotification": []}
application - ApplicationControlApplicationInput! Defines application matching criteria with OR logic within sets and AND between sets
Default
{"applicationType": []}
applicationActivity - [ApplicationControlActivityInput!]! Defines activity matching criteria using activitySatisfy logic within sets and AND between sets
Default
[]
applicationActivitySatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL activity criteria must match
Default
ANY
applicationContext - ApplicationControlContextInput! Defines application context criteria with OR logic within sets and AND between sets
Default
{"applicationTenant": []}
applicationCriteria - ApplicationControlCriteriaInput! Defines custom criteria using applicationCriteriaSatisfy logic within sets and AND between sets
Default
{
  "attributes": {
    "complianceAttributes": {
      "hippa": "ANY",
      "isae3402": "ANY",
      "iso27001": "ANY",
      "pciDss": "ANY",
      "soc1": "ANY",
      "soc2": "ANY",
      "soc3": "ANY",
      "sox": "ANY"
    },
    "securityAttributes": {
      "auditTrail": "ANY",
      "encryptionAtRest": "ANY",
      "httpSecurityHeaders": "ANY",
      "mfa": "ANY",
      "rbac": "ANY",
      "rememberPassword": "ANY",
      "sso": "ANY",
      "tlsEnforcement": "ANY",
      "trustedCertificate": "ANY"
    }
  },
  "originCountry": [],
  "risk": []
}
applicationCriteriaSatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL criteria must match
Default
ANY
device - [DeviceProfileRefInput!]! Defines device profile criteria with OR logic within sets and AND between sets
Default
[]
schedule - PolicyScheduleInput! Defines time periods when the rule is active
Default
{"activeOn": "ALWAYS"}
severity - ApplicationControlSeverity! Indicates the rule's severity level
Default
HIGH
source - ApplicationControlSourceInput! Defines source traffic criteria with OR logic within sets and AND between sets
Default
{
  "country": [],
  "floatingSubnet": [],
  "globalIpRange": [],
  "group": [],
  "host": [],
  "ip": [],
  "ipRange": [],
  "networkInterface": [],
  "site": [],
  "siteNetworkSubnet": [],
  "subnet": [],
  "systemGroup": [],
  "user": [],
  "usersGroup": []
}
tracking - PolicyTrackingInput! Specifies event logging and notification settings
Default
{
  "alert": {
    "enabled": "false",
    "frequency": "HOURLY",
    "mailingList": [],
    "subscriptionGroup": [],
    "webhook": []
  },
  "event": {"enabled": "false"}
}
Example
{
  "accessMethod": [ApplicationControlAccessMethodInput],
  "action": "ALLOW",
  "actionConfig": ApplicationControlActionConfigInput,
  "application": ApplicationControlApplicationInput,
  "applicationActivity": [
    ApplicationControlActivityInput
  ],
  "applicationActivitySatisfy": "ALL",
  "applicationContext": ApplicationControlContextInput,
  "applicationCriteria": ApplicationControlCriteriaInput,
  "applicationCriteriaSatisfy": "ALL",
  "device": [DeviceProfileRefInput],
  "schedule": PolicyScheduleInput,
  "severity": "HIGH",
  "source": ApplicationControlSourceInput,
  "tracking": PolicyTrackingInput
}

ApplicationControlApplicationRuleUpdateInput

Beta
Description

Configuration for application-based control rules

Fields
Input Field Description
accessMethod - [ApplicationControlAccessMethodInput!] Defines access method criteria with OR logic within sets and AND between sets
action - ApplicationControlAction Defines the enforcement action when rule conditions match
actionConfig - ApplicationControlActionConfigUpdateInput Configuration for application control action
application - ApplicationControlApplicationUpdateInput Defines application matching criteria with OR logic within sets and AND between sets
applicationActivity - [ApplicationControlActivityInput!] Defines activity matching criteria using activitySatisfy logic within sets and AND between sets
applicationActivitySatisfy - ApplicationControlSatisfy Determines whether ANY or ALL activity criteria must match
applicationContext - ApplicationControlContextUpdateInput Defines application context criteria with OR logic within sets and AND between sets
applicationCriteria - ApplicationControlCriteriaUpdateInput Defines custom criteria using applicationCriteriaSatisfy logic within sets and AND between sets
applicationCriteriaSatisfy - ApplicationControlSatisfy Determines whether ANY or ALL criteria must match
device - [DeviceProfileRefInput!] Defines device profile criteria with OR logic within sets and AND between sets
schedule - PolicyScheduleUpdateInput Defines time periods when the rule is active
severity - ApplicationControlSeverity Indicates the rule's severity level
source - ApplicationControlSourceUpdateInput Defines source traffic criteria with OR logic within sets and AND between sets
tracking - PolicyTrackingUpdateInput Specifies event logging and notification settings
Example
{
  "accessMethod": [ApplicationControlAccessMethodInput],
  "action": "ALLOW",
  "actionConfig": ApplicationControlActionConfigUpdateInput,
  "application": ApplicationControlApplicationUpdateInput,
  "applicationActivity": [
    ApplicationControlActivityInput
  ],
  "applicationActivitySatisfy": "ALL",
  "applicationContext": ApplicationControlContextUpdateInput,
  "applicationCriteria": ApplicationControlCriteriaUpdateInput,
  "applicationCriteriaSatisfy": "ALL",
  "device": [DeviceProfileRefInput],
  "schedule": PolicyScheduleUpdateInput,
  "severity": "HIGH",
  "source": ApplicationControlSourceUpdateInput,
  "tracking": PolicyTrackingUpdateInput
}

ApplicationControlApplicationUpdateInput

Beta
Description

Application matching configuration. Only one of the following fields should be filled - the others must remain empty.

Fields
Input Field Description
appCategory - ApplicationCategoryRefInput Cato category of applications which are dynamically updated by Cato
application - ApplicationRefInput Applications for the rule (pre-defined)
applicationType - [ApplicationType!] Application types
customApp - CustomApplicationRefInput Custom (user-defined) applications
customCategory - CustomCategoryRefInput Custom Categories – Groups of objects such as predefined and custom applications, predefined and custom services, domains, FQDNs etc.
sanctionedAppsCategory - SanctionedAppsCategoryRefInput Sanctioned Cloud Applications - apps that are approved and generally represent an understood and acceptable level of risk in your organization.
Example
{
  "appCategory": ApplicationCategoryRefInput,
  "application": ApplicationRefInput,
  "applicationType": ["APPLICATION"],
  "customApp": CustomApplicationRefInput,
  "customCategory": CustomCategoryRefInput,
  "sanctionedAppsCategory": SanctionedAppsCategoryRefInput
}

ApplicationControlAttributeValue

Beta
Description

Attribute Value

Values
Enum Value Description

ANY

Any Value

NOT_SUPPORTED

Not Supported

SUPPORTED

Supported
Example
"ANY"

ApplicationControlAttributes

Beta
Description

Application attributes, such as compliance and security, see the app catalog for details

Fields
Field Name Description
complianceAttributes - ApplicationControlComplianceAttributes! Compliance attributes
securityAttributes - ApplicationControlSecurityAttributes! Security attributes
Example
{
  "complianceAttributes": ApplicationControlComplianceAttributes,
  "securityAttributes": ApplicationControlSecurityAttributes
}

ApplicationControlAttributesInput

Beta
Description

Application attributes, such as compliance and security, see the app catalog for details

Fields
Input Field Description
complianceAttributes - ApplicationControlComplianceAttributesInput! Compliance attributes
Default
{
  "hippa": "ANY",
  "isae3402": "ANY",
  "iso27001": "ANY",
  "pciDss": "ANY",
  "soc1": "ANY",
  "soc2": "ANY",
  "soc3": "ANY",
  "sox": "ANY"
}
securityAttributes - ApplicationControlSecurityAttributesInput! Security attributes
Default
{
  "auditTrail": "ANY",
  "encryptionAtRest": "ANY",
  "httpSecurityHeaders": "ANY",
  "mfa": "ANY",
  "rbac": "ANY",
  "rememberPassword": "ANY",
  "sso": "ANY",
  "tlsEnforcement": "ANY",
  "trustedCertificate": "ANY"
}
Example
{
  "complianceAttributes": ApplicationControlComplianceAttributesInput,
  "securityAttributes": ApplicationControlSecurityAttributesInput
}

ApplicationControlAttributesUpdateInput

Beta
Description

Application attributes, such as compliance and security, see the app catalog for details

Fields
Input Field Description
complianceAttributes - ApplicationControlComplianceAttributesUpdateInput Compliance attributes
securityAttributes - ApplicationControlSecurityAttributesUpdateInput Security attributes
Example
{
  "complianceAttributes": ApplicationControlComplianceAttributesUpdateInput,
  "securityAttributes": ApplicationControlSecurityAttributesUpdateInput
}

ApplicationControlComplianceAttributes

Beta
Description

Compliance attributes

Example
{
  "hippa": "ANY",
  "isae3402": "ANY",
  "iso27001": "ANY",
  "pciDss": "ANY",
  "soc1": "ANY",
  "soc2": "ANY",
  "soc3": "ANY",
  "sox": "ANY"
}

ApplicationControlComplianceAttributesInput

Beta
Description

Compliance attributes

Fields
Input Field Description
hippa - ApplicationControlAttributeValue! HIPAA
Default
ANY
isae3402 - ApplicationControlAttributeValue! ISAE 3402
Default
ANY
iso27001 - ApplicationControlAttributeValue! ISO 27001
Default
ANY
pciDss - ApplicationControlAttributeValue! PCI DSS
Default
ANY
soc1 - ApplicationControlAttributeValue! SOC 1
Default
ANY
soc2 - ApplicationControlAttributeValue! SOC 2
Default
ANY
soc3 - ApplicationControlAttributeValue! SOC 3
Default
ANY
sox - ApplicationControlAttributeValue! SOX
Default
ANY
Example
{
  "hippa": "ANY",
  "isae3402": "ANY",
  "iso27001": "ANY",
  "pciDss": "ANY",
  "soc1": "ANY",
  "soc2": "ANY",
  "soc3": "ANY",
  "sox": "ANY"
}

ApplicationControlComplianceAttributesUpdateInput

Beta
Description

Compliance attributes

Example
{
  "hippa": "ANY",
  "isae3402": "ANY",
  "iso27001": "ANY",
  "pciDss": "ANY",
  "soc1": "ANY",
  "soc2": "ANY",
  "soc3": "ANY",
  "sox": "ANY"
}

ApplicationControlConfig

Beta
Description

Additional attributes for application control

Fields
Field Name Description
dataControlEnabled - PolicyToggleState! Data Control Enabled
Example
{"dataControlEnabled": "DISABLED"}

ApplicationControlConfigInput

Beta
Fields
Input Field Description
dataControlEnabled - PolicyToggleState! Data Control Enabled
Default
ENABLED
Example
{"dataControlEnabled": "DISABLED"}

ApplicationControlContentTypeGroupRef

Beta
Fields
Field Name Description
id - ID!
name - String!
Example
{
  "id": "4",
  "name": "xyz789"
}

ApplicationControlContentTypeGroupRefInput

Beta
Fields
Input Field Description
by - ObjectRefBy!
input - String!
Example
{"by": "ID", "input": "abc123"}

ApplicationControlContentTypeRef

Beta
Fields
Field Name Description
id - ID!
name - String!
Example
{
  "id": "4",
  "name": "abc123"
}

ApplicationControlContentTypeRefInput

Beta
Fields
Input Field Description
by - ObjectRefBy!
input - String!
Example
{"by": "ID", "input": "abc123"}

ApplicationControlContext

Beta
Fields
Field Name Description
applicationTenant - [ApplicationControlTenant!]! Defines the name of the application tenant to which the policy rule applies
Example
{"applicationTenant": [ApplicationControlTenant]}

ApplicationControlContextInput

Beta
Fields
Input Field Description
applicationTenant - [ApplicationControlTenantInput!]! Defines the name of the application tenant to which the policy rule applies
Default
[]
Example
{"applicationTenant": [ApplicationControlTenantInput]}

ApplicationControlContextUpdateInput

Beta
Fields
Input Field Description
applicationTenant - [ApplicationControlTenantInput!] Defines the name of the application tenant to which the policy rule applies
Example
{"applicationTenant": [ApplicationControlTenantInput]}

ApplicationControlCriteria

Beta
Description

Application criteria configuration

Fields
Field Name Description
attributes - ApplicationControlAttributes! Application attributes, such as compliance and security, see the app catalog for details
originCountry - [CountryRef!]! Application registered country of origin
risk - [ApplicationControlRiskCriteria!]! Application risk
Example
{
  "attributes": ApplicationControlAttributes,
  "originCountry": [CountryRef],
  "risk": [ApplicationControlRiskCriteria]
}

ApplicationControlCriteriaInput

Beta
Description

Application criteria configuration

Fields
Input Field Description
attributes - ApplicationControlAttributesInput! Application attributes, such as compliance and security, see the app catalog for details
Default
{
  "complianceAttributes": {
    "hippa": "ANY",
    "isae3402": "ANY",
    "iso27001": "ANY",
    "pciDss": "ANY",
    "soc1": "ANY",
    "soc2": "ANY",
    "soc3": "ANY",
    "sox": "ANY"
  },
  "securityAttributes": {
    "auditTrail": "ANY",
    "encryptionAtRest": "ANY",
    "httpSecurityHeaders": "ANY",
    "mfa": "ANY",
    "rbac": "ANY",
    "rememberPassword": "ANY",
    "sso": "ANY",
    "tlsEnforcement": "ANY",
    "trustedCertificate": "ANY"
  }
}
originCountry - [CountryRefInput!]! Application registered country of origin
Default
[]
risk - [ApplicationControlRiskCriteriaInput!]! Application risk
Default
[]
Example
{
  "attributes": ApplicationControlAttributesInput,
  "originCountry": [CountryRefInput],
  "risk": [ApplicationControlRiskCriteriaInput]
}

ApplicationControlCriteriaUpdateInput

Beta
Description

Application criteria configuration

Fields
Input Field Description
attributes - ApplicationControlAttributesUpdateInput Application attributes, such as compliance and security, see the app catalog for details
originCountry - [CountryRefInput!] Application registered country of origin
risk - [ApplicationControlRiskCriteriaInput!] Application risk
Example
{
  "attributes": ApplicationControlAttributesUpdateInput,
  "originCountry": [CountryRefInput],
  "risk": [ApplicationControlRiskCriteriaInput]
}

ApplicationControlCriterionRef

Beta
Fields
Field Name Description
id - ID!
name - String!
Example
{
  "id": "4",
  "name": "xyz789"
}

ApplicationControlDataRule

Beta
Description

Configuration for data-based control rules

Fields
Field Name Description
accessMethod - [ApplicationControlAccessMethod!]! Defines access method criteria with OR logic within sets and AND between sets
action - ApplicationControlAction! Defines the enforcement action when rule conditions match
actionConfig - ApplicationControlActionConfig Configuration for application control action
application - ApplicationControlApplication! Defines application matching criteria with OR logic within sets and AND between sets
applicationActivity - [ApplicationControlActivity!]! Defines activity matching criteria using activitySatisfy logic within sets and AND between sets
applicationActivitySatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL activity criteria must match
applicationContext - ApplicationControlContext! Defines application context criteria with OR logic within sets and AND between sets
applicationCriteria - ApplicationControlCriteria! Defines custom criteria using applicationCriteriaSatisfy logic within sets and AND between sets
applicationCriteriaSatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL criteria must match
device - [DeviceProfileRef!]! Defines device profile criteria with OR logic within sets and AND between sets
dlpProfile - ApplicationControlDlpProfile! Specifies DLP profile matching criteria with OR logic within sets and AND between sets
fileAttribute - [ApplicationControlFileAttribute!]! Defines file attribute criteria using fileAttributeSatisfy logic within sets and AND between sets
fileAttributeSatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL file attribute criteria must match
schedule - PolicySchedule! Defines time periods when the rule is active
severity - ApplicationControlSeverity! Indicates the rule's severity level
source - ApplicationControlSource! Defines source traffic criteria with OR logic within sets and AND between sets
tracking - PolicyTracking! Specifies event logging and notification settings
Example
{
  "accessMethod": [ApplicationControlAccessMethod],
  "action": "ALLOW",
  "actionConfig": ApplicationControlActionConfig,
  "application": ApplicationControlApplication,
  "applicationActivity": [ApplicationControlActivity],
  "applicationActivitySatisfy": "ALL",
  "applicationContext": ApplicationControlContext,
  "applicationCriteria": ApplicationControlCriteria,
  "applicationCriteriaSatisfy": "ALL",
  "device": [DeviceProfileRef],
  "dlpProfile": ApplicationControlDlpProfile,
  "fileAttribute": [ApplicationControlFileAttribute],
  "fileAttributeSatisfy": "ALL",
  "schedule": PolicySchedule,
  "severity": "HIGH",
  "source": ApplicationControlSource,
  "tracking": PolicyTracking
}

ApplicationControlDataRuleInput

Beta
Description

Configuration for data-based control rules

Fields
Input Field Description
accessMethod - [ApplicationControlAccessMethodInput!]! Defines access method criteria with OR logic within sets and AND between sets
Default
[]
action - ApplicationControlAction! Defines the enforcement action when rule conditions match
Default
BLOCK
actionConfig - ApplicationControlActionConfigInput Configuration for application control action
Default
{"userNotification": []}
application - ApplicationControlApplicationInput! Defines application matching criteria with OR logic within sets and AND between sets
Default
{"applicationType": []}
applicationActivity - [ApplicationControlActivityInput!]! Defines activity matching criteria using activitySatisfy logic within sets and AND between sets
Default
[]
applicationActivitySatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL activity criteria must match
Default
ANY
applicationContext - ApplicationControlContextInput! Defines application context criteria with OR logic within sets and AND between sets
Default
{"applicationTenant": []}
applicationCriteria - ApplicationControlCriteriaInput! Defines custom criteria using applicationCriteriaSatisfy logic within sets and AND between sets
Default
{
  "attributes": {
    "complianceAttributes": {
      "hippa": "ANY",
      "isae3402": "ANY",
      "iso27001": "ANY",
      "pciDss": "ANY",
      "soc1": "ANY",
      "soc2": "ANY",
      "soc3": "ANY",
      "sox": "ANY"
    },
    "securityAttributes": {
      "auditTrail": "ANY",
      "encryptionAtRest": "ANY",
      "httpSecurityHeaders": "ANY",
      "mfa": "ANY",
      "rbac": "ANY",
      "rememberPassword": "ANY",
      "sso": "ANY",
      "tlsEnforcement": "ANY",
      "trustedCertificate": "ANY"
    }
  },
  "originCountry": [],
  "risk": []
}
applicationCriteriaSatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL criteria must match
Default
ANY
device - [DeviceProfileRefInput!]! Defines device profile criteria with OR logic within sets and AND between sets
Default
[]
dlpProfile - ApplicationControlDlpProfileInput! Specifies DLP profile matching criteria with OR logic within sets and AND between sets
Default
{"contentProfile": [], "edmProfile": []}
fileAttribute - [ApplicationControlFileAttributeInput!]! Defines file attribute criteria using fileAttributeSatisfy logic within sets and AND between sets
Default
[]
fileAttributeSatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL file attribute criteria must match
Default
ANY
schedule - PolicyScheduleInput! Defines time periods when the rule is active
Default
{"activeOn": "ALWAYS"}
severity - ApplicationControlSeverity! Indicates the rule's severity level
Default
HIGH
source - ApplicationControlSourceInput! Defines source traffic criteria with OR logic within sets and AND between sets
Default
{
  "country": [],
  "floatingSubnet": [],
  "globalIpRange": [],
  "group": [],
  "host": [],
  "ip": [],
  "ipRange": [],
  "networkInterface": [],
  "site": [],
  "siteNetworkSubnet": [],
  "subnet": [],
  "systemGroup": [],
  "user": [],
  "usersGroup": []
}
tracking - PolicyTrackingInput! Specifies event logging and notification settings
Default
{
  "alert": {
    "enabled": "false",
    "frequency": "HOURLY",
    "mailingList": [],
    "subscriptionGroup": [],
    "webhook": []
  },
  "event": {"enabled": "false"}
}
Example
{
  "accessMethod": [ApplicationControlAccessMethodInput],
  "action": "ALLOW",
  "actionConfig": ApplicationControlActionConfigInput,
  "application": ApplicationControlApplicationInput,
  "applicationActivity": [
    ApplicationControlActivityInput
  ],
  "applicationActivitySatisfy": "ALL",
  "applicationContext": ApplicationControlContextInput,
  "applicationCriteria": ApplicationControlCriteriaInput,
  "applicationCriteriaSatisfy": "ALL",
  "device": [DeviceProfileRefInput],
  "dlpProfile": ApplicationControlDlpProfileInput,
  "fileAttribute": [ApplicationControlFileAttributeInput],
  "fileAttributeSatisfy": "ALL",
  "schedule": PolicyScheduleInput,
  "severity": "HIGH",
  "source": ApplicationControlSourceInput,
  "tracking": PolicyTrackingInput
}

ApplicationControlDataRuleUpdateInput

Beta
Description

Configuration for data-based control rules

Fields
Input Field Description
accessMethod - [ApplicationControlAccessMethodInput!] Defines access method criteria with OR logic within sets and AND between sets
action - ApplicationControlAction Defines the enforcement action when rule conditions match
actionConfig - ApplicationControlActionConfigUpdateInput Configuration for application control action
application - ApplicationControlApplicationUpdateInput Defines application matching criteria with OR logic within sets and AND between sets
applicationActivity - [ApplicationControlActivityInput!] Defines activity matching criteria using activitySatisfy logic within sets and AND between sets
applicationActivitySatisfy - ApplicationControlSatisfy Determines whether ANY or ALL activity criteria must match
applicationContext - ApplicationControlContextUpdateInput Defines application context criteria with OR logic within sets and AND between sets
applicationCriteria - ApplicationControlCriteriaUpdateInput Defines custom criteria using applicationCriteriaSatisfy logic within sets and AND between sets
applicationCriteriaSatisfy - ApplicationControlSatisfy Determines whether ANY or ALL criteria must match
device - [DeviceProfileRefInput!] Defines device profile criteria with OR logic within sets and AND between sets
dlpProfile - ApplicationControlDlpProfileUpdateInput Specifies DLP profile matching criteria with OR logic within sets and AND between sets
fileAttribute - [ApplicationControlFileAttributeInput!] Defines file attribute criteria using fileAttributeSatisfy logic within sets and AND between sets
fileAttributeSatisfy - ApplicationControlSatisfy Determines whether ANY or ALL file attribute criteria must match
schedule - PolicyScheduleUpdateInput Defines time periods when the rule is active
severity - ApplicationControlSeverity Indicates the rule's severity level
source - ApplicationControlSourceUpdateInput Defines source traffic criteria with OR logic within sets and AND between sets
tracking - PolicyTrackingUpdateInput Specifies event logging and notification settings
Example
{
  "accessMethod": [ApplicationControlAccessMethodInput],
  "action": "ALLOW",
  "actionConfig": ApplicationControlActionConfigUpdateInput,
  "application": ApplicationControlApplicationUpdateInput,
  "applicationActivity": [
    ApplicationControlActivityInput
  ],
  "applicationActivitySatisfy": "ALL",
  "applicationContext": ApplicationControlContextUpdateInput,
  "applicationCriteria": ApplicationControlCriteriaUpdateInput,
  "applicationCriteriaSatisfy": "ALL",
  "device": [DeviceProfileRefInput],
  "dlpProfile": ApplicationControlDlpProfileUpdateInput,
  "fileAttribute": [ApplicationControlFileAttributeInput],
  "fileAttributeSatisfy": "ALL",
  "schedule": PolicyScheduleUpdateInput,
  "severity": "HIGH",
  "source": ApplicationControlSourceUpdateInput,
  "tracking": PolicyTrackingUpdateInput
}

ApplicationControlDlpProfile

Beta
Description

DLP profile configuration

Fields
Field Name Description
contentProfile - [DlpContentProfileRef!]! References DLP content matching profiles
edmProfile - [DlpEdmProfileRef!]! References DLP exact data matching profiles
Example
{
  "contentProfile": [DlpContentProfileRef],
  "edmProfile": [DlpEdmProfileRef]
}

ApplicationControlDlpProfileInput

Beta
Description

DLP profile configuration

Fields
Input Field Description
contentProfile - [DlpContentProfileRefInput!]! References DLP content matching profiles
Default
[]
edmProfile - [DlpEdmProfileRefInput!]! References DLP exact data matching profiles
Default
[]
Example
{
  "contentProfile": [DlpContentProfileRefInput],
  "edmProfile": [DlpEdmProfileRefInput]
}

ApplicationControlDlpProfileUpdateInput

Beta
Description

DLP profile configuration

Fields
Input Field Description
contentProfile - [DlpContentProfileRefInput!] References DLP content matching profiles
edmProfile - [DlpEdmProfileRefInput!] References DLP exact data matching profiles
Example
{
  "contentProfile": [DlpContentProfileRefInput],
  "edmProfile": [DlpEdmProfileRefInput]
}

ApplicationControlFileAttribute

Beta
Description

File attribute matching configuration

Fields
Field Name Description
contentTypeGroupValues - [ApplicationControlContentTypeGroupRef!]! Specifies the content types groups (used only with Content Type attribute)
contentTypeValues - [ApplicationControlContentTypeRef!]! Specifies the content types (used only with Content Type attribute)
fileAttribute - ApplicationControlFileAttributeType! Specifies the file attribute type
operator - ApplicationControlOperator! Defines the comparison operator
value - String Specifies the comparison value (used with all attributes except Content Type)
Example
{
  "contentTypeGroupValues": [
    ApplicationControlContentTypeGroupRef
  ],
  "contentTypeValues": [ApplicationControlContentTypeRef],
  "fileAttribute": "CONTENT_IS_ENCRYPTED",
  "operator": "CONTAINS",
  "value": "xyz789"
}

ApplicationControlFileAttributeInput

Beta
Description

File attribute matching configuration

Fields
Input Field Description
contentTypeGroupValues - [ApplicationControlContentTypeGroupRefInput!]! Specifies the content types groups (used only with Content Type attribute)
Default
[]
contentTypeValues - [ApplicationControlContentTypeRefInput!]! Specifies the content types (used only with Content Type attribute)
Default
[]
fileAttribute - ApplicationControlFileAttributeType! Specifies the file attribute type
Default
CONTENT_TYPE
operator - ApplicationControlOperator! Defines the comparison operator
Default
IS
value - String Specifies the comparison value (used with all attributes except Content Type)
Example
{
  "contentTypeGroupValues": [
    ApplicationControlContentTypeGroupRefInput
  ],
  "contentTypeValues": [
    ApplicationControlContentTypeRefInput
  ],
  "fileAttribute": "CONTENT_IS_ENCRYPTED",
  "operator": "CONTAINS",
  "value": "abc123"
}

ApplicationControlFileAttributeType

Beta
Description

Application Control File Attribute Type

Values
Enum Value Description

CONTENT_IS_ENCRYPTED

File encryption status

CONTENT_SIZE

File Size

CONTENT_TYPE

File type classification
Example
"CONTENT_IS_ENCRYPTED"

ApplicationControlFileRule

Beta
Description

Configuration for file-based control rules

Fields
Field Name Description
accessMethod - [ApplicationControlAccessMethod!]! Defines access method criteria with OR logic within sets and AND between sets
action - ApplicationControlAction! Defines the enforcement action when rule conditions match
actionConfig - ApplicationControlActionConfig Configuration for application control action
application - ApplicationControlApplication! Defines application matching criteria with OR logic within sets and AND between sets
applicationActivity - [ApplicationControlActivity!]! Defines activity matching criteria using activitySatisfy logic within sets and AND between sets
applicationActivitySatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL activity criteria must match
applicationContext - ApplicationControlContext! Defines application context criteria with OR logic within sets and AND between sets
applicationCriteria - ApplicationControlCriteria! Defines custom criteria using applicationCriteriaSatisfy logic within sets and AND between sets
applicationCriteriaSatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL criteria must match
device - [DeviceProfileRef!]! Defines device profile criteria with OR logic within sets and AND between sets
fileAttribute - [ApplicationControlFileAttribute!]! Defines file attribute criteria using fileAttributeSatisfy logic within sets and AND between sets
fileAttributeSatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL file attribute criteria must match
schedule - PolicySchedule! Defines time periods when the rule is active
severity - ApplicationControlSeverity! Indicates the rule's severity level
source - ApplicationControlSource! Defines source traffic criteria with OR logic within sets and AND between sets
tracking - PolicyTracking! Specifies event logging and notification settings
Example
{
  "accessMethod": [ApplicationControlAccessMethod],
  "action": "ALLOW",
  "actionConfig": ApplicationControlActionConfig,
  "application": ApplicationControlApplication,
  "applicationActivity": [ApplicationControlActivity],
  "applicationActivitySatisfy": "ALL",
  "applicationContext": ApplicationControlContext,
  "applicationCriteria": ApplicationControlCriteria,
  "applicationCriteriaSatisfy": "ALL",
  "device": [DeviceProfileRef],
  "fileAttribute": [ApplicationControlFileAttribute],
  "fileAttributeSatisfy": "ALL",
  "schedule": PolicySchedule,
  "severity": "HIGH",
  "source": ApplicationControlSource,
  "tracking": PolicyTracking
}

ApplicationControlFileRuleInput

Beta
Description

Configuration for file-based control rules

Fields
Input Field Description
accessMethod - [ApplicationControlAccessMethodInput!]! Defines access method criteria with OR logic within sets and AND between sets
Default
[]
action - ApplicationControlAction! Defines the enforcement action when rule conditions match
Default
BLOCK
actionConfig - ApplicationControlActionConfigInput Configuration for application control action
Default
{"userNotification": []}
application - ApplicationControlApplicationInput! Defines application matching criteria with OR logic within sets and AND between sets
Default
{"applicationType": []}
applicationActivity - [ApplicationControlActivityInput!]! Defines activity matching criteria using activitySatisfy logic within sets and AND between sets
Default
[]
applicationActivitySatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL activity criteria must match
Default
ANY
applicationContext - ApplicationControlContextInput! Defines application context criteria with OR logic within sets and AND between sets
Default
{"applicationTenant": []}
applicationCriteria - ApplicationControlCriteriaInput! Defines custom criteria using applicationCriteriaSatisfy logic within sets and AND between sets
Default
{
  "attributes": {
    "complianceAttributes": {
      "hippa": "ANY",
      "isae3402": "ANY",
      "iso27001": "ANY",
      "pciDss": "ANY",
      "soc1": "ANY",
      "soc2": "ANY",
      "soc3": "ANY",
      "sox": "ANY"
    },
    "securityAttributes": {
      "auditTrail": "ANY",
      "encryptionAtRest": "ANY",
      "httpSecurityHeaders": "ANY",
      "mfa": "ANY",
      "rbac": "ANY",
      "rememberPassword": "ANY",
      "sso": "ANY",
      "tlsEnforcement": "ANY",
      "trustedCertificate": "ANY"
    }
  },
  "originCountry": [],
  "risk": []
}
applicationCriteriaSatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL criteria must match
Default
ANY
device - [DeviceProfileRefInput!]! Defines device profile criteria with OR logic within sets and AND between sets
Default
[]
fileAttribute - [ApplicationControlFileAttributeInput!]! Defines file attribute criteria using fileAttributeSatisfy logic within sets and AND between sets
Default
[]
fileAttributeSatisfy - ApplicationControlSatisfy! Determines whether ANY or ALL file attribute criteria must match
Default
ANY
schedule - PolicyScheduleInput! Defines time periods when the rule is active
Default
{"activeOn": "ALWAYS"}
severity - ApplicationControlSeverity! Indicates the rule's severity level
Default
HIGH
source - ApplicationControlSourceInput! Defines source traffic criteria with OR logic within sets and AND between sets
Default
{
  "country": [],
  "floatingSubnet": [],
  "globalIpRange": [],
  "group": [],
  "host": [],
  "ip": [],
  "ipRange": [],
  "networkInterface": [],
  "site": [],
  "siteNetworkSubnet": [],
  "subnet": [],
  "systemGroup": [],
  "user": [],
  "usersGroup": []
}
tracking - PolicyTrackingInput! Specifies event logging and notification settings
Default
{
  "alert": {
    "enabled": "false",
    "frequency": "HOURLY",
    "mailingList": [],
    "subscriptionGroup": [],
    "webhook": []
  },
  "event": {"enabled": "false"}
}
Example
{
  "accessMethod": [ApplicationControlAccessMethodInput],
  "action": "ALLOW",
  "actionConfig": ApplicationControlActionConfigInput,
  "application": ApplicationControlApplicationInput,
  "applicationActivity": [
    ApplicationControlActivityInput
  ],
  "applicationActivitySatisfy": "ALL",
  "applicationContext": ApplicationControlContextInput,
  "applicationCriteria": ApplicationControlCriteriaInput,
  "applicationCriteriaSatisfy": "ALL",
  "device": [DeviceProfileRefInput],
  "fileAttribute": [ApplicationControlFileAttributeInput],
  "fileAttributeSatisfy": "ALL",
  "schedule": PolicyScheduleInput,
  "severity": "HIGH",
  "source": ApplicationControlSourceInput,
  "tracking": PolicyTrackingInput
}

ApplicationControlFileRuleUpdateInput

Beta
Description

Configuration for file-based control rules

Fields
Input Field Description
accessMethod - [ApplicationControlAccessMethodInput!] Defines access method criteria with OR logic within sets and AND between sets
action - ApplicationControlAction Defines the enforcement action when rule conditions match
actionConfig - ApplicationControlActionConfigUpdateInput Configuration for application control action
application - ApplicationControlApplicationUpdateInput Defines application matching criteria with OR logic within sets and AND between sets
applicationActivity - [ApplicationControlActivityInput!] Defines activity matching criteria using activitySatisfy logic within sets and AND between sets
applicationActivitySatisfy - ApplicationControlSatisfy Determines whether ANY or ALL activity criteria must match
applicationContext - ApplicationControlContextUpdateInput Defines application context criteria with OR logic within sets and AND between sets
applicationCriteria - ApplicationControlCriteriaUpdateInput Defines custom criteria using applicationCriteriaSatisfy logic within sets and AND between sets
applicationCriteriaSatisfy - ApplicationControlSatisfy Determines whether ANY or ALL criteria must match
device - [DeviceProfileRefInput!] Defines device profile criteria with OR logic within sets and AND between sets
fileAttribute - [ApplicationControlFileAttributeInput!] Defines file attribute criteria using fileAttributeSatisfy logic within sets and AND between sets
fileAttributeSatisfy - ApplicationControlSatisfy Determines whether ANY or ALL file attribute criteria must match
schedule - PolicyScheduleUpdateInput Defines time periods when the rule is active
severity - ApplicationControlSeverity Indicates the rule's severity level
source - ApplicationControlSourceUpdateInput Defines source traffic criteria with OR logic within sets and AND between sets
tracking - PolicyTrackingUpdateInput Specifies event logging and notification settings
Example
{
  "accessMethod": [ApplicationControlAccessMethodInput],
  "action": "ALLOW",
  "actionConfig": ApplicationControlActionConfigUpdateInput,
  "application": ApplicationControlApplicationUpdateInput,
  "applicationActivity": [
    ApplicationControlActivityInput
  ],
  "applicationActivitySatisfy": "ALL",
  "applicationContext": ApplicationControlContextUpdateInput,
  "applicationCriteria": ApplicationControlCriteriaUpdateInput,
  "applicationCriteriaSatisfy": "ALL",
  "device": [DeviceProfileRefInput],
  "fileAttribute": [ApplicationControlFileAttributeInput],
  "fileAttributeSatisfy": "ALL",
  "schedule": PolicyScheduleUpdateInput,
  "severity": "HIGH",
  "source": ApplicationControlSourceUpdateInput,
  "tracking": PolicyTrackingUpdateInput
}

ApplicationControlOperator

Beta
Description

Application Control Operator

Values
Enum Value Description

CONTAINS

Substring match comparison

GREATER_THAN

Numerical greater than comparison

IN

Set membership comparison

IS

Exact match comparison

LESS_THAN_OR_EQUAL

Numerical less than or equal comparison
Example
"CONTAINS"

ApplicationControlPolicy

Beta
Fields
Field Name Description
additionalAttributes - ApplicationControlConfig
audit - PolicyAudit
enabled - Boolean!
revision - PolicyRevision
rules - [ApplicationControlRulePayload!]!
sections - [PolicySectionPayload!]!
Example
{
  "additionalAttributes": ApplicationControlConfig,
  "audit": PolicyAudit,
  "enabled": false,
  "revision": PolicyRevision,
  "rules": [ApplicationControlRulePayload],
  "sections": [PolicySectionPayload]
}

ApplicationControlPolicyInput

Beta
Fields
Input Field Description
revision - PolicyRevisionInput A revision is a specific instance of the policy. Unpublished revisions are working copies of the policy available to a specific admin or a set of admins Published revisions are revisions that were applied to the account network. The last published revision is the active policy.
Example
{"revision": PolicyRevisionInput}

ApplicationControlPolicyMutationInput

Beta
Fields
Input Field Description
revision - PolicyMutationRevisionInput
Example
{"revision": PolicyMutationRevisionInput}

ApplicationControlPolicyMutationPayload

Beta
Fields
Field Name Description
errors - [PolicyMutationError!]!
policy - ApplicationControlPolicy
status - PolicyMutationStatus!
Example
{
  "errors": [PolicyMutationError],
  "policy": ApplicationControlPolicy,
  "status": "FAILURE"
}

ApplicationControlPolicyMutations

Beta
Example
{
  "addRule": ApplicationControlRuleMutationPayload,
  "addSection": PolicySectionMutationPayload,
  "createPolicyRevision": ApplicationControlPolicyMutationPayload,
  "discardPolicyRevision": ApplicationControlPolicyMutationPayload,
  "moveRule": ApplicationControlRuleMutationPayload,
  "moveSection": PolicySectionMutationPayload,
  "publishPolicyRevision": ApplicationControlPolicyMutationPayload,
  "removeRule": ApplicationControlRuleMutationPayload,
  "removeSection": PolicySectionMutationPayload,
  "updatePolicy": ApplicationControlPolicyMutationPayload,
  "updateRule": ApplicationControlRuleMutationPayload,
  "updateSection": PolicySectionMutationPayload
}

ApplicationControlPolicyQueries

Beta
Fields
Field Name Description
policy - ApplicationControlPolicy!
Arguments
revisions - PolicyRevisionsPayload
Example
{
  "policy": ApplicationControlPolicy,
  "revisions": PolicyRevisionsPayload
}

ApplicationControlPolicyUpdateInput

Beta
Fields
Input Field Description
additionalAttributes - ApplicationControlConfigInput
state - PolicyToggleState
Example
{
  "additionalAttributes": ApplicationControlConfigInput,
  "state": "DISABLED"
}

ApplicationControlRemoveRuleInput

Beta
Fields
Input Field Description
id - ID!
Example
{"id": "4"}

ApplicationControlRiskCriteria

Beta
Description

Application risk

Fields
Field Name Description
risk - ApplicationRisk! Application risk
riskOperator - ApplicationControlOperator! Application risk operator
Example
{"risk": ApplicationRisk, "riskOperator": "CONTAINS"}

ApplicationControlRiskCriteriaInput

Beta
Description

Application risk

Fields
Input Field Description
risk - ApplicationRisk! Application risk
riskOperator - ApplicationControlOperator! Application risk operator
Default
IS
Example
{"risk": ApplicationRisk, "riskOperator": "CONTAINS"}

ApplicationControlRule

Beta
Fields
Field Name Description
applicationRule - ApplicationControlApplicationRule Defines application control settings. Must only be used when ruleType is APPLICATION
dataRule - ApplicationControlDataRule Defines data control settings. Must only be used when ruleType is DATA
description - String! Description for the rule
enabled - Boolean! TRUE = Rule is enabled FALSE = Rule is disabled
fileRule - ApplicationControlFileRule Defines file control settings. Must only be used when ruleType is FILE
id - ID! Rule ID
index - Int! Position / priority of rule
name - String! Name of the rule
ruleType - ApplicationControlRuleType! Determines which rule configuration to use. When set to APPLICATION, only applicationRule should be used. When set to DATA, only dataRule should be used. When set to FILE, only fileRule should be used
section - PolicySectionInfo! Policy section where the rule is located
Example
{
  "applicationRule": ApplicationControlApplicationRule,
  "dataRule": ApplicationControlDataRule,
  "description": "xyz789",
  "enabled": false,
  "fileRule": ApplicationControlFileRule,
  "id": 4,
  "index": 987,
  "name": "abc123",
  "ruleType": "APPLICATION",
  "section": PolicySectionInfo
}

ApplicationControlRuleMutationPayload

Beta
Fields
Field Name Description
errors - [PolicyMutationError!]!
revision - PolicyRevision
rule - ApplicationControlRulePayload
status - PolicyMutationStatus!
Example
{
  "errors": [PolicyMutationError],
  "revision": PolicyRevision,
  "rule": ApplicationControlRulePayload,
  "status": "FAILURE"
}

ApplicationControlRulePayload

Beta
Fields
Field Name Description
audit - PolicyElementAudit!
metadata - PolicyElementMetadata
properties - [PolicyElementPropertiesEnum!]!
rule - ApplicationControlRule!
Example
{
  "audit": PolicyElementAudit,
  "metadata": PolicyElementMetadata,
  "properties": ["ADDED"],
  "rule": ApplicationControlRule
}

ApplicationControlRuleType

Beta