SAVVY Security API Reference

The Savvy platform GraphQL API allows you to access to all sorts of Savvy data. For example, you can use the GraphQL API to access Playbooks, activity logs and Lists.
The Savvy platform GraphQL API makes this data accessible using one common mechanism.

About GraphQL

GraphQL is a query language for APIs. This style of API allows access to linked data, which you can think of as a graph of entities. For example, you can request the playbooks of a team of people and get the details for those playbooks in the same request. With other types of APIs, such as REST APIs, this would require many requests, making GraphQL more efficient and flexible to use.

Because you must specify the data attributes you want back (called fields), the payloads can be smaller and hence faster over the network. In other words, you only get the data that you specified and no more.

GraphQL APIs are strongly typed, and the type system determines what data can be queried. You can use queries to request data and mutations to modify data. To learn more about GraphQL, we recommend reading Introduction to GraphQL and learning about the Core Concepts.

Explorer

The GraphQL API explorer is a browser-based, interactive IDE that you can use to run queries and mutations and see the results.
The explorer helps you discover what fields are valid and where they can be used. As you type, it suggests value fields that can be placed into the query. Press control+space for a prompt showing the valid fields that you can use.
Use the type system documentation on the left side to learn more about the GraphQL schema.

Authentication

API token can be retrieved from:
https://graphql-gateway.savvy.security/graphql/api

CURL

GraphQL queries and mutations can be sent to the server using curl.
See an example for getting all playbooks below.

curl --request POST \
--header 'content-type: application/json' \
--header 'Authorization: Bearer <TOKEN>' \
--url 'https://graphql-gateway.savvy.security/graphql' \
--data '{"query": "query Playbooks{ playbooks{ id name description }}"}'
API Endpoints
# endpoint:
https://graphql-gateway.savvy.security/graphql
Headers
# Your authorization token
Authorization: Bearer <YOUR_TOKEN_HERE>

Playbooks

Get a playbook

Parameter Description
name The name of the playbook

 

playbookByName(name: "playbook_name") {
  id
  name
  description
  enabled
}

Activate a playbook

Parameter Description
id The id of the playbook

 

updatePlaybook(
  id: "playbook_id",
  input: {
    name: "playbook_name",
    enabled: true
  }
) {
  id
}

Pause a playbook

Parameter Description
id The id of the playbook

 

updatePlaybook(
  id: "playbook_id",
  input: {
    name: "playbook_name",
    enabled: false
  }
) {
  id
}

Playbook targets

Get targets for a specific playbook

Parameter Description
name The name of the playbook

 

playbookByName(name: "playbook_name") {
  targets{
    id
    name
    description
    items {
      idpObjID
      idpObjType
      displayName
      email
    }
  }
}

Get all playbooks a user runs

Parameter Description
name The name of the user

 

idpUserByName(name: "user_name") {
  playbooks {
    id
    name
    description
    enabled
  }
}

Get all playbooks a group runs

Parameter Description
name The name of the group

 

idpGroupByName(name: "group_name") {
  playbooks {
    id
    name
    description
    enabled
  }
}

Add tragets to a playbook target group

Parameter Description
id Target group ID
input A collection of user and groups to be added. See InputAddTargetsToTargetGroup

 

addTargetsToTargetGroup(
  id: "target_group_id",
  input: {"items": [{"idpObjID": "4", "idpObjType": "USER"}, {"idpObjID": "6", "idpObjType": "GROUP"}]}
) {
  id
}

Remove tragets from a playbook target group

Parameter Description
id Target group ID
input A collection of items IDs to be removed. See InputRemoveTargetsFromTargetGroups

 

removeTargetsFromTargetGroup(
  id: "target_group_id",
  input: {"items": [{"id": "2"}]}
) {
  id
}

Domain lists

Get a domain list

Parameter Description
name The name of the list

 

listByName(name: "list_name") {
  id
  items {
    id
    ... on DomainListItem {
      value
    }
  }
  ... on PredefinedList{
    predefinedItems {
      id
      ... on PredefinedDomainListItem {
        value
      }
      enabled
    }
  }
}

Response example:

{
  "data": {
    "listByName": {
      "id": "a027a90a-bf21-4305-a53a-287469c2fe14",
      "items": [
        {
          "id": "cd92e474-0e2f-4518-b14c-6d206ccc84ff",
          "value": "domain.com"
        },
        {
          "id": "5e529162-61f5-42a9-8673-f9f4e0602fbe",
          "value": "domain.org"
        }
      ]
    }
  }
}

Add items to a domain list

Parameter Description
id The id of the list
input A collection of domains to be added. See InputAddItemsToDomainList

 

addItemsToDomainList(
  id: "list_id",
  input: {"items": [{"value": "domain.com"}, {"value": "domain.org"}]}
) {
  id
}

Remove items from a domain list

Parameter Description
id The id of the list
input A collection of items IDs to be removed. See InputRemoveItemsFromDomainList

 

removeItemsFromDomainList(
  id: "list_id",
  input: {"items": [{"id": "2"}]}
) {
  id
}

Enable or disable a predefined domain list item

Parameter Description
id The id of the list
input The ID of the item to be disbled/enabled. See InputUpdatePredefinedItem

 

updatePredefinedItem(
  id: "list_id",
  input: {"itemID": "3", "enabled": false}
) {
  id
}

Applications

Get an application

Get an application

Parameter Description
name The name of the application

 

appByName(
  name: "app_name"
) {
  id
  name
  description
}

Get an applications list

Parameter Description
name The name of the list

 

listByName(name: "list_name") {
  id
  items {
    id
    ... on AppListItem {
      id
      name
      description
    }
  }
  ... on PredefinedList{
    predefinedItems {
      id
      ... on PredefinedAppListItem {
        id
        name
        description
      }
      enabled
    }
  }
}

Response example:

{
  "data": {
    "listByName": {
      "id": "5a8b29dd-2180-4bab-b0bf-9ffafa492ca6",
      "items": [
        {
          "id": "6033d649510ef18ad79e91f82a4138f6",
          "name": "Microsoft Azure",
          "description": "Windows Azure and SQL Azure enable you to build, host and scale applications in Microsoft datacenters"
        },
        {
          "id": "b9bb902f32b23ca22b613bf3ac156b23",
          "name": "Microsoft Skype",
          "description": "Skype is for connecting with the people that matter most in your life and work"
        }
      ]
    }
  }
}

Add items to an applications list

Parameter Description
id The id of the list
input A collection of applications IDs to be added. See InputAddRemoveItemsAppList

 

addItemsToAppList(
  id: "list_id",
  input: {"items": [{"id": "5"}]}
) {
  id
}

Remove items from an applications list

Parameter Description
id The id of the list
input A collection of applications IDs to be removed. See InputAddRemoveItemsAppList

 

removeItemsFromAppList(
  id: "list_id",
  input: {"items": [{"id": "2"}, {"id": "5"}]}
) {
  id
}

Enable or disable a predefined applications list item

Parameter Description
id The id of the list
input The ID of the item to be disbled/enabled. See InputUpdatePredefinedItem

 

updatePredefinedItem(
  id: "list_id",
  input: {"itemID": "3", "enabled": false}
) {
  id
}

Logs

Get logs

Get x logs from timestamp

Parameter Description
timestamp Fetch logs from this timestamp
size Number of logs to fetch. The maximum value is 1000

 

logs( 
  timestamp: "2022-12-08T09:05:09Z",
  size: 150
) {
  data
  size
}

Queries

App

Description

Get an application by its id

Response

Returns an App!

Arguments
Name Description
id - String! Application ID

Example

Query
query App($id: String!) {
  App(id: $id) {
    id
    name
    description
  }
}
Variables
{"id": "xyz789"}
Response
{
  "data": {
    "App": {
      "id": "4",
      "name": "abc123",
      "description": "abc123"
    }
  }
}

AppByName

Description

Get an application by its name

Response

Returns an App!

Arguments
Name Description
name - String! Application name

Example

Query
query AppByName($name: String!) {
  AppByName(name: $name) {
    id
    name
    description
  }
}
Variables
{"name": "abc123"}
Response
{
  "data": {
    "AppByName": {
      "id": "4",
      "name": "xyz789",
      "description": "abc123"
    }
  }
}

PlaybookTargetGroupByName

Description

Get a playbook target group. A playbook target group is a collection of users and groups which runs the playbook.

Response

Returns a PlaybookTargetGroup!

Arguments
Name Description
name - String!

Example

Query
query PlaybookTargetGroupByName($name: String!) {
  PlaybookTargetGroupByName(name: $name) {
    id
    name
    description
    items {
      id
      idpObjID
      idpObjType
      displayName
      email
    }
  }
}
Variables
{"name": "abc123"}
Response
{
  "data": {
    "PlaybookTargetGroupByName": {
      "id": "4",
      "name": "xyz789",
      "description": "xyz789",
      "items": [PlaybookTargetGroupItem]
    }
  }
}

PlaybookTargetGroups

Description

Get all playbook target groups. A playbook target group is a collection of users and groups which runs the playbook.

Response

Returns [PlaybookTargetGroup!]!

Example

Query
query PlaybookTargetGroups {
  PlaybookTargetGroups {
    id
    name
    description
    items {
      id
      idpObjID
      idpObjType
      displayName
      email
    }
  }
}
Response
{
  "data": {
    "PlaybookTargetGroups": [
      {
        "id": 4,
        "name": "xyz789",
        "description": "abc123",
        "items": [PlaybookTargetGroupItem]
      }
    ]
  }
}

idpGroupByName

Description

Get group information from IDO service

Response

Returns an IdpGroup!

Arguments
Name Description
name - String! Group name

Example

Query
query IdpGroupByName($name: String!) {
  idpGroupByName(name: $name) {
    id
    displayName
    playbooks {
      id
      name
      description
      enabled
    }
  }
}
Variables
{"name": "xyz789"}
Response
{
  "data": {
    "idpGroupByName": {
      "id": "4",
      "displayName": "abc123",
      "playbooks": [PlaybookInfo]
    }
  }
}

idpUserByName

Description

Get user information from IDP service

Response

Returns an IdpUser!

Arguments
Name Description
name - String! User name

Example

Query
query IdpUserByName($name: String!) {
  idpUserByName(name: $name) {
    id
    displayName
    email
    playbooks {
      id
      name
      description
      enabled
    }
  }
}
Variables
{"name": "abc123"}
Response
{
  "data": {
    "idpUserByName": {
      "id": "4",
      "displayName": "abc123",
      "email": "user@domain.org",
      "playbooks": [PlaybookInfo]
    }
  }
}

listByName

Description

Get a list by its name

Response

Returns [ListIntf]!

Arguments
Name Description
name - String! List name

Example

Query
query ListByName($name: String!) {
  listByName(name: $name) {
    id
    name
    type
    items {
      id
    }
  }
}
Variables
{"name": "xyz789"}
Response
{
  "data": {
    "listByName": [
      {
        "id": "4",
        "name": "xyz789",
        "type": "DOMAIN",
        "items": [ListItemIntf]
      }
    ]
  }
}

lists

Description

Get all lists

Response

Returns [ListIntf]!

Example

Query
query Lists {
  lists {
    id
    name
    type
    items {
      id
    }
  }
}
Response
{
  "data": {
    "lists": [
      {
        "id": "4",
        "name": "xyz789",
        "type": "DOMAIN",
        "items": [ListItemIntf]
      }
    ]
  }
}

logs

Description

Get x logs from timestamp

Response

Returns a LogsResponse

Arguments
Name Description
timestamp - Time! Fetch logs from this timestamp
size - Int! Number of logs to fetch. The maximum value is 1000

Example

Query
query Logs(
  $timestamp: Time!,
  $size: Int!
) {
  logs(
    timestamp: $timestamp,
    size: $size
  ) {
    data
    size
  }
}
Variables
{"timestamp": "10:15:30Z", "size": 123}
Response
{
  "data": {
    "logs": {"data": "abc123", "size": 123}
  }
}

playbookByName

Description

Get an installed playbook

Response

Returns a Playbook!

Arguments
Name Description
name - String! Playbook name

Example

Query
query PlaybookByName($name: String!) {
  playbookByName(name: $name) {
    id
    name
    description
    enabled
    triggerCodes
    targets {
      id
      name
      description
      items {
        ...PlaybookTargetGroupItemFragment
      }
    }
    createdAt
    updatedAt
  }
}
Variables
{"name": "abc123"}
Response
{
  "data": {
    "playbookByName": {
      "id": "4",
      "name": "xyz789",
      "description": "abc123",
      "enabled": true,
      "triggerCodes": ["abc123"],
      "targets": PlaybookTargetGroup,
      "createdAt": "10:15:30Z",
      "updatedAt": "10:15:30Z"
    }
  }
}

playbooks

Description

Get all installed playbooks

Response

Returns [Playbook!]!

Example

Query
query Playbooks {
  playbooks {
    id
    name
    description
    enabled
    triggerCodes
    targets {
      id
      name
      description
      items {
        ...PlaybookTargetGroupItemFragment
      }
    }
    createdAt
    updatedAt
  }
}
Response
{
  "data": {
    "playbooks": [
      {
        "id": 4,
        "name": "xyz789",
        "description": "xyz789",
        "enabled": true,
        "triggerCodes": ["abc123"],
        "targets": PlaybookTargetGroup,
        "createdAt": "10:15:30Z",
        "updatedAt": "10:15:30Z"
      }
    ]
  }
}

Mutations

addItemsToAppList

Description

Add a collection of applications to an applications list

Response

Returns an AppList!

Arguments
Name Description
id - String! List ID
input - InputAddRemoveItemsAppList!

Example

Query
mutation AddItemsToAppList(
  $id: String!,
  $input: InputAddRemoveItemsAppList!
) {
  addItemsToAppList(
    id: $id,
    input: $input
  ) {
    id
    name
    type
    items {
      id
      name
      description
    }
  }
}
Variables
{
  "id": "abc123",
  "input": InputAddRemoveItemsAppList
}
Response
{
  "data": {
    "addItemsToAppList": {
      "id": 4,
      "name": "xyz789",
      "type": "DOMAIN",
      "items": [AppListItem]
    }
  }
}

addItemsToDomainList

Description

Add a collection of domains to a domains list

Response

Returns a ListIntf!

Arguments
Name Description
id - String! Domain list ID
input - InputAddItemsToDomainList!

Example

Query
mutation AddItemsToDomainList(
  $id: String!,
  $input: InputAddItemsToDomainList!
) {
  addItemsToDomainList(
    id: $id,
    input: $input
  ) {
    id
    name
    type
    items {
      id
    }
  }
}
Variables
{
  "id": "abc123",
  "input": InputAddItemsToDomainList
}
Response
{
  "data": {
    "addItemsToDomainList": {
      "id": 4,
      "name": "abc123",
      "type": "DOMAIN",
      "items": [ListItemIntf]
    }
  }
}

addTargetsToTargetGroup

Description

Add users and groups to a playbook target group

Response

Returns a PlaybookTargetGroup!

Arguments
Name Description
id - ID! Target group ID
input - InputAddTargetsToTargetGroup!

Example

Query
mutation AddTargetsToTargetGroup(
  $id: ID!,
  $input: InputAddTargetsToTargetGroup!
) {
  addTargetsToTargetGroup(
    id: $id,
    input: $input
  ) {
    id
    name
    description
    items {
      id
      idpObjID
      idpObjType
      displayName
      email
    }
  }
}
Variables
{
  "id": "4",
  "input": InputAddTargetsToTargetGroup
}
Response
{
  "data": {
    "addTargetsToTargetGroup": {
      "id": "4",
      "name": "abc123",
      "description": "abc123",
      "items": [PlaybookTargetGroupItem]
    }
  }
}

removeItemsFromAppList

Description

Remove a collection of applications from an applications list

Response

Returns an AppList!

Arguments
Name Description
id - String! List ID
input - InputAddRemoveItemsAppList!

Example

Query
mutation RemoveItemsFromAppList(
  $id: String!,
  $input: InputAddRemoveItemsAppList!
) {
  removeItemsFromAppList(
    id: $id,
    input: $input
  ) {
    id
    name
    type
    items {
      id
      name
      description
    }
  }
}
Variables
{
  "id": "xyz789",
  "input": InputAddRemoveItemsAppList
}
Response
{
  "data": {
    "removeItemsFromAppList": {
      "id": "4",
      "name": "abc123",
      "type": "DOMAIN",
      "items": [AppListItem]
    }
  }
}

removeItemsFromDomainList

Description

Remove a collection of domains from a domains list

Response

Returns a ListIntf!

Arguments
Name Description
id - String! Domain list ID
input - InputRemoveItemsFromDomainList!

Example

Query
mutation RemoveItemsFromDomainList(
  $id: String!,
  $input: InputRemoveItemsFromDomainList!
) {
  removeItemsFromDomainList(
    id: $id,
    input: $input
  ) {
    id
    name
    type
    items {
      id
    }
  }
}
Variables
{
  "id": "xyz789",
  "input": InputRemoveItemsFromDomainList
}
Response
{
  "data": {
    "removeItemsFromDomainList": {
      "id": "4",
      "name": "abc123",
      "type": "DOMAIN",
      "items": [ListItemIntf]
    }
  }
}

removeTargetsFromTargetGroup

Description

Remove items from a playbook target group

Response

Returns a PlaybookTargetGroup!

Arguments
Name Description
id - ID! Target group ID
input - InputRemoveTargetsFromTargetGroups!

Example

Query
mutation RemoveTargetsFromTargetGroup(
  $id: ID!,
  $input: InputRemoveTargetsFromTargetGroups!
) {
  removeTargetsFromTargetGroup(
    id: $id,
    input: $input
  ) {
    id
    name
    description
    items {
      id
      idpObjID
      idpObjType
      displayName
      email
    }
  }
}
Variables
{
  "id": "4",
  "input": InputRemoveTargetsFromTargetGroups
}
Response
{
  "data": {
    "removeTargetsFromTargetGroup": {
      "id": 4,
      "name": "abc123",
      "description": "abc123",
      "items": [PlaybookTargetGroupItem]
    }
  }
}

updatePlaybook

Description

Update playbook name, description and enabled

Response

Returns a Playbook!

Arguments
Name Description
id - ID! Playbook ID
input - InputUpdatePlaybook!

Example

Query
mutation UpdatePlaybook(
  $id: ID!,
  $input: InputUpdatePlaybook!
) {
  updatePlaybook(
    id: $id,
    input: $input
  ) {
    id
    name
    description
    enabled
    triggerCodes
    targets {
      id
      name
      description
      items {
        ...PlaybookTargetGroupItemFragment
      }
    }
    createdAt
    updatedAt
  }
}
Variables
{"id": 4, "input": InputUpdatePlaybook}
Response
{
  "data": {
    "updatePlaybook": {
      "id": "4",
      "name": "abc123",
      "description": "xyz789",
      "enabled": false,
      "triggerCodes": ["abc123"],
      "targets": PlaybookTargetGroup,
      "createdAt": "10:15:30Z",
      "updatedAt": "10:15:30Z"
    }
  }
}

updatePredefinedItem

Description

Enable or disable predefined item in a list

Response

Returns a Boolean!

Arguments
Name Description
id - String! List ID
input - InputUpdatePredefinedItem!

Example

Query
mutation UpdatePredefinedItem(
  $id: String!,
  $input: InputUpdatePredefinedItem!
) {
  updatePredefinedItem(
    id: $id,
    input: $input
  )
}
Variables
{
  "id": "xyz789",
  "input": InputUpdatePredefinedItem
}
Response
{"data": {"updatePredefinedItem": true}}

Types

App

Description

An application

Fields
Field Name Description
id - ID! Application ID
name - String! Application name
description - String! Application description
Example
{
  "id": "4",
  "name": "xyz789",
  "description": "xyz789"
}

AppList

Description

A list of applications

Fields
Field Name Description
id - ID! List ID
name - String! List name
type - ListType! List type
items - [AppListItem]! List items
Example
{
  "id": 4,
  "name": "abc123",
  "type": "DOMAIN",
  "items": [AppListItem]
}

AppListItem

Description

An application that is part of the applications list

Fields
Field Name Description
id - ID! List ID
name - String! List name
description - String! list description
Example
{
  "id": "4",
  "name": "abc123",
  "description": "xyz789"
}

Boolean

Description

The Boolean scalar type represents true or false.

Example
true

DomainListItem

Description

A domain that is part of a domains list

Fields
Field Name Description
id - ID! Domain ID
value - String! Domain
Example
{"id": "4", "value": "domain.org"}

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
"4"

IdpGroup

Description

A group of users defined on an IDP service

Fields
Field Name Description
id - ID! Group ID as it is set on the IDP service
displayName - String! Group name
playbooks - [PlaybookInfo]! All playbooks the group is running
Example
{
  "id": 4,
  "displayName": "xyz789",
  "playbooks": [PlaybookInfo]
}

IdpObjType

Description

Depending on the type of IDP object, the object can be either a user or a group

Values
Enum Value Description

USER

IDP object is a user

GROUP

IDP object is a group
Example
"USER"

IdpUser

Description

A user defined on an IDP service

Fields
Field Name Description
id - ID! User ID as it is set on the IDP service
displayName - String! User name
email - String! User email
playbooks - [PlaybookInfo]! All playbooks the user is running
Example
{
  "id": 4,
  "displayName": "xyz789",
  "email": "user@domain.org",
  "playbooks": [PlaybookInfo]
}

InputAddItemsToDomainList

Fields
Input Field Description
items - [InputDomainListItem]!

A collection of domains that are added to a domains list

Example
{"items": [InputDomainListItem]}

InputAddRemoveItemsAppList

Fields
Input Field Description
items - [InputID]!

A collection of applications IDs that are added or removed to/from the list

Example
{"items": [InputID]}

InputAddTargetsToTargetGroup

Fields
Input Field Description
items - [InputPlaybookTargetGroupItem]

Users and groups to be assigned to the target group

Example
{"items": [InputPlaybookTargetGroupItem]}

InputDomainListItem

Fields
Input Field Description
value - String!

A domain

Example
{"value": "domain.org"}

InputID

Description

Object ID

Fields
Input Field Description
id - ID!
Example
{"id": 4}

InputPlaybookTargetGroupItem

Fields
Input Field Description
idpObjID - ID!

User/Group ID as it is set on the IDP service

idpObjType - IdpObjType!

Indicates if the item is a user or a group

Example
{"idpObjID": "4", "idpObjType": "USER"}

InputRemoveItemsFromDomainList

Fields
Input Field Description
items - [InputID]!

A collection of domains IDs that are removed from a domains list

Example
{"items": [InputID]}

InputRemoveTargetsFromTargetGroups

Fields
Input Field Description
items - [InputID!]!

Target groups items IDs to be removed from the target group

Example
{"items": [InputID]}

InputUpdatePlaybook

Fields
Input Field Description
name - String!

Playbook name

description - String

Playbook description

enabled - Boolean!

Indicates whether the playbook is running or not

Example
{
  "name": "abc123",
  "description": "abc123",
  "enabled": false
}

InputUpdatePredefinedItem

Description

An input for updatePredefinedItem API

Fields
Input Field Description
itemID - ID!

Item ID

enabled - Boolean!

if true the item is enabled, otherwise it is disabled

Example
{"itemID": "4", "enabled": true}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
123

List

Description

A list

Fields
Field Name Description
id - ID! List ID
name - String! List name
type - ListType! List type
items - [ListItemIntf]! List items
Example
{
  "id": 4,
  "name": "abc123",
  "type": "DOMAIN",
  "items": [ListItemIntf]
}

ListIntf

Description

Interface for a list

Fields
Field Name Description
id - ID! List ID
name - String! List name
type - ListType! List type
items - [ListItemIntf]! List items
Possible Types
ListIntf Types

List

PredefinedList

Example
{
  "id": "4",
  "name": "abc123",
  "type": "DOMAIN",
  "items": [ListItemIntf]
}

ListItemIntf

Description

Interface for an item in a list

Fields
Field Name Description
id - ID! Item ID
Possible Types
ListItemIntf Types

AppListItem

DomainListItem

Example
{"id": 4}

ListType

Description

List type

Values
Enum Value Description

DOMAIN

List of domains

STRING

List of strings

INTEGER

List of integers

EMAIL

List of emails

IP

List of IPs

APPLICATION

List of applications

CATEGORY

List of categories

FILETYPE

List of file types

SCOPE

List of IDP scopes

SHARE

List of shared values
Example
"DOMAIN"

LogsResponse

Description

Logs query response

Fields
Field Name Description
data - String! A collection of logs records
size - Int! The amount of logs fetched from server
Example
{"data": "abc123", "size": 123}

Playbook

Description

Installed playbook

Fields
Field Name Description
id - ID! Playbook ID
name - String! Playbook name
description - String Playbook description
enabled - Boolean! Indicates whether the playbook is running or not
triggerCodes - [String!]! Playbook triggers codes
targets - PlaybookTargetGroup! Playbook targets is a collection of users and groups which runs the playbook
createdAt - Time! The time when the playbook was created
updatedAt - Time! The time when the playbook was updated
Example
{
  "id": 4,
  "name": "abc123",
  "description": "xyz789",
  "enabled": false,
  "triggerCodes": ["abc123"],
  "targets": PlaybookTargetGroup,
  "createdAt": "10:15:30Z",
  "updatedAt": "10:15:30Z"
}

PlaybookInfo

Description

Installed playbook information details

Fields
Field Name Description
id - ID! Playbook ID
name - String! Playbook name
description - String Playbook description
enabled - Boolean! Indicates whether the playbook is running or not
Example
{
  "id": 4,
  "name": "xyz789",
  "description": "xyz789",
  "enabled": true
}

PlaybookTargetGroup

Description

Playbook target group is a collection of users and groups which runs the playbook

Fields
Field Name Description
id - ID! Target group ID
name - String! Target group name
description - String! Target group desctiption
items - [PlaybookTargetGroupItem] users and groups assigned to the target group
Example
{
  "id": 4,
  "name": "abc123",
  "description": "xyz789",
  "items": [PlaybookTargetGroupItem]
}

PlaybookTargetGroupItem

Description

Playbook target group item is either a user or a group which is part of the target group

Fields
Field Name Description
id - ID! Target group item ID
idpObjID - ID! User/Group ID as it is set on the IDP service
idpObjType - IdpObjType! Indicates if the item is a user or a group
displayName - String! User or group name
email - String! User email
Example
{
  "id": 4,
  "idpObjID": "4",
  "idpObjType": "USER",
  "displayName": "abc123",
  "email": "abc123"
}

PredefinedAppListItem

Description

An application that is part of a predefined applications list

Fields
Field Name Description
id - ID! List ID
name - String! List name
description - String! list description
enabled - Boolean! If true the application is enabled, otherwise it is disabled
Example
{
  "id": "4",
  "name": "xyz789",
  "description": "xyz789",
  "enabled": false
}

PredefinedDomainListItem

Description

A domain that is part of a predefined domains list

Fields
Field Name Description
id - ID! Domain ID
value - String! Domain
enabled - Boolean! If true the domain is enabled, otherwise it is disabled
Example
{
  "id": "4",
  "value": "domain.com",
  "enabled": false
}

PredefinedList

Description

A predefined list is a list that is set out of the box. It is possible to add items to the list and to enable/disable existing items

Fields
Field Name Description
id - ID! List ID
name - String! List name
type - ListType! List type
items - [ListItemIntf]! List items. Those items can be added to the predefined list
predefinedItems - [PredefinedListItemIntf]! List predefined items. Those items are set out-of-the-box and can be enabled or disabled
Example
{
  "id": "4",
  "name": "abc123",
  "type": "DOMAIN",
  "items": [ListItemIntf],
  "predefinedItems": [PredefinedListItemIntf]
}

PredefinedListItemIntf

Description

Interface for an item in a predefined list

Fields
Field Name Description
id - ID! Item ID
enabled - Boolean! If true the item is enbaled, otherwise it is disabled
Possible Types
PredefinedListItemIntf Types

PredefinedAppListItem

PredefinedDomainListItem

Example
{"id": "4", "enabled": true}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"abc123"

Time

Example
"10:15:30Z"