pcvisit GraphQL API reference

Welcome to the pcvisit GraphQL API reference! This GraphQL API allows you to:

  • Manage remote support sessions
  • Work with users, roles, and teams
  • Query detailed work history
  • Automate your internal workflows

Getting Started with GraphQL

If you're new to GraphQL, here are some helpful resources:

GraphQL is a query language that allows you to request exactly the data you need. Unlike REST APIs, you can fetch multiple resources in a single request and avoid over-fetching data. This makes it ideal for building efficient prototypes and production applications.

Documentation Structure

This documentation is divided into three complementary parts:

  • API Reference (this document) - A complete, auto-generated reference of all available queries, mutations, types, and fields. Use this to explore the API schema, discover available operations, and understand the exact structure of requests and responses.
  • Integration Manual for Developers - A practical guide with tutorials, authentication instructions, code examples, and step-by-step integrator workflows. Start here to learn how to authenticate, make your first requests, and integrate the API into your applications.
  • Integrator Best-Practice Guide - Vendor-oriented recommendations for ticket-system integrators: responsibilities, rollout order, webhook and device-matching patterns, and error-handling philosophy. Use alongside the Integration Manual; defer call-level details to the Manual and this Reference. We recommend starting with the Integration Manual for Developers to understand the fundamentals, then the Best-Practice Guide for integration design decisions, and this Reference for detailed schema exploration.
API Endpoints
https://enhance-jwt-api-dev-3278.sandbox.pcvisit.de/graphql
Version

1.0.0

Queries

AcExportSessionsHistory

Response

Returns an AcExportSessionsHistoryResult

Arguments
Name Description
company - CustomerUuid!
filter - Filter
options - InputSessionExportOptions!
search - Search
sort - [Sort!]
timeFrame - TimeFrame

Example

Query
query AcExportSessionsHistory(
  $company: CustomerUuid!,
  $filter: Filter,
  $options: InputSessionExportOptions!,
  $search: Search,
  $sort: [Sort!],
  $timeFrame: TimeFrame
) {
  AcExportSessionsHistory(
    company: $company,
    filter: $filter,
    options: $options,
    search: $search,
    sort: $sort,
    timeFrame: $timeFrame
  ) {
    ... on ExportSummary {
      ...ExportSummaryFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "filter": Filter,
  "options": InputSessionExportOptions,
  "search": Search,
  "sort": [Sort],
  "timeFrame": TimeFrame
}
Response
{"data": {"AcExportSessionsHistory": ExportSummary}}

AcQuerySessionsHistory

Response

Returns an AcQuerySessionsHistoryResult

Arguments
Name Description
company - CustomerUuid!
filter - Filter
pagination - Pagination
search - Search
sort - [Sort!]
timeFrame - TimeFrame

Example

Query
query AcQuerySessionsHistory(
  $company: CustomerUuid!,
  $filter: Filter,
  $pagination: Pagination,
  $search: Search,
  $sort: [Sort!],
  $timeFrame: TimeFrame
) {
  AcQuerySessionsHistory(
    company: $company,
    filter: $filter,
    pagination: $pagination,
    search: $search,
    sort: $sort,
    timeFrame: $timeFrame
  ) {
    ... on Failure {
      ...FailureFragment
    }
    ... on SessionProtocolEdge {
      ...SessionProtocolEdgeFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "filter": Filter,
  "pagination": Pagination,
  "search": Search,
  "sort": [Sort],
  "timeFrame": TimeFrame
}
Response
{"data": {"AcQuerySessionsHistory": Failure}}

CaRetrievePublicCompanyData

Arguments
Name Description
id - CompanyIdOrCustomerUuid!

Example

Query
query CaRetrievePublicCompanyData($id: CompanyIdOrCustomerUuid!) {
  CaRetrievePublicCompanyData(id: $id) {
    ... on Failure {
      ...FailureFragment
    }
    ... on Imprint {
      ...ImprintFragment
    }
  }
}
Variables
{"id": CompanyIdOrCustomerUuid}
Response
{"data": {"CaRetrievePublicCompanyData": Failure}}

FindCompanyTeam

Response

Returns a FindCompanyTeamResult

Arguments
Name Description
company - CustomerUuid!

Example

Query
query FindCompanyTeam($company: CustomerUuid!) {
  FindCompanyTeam(company: $company) {
    ... on Failure {
      ...FailureFragment
    }
    ... on Team {
      ...TeamFragment
    }
  }
}
Variables
{"company": CustomerUuid}
Response
{"data": {"FindCompanyTeam": Failure}}

FindCurrentAssets

Description

Returns all assets (computers, folders, devices, persons) for a given company starting from a specified base node. The query supports filtering, searching, sorting, and pagination to efficiently retrieve and navigate through the asset hierarchy. See the documentation of BaseDN, Filter, Search, Pagination, and Sort input types for detailed parameter descriptions.

Response

Returns a FindCurrentAssetsResult

Arguments
Name Description
baseDN - BaseDN!
company - CustomerUuid!
filter - Filter
pagination - Pagination
search - Search
sort - [Sort!]

Example

Query
query FindCurrentAssets(
  $baseDN: BaseDN!,
  $company: CustomerUuid!,
  $filter: Filter,
  $pagination: Pagination,
  $search: Search,
  $sort: [Sort!]
) {
  FindCurrentAssets(
    baseDN: $baseDN,
    company: $company,
    filter: $filter,
    pagination: $pagination,
    search: $search,
    sort: $sort
  ) {
    ... on Edge {
      ...EdgeFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "baseDN": BaseDN,
  "company": CustomerUuid,
  "filter": Filter,
  "pagination": Pagination,
  "search": Search,
  "sort": [Sort]
}
Response
{"data": {"FindCurrentAssets": Edge}}

SiDecryptAuthToken

Description

decrypts a JWE auth token using the ephemeral private key bound to the caller JWT jti (one-time use)

Response

Returns a SiDecryptAuthTokenResult!

Arguments
Name Description
authToken - String!

Example

Query
query SiDecryptAuthToken($authToken: String!) {
  SiDecryptAuthToken(authToken: $authToken) {
    ... on DecryptedAuthToken {
      ...DecryptedAuthTokenFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{"authToken": "xyz789"}
Response
{"data": {"SiDecryptAuthToken": DecryptedAuthToken}}

SiFindUserByMail

Description

returns a user identified by its email teamaccounts can't be requested this way!!

Response

Returns a SiFindUserByMailResult

Arguments
Name Description
email - Email!

Example

Query
query SiFindUserByMail($email: Email!) {
  SiFindUserByMail(email: $email) {
    ... on Failure {
      ...FailureFragment
    }
    ... on User {
      ...UserFragment
    }
  }
}
Variables
{"email": Email}
Response
{"data": {"SiFindUserByMail": Failure}}

SiRetrieveSignedJwt

Description

retrieves a new signed JWT for integrator communication based on provided API tokens

Response

Returns a SiRetrieveSignedJwtResult!

Arguments
Name Description
integratorApiToken - IntegratorApiToken!
requestEncryptionKey - Boolean
targetUserEmail - Email
userApiToken - UserApiToken!

Example

Query
query SiRetrieveSignedJwt(
  $integratorApiToken: IntegratorApiToken!,
  $requestEncryptionKey: Boolean,
  $targetUserEmail: Email,
  $userApiToken: UserApiToken!
) {
  SiRetrieveSignedJwt(
    integratorApiToken: $integratorApiToken,
    requestEncryptionKey: $requestEncryptionKey,
    targetUserEmail: $targetUserEmail,
    userApiToken: $userApiToken
  ) {
    ... on Failure {
      ...FailureFragment
    }
    ... on SignedJwtWasRetrieved {
      ...SignedJwtWasRetrievedFragment
    }
  }
}
Variables
{
  "integratorApiToken": IntegratorApiToken,
  "requestEncryptionKey": false,
  "targetUserEmail": Email,
  "userApiToken": UserApiToken
}
Response
{"data": {"SiRetrieveSignedJwt": Failure}}

SiRetrieveSignedTokenPayload

Description

retrieves a payload for a certain user which can be added to a JWT to use foreign JWTs as allowed identifiers

Arguments
Name Description
id - Auth0Uuid!

Example

Query
query SiRetrieveSignedTokenPayload($id: Auth0Uuid!) {
  SiRetrieveSignedTokenPayload(id: $id) {
    ... on Failure {
      ...FailureFragment
    }
    ... on SignedTokenPayload {
      ...SignedTokenPayloadFragment
    }
  }
}
Variables
{"id": Auth0Uuid}
Response
{"data": {"SiRetrieveSignedTokenPayload": Failure}}

Mutations

AmAddExistingComputer

Response

Returns an AmAddAssetResult

Arguments
Name Description
company - CustomerUuid!
computer - InputExistingComputer!

Example

Query
mutation AmAddExistingComputer(
  $company: CustomerUuid!,
  $computer: InputExistingComputer!
) {
  AmAddExistingComputer(
    company: $company,
    computer: $computer
  ) {
    ... on AssetSet {
      ...AssetSetFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "computer": InputExistingComputer
}
Response
{"data": {"AmAddExistingComputer": AssetSet}}

AmAddNodeAsCompany

Response

Returns an AmAddAssetResult

Arguments
Name Description
company - CustomerUuid!
input - InputAddNodeAsCompany!

Example

Query
mutation AmAddNodeAsCompany(
  $company: CustomerUuid!,
  $input: InputAddNodeAsCompany!
) {
  AmAddNodeAsCompany(
    company: $company,
    input: $input
  ) {
    ... on AssetSet {
      ...AssetSetFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "input": InputAddNodeAsCompany
}
Response
{"data": {"AmAddNodeAsCompany": AssetSet}}

AmAddNodeAsFolder

Response

Returns an AmAddAssetResult

Arguments
Name Description
company - CustomerUuid!
input - InputAddNodeAsFolder!

Example

Query
mutation AmAddNodeAsFolder(
  $company: CustomerUuid!,
  $input: InputAddNodeAsFolder!
) {
  AmAddNodeAsFolder(
    company: $company,
    input: $input
  ) {
    ... on AssetSet {
      ...AssetSetFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "input": InputAddNodeAsFolder
}
Response
{"data": {"AmAddNodeAsFolder": AssetSet}}

AmAddNodeAsLocation

Response

Returns an AmAddAssetResult

Arguments
Name Description
company - CustomerUuid!
input - InputAddNodeAsLocation!

Example

Query
mutation AmAddNodeAsLocation(
  $company: CustomerUuid!,
  $input: InputAddNodeAsLocation!
) {
  AmAddNodeAsLocation(
    company: $company,
    input: $input
  ) {
    ... on AssetSet {
      ...AssetSetFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "input": InputAddNodeAsLocation
}
Response
{"data": {"AmAddNodeAsLocation": AssetSet}}

AmAddOrSetComputerAccess

Response

Returns an AmUpdateAssetResult

Arguments
Name Description
company - CustomerUuid!
input - InputSetComputerAccess!

Example

Query
mutation AmAddOrSetComputerAccess(
  $company: CustomerUuid!,
  $input: InputSetComputerAccess!
) {
  AmAddOrSetComputerAccess(
    company: $company,
    input: $input
  ) {
    ... on AssetSet {
      ...AssetSetFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "input": InputSetComputerAccess
}
Response
{"data": {"AmAddOrSetComputerAccess": AssetSet}}

AmAddPlaceholderComputer

Response

Returns an AmAddAssetResult

Arguments
Name Description
company - CustomerUuid!
computer - InputPlaceholderComputer!

Example

Query
mutation AmAddPlaceholderComputer(
  $company: CustomerUuid!,
  $computer: InputPlaceholderComputer!
) {
  AmAddPlaceholderComputer(
    company: $company,
    computer: $computer
  ) {
    ... on AssetSet {
      ...AssetSetFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "computer": InputPlaceholderComputer
}
Response
{"data": {"AmAddPlaceholderComputer": AssetSet}}

AmDeleteComputerAccess

Response

Returns an AmUpdateAssetResult

Arguments
Name Description
company - CustomerUuid!
input - InputDeleteComputerAccess!

Example

Query
mutation AmDeleteComputerAccess(
  $company: CustomerUuid!,
  $input: InputDeleteComputerAccess!
) {
  AmDeleteComputerAccess(
    company: $company,
    input: $input
  ) {
    ... on AssetSet {
      ...AssetSetFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "input": InputDeleteComputerAccess
}
Response
{"data": {"AmDeleteComputerAccess": AssetSet}}

AmDeleteFolderAccess

Response

Returns an AmUpdateAssetResult

Arguments
Name Description
company - CustomerUuid!
input - InputDeleteFolderAccess!

Example

Query
mutation AmDeleteFolderAccess(
  $company: CustomerUuid!,
  $input: InputDeleteFolderAccess!
) {
  AmDeleteFolderAccess(
    company: $company,
    input: $input
  ) {
    ... on AssetSet {
      ...AssetSetFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "input": InputDeleteFolderAccess
}
Response
{"data": {"AmDeleteFolderAccess": AssetSet}}

AmMoveAssets

Response

Returns an AmMoveAssetsResult

Arguments
Name Description
company - CustomerUuid!
input - [InputMoveAsset!]!
target - AssetUuid!

Example

Query
mutation AmMoveAssets(
  $company: CustomerUuid!,
  $input: [InputMoveAsset!]!,
  $target: AssetUuid!
) {
  AmMoveAssets(
    company: $company,
    input: $input,
    target: $target
  ) {
    ... on AssetsMoved {
      ...AssetsMovedFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "input": [InputMoveAsset],
  "target": AssetUuid
}
Response
{"data": {"AmMoveAssets": AssetsMoved}}

AmRemoveAssets

Response

Returns an AmRemoveAssetsResult

Arguments
Name Description
company - CustomerUuid!
input - [InputRemoveAsset!]!
options - InputRemoveAssetsOptions

Example

Query
mutation AmRemoveAssets(
  $company: CustomerUuid!,
  $input: [InputRemoveAsset!]!,
  $options: InputRemoveAssetsOptions
) {
  AmRemoveAssets(
    company: $company,
    input: $input,
    options: $options
  ) {
    ... on AssetsRemoved {
      ...AssetsRemovedFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "input": [InputRemoveAsset],
  "options": InputRemoveAssetsOptions
}
Response
{"data": {"AmRemoveAssets": AssetsRemoved}}

CaCreateAccount

Description

Note: owner needs to be created first at the sign_in context!

Response

Returns a CaCreateAccountResult

Arguments
Name Description
company - CompanyUpdate!
options - CompanyCreateOptions!

Example

Query
mutation CaCreateAccount(
  $company: CompanyUpdate!,
  $options: CompanyCreateOptions!
) {
  CaCreateAccount(
    company: $company,
    options: $options
  ) {
    ... on CompanyAccountCreated {
      ...CompanyAccountCreatedFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "company": CompanyUpdate,
  "options": CompanyCreateOptions
}
Response
{"data": {"CaCreateAccount": CompanyAccountCreated}}

CaCreateIntegration

Description

Integrations

Response

Returns a CaCreateIntegrationResult

Arguments
Name Description
customerUuid - CustomerUuid!
input - CreateIntegrationInput!

Example

Query
mutation CaCreateIntegration(
  $customerUuid: CustomerUuid!,
  $input: CreateIntegrationInput!
) {
  CaCreateIntegration(
    customerUuid: $customerUuid,
    input: $input
  ) {
    ... on CreatedIntegration {
      ...CreatedIntegrationFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "customerUuid": CustomerUuid,
  "input": CreateIntegrationInput
}
Response
{"data": {"CaCreateIntegration": CreatedIntegration}}

CaDeleteAccount

Response

Returns a CaDeleteAccountResult

Arguments
Name Description
customer - CustomerUuid!

Example

Query
mutation CaDeleteAccount($customer: CustomerUuid!) {
  CaDeleteAccount(customer: $customer) {
    ... on CompanyAccountDeleted {
      ...CompanyAccountDeletedFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{"customer": CustomerUuid}
Response
{"data": {"CaDeleteAccount": CompanyAccountDeleted}}

CaDeleteIntegration

Response

Returns a CaDeleteIntegrationResult

Arguments
Name Description
customerUuid - CustomerUuid!
integratorId - Integrators!

Example

Query
mutation CaDeleteIntegration(
  $customerUuid: CustomerUuid!,
  $integratorId: Integrators!
) {
  CaDeleteIntegration(
    customerUuid: $customerUuid,
    integratorId: $integratorId
  ) {
    ... on Failure {
      ...FailureFragment
    }
    ... on IntegrationDeleted {
      ...IntegrationDeletedFragment
    }
  }
}
Variables
{"customerUuid": CustomerUuid, "integratorId": "DocBee"}
Response
{"data": {"CaDeleteIntegration": Failure}}

CaFirstTimeCustomerPlaceOrder

Description

Note: owner needs to be created first at the sign_in context!

Arguments
Name Description
cart - ShoppingCartForFirstTimeCustomer!
customer - CustomerUuid!

Example

Query
mutation CaFirstTimeCustomerPlaceOrder(
  $cart: ShoppingCartForFirstTimeCustomer!,
  $customer: CustomerUuid!
) {
  CaFirstTimeCustomerPlaceOrder(
    cart: $cart,
    customer: $customer
  ) {
    ... on CaOrderWasPlaced {
      ...CaOrderWasPlacedFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "cart": ShoppingCartForFirstTimeCustomer,
  "customer": CustomerUuid
}
Response
{
  "data": {
    "CaFirstTimeCustomerPlaceOrder": CaOrderWasPlaced
  }
}

CaRegisterIntegrationWebhook

Arguments
Name Description
customerUuid - CustomerUuid!
input - RegisterIntegrationWebhookInput!

Example

Query
mutation CaRegisterIntegrationWebhook(
  $customerUuid: CustomerUuid!,
  $input: RegisterIntegrationWebhookInput!
) {
  CaRegisterIntegrationWebhook(
    customerUuid: $customerUuid,
    input: $input
  ) {
    ... on Failure {
      ...FailureFragment
    }
    ... on IntegrationWebhookRegistered {
      ...IntegrationWebhookRegisteredFragment
    }
  }
}
Variables
{
  "customerUuid": CustomerUuid,
  "input": RegisterIntegrationWebhookInput
}
Response
{"data": {"CaRegisterIntegrationWebhook": Failure}}

CaSetContactPerson

Response

Returns a CaSetContactPersonResult

Arguments
Name Description
customer - CustomerUuid!
user - Auth0Uuid!

Example

Query
mutation CaSetContactPerson(
  $customer: CustomerUuid!,
  $user: Auth0Uuid!
) {
  CaSetContactPerson(
    customer: $customer,
    user: $user
  ) {
    ... on ContactPersonWasSetEvent {
      ...ContactPersonWasSetEventFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "customer": CustomerUuid,
  "user": Auth0Uuid
}
Response
{"data": {"CaSetContactPerson": ContactPersonWasSetEvent}}

CaSetInitialOwnerOfCompany

Arguments
Name Description
customer - CustomerUuid!
owner - Auth0Uuid!

Example

Query
mutation CaSetInitialOwnerOfCompany(
  $customer: CustomerUuid!,
  $owner: Auth0Uuid!
) {
  CaSetInitialOwnerOfCompany(
    customer: $customer,
    owner: $owner
  ) {
    ... on Failure {
      ...FailureFragment
    }
    ... on OwnerWasSetEvent {
      ...OwnerWasSetEventFragment
    }
  }
}
Variables
{
  "customer": CustomerUuid,
  "owner": Auth0Uuid
}
Response
{"data": {"CaSetInitialOwnerOfCompany": Failure}}

CaUpdateCompanyMasterData

Response

Returns a CaUpdateAccountResult

Arguments
Name Description
company - CustomerUuid!
data - CompanyUpdate!
referer - CustomerUuid

Example

Query
mutation CaUpdateCompanyMasterData(
  $company: CustomerUuid!,
  $data: CompanyUpdate!,
  $referer: CustomerUuid
) {
  CaUpdateCompanyMasterData(
    company: $company,
    data: $data,
    referer: $referer
  ) {
    ... on CompanyAccountUpdated {
      ...CompanyAccountUpdatedFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "data": CompanyUpdate,
  "referer": CustomerUuid
}
Response
{
  "data": {
    "CaUpdateCompanyMasterData": CompanyAccountUpdated
  }
}

CaUpdateCompanySettings

Response

Returns a CaUpdateCompanySettingsResult

Arguments
Name Description
company - CustomerUuid!
data - ChangeCompanySettings!

Example

Query
mutation CaUpdateCompanySettings(
  $company: CustomerUuid!,
  $data: ChangeCompanySettings!
) {
  CaUpdateCompanySettings(
    company: $company,
    data: $data
  ) {
    ... on CompanySettingsChanged {
      ...CompanySettingsChangedFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "data": ChangeCompanySettings
}
Response
{
  "data": {
    "CaUpdateCompanySettings": CompanySettingsChanged
  }
}

DeleteCompanyAccount

Arguments
Name Description
company - CustomerUuid!
reason - Description!

Example

Query
mutation DeleteCompanyAccount(
  $company: CustomerUuid!,
  $reason: Description!
) {
  DeleteCompanyAccount(
    company: $company,
    reason: $reason
  ) {
    ... on CompanyAccountDeleted {
      ...CompanyAccountDeletedFragment
    }
    ... on ContractTerminationRequestSent {
      ...ContractTerminationRequestSentFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "reason": Description
}
Response
{
  "data": {
    "DeleteCompanyAccount": [CompanyAccountDeleted]
  }
}

FirstTimeCustomerPlaceOrderOnBehalfOfIntegrator

Description

shall be called by the integrators of the pcvisit api to create onBehalfOf Cotnracts for their customers

Arguments
Name Description
company - CompanyUpdate!
owner - ContactUpdate!
password - PasswordAsClearText

Example

Query
mutation FirstTimeCustomerPlaceOrderOnBehalfOfIntegrator(
  $company: CompanyUpdate!,
  $owner: ContactUpdate!,
  $password: PasswordAsClearText
) {
  FirstTimeCustomerPlaceOrderOnBehalfOfIntegrator(
    company: $company,
    owner: $owner,
    password: $password
  ) {
    ... on CaOrderWasPlaced {
      ...CaOrderWasPlacedFragment
    }
    ... on CompanyAccountCreated {
      ...CompanyAccountCreatedFragment
    }
    ... on CompanyAccountUpdated {
      ...CompanyAccountUpdatedFragment
    }
    ... on CompanyProfileDetailsSetEvent {
      ...CompanyProfileDetailsSetEventFragment
    }
    ... on ContactPersonWasSetEvent {
      ...ContactPersonWasSetEventFragment
    }
    ... on Failure {
      ...FailureFragment
    }
    ... on UserWasCreated {
      ...UserWasCreatedFragment
    }
    ... on UserWasUpdated {
      ...UserWasUpdatedFragment
    }
  }
}
Variables
{
  "company": CompanyUpdate,
  "owner": ContactUpdate,
  "password": PasswordAsClearText
}
Response
{
  "data": {
    "FirstTimeCustomerPlaceOrderOnBehalfOfIntegrator": [
      CaOrderWasPlaced
    ]
  }
}

InviteToCompanyTeamOnBehalfOfIntegrator

Description

adds and if not already in the database creates a user and adds it to a team the password will be random and no emails will be sent in the process @param company - the customer uuid to whose team the invitee is added @param guestUpdate - the data for the user to be invited @param memberUpdate - to set role and initial state for the invitee, if not passed it will be an active supporter

Arguments
Name Description
company - CustomerUuid!
guestUpdate - ContactUpdate!
memberUpdate - TeammemberUpdate

Example

Query
mutation InviteToCompanyTeamOnBehalfOfIntegrator(
  $company: CustomerUuid!,
  $guestUpdate: ContactUpdate!,
  $memberUpdate: TeammemberUpdate
) {
  InviteToCompanyTeamOnBehalfOfIntegrator(
    company: $company,
    guestUpdate: $guestUpdate,
    memberUpdate: $memberUpdate
  ) {
    ... on Failure {
      ...FailureFragment
    }
    ... on User {
      ...UserFragment
    }
    ... on UserWasAddedToCompanyTeam {
      ...UserWasAddedToCompanyTeamFragment
    }
    ... on UserWasCreated {
      ...UserWasCreatedFragment
    }
    ... on UserWasUpdated {
      ...UserWasUpdatedFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "guestUpdate": ContactUpdate,
  "memberUpdate": TeammemberUpdate
}
Response
{
  "data": {
    "InviteToCompanyTeamOnBehalfOfIntegrator": [Failure]
  }
}

RaCreateAdHocSession

Description

Creates an empty session.

Response

Returns a RaCreateSessionResult

Arguments
Name Description
externalContext - ExternalSessionContext
member - TeammemberIdentity!
shareable - SharablePolicy!

Example

Query
mutation RaCreateAdHocSession(
  $externalContext: ExternalSessionContext,
  $member: TeammemberIdentity!,
  $shareable: SharablePolicy!
) {
  RaCreateAdHocSession(
    externalContext: $externalContext,
    member: $member,
    shareable: $shareable
  ) {
    ... on Failure {
      ...FailureFragment
    }
    ... on SessionCreated {
      ...SessionCreatedFragment
    }
  }
}
Variables
{
  "externalContext": ExternalSessionContext,
  "member": TeammemberIdentity,
  "shareable": "Everyone"
}
Response
{"data": {"RaCreateAdHocSession": Failure}}

RaCreateDeviceAccessByR2OSession

Response

Returns a RaCreateSessionResult

Arguments
Name Description
externalContext - ExternalSessionContext
member - TeammemberIdentity!
shareable - SharablePolicy!

Example

Query
mutation RaCreateDeviceAccessByR2OSession(
  $externalContext: ExternalSessionContext,
  $member: TeammemberIdentity!,
  $shareable: SharablePolicy!
) {
  RaCreateDeviceAccessByR2OSession(
    externalContext: $externalContext,
    member: $member,
    shareable: $shareable
  ) {
    ... on Failure {
      ...FailureFragment
    }
    ... on SessionCreated {
      ...SessionCreatedFragment
    }
  }
}
Variables
{
  "externalContext": ExternalSessionContext,
  "member": TeammemberIdentity,
  "shareable": "Everyone"
}
Response
{"data": {"RaCreateDeviceAccessByR2OSession": Failure}}

RaCreateDeviceAccessBySupporterSession

Response

Returns a RaCreateSessionResult

Arguments
Name Description
externalContext - ExternalSessionContext
member - TeammemberIdentity!
shareable - SharablePolicy!

Example

Query
mutation RaCreateDeviceAccessBySupporterSession(
  $externalContext: ExternalSessionContext,
  $member: TeammemberIdentity!,
  $shareable: SharablePolicy!
) {
  RaCreateDeviceAccessBySupporterSession(
    externalContext: $externalContext,
    member: $member,
    shareable: $shareable
  ) {
    ... on Failure {
      ...FailureFragment
    }
    ... on SessionCreated {
      ...SessionCreatedFragment
    }
  }
}
Variables
{
  "externalContext": ExternalSessionContext,
  "member": TeammemberIdentity,
  "shareable": "Everyone"
}
Response
{
  "data": {
    "RaCreateDeviceAccessBySupporterSession": Failure
  }
}

RemoveFromCompanyTeam

Arguments
Name Description
member - TeammemberIdentity!

Example

Query
mutation RemoveFromCompanyTeam($member: TeammemberIdentity!) {
  RemoveFromCompanyTeam(member: $member) {
    ... on AssetSet {
      ...AssetSetFragment
    }
    ... on Failure {
      ...FailureFragment
    }
    ... on PersonAndComputerUnlinked {
      ...PersonAndComputerUnlinkedFragment
    }
    ... on TeammemberAddonsRemoved {
      ...TeammemberAddonsRemovedFragment
    }
    ... on UserWasRemovedFromCompanyTeam {
      ...UserWasRemovedFromCompanyTeamFragment
    }
  }
}
Variables
{"member": TeammemberIdentity}
Response
{"data": {"RemoveFromCompanyTeam": [AssetSet]}}

SiAddToCompanyTeam

Response

Returns a SiAddToCompanyTeamResult!

Arguments
Name Description
company - CustomerUuid!
id - Auth0Uuid!
memberUpdate - TeammemberUpdate!

Example

Query
mutation SiAddToCompanyTeam(
  $company: CustomerUuid!,
  $id: Auth0Uuid!,
  $memberUpdate: TeammemberUpdate!
) {
  SiAddToCompanyTeam(
    company: $company,
    id: $id,
    memberUpdate: $memberUpdate
  ) {
    ... on Failure {
      ...FailureFragment
    }
    ... on UserWasAddedToCompanyTeam {
      ...UserWasAddedToCompanyTeamFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "id": Auth0Uuid,
  "memberUpdate": TeammemberUpdate
}
Response
{"data": {"SiAddToCompanyTeam": Failure}}

SiRemoveFromCompanyTeam

Response

Returns a SiRemoveFromCompanyTeamResult!

Arguments
Name Description
company - CustomerUuid!
id - Auth0Uuid!

Example

Query
mutation SiRemoveFromCompanyTeam(
  $company: CustomerUuid!,
  $id: Auth0Uuid!
) {
  SiRemoveFromCompanyTeam(
    company: $company,
    id: $id
  ) {
    ... on Failure {
      ...FailureFragment
    }
    ... on UserWasRemovedFromCompanyTeam {
      ...UserWasRemovedFromCompanyTeamFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "id": Auth0Uuid
}
Response
{"data": {"SiRemoveFromCompanyTeam": Failure}}

SiSignUpWPswd

Description

can only be called with valid api key

Response

Returns a SiSignUpWPswdResult!

Arguments
Name Description
id - Email!
input - InputSignUp!
pswd - PasswordAsClearText!

Example

Query
mutation SiSignUpWPswd(
  $id: Email!,
  $input: InputSignUp!,
  $pswd: PasswordAsClearText!
) {
  SiSignUpWPswd(
    id: $id,
    input: $input,
    pswd: $pswd
  ) {
    ... on Failure {
      ...FailureFragment
    }
    ... on UserWasCreated {
      ...UserWasCreatedFragment
    }
  }
}
Variables
{
  "id": Email,
  "input": InputSignUp,
  "pswd": PasswordAsClearText
}
Response
{"data": {"SiSignUpWPswd": Failure}}

SiSignUpWoPswd

Description

can only be called with valid api key

Response

Returns a SiSignUpWoPswdResult!

Arguments
Name Description
id - Email!
input - InputSignUp!

Example

Query
mutation SiSignUpWoPswd(
  $id: Email!,
  $input: InputSignUp!
) {
  SiSignUpWoPswd(
    id: $id,
    input: $input
  ) {
    ... on Failure {
      ...FailureFragment
    }
    ... on UserWasCreated {
      ...UserWasCreatedFragment
    }
  }
}
Variables
{"id": Email, "input": InputSignUp}
Response
{"data": {"SiSignUpWoPswd": Failure}}

SiUpdateMasterData

Response

Returns a SiUpdateMasterDataResult!

Arguments
Name Description
company - CustomerUuid!
emailVerificationFollowUpLink - RedirectLink
id - Auth0Uuid!
update - ContactUpdate!

Example

Query
mutation SiUpdateMasterData(
  $company: CustomerUuid!,
  $emailVerificationFollowUpLink: RedirectLink,
  $id: Auth0Uuid!,
  $update: ContactUpdate!
) {
  SiUpdateMasterData(
    company: $company,
    emailVerificationFollowUpLink: $emailVerificationFollowUpLink,
    id: $id,
    update: $update
  ) {
    ... on Failure {
      ...FailureFragment
    }
    ... on UserWasUpdated {
      ...UserWasUpdatedFragment
    }
  }
}
Variables
{
  "company": CustomerUuid,
  "emailVerificationFollowUpLink": RedirectLink,
  "id": Auth0Uuid,
  "update": ContactUpdate
}
Response
{"data": {"SiUpdateMasterData": Failure}}

Subscriptions

AmFindAssets

Description

returns all assets found with the filter starting from the root asset input for filter is documented here: https://www.npmjs.com/package/filtrex, hence its possibilites are extended by a few custom methods: lengthOf - args: val: object, path: string ; result: number of elements, that was selected by pick / val, path / findIndexExact - args: val: object, path: string ; result: index of found element, that was found within the selection by pick / val, path / or -1 findIndexLike - args: val: object, path: string ; result: index of found element, that was found within the selection by pick / val, path / or -1 reduce - val: object, path: string, subfilter: FilterExpression, initial : Accumulator; result: last result of subfilter, that is executed on all element, that was found within the selection by pick / val, path /. Within subfilter, we can access the result of the predecessing subfilter result within the element acc. For the very first call of subfilter, acc is set to 'initial'.

Response

Returns an AmAssetsResult

Arguments
Name Description
baseDN - BaseDN!
company - CustomerUuid!
filter - Filter
pagination - Pagination
search - Search
sort - [Sort!]

Example

Query
subscription AmFindAssets(
  $baseDN: BaseDN!,
  $company: CustomerUuid!,
  $filter: Filter,
  $pagination: Pagination,
  $search: Search,
  $sort: [Sort!]
) {
  AmFindAssets(
    baseDN: $baseDN,
    company: $company,
    filter: $filter,
    pagination: $pagination,
    search: $search,
    sort: $sort
  ) {
    ... on Edge {
      ...EdgeFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{
  "baseDN": BaseDN,
  "company": CustomerUuid,
  "filter": Filter,
  "pagination": Pagination,
  "search": Search,
  "sort": [Sort]
}
Response
{"data": {"AmFindAssets": Edge}}

CaCompanyIntegrations

Response

Returns a CaCompanyIntegrationsResult

Arguments
Name Description
customerUuid - CustomerUuid!

Example

Query
subscription CaCompanyIntegrations($customerUuid: CustomerUuid!) {
  CaCompanyIntegrations(customerUuid: $customerUuid) {
    ... on CompanyIntegrations {
      ...CompanyIntegrationsFragment
    }
    ... on Failure {
      ...FailureFragment
    }
  }
}
Variables
{"customerUuid": CustomerUuid}
Response
{"data": {"CaCompanyIntegrations": CompanyIntegrations}}

Types

AcExportSessionsHistoryResult

Types
Union Types

ExportSummary

Failure

Example
ExportSummary

AcQuerySessionsHistoryResult

Types
Union Types

Failure

SessionProtocolEdge

Example
Failure

AccessRightsPolicy

Values
Enum Value Description

AllowAudio

AllowCamera

AllowClipboard

AllowFiletransfer

AllowMicrophone

AllowPorts

AllowPOS

AllowPrinter

AllowShell

AllowSmartCards

AllowUSB

Example
"AllowAudio"

ActiveSessionsOfComputer

Fields
Field Name Description
numOfActiveSessions - Int! number of all session to this computer which are currently in serving stream or creating stream state necessary because I cannot garanty the state change from creating to serving in this count
sessions - [SessionToAsset]!
Example
{"numOfActiveSessions": 987, "sessions": [SessionToAsset]}

Address

Fields
Field Name Description
city - String!
country - Country!
number - String!
postalCode - String!
street - String!
Example
{
  "city": "abc123",
  "country": "AR",
  "number": "abc123",
  "postalCode": "xyz789",
  "street": "xyz789"
}

AddressUpdate

Fields
Input Field Description
city - String
country - Country
number - String
postalCode - String
street - String
Example
{
  "city": "xyz789",
  "country": "AR",
  "number": "xyz789",
  "postalCode": "xyz789",
  "street": "xyz789"
}

AgentCapabilities

Fields
Field Name Description
SupportPcvRdpStream - RdpProperties!
SupportPcvRemoteApp - RemoteAppProperties!
SupportPcvSftpStream - SftpProperties!
SupportPcvVncStream - VncProperties!
supportsWithoutSM_DM_ForDeviceAccess - Boolean! these clients can connect to a remote host before the new session model as well (version around 20.12.1)
Example
{
  "SupportPcvRdpStream": RdpProperties,
  "SupportPcvRemoteApp": RemoteAppProperties,
  "SupportPcvSftpStream": SftpProperties,
  "SupportPcvVncStream": VncProperties,
  "supportsWithoutSM_DM_ForDeviceAccess": true
}

AmAddAssetResult

Types
Union Types

AssetSet

Failure

Example
AssetSet

AmAssetsResult

Types
Union Types

Edge

Failure

Example
Edge

AmMoveAssetsResult

Types
Union Types

AssetsMoved

Failure

Example
AssetsMoved

AmRemoveAssetsResult

Types
Union Types

AssetsRemoved

Failure

Example
AssetsRemoved

AmUpdateAssetResult

Types
Union Types

AssetSet

Failure

Example
AssetSet

AssetAccessRights

Values
Enum Value Description

CanAccess

is allowed to remotely access the computer

CanConfig

is allowed to configure computer specific settings

NoAccess

is not allowed to connect, only when user knows the password
Example
"CanAccess"

AssetConfiguration_V1

Fields
Field Name Description
configurationForRdp - ProtocolConfigurationRdp!
configurationForSftp - ProtocolConfigurationSftp!
configurationForVnc - ProtocolConfigurationVnc!
user - UserOrGroup!
Example
{
  "configurationForRdp": ProtocolConfigurationRdp,
  "configurationForSftp": ProtocolConfigurationSftp,
  "configurationForVnc": ProtocolConfigurationVnc,
  "user": GroupIdentity
}

AssetManageAccess

Fields
Field Name Description
canBeChanged - Boolean! this access entry can be changed at all (i.E. for TeamAdmins this is not allowed)
canBeDeleted - Boolean! this access entry can be removed from the computer
companyId - CompanyId!
email - EmailOrSpecialAccessGroups! SpecialAccessGroups can be only SupporterAdmin or EveryBody
privileges - AssetManageRights!
Example
{
  "canBeChanged": true,
  "canBeDeleted": false,
  "companyId": CompanyId,
  "email": EmailOrSpecialAccessGroups,
  "privileges": "ConfigAccess"
}

AssetManageRights

Values
Enum Value Description

ConfigAccess

may change settings of this asset

DeleteAccess

may remove assets from this asset

NoAccess

Nothing is allowed, folder is invisible

VisibleAccess

visible with all its children

WriteAccess

may add assets to this asset
Example
"ConfigAccess"

AssetNode

Fields
Field Name Description
cursor - Cursor!
index - Int!
value - AssetOfNode!
Example
{
  "cursor": Cursor,
  "index": 123,
  "value": Computer
}

AssetOfNode

Example
Computer

AssetSet

Fields
Field Name Description
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
id - AssetUuid!
persistenceNotRequired - Boolean
Example
{
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "id": AssetUuid,
  "persistenceNotRequired": true
}

AssetType

Values
Enum Value Description

AdHocComputer

Company

Computer

Device

Folder

Location

Person

Example
"AdHocComputer"

AssetUuid

Example
AssetUuid

AssetsMoved

Fields
Field Name Description
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
persistenceNotRequired - Boolean
placeholder - String
Example
{
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "persistenceNotRequired": false,
  "placeholder": "xyz789"
}

AssetsRemoved

Fields
Field Name Description
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
persistenceNotRequired - Boolean
removedAssets - [AssetUuid!]!
Example
{
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "persistenceNotRequired": true,
  "removedAssets": [AssetUuid]
}

AttentionChannel

Values
Enum Value Description

CooperationPartner

Other

RecommendationByColleague

RecommendationByCustomer

SearchEngine

TradeMedia

Example
"CooperationPartner"

Auth0Uuid

Description

Unique User ID, issued from, the auth0 system.

Example
Auth0Uuid

Auth0UuidOrApiTokenFragment

Description

Unique User ID or the first part of an API-Token

Example
Auth0UuidOrApiTokenFragment

BaseDN

Description

The base distinguished name (starting point) for asset searches. Defines from which asset to start the search and how deep to traverse the hierarchy.

Fields
Input Field Description
depth - BaseDnDepth! The depth of the search from the base node. See BaseDnDepth enum for possible values.
id - AssetUuid!

The AssetUuid of the folder or asset from which to start the search. You can use:

  • A specific folder UUID (e.g., "Folder~abc123...")
  • "Folder~ROOT_FOLDER" to start from the root folder of the company
  • "Folder~NEW_CLEARANCE_FOLDER" to start from the new clearance folder
  • Any valid AssetUuid of a folder, computer, device, or person
Example
{"depth": "base", "id": AssetUuid}

BaseDnDepth

Description

the depth of the returned results starting from the given node

Values
Enum Value Description

base

only the data of the given base node

one

data of the single next step under the base node

sub

all data of all layers under the base node
Example
"base"

Boolean

Description

The Boolean scalar type represents true or false.

Example
true

BoundedContext

Values
Enum Value Description

accounting

asset_management

company_account

notInitializedContext

remote_access

shared_kernel

sign_in

Example
"accounting"

CaCompanyIntegrationsResult

Types
Union Types

CompanyIntegrations

Failure

Example
CompanyIntegrations

CaCreateAccountResult

Types
Union Types

CompanyAccountCreated

Failure

Example
CompanyAccountCreated

CaCreateIntegrationResult

Types
Union Types

CreatedIntegration

Failure

Example
CreatedIntegration

CaDeleteAccountResult

Types
Union Types

CompanyAccountDeleted

Failure

Example
CompanyAccountDeleted

CaDeleteIntegrationResult

Types
Union Types

Failure

IntegrationDeleted

Example
Failure

CaFirstTimeCustomerPlaceOrderResult

Types
Union Types

CaOrderWasPlaced

Failure

Example
CaOrderWasPlaced

CaOrderWasPlaced

Fields
Field Name Description
company - CustomerUuid!
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
hasToBePaid - Boolean!
order_id - OrderId!
persistenceNotRequired - Boolean
total - Float!
Example
{
  "company": CustomerUuid,
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "hasToBePaid": false,
  "order_id": OrderId,
  "persistenceNotRequired": true,
  "total": 123.45
}

CaRegisterIntegrationWebhookResult

Example
Failure

CaRetrievePublicCompanyDataResult

Types
Union Types

Failure

Imprint

Example
Failure

CaSetContactPersonResult

Types
Union Types

ContactPersonWasSetEvent

Failure

Example
ContactPersonWasSetEvent

CaSetInitialOwnerOfCompanyResult

Types
Union Types

Failure

OwnerWasSetEvent

Example
Failure

CaUpdateAccountResult

Types
Union Types

CompanyAccountUpdated

Failure

Example
CompanyAccountUpdated

CaUpdateCompanySettingsResult

Types
Union Types

CompanySettingsChanged

Failure

Example
CompanySettingsChanged

ChallengeChannel

Values
Enum Value Description

google_authenticator

sms

Example
"google_authenticator"

ChangeAdscreenConfiguration

Fields
Input Field Description
height - Int
isActive - Boolean toggles if a custom ad screen is shown at the end of a session
lifecycleSeconds - Int
url - Url
width - Int
Example
{
  "height": 987,
  "isActive": true,
  "lifecycleSeconds": 987,
  "url": Url,
  "width": 123
}

ChangeCompanySettings

Fields
Input Field Description
areAGBsActive - Boolean are the agbs shown in the client module
clientModuleColor - Color the background color of the client module
clientModuleTextColor - Color the text color of the client module
companyAGBs - Description text with the agbs shown in client module
companyEmail - Email the email shown the client to reach it's supporter company
customAdscreenConfiguration - ChangeAdscreenConfiguration the configuration for the end screen for the client module
documentationSettings - ChangeDocumentationSettings all settings concerning the documentation of sessions
moduleShortcutName - String text used to show a the client module start link at the desktop
remoteHostDefaultSettings - ChangeRemoteHostDefaultSettings default settings for the remote host deployment or for inherited settings
sessionSettings - ChangeSessionSettings settings concerning a session
userDefinedCompanyName - Name the companyname shown in the client module
Example
{
  "areAGBsActive": true,
  "clientModuleColor": Color,
  "clientModuleTextColor": Color,
  "companyAGBs": Description,
  "companyEmail": Email,
  "customAdscreenConfiguration": ChangeAdscreenConfiguration,
  "documentationSettings": ChangeDocumentationSettings,
  "moduleShortcutName": "abc123",
  "remoteHostDefaultSettings": ChangeRemoteHostDefaultSettings,
  "sessionSettings": ChangeSessionSettings,
  "userDefinedCompanyName": Name
}

ChangeComputerManageAccess

Fields
Input Field Description
companyId - CompanyIdOrCustomerUuid! can be either a company id (9 to 10 digit number) or the customerUuid (8digit numbers + letters)
email - EmailOrSpecialAccessGroups! SpecialAccessGroups can be only SupporterAdmin or EveryBody
privileges - AssetAccessRights!
Example
{
  "companyId": CompanyIdOrCustomerUuid,
  "email": EmailOrSpecialAccessGroups,
  "privileges": "CanAccess"
}

ChangeDocumentationSettings

Fields
Input Field Description
documentationSettingsLockedForSupporter - Boolean toggles if the documentation settings can be changed by any supporter
firstGuestEnterCommentsRequested - Boolean toggles if the comment at first guest joining session is requested
forbidRecordingBreak - Boolean toggles if a supporter can pause a running session recording
hasToGeneratedReport - Boolean toggles if the performance report is generated after a session (only in nacl)
hintGuestOnSessionRecording - Boolean toggles if a session recording is made visible to the client
mobileDocumentationSettings - ChangeMobileDocumentationSettings the settings for the mobile documentation via email
sessionEndCommentsRequested - Boolean toggles if the comment at session end is requested
sessionRecordingStartsAutomatically - Boolean toggles if the session recording (in nacl) starts automatically
sessionStartCommentsRequested - Boolean toggles if the comment at session start is requested
shouldTaxameterBeShown - Boolean toggles if the taxameter is shown in a session
Example
{
  "documentationSettingsLockedForSupporter": false,
  "firstGuestEnterCommentsRequested": false,
  "forbidRecordingBreak": true,
  "hasToGeneratedReport": true,
  "hintGuestOnSessionRecording": false,
  "mobileDocumentationSettings": ChangeMobileDocumentationSettings,
  "sessionEndCommentsRequested": false,
  "sessionRecordingStartsAutomatically": false,
  "sessionStartCommentsRequested": true,
  "shouldTaxameterBeShown": false
}

ChangeMobileDocumentationSettings

Fields
Input Field Description
bcc - String comma separated bcc address to send the mobile documentation to
body - String body of the mobile documentation email
cc - String comma separated cc address to send the mobile documentation to
isActive - Boolean toggles if the mobile documentation of a session is active
sendTo - String comma separated email addresses to send the mobile documentation to
subject - String subject of the mobile documentation email
trigger - MobileDocumentationTrigger action which triggers the sending of the mobile documentation
Example
{
  "bcc": "xyz789",
  "body": "xyz789",
  "cc": "abc123",
  "isActive": true,
  "sendTo": "xyz789",
  "subject": "abc123",
  "trigger": "AfterBilled"
}

ChangeRemoteHostDefaultSettings

Fields
Input Field Description
access - [ChangeComputerManageAccess] the default access rights to be set to new deployed remote hosts
defaultRhAccessPw - String the default access password for remote hosts (masked)
defaultRhSettingsPw - String the default settings password for remote hosts (masked)
hasAutomaticUpdate - Boolean default value for automatic update of remote host, set when deploying
isAdHocSessionForbidden - Boolean default value for hiding the adhoc tab in remote host, set when deploying
isFileTransferDeactivated - Boolean default value for disabling file transfer of remote host, set when deploying
isHotKeyDeactivated - Boolean default value for disabling the F12 Hotkey in client module, set when deploying
isRdpDeactivated - Boolean default value for disabling RDP of remote host, set when deploying
isRH_RemoteAccessAllowed - Boolean default if the remote host is not accessible
remoteHostAccessPolicy - ComputerAccessPolicy default value if the remote host is set to access via request or password
turnOffLocalInputAtDefault - Boolean default value if the local input is turned off or not for client in session
turnOffMonitorsAtDefault - Boolean default value if the monitor is turned off or not for client in session
turnOffWallpaperAtDefault - Boolean default value if the wallpaper is turned off or not for client in session
Example
{
  "access": [ChangeComputerManageAccess],
  "defaultRhAccessPw": "xyz789",
  "defaultRhSettingsPw": "abc123",
  "hasAutomaticUpdate": true,
  "isAdHocSessionForbidden": true,
  "isFileTransferDeactivated": true,
  "isHotKeyDeactivated": true,
  "isRdpDeactivated": false,
  "isRH_RemoteAccessAllowed": false,
  "remoteHostAccessPolicy": "WithPassword",
  "turnOffLocalInputAtDefault": true,
  "turnOffMonitorsAtDefault": false,
  "turnOffWallpaperAtDefault": false
}

ChangeSessionSettings

Fields
Input Field Description
askForSupportPermissionByGuest - Boolean toggles if the support permission is shown at the client module
clientPostSessionBehavior - PostSessionBehavior how the customer adhoc client shall behave after finished a session with it
useSessionPassword - Boolean toggles if the a password for the session is generated
Example
{
  "askForSupportPermissionByGuest": false,
  "clientPostSessionBehavior": "Default",
  "useSessionPassword": true
}

ClientCompany

Fields
Field Name Description
clientId - CustomerId
companyFolderDisplayName - Name!
companyFolderId - AssetUuid!
Example
{
  "clientId": CustomerId,
  "companyFolderDisplayName": Name,
  "companyFolderId": AssetUuid
}

Color

Example
Color

CompanyAccountCreated

Fields
Field Name Description
account - Email!
account_id - CustomerUuid!
company - CustomerUuid!
companyId - CompanyId!
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
persistenceNotRequired - Boolean
Example
{
  "account": Email,
  "account_id": CustomerUuid,
  "company": CustomerUuid,
  "companyId": CompanyId,
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "persistenceNotRequired": false
}

CompanyAccountDeleted

Fields
Field Name Description
company - CustomerUuid!
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
persistenceNotRequired - Boolean
Example
{
  "company": CustomerUuid,
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "persistenceNotRequired": true
}

CompanyAccountUpdated

Fields
Field Name Description
company - CustomerUuid!
companyId - CompanyId!
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
persistenceNotRequired - Boolean
Example
{
  "company": CustomerUuid,
  "companyId": CompanyId,
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "persistenceNotRequired": false
}

CompanyClientReferenceSign

Description

an id, that the supporter has assigned to his client.

Example
CompanyClientReferenceSign

CompanyCreateOptions

Fields
Input Field Description
invitationUuid - InvitationUuid if invited to create an account via the referral programm, you can find the fitting invitation uuid here
noEmailsDuringCreation - Boolean if set to true, there will be no emails (order confirmation, user creation, warning) send in the the process
pcvsrc - String internal id within pcv kvs for the origin of the SignUp
referer - CustomerUuid a referer, that internal id within pcv kvs for the origin of the SignUp
refererCouponCode - String the coupon code used if a referred user updates its plan
reseller - CustomerUuid a reseller (in contrast to referer) has e.g. its own, customized invoices...
Example
{
  "invitationUuid": InvitationUuid,
  "noEmailsDuringCreation": false,
  "pcvsrc": "xyz789",
  "referer": CustomerUuid,
  "refererCouponCode": "xyz789",
  "reseller": CustomerUuid
}

CompanyId

Example
CompanyId

CompanyIdOrCustomerUuid

Example
CompanyIdOrCustomerUuid

CompanyImprintUpdate

Fields
Input Field Description
address - AddressUpdate
companyName - Name
email - Email
locale - Lanquage
phone - String
picture - Url
vatId - VATID
Example
{
  "address": AddressUpdate,
  "companyName": Name,
  "email": Email,
  "locale": "de_DE",
  "phone": "xyz789",
  "picture": Url,
  "vatId": VATID
}

CompanyIntegrations

Fields
Field Name Description
integrations - [IntegratorData!]!
Example
{"integrations": [IntegratorData]}

CompanyProfileDetailsSetEvent

Fields
Field Name Description
company - CustomerUuid!
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
persistenceNotRequired - Boolean
Example
{
  "company": CustomerUuid,
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "persistenceNotRequired": true
}

CompanySettingsChanged

Fields
Field Name Description
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
persistenceNotRequired - Boolean
Example
{
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "persistenceNotRequired": false
}

CompanyUpdate

Fields
Input Field Description
billingContactCustomer - ContactUpdate
gdprContact - ContactUpdate
imprint - CompanyImprintUpdate
salesContactPcvisit - ContactUpdate
Example
{
  "billingContactCustomer": ContactUpdate,
  "gdprContact": ContactUpdate,
  "imprint": CompanyImprintUpdate,
  "salesContactPcvisit": ContactUpdate
}

ComponentId

Description

billwerk id of a componente (that can be added to an PlanVariantId.

Example
ComponentId

Computer

Fields
Field Name Description
access - [ComputerManageAccess!]! the access for the supporter team member
accessPolicy - ComputerAccessPolicy!
accessPwForDisplay - Password! the access password for remote hosts (masked), if empty than no password is set
accessPwSalt - Salt!
activeSessions - ActiveSessionsOfComputer
agentSetupDownload - Url a URL to download the setup, that installs the remote host for this computer. The link is only available, if the agent is not yet installed. (onlineState==AgentNotInstalled)
capabilities - AgentCapabilities! a collection of supported capabilities of the remote host
childOf - [AssetUuid!]! Attention!! only index of 0 provides a valid value
configurations - [AssetConfiguration_V1!]! settings for linked R2O users when they access this computer
createdAt - UnixTimeMs!
customerId - CompanyClientReferenceSign! the client id the supporter can assign to an asset (for logging purposes)
customerUuid - CustomerUuid! the company id to which this asset belongs, important for combined subscriptions or requests
description - NoteId! link to S3 description entry
device - Device a device which reprensents also this remote host
displayName - Name!
eventuallyCustomerId - CompanyClientReferenceSign! if customerId is empty, this value is filled with an heuristic value from name or customerId from folders, up in the hirarchy.
hostName - String current name of the physical computer
id - AssetUuid!
ioDevicesPolicy - IoDevicesPolicySettingsForComputer! settings for behaviour when starting a pcv session to this computer
isAdHocAccessDeactivated - Boolean! if the the usage of the computer as adhoc session participant is allowed (the view for entering the session id is shown or not)
isAllowedToScanInSubnet - Boolean!
isFileTransferDeactivated - Boolean! if it is forbidden to use file transfer of any kind to this compuer
isHotKeyDeactivated - Boolean! if the emergency stop button is deactivated for this computer
isRdpDeactivated - Boolean! if it is forbidden to use RDP to this compuer
isScanable - Boolean! indicates if the asset can be scanned in the subnet via another online Computer
lastOnline - UnixTimeMs
macAddress - Mac mac address of the physical computer
networkAdapters - [NetworkAdapter!]! the adapters this computer has access to
noteIds - [NoteId!]! a list of links to S3 note objects
onlineState - OnlineState!
operatingSystem - String
operatingSystemRole - Os_Role
operatingSystemType - Os
operatingSystemVersion - Version
postSessionBehaviour - PostSessionBehavior!
reachableSubnet1 - NetworkAdapter
reachableSubnet2 - NetworkAdapter
reachableSubnet3 - NetworkAdapter
recordingStartPolicy - ComputerRecordingStartPolicy!
rhServiceInstances - [RemoteHostServiceInstance!]! list of active instances of the remote host software
sessions - [SessionUuid!]!
settingsPwForDisplay - Password! the settings password for remote hosts (masked), if empty than no password is set
settingsPwSalt - Salt!
teamViewerId - String the teamviewer device id found on the physical computer
thirdPartyIds - ThirdPartyIds third-party tool identifiers collected by the native agent (see ThirdPartyIds)
typeName - AssetType!
updateBehaviour - ComputerUpdateBehaviour!
updatedAt - UnixTimeMs!
updateNotFeasable - UpdateNotFeasableInfo indicates that an available update cannot be applied to this computer (e.g. due to architecture mismatch or minimum OS version not met)
usageRightsKeptBy - [UsageRightByPerson!]! list of R2O users who have access to it
useAllowedByLicence - Boolean! true, if the contract of the current user allows to access this computer. If not, he might like to upgrade his account ...
users - [LoggedOnUser!]! list of active users at this computer
version - Version! the installed version of the installed client. Might be of interest for the supportor, to check, if everything its up-to-date.
wakeOnLanPossible - Boolean! true if there is a remote host in the same subnet which can wake up this computer
Example
{
  "access": [ComputerManageAccess],
  "accessPolicy": "WithPassword",
  "accessPwForDisplay": Password,
  "accessPwSalt": Salt,
  "activeSessions": ActiveSessionsOfComputer,
  "agentSetupDownload": Url,
  "capabilities": AgentCapabilities,
  "childOf": [AssetUuid],
  "configurations": [AssetConfiguration_V1],
  "createdAt": UnixTimeMs,
  "customerId": CompanyClientReferenceSign,
  "customerUuid": CustomerUuid,
  "description": NoteId,
  "device": Device,
  "displayName": Name,
  "eventuallyCustomerId": CompanyClientReferenceSign,
  "hostName": "abc123",
  "id": AssetUuid,
  "ioDevicesPolicy": IoDevicesPolicySettingsForComputer,
  "isAdHocAccessDeactivated": false,
  "isAllowedToScanInSubnet": false,
  "isFileTransferDeactivated": true,
  "isHotKeyDeactivated": false,
  "isRdpDeactivated": false,
  "isScanable": true,
  "lastOnline": UnixTimeMs,
  "macAddress": Mac,
  "networkAdapters": [NetworkAdapter],
  "noteIds": [NoteId],
  "onlineState": "ActiveSession",
  "operatingSystem": "abc123",
  "operatingSystemRole": "Client",
  "operatingSystemType": "osAndroid",
  "operatingSystemVersion": Version,
  "postSessionBehaviour": "Default",
  "reachableSubnet1": NetworkAdapter,
  "reachableSubnet2": NetworkAdapter,
  "reachableSubnet3": NetworkAdapter,
  "recordingStartPolicy": "AlwaysStart",
  "rhServiceInstances": [RemoteHostServiceInstance],
  "sessions": [SessionUuid],
  "settingsPwForDisplay": Password,
  "settingsPwSalt": Salt,
  "teamViewerId": "abc123",
  "thirdPartyIds": ThirdPartyIds,
  "typeName": "AdHocComputer",
  "updateBehaviour": "AutomaticUpdate",
  "updatedAt": UnixTimeMs,
  "updateNotFeasable": UpdateNotFeasableInfo,
  "usageRightsKeptBy": [UsageRightByPerson],
  "useAllowedByLicence": false,
  "users": [LoggedOnUser],
  "version": Version,
  "wakeOnLanPossible": false
}

ComputerAccessPolicy

Values
Enum Value Description

WithPassword

WithSupportPermission

Example
"WithPassword"

ComputerIdOrAssetId

Example
ComputerIdOrAssetId

ComputerManageAccess

Fields
Field Name Description
canBeChanged - Boolean! this access entry can be changed at all (i.E. for TeamAdmins this is not allowed)
canBeDeleted - Boolean! this access entry can be removed from the computer
companyId - CompanyId!
email - EmailOrSpecialAccessGroups! SpecialAccessGroups can be only SupporterAdmin or EveryBody
privileges - AssetAccessRights!
Example
{
  "canBeChanged": false,
  "canBeDeleted": false,
  "companyId": CompanyId,
  "email": EmailOrSpecialAccessGroups,
  "privileges": "CanAccess"
}

ComputerRecordingStartPolicy

Values
Enum Value Description

AlwaysStart

always tart recording

InheritFromParentFolder

inherit settings from parent folder of computer

NeverStart

never start recording

UseGobalSetting

use global setting from company settings
Example
"AlwaysStart"

ComputerRecordingStartPolicyForFolder

Values
Enum Value Description

AlwaysStart

always tart recording

NeverStart

never start recording

UseGobalSetting

use global setting from company settings
Example
"AlwaysStart"

ComputerUpdateBehaviour

Values
Enum Value Description

AutomaticUpdate

as soon as there is a new version try to update

ManualUpdate

only on manual trigger start the update

NeverUpdate

not supported yet
Example
"AutomaticUpdate"

ComputerUserType

Values
Enum Value Description

ConsoleUser

LoggedOnUser

Supporter

SystemUser

Example
"ConsoleUser"

Contact

Fields
Field Name Description
email - Email!
firstName - Name!
lastName - Name!
phone - PhoneNumber!
picture - ImageURL!
Example
{
  "email": Email,
  "firstName": Name,
  "lastName": Name,
  "phone": "+17895551234",
  "picture": ImageURL
}

ContactPersonWasSetEvent

Fields
Field Name Description
company - CustomerUuid!
ContactPersonWasSetEventDummy - String!
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
persistenceNotRequired - Boolean
Example
{
  "company": CustomerUuid,
  "ContactPersonWasSetEventDummy": "abc123",
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "persistenceNotRequired": false
}

ContactUpdate

Fields
Input Field Description
email - Email
firstName - Name
lastName - Name
phone - PhoneNumber
Example
{
  "email": Email,
  "firstName": Name,
  "lastName": Name,
  "phone": "+17895551234"
}

ContractTerminationRequestSent

Fields
Field Name Description
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
persistenceNotRequired - Boolean
placeholder - String
Example
{
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "persistenceNotRequired": false,
  "placeholder": "xyz789"
}

Country

Description

Country code, following ISO 3166 , see https://de.wikipedia.org/wiki/ISO-3166-1-Kodierliste all countries, where we have customer relationships to

Values
Enum Value Description

AR

Argentinien

AT

BE

Belgien

BG

Bulgarien

BR

Brasil

CA

Kanada

CH

CZ

Czech Republic

DE

DK

Denmark

ES

Spanien

FR

France

GB

Great Britain

HR

Kroatien

IE

Irland

IT

Italy

JP

Japan

LI

Liechtenstein

LT

Litauen

LU

Luxemburg

NL

Netherlands

PL

Poland

RO

Rumänien

RS

Serbien

SI

Slowenien

SK

Slovakia

US

USA

ZA

Südafrika
Example
"AR"

CouponCode

Description

shop coupon code.

Example
CouponCode

CreateIntegrationInput

Description

===================== Integrations API

Fields
Input Field Description
createdBy - Auth0Uuid!
expireAt - UnixTimeMs!
integratorId - Integrators!
tenantUrl - Url
Example
{
  "createdBy": Auth0Uuid,
  "expireAt": UnixTimeMs,
  "integratorId": "DocBee",
  "tenantUrl": Url
}

CreatedIntegration

Fields
Field Name Description
createdAt - UnixTimeMs!
createdBy - Auth0Uuid!
createdByUser - User this is only available when the createdBy is required too, otherwise it's null
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
persistenceNotRequired - Boolean
token - Token!
Example
{
  "createdAt": UnixTimeMs,
  "createdBy": Auth0Uuid,
  "createdByUser": User,
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "persistenceNotRequired": false,
  "token": Token
}

Cursor

Example
Cursor

CustomThirdPartyId

Fields
Field Name Description
deviceId - String!
provider - String!
Example
{
  "deviceId": "abc123",
  "provider": "abc123"
}

CustomerId

Example
CustomerId

CustomerUuid

Description

pcvisit wide unique id of an customer. With it, we can find them on each internal system.

Example
CustomerUuid

DecryptedAuthToken

Fields
Field Name Description
agentAccessPassword - PasswordAsClearText
windowsLogon - DecryptedWindowsLogon
Example
{
  "agentAccessPassword": PasswordAsClearText,
  "windowsLogon": DecryptedWindowsLogon
}

DecryptedWindowsLogon

Fields
Field Name Description
domain - Domain
pswd - PasswordAsClearText!
user - LogonName!
Example
{
  "domain": Domain,
  "pswd": PasswordAsClearText,
  "user": LogonName
}

DeleteCompanyAccountResult

Example
CompanyAccountDeleted

DeleteComputerManageAccess

Fields
Input Field Description
companyId - CompanyIdOrCustomerUuid! can be either a company id (9 to 10 digit number) or the customerUuid (8digit numbers + letters)
email - Email!
Example
{
  "companyId": CompanyIdOrCustomerUuid,
  "email": Email
}

DeleteFolderManageAccess

Fields
Input Field Description
companyId - CompanyId!
email - EmailOrSpecialAccessGroups! SpecialAccessGroups can be only SupporterAdmin or EveryBody
Example
{
  "companyId": CompanyId,
  "email": EmailOrSpecialAccessGroups
}

Description

Example
Description

Device

Fields
Field Name Description
childOf - [AssetUuid!]! Attention!! only index of 0 provides a valid value
createdAt - UnixTimeMs!
customerId - CompanyClientReferenceSign! the client id the supporter can assign to an asset (for logging purposes)
customerUuid - CustomerUuid! the company id to which this asset belongs, important for combined subscriptions or requests
decomissionedAt - UnixTimeMs
description - NoteId! link to S3 description entry
displayName - Name!
eventuallyCustomerId - CompanyClientReferenceSign! if customerId is empty, this value is filled with an heuristic value from name or customerId from folders, up in the hirarchy.
group - DeviceGroup!
id - AssetUuid!
inHouseLocation - String placing information of the device (ceiling, left corner under desk etc)
isScanable - Boolean! indicates if the asset can be scanned in the subnet via another online Computer
lastScannedAt - UnixTimeMs! when was this device last found in a discover scan
make - String the maker or vendor of the device, i.e. Apple, Huawei
model - String the model of a device i.e. iPhone 5S, P9
networkAdapters - [NetworkAdapter!]! the adapters this device has access to
noteIds - [NoteId!]! a list of links to S3 note objects
onlineState - OnlineState!
operatingSystem - String
purchasedAt - UnixTimeMs date of purchasing the device
reachableSubnet1 - NetworkAdapter
reachableSubnet2 - NetworkAdapter
reachableSubnet3 - NetworkAdapter
remoteHost - Computer a remote host which reprensents also this device
scannedMake - String
scannedModel - String
scannedName - Name!
scannedType - DeviceType!
scannedVendor - String
serialNumber - SerialNumber
services - [ServiceProperty!]!
type - DeviceType!
typeName - AssetType!
updatedAt - UnixTimeMs!
vendor - String the vendor of the device
wakeOnLanPossible - Boolean! true if there is a remote host in the same subnet which can wake up this device
Example
{
  "childOf": [AssetUuid],
  "createdAt": UnixTimeMs,
  "customerId": CompanyClientReferenceSign,
  "customerUuid": CustomerUuid,
  "decomissionedAt": UnixTimeMs,
  "description": NoteId,
  "displayName": Name,
  "eventuallyCustomerId": CompanyClientReferenceSign,
  "group": "AudioAndVideo",
  "id": AssetUuid,
  "inHouseLocation": "abc123",
  "isScanable": false,
  "lastScannedAt": UnixTimeMs,
  "make": "xyz789",
  "model": "xyz789",
  "networkAdapters": [NetworkAdapter],
  "noteIds": [NoteId],
  "onlineState": "ActiveSession",
  "operatingSystem": "abc123",
  "purchasedAt": UnixTimeMs,
  "reachableSubnet1": NetworkAdapter,
  "reachableSubnet2": NetworkAdapter,
  "reachableSubnet3": NetworkAdapter,
  "remoteHost": Computer,
  "scannedMake": "xyz789",
  "scannedModel": "abc123",
  "scannedName": Name,
  "scannedType": "Alarm",
  "scannedVendor": "xyz789",
  "serialNumber": SerialNumber,
  "services": [ServiceProperty],
  "type": "Alarm",
  "typeName": "AdHocComputer",
  "updatedAt": UnixTimeMs,
  "vendor": "xyz789",
  "wakeOnLanPossible": true
}

DeviceGroup

Values
Enum Value Description

AudioAndVideo

Engineering

HomeAndOffice

Mobile

Network

Server

SmartHome

Unknown

Example
"AudioAndVideo"

DeviceType

Values
Enum Value Description

Alarm

Arduino

AudioPlayer

AVReceiver

BabyMonitor

BarcodeScanner

CableBox

Car

CircuitBoard

Clock

Cloud

Communication

Computer

Controller

Database

Desktop

Detector

DiscPlayer

Display

DomainServer

DomotzBox

Doorbell

eBookReader

Electric

Fax

FileServer

Fingbox

Firewall

GameConsole

GarageDoor

Gateway

Generic

HealthMonitor

HVAC

IPCamera

IPPhone

Laptop

Light

MailServer

MediaPlayer

Mic

Mobile

Modem

MotionDetector

MP3Player

NAS

NetworkAppliance

PetMonitor

PhotoCamera

PhotoDisplay

PoESwitch

PointOfSale

PowerSystem

Printer

ProcessingUnit

Projector

ProxyServer

Radio

Raspberry

RemoteControl

RFIDTag

Robot

Router

Satellite

Scale

Scanner

Sensor

Server

SleepTech

SmallCell

SmartAppliance

SmartCleaner

SmartDevice

SmartFridge

SmartLock

SmartMeter

SmartPlug

SmartWasher

SmartWatch

SmokeDetector

SolarPanel

SpeakerAmp

Sprinkler

StreamingDongle

Switch

Tablet

Television

Terminal

Thermostat

TouchPanel

Toy

Unknown

UPS

USB

VirtualMachine

VoiceControl

VPN

WaterSensor

Wearable

WeatherStation

WebServer

WiFi

WiFiExtender

Example
"Alarm"

Domain

Description

Domain name on a network/computer system.

Example
Domain

DomainEventInput

Fields
Field Name Description
mutationContext - BoundedContext!
mutationInput - InputArg
mutationName - MutationResult!
Example
{
  "mutationContext": "accounting",
  "mutationInput": InputArg,
  "mutationName": MutationResult
}

DomainEventName

Description

name of an domain event

Example
DomainEventName

DomainEventOrigin

Fields
Field Name Description
device - UserAgent!
location - IP!
user - Auth0UuidOrApiTokenFragment!
Example
{
  "device": UserAgent,
  "location": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
  "user": Auth0UuidOrApiTokenFragment
}

DurationMs

Example
DurationMs

Edge

Fields
Field Name Description
nodes - [AssetNode!]!
totalCount - Int!
Example
{"nodes": [AssetNode], "totalCount": 987}

Email

Description

Email.

Example
Email

EmailOrSpecialAccessGroups

Example
EmailOrSpecialAccessGroups

ErrorIDs

Values
Enum Value Description

Ac_ServiceSupplyExceeded

AccessDenied

ActiveUserInSession

AdHocDesktopLinkAlreadyExists

AgentNotInstalled

AlreadySessionParticipant

ApplicationFailure

AssetAlreadyLinked

AssetLinked

AssetsNotLinked

BackendFailure

CanceledSubscription

ChangedUrl

ComputerAccessIsForbidden

ComputerDoesNotAllowFileTransfer

ComputerDoesNotAllowRdp

ComputerIsOffline

ComputerIsOfflineButWakeable

ComputerNotYetInstalled

ContractAlreadyExist

CouldNotCreateFile

CustomerIsAlreadyLinkedToCompany

DoesNotExist

DownloadCanceled

EmailDeniedAsSuspicious

EmptyPasswordNotAllowed

FeatureNotLicensed

FileDoesNotExist

FunctionNotAvailable

IncompleteInstallation

InsufficientRights

InvalidValue

InvalidVatId

IsNotCreatorOfSession

IsNotParticipantOfSession

LimitExceeded

LoggedOutByInactivity

LoggedOutByUser

LoggedOutByUserFromOtherTab

LogOnUserDoesNotExist

MaxEntriesAddedToDashboard

MemberIsAlreadyActiveInTeam

Mfa_AlreadyActiveForOtherCompany

Mfa_AlreadyActiveForOwnCompany

MissingValue

MonthlySessionLimitReached

NeedAccountOrLocalInputFlag

NeedPassword

NeedPingConnection

NeedRefreshToken

NoError

NoProxyFoundForWakeOnLAN

NoRessourceFound

NotAllServicesAvailable

NotConnectedToServer

NotFound

NothingToUpdate

NotImplemented

NotInitialized

NotSupportedFormat

ObjectExists

OsVersionTooOld

ParallelSessionLimitReached

ParticpantLimitReached

RdpNotSupportedLocally

ScanInfrastructureNotReachable

ServerDenyConnection

ServerNotResponding

ServiceAlreadyRunning

ServiceNotRunning

ServiceNotSupported

SessionAlreadyClosed

SharingViolation

SiSignedJwtLimitExceeded

SiSignedJwtTargetNotTeammember

SpecialFolderCouldNotBeChanged

SpecialFolderCouldNotBeDeleted

TeamUserLimitReached

TimeOut

TimeOut: Used for rate limiting and timeout scenarios. When this error occurs due to rate limiting, the comment_for_dev field contains HTTP-style Retry-After information in the format: "Retry-After: seconds (until )". Parse this value to determine when to retry. Example: "Retry-After: 5 seconds (until Mon, 01 Jan 2024 12:00:00 GMT)". The comment_for_dev also includes the configured rate limit (e.g., "Rate limit: 100 requests per minute"). Always respect the Retry-After timing to avoid further rate limit violations.

TokenExpired

TryAgainLater

TryAgainLater: Similar to TimeOut, indicates the request should be retried later. Check the comment_for_dev field for specific retry instructions and timing information.

TypeDoesNotExist

UnknownError

UnknownType

UnsupportedVersionUsed

UpdateNotFeasableArchMismatch

UpdateNotFeasableMinOSNotMet

UserAlreadyExists

UserCanceledAction

UserDeniedRequest

UserIsLastActiveAdminInTeam

UserIsTeamOwner

UserNotInTeam

UserNotVerified

WrongArguments

WrongCredentials

WrongPassword

WrongRole

WrongState

Example
"Ac_ServiceSupplyExceeded"

ExportOutputFormat

Values
Enum Value Description

csv

pdf

xlsx

Example
"csv"

ExportSummary

Fields
Field Name Description
exportDocumentDownloadLink - Url!
Example
{"exportDocumentDownloadLink": Url}

ExternalSessionContext

Fields
Input Field Description
externalDeviceRef - String
integratorId - Integrators!
metadata - [KeyValuePairInput!]
ticketId - String
Example
{
  "externalDeviceRef": "xyz789",
  "integratorId": "DocBee",
  "metadata": [KeyValuePairInput],
  "ticketId": "xyz789"
}

Failure

Description

Following here this failure strategy: https://blog.apollographql.com/full-stack-error-handling-with-graphql-apollo-5c12da407210 Each mutate or request returns ALWAYS the expect result OR an Failure. So, the network layer on client side itself (in case the network to the server is down) and the whole server has to ensure this behaviour.

Fields
Field Name Description
comment_for_dev - String
comment_for_user - String!
error - ErrorIDs!
Example
{
  "comment_for_dev": "abc123",
  "comment_for_user": "abc123",
  "error": "Ac_ServiceSupplyExceeded"
}

FeatureToggleLevel

Example
FeatureToggleLevel

Features

Fields
Field Name Description
adHocLicenced - Boolean!
AdhocToComputerList - Boolean! adds adhoc modules to the resource list
adscreenCustomizationLicenced - Boolean! can use an own adscreen
allowEasyR2O4Supporters - Boolean! allows the configuration of R2O access for the supporter itself (in dashboard and team etc)
allowedDiscoveryScansPerPeriod - Int! performance properties how many discovery scans are allowed per period
allowedIntegrations - String! SM only END contains valid Integrator IDs (comma separated, see Integrators enum)
allowPurchaseOfMonthlyR2O - Boolean! if the wizard and link dialog shall only offer monthly r2o or if false, only yearly r2o
allowSessionSharing - Boolean! if a session in the new session concept can be shared with other users
allowSessionViaRdpForSupporter - Boolean! allows the creation and usage of the RDP stream in a session for the supporter
allowTestOneClickRdp - Boolean! Shows explanations in context 20 years of pcvisit how to test rdp without charge
appSelectionLicenced - Boolean! selection of which parts of monitor or apps are shown in a presentation is possible
betatestRecording - Boolean! temporary toggle for the beta phase of the session recording feature
canEnterTeamArea - Boolean! if a user can go from the dashboard or a link into the normal webapp view
chatLicenced - Boolean! chat is allowed
clipboardTransferLicenced - Boolean!
concurrentconnections - Int! number of parallel different logins are allowed (work spaces)
connectAppUsageBetaActive - Boolean! temporary toggle for the beta phase of the connect app stuff
controlSupporterPictureLicenced - Boolean! customizing properties is allowed to change the picture of the supporter
controlSupportPermissionLicenced - Boolean! is allowed to toggle on the support permission on customer side
customizationLicenced - Boolean! can change appearance of software
enableBackendLog - Boolean! if this is active (true) the nacl will add enableLog to every graphql query
enforceWorkPlaceLimit - Boolean! if true workplaces are checked against num of team members
ESTPN_16128 - Boolean! can deactivate the local connection
exportR2OUsage - Boolean! Aktiviert den Export der Verlinkungen von R2O Nutzern und Computern
fileTransfer - Boolean! baseline filetransfer via drag and drop and file manager is possible
fullScreenLicenced - Boolean!
grade_id - Int! ids PS, BS, FS
hasActivityRecording - Boolean! if activity reporting was turned on for this user
hasAssignedActivityRecording - Boolean! if the requester of the feature toggles (a teammember) has the session logging in webapp assigned
hasR2O - Boolean! if there is a connected r2o computer to the user
isTeamMember - Boolean! is member of at least one supporter company
levelOf_ActivityRecording - FeatureToggleLevel! the state of the activity recording
levelOf_ConnectAppUsage - FeatureToggleLevel! if the session to android or ios app is allowed
levelOf_FiletransferSessions - FeatureToggleLevel! for showing the FTP as new session type in the create session dialog in UI
levelOf_Rdp4Supporters - FeatureToggleLevel! the usage of rdp for the normal supporter (not r2o)
max_sessionusers - Int! max number of users in a session
maxNumOfEntriesOnDashboard - Int! controls the maximum of entries addable to a dashboard
mfaServiceForR2OLimit - Int! limit for allowing MFA on R2O customers
multimonitorSupportLicenced - Boolean!
NudgePwaInNaCl - Boolean! for showing nudging features in the native modules
PCV_18937 - Boolean!
PCV_19716 - Boolean! icon and hint for offline computers in nacl computer list
PCV_21795 - Boolean!
PCV_22413 - Boolean! obsolete END SM only START steuert das MultiEdit von RHs ohne dass PW gebraucht wird
PCV_23259 - Boolean!
PCV_23698 - Boolean! removing in nacl sm uses graphql endpoint
PCV_24502 - Boolean! allow the scanning of networks
PCV_25009 - Boolean! allow to export assets as excel
PCV_25965 - Boolean! allow to use and show meta data and notes on assets
planType - PlanType! Type of the plan this product is
pointingMouseLicenced - Boolean!
product_id - Int! deprecated
productname - String! full name of a product
r2oPackageBookable - Boolean! show the packages for R2O access in the self service shop for customers
r2oServiceChannelLimit - Int! limit for the allowed links for R2O
remoteControl - Boolean! obsolete BEGIN, can be removed if nacl is mostly at documentation version
remoteHostLimit - Int! number of maximal allowed remote hosts in list
remoteShortcutsLicenced - Boolean! you can use remote shortcuts
removePrivilegesWhenRemovingUserFromTeam - Boolean! if active it will remove assets privileges from assets of a user which is removed from a company team
reportingNudgingForLocalAdmin - Boolean! if the nudging menu entry in SM Settingsmenu shall also be seen by the local admins (licenceuser)
sessionLimitMonthly - Int! how many session are allowed in one month
sessionLinkLicenced - Boolean!
sessionLogLicenced - Boolean! session log (mail/xml) is allowed
sessionRecordingLicenced - Boolean! session recording is allowed
sessionReportingWithExport - Boolean! session reporting list with export
sessionsFromWorkplace - Int! how many parallel sessions are allowed in one account
shareSession - Boolean! responsible for the session sharing epic PCV-29150
showClientView - Boolean! activates the client view in the ui
showConnectViaWebAppInSm - Boolean! triggers if the connect via rdp icons are show in the supporter module
showMfaConfiguration - Boolean! can configure mfa in the frontend
showScanFeature - Boolean! toggles the visibility of the scanning feature in the webapp ui
showSupporterMap - Boolean! shows the settings for the supporter map
supportedVersions - String!
systemInfoLicenced - Boolean! remote systeminfo is allowed
tabHistoryLicenced - Boolean! session history is allowed
taxameterLicenced - Boolean! Reporting taxameter is allowed
teamMemberInvitationLicenced - Boolean! you can invite a colleaque into an active session
temp_WebappNotifications - Boolean! if the webapp supports notification for reasons like filetransfer/...
terminalSessionLicenced - Boolean! terminal sessions support for remote host connection is active
tool_id - String! external tools like i.e. toolhouse
TryUpdateAtAppStart_PCV_30213 - Boolean! can be set in the caloa.ini to emulate the ForcedUpdate of the NaCl
usageModeInstalledLicenced - Boolean! you can use the normal nacl
usageModeInternetLicenced - Boolean! you can use the mobile SupporterModule
usageModeUsbLicenced - Boolean! USB module is allowed
webappInSessionFileTransfer - Boolean! if the filezilla support is active in the webapp session
webPortalUserLimit - Int! how many accounts you can create in your team
winScpLicenced - Boolean! file transfer manager is active
Example
{
  "adHocLicenced": false,
  "AdhocToComputerList": false,
  "adscreenCustomizationLicenced": false,
  "allowEasyR2O4Supporters": false,
  "allowedDiscoveryScansPerPeriod": 987,
  "allowedIntegrations": "xyz789",
  "allowPurchaseOfMonthlyR2O": false,
  "allowSessionSharing": true,
  "allowSessionViaRdpForSupporter": true,
  "allowTestOneClickRdp": true,
  "appSelectionLicenced": true,
  "betatestRecording": false,
  "canEnterTeamArea": true,
  "chatLicenced": true,
  "clipboardTransferLicenced": true,
  "concurrentconnections": 987,
  "connectAppUsageBetaActive": false,
  "controlSupporterPictureLicenced": true,
  "controlSupportPermissionLicenced": true,
  "customizationLicenced": false,
  "enableBackendLog": true,
  "enforceWorkPlaceLimit": false,
  "ESTPN_16128": false,
  "exportR2OUsage": true,
  "fileTransfer": false,
  "fullScreenLicenced": true,
  "grade_id": 987,
  "hasActivityRecording": true,
  "hasAssignedActivityRecording": true,
  "hasR2O": false,
  "isTeamMember": true,
  "levelOf_ActivityRecording": FeatureToggleLevel,
  "levelOf_ConnectAppUsage": FeatureToggleLevel,
  "levelOf_FiletransferSessions": FeatureToggleLevel,
  "levelOf_Rdp4Supporters": FeatureToggleLevel,
  "max_sessionusers": 123,
  "maxNumOfEntriesOnDashboard": 987,
  "mfaServiceForR2OLimit": 123,
  "multimonitorSupportLicenced": true,
  "NudgePwaInNaCl": false,
  "PCV_18937": false,
  "PCV_19716": true,
  "PCV_21795": false,
  "PCV_22413": true,
  "PCV_23259": false,
  "PCV_23698": true,
  "PCV_24502": true,
  "PCV_25009": false,
  "PCV_25965": true,
  "planType": "Basic",
  "pointingMouseLicenced": false,
  "product_id": 123,
  "productname": "xyz789",
  "r2oPackageBookable": true,
  "r2oServiceChannelLimit": 123,
  "remoteControl": true,
  "remoteHostLimit": 987,
  "remoteShortcutsLicenced": false,
  "removePrivilegesWhenRemovingUserFromTeam": true,
  "reportingNudgingForLocalAdmin": false,
  "sessionLimitMonthly": 123,
  "sessionLinkLicenced": true,
  "sessionLogLicenced": false,
  "sessionRecordingLicenced": true,
  "sessionReportingWithExport": false,
  "sessionsFromWorkplace": 987,
  "shareSession": true,
  "showClientView": true,
  "showConnectViaWebAppInSm": true,
  "showMfaConfiguration": true,
  "showScanFeature": false,
  "showSupporterMap": false,
  "supportedVersions": "xyz789",
  "systemInfoLicenced": false,
  "tabHistoryLicenced": true,
  "taxameterLicenced": false,
  "teamMemberInvitationLicenced": false,
  "temp_WebappNotifications": false,
  "terminalSessionLicenced": true,
  "tool_id": "xyz789",
  "TryUpdateAtAppStart_PCV_30213": true,
  "usageModeInstalledLicenced": true,
  "usageModeInternetLicenced": false,
  "usageModeUsbLicenced": true,
  "webappInSessionFileTransfer": false,
  "webPortalUserLimit": 987,
  "winScpLicenced": true
}

FilePath

Example
FilePath

Filter

Description

Filter expression using filtrex syntax (https://www.npmjs.com/package/filtrex). Allows complex boolean expressions to filter assets by their properties. Example: 'onlineState == "Online" or typeName == "Folder"' Extended methods available beyond standard filtrex:

  • lengthOf(val: object, path: string) - Returns the number of elements selected by pick(val, path)
  • findIndexExact(val: object, path: string) - Returns the index of found element or -1
  • findIndexLike(val: object, path: string) - Returns the index of found element (like search) or -1
  • reduce(val: object, path: string, subfilter: FilterExpression, initial: Accumulator) - Executes subfilter on all elements Within subfilter, we can access the result of the predecessing subfilter result within the element acc. For the very first call of subfilter, acc is set to 'initial'.
Fields
Input Field Description
input - String! The filter expression string using filtrex syntax
Example
{"input": "abc123"}

FindCompanyTeamResult

Types
Union Types

Failure

Team

Example
Failure

FindCurrentAssetsResult

Types
Union Types

Edge

Failure

Example
Edge

FirstTimeCustomerPlaceOrderResult

Float

Description

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

Example
987.65

Folder

Fields
Field Name Description
access - [AssetManageAccess!]!
childOf - [AssetUuid!]! Attention!! only index of 0 provides a valid value
createdAt - UnixTimeMs!
customerId - CompanyClientReferenceSign! the client id the supporter can assign to an asset (for logging purposes)
customerUuid - CustomerUuid! the company id to which this asset belongs, important for combined subscriptions or requests
description - NoteId! link to S3 description entry
displayName - Name!
eventuallyCustomerId - CompanyClientReferenceSign! if customerId is empty, this value is filled with an heuristic value from name or customerId from folders, up in the hirarchy.
id - AssetUuid!
ioDevicesPolicy - IoDevicesPolicySettingsForFolder! settings for behaviour when starting a pcv session to this computer
noteIds - [NoteId!]! a list of links to S3 note objects
postSessionBehaviour - PostSessionBehaviorForFolder!
recordingStartPolicy - ComputerRecordingStartPolicyForFolder!
subnets - [FolderSubnet!]!
typeName - AssetType!
updatedAt - UnixTimeMs!
Example
{
  "access": [AssetManageAccess],
  "childOf": [AssetUuid],
  "createdAt": UnixTimeMs,
  "customerId": CompanyClientReferenceSign,
  "customerUuid": CustomerUuid,
  "description": NoteId,
  "displayName": Name,
  "eventuallyCustomerId": CompanyClientReferenceSign,
  "id": AssetUuid,
  "ioDevicesPolicy": IoDevicesPolicySettingsForFolder,
  "noteIds": [NoteId],
  "postSessionBehaviour": "Default",
  "recordingStartPolicy": "AlwaysStart",
  "subnets": [FolderSubnet],
  "typeName": "AdHocComputer",
  "updatedAt": UnixTimeMs
}

FolderSubnet

Fields
Field Name Description
gatewayAddress - IP!
gatewayHardwareAdress - Mac!
id - SubnetId!
isScanable - Boolean!
numOfContainingComputers - Int!
numOfContainingDevices - Int!
subnetMask - IP!
Example
{
  "gatewayAddress": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
  "gatewayHardwareAdress": Mac,
  "id": SubnetId,
  "isScanable": true,
  "numOfContainingComputers": 123,
  "numOfContainingDevices": 987,
  "subnetMask": "2001:0db8:85a3:0000:0000:8a2e:0370:7334"
}

GroupIdentity

Fields
Field Name Description
CompanyID - CustomerUuid!
Group - GroupName!
Example
{
  "CompanyID": CustomerUuid,
  "Group": GroupName
}

GroupName

Example
GroupName

HomeConnected

Values
Enum Value Description

HOME_OFFLINE

HOME_ONLINE

Example
"HOME_OFFLINE"

IP

Description

Address of an endpoint

Example
"2001:0db8:85a3:0000:0000:8a2e:0370:7334"

Identity

Fields
Field Name Description
CompanyID - CustomerUuid!
UserID - Auth0Uuid!
Example
{
  "CompanyID": CustomerUuid,
  "UserID": Auth0Uuid
}

ImageURL

Description

a URL, refering an image.

Example
ImageURL

Imprint

Fields
Field Name Description
address - Address!
companyId - CompanyId
companyName - String!
customerUuid - CustomerUuid!
email - Email!
isPictureFallback - Boolean!
phone - PhoneNumber!
picture - Url!
vatId - VATID!
Example
{
  "address": Address,
  "companyId": CompanyId,
  "companyName": "abc123",
  "customerUuid": CustomerUuid,
  "email": Email,
  "isPictureFallback": true,
  "phone": "+17895551234",
  "picture": Url,
  "vatId": VATID
}

InputAddNodeAsCompany

Fields
Input Field Description
address - AddressUpdate
childOf - AssetUuid!
customerId - CustomerId
description - Description
displayName - Name!
Example
{
  "address": AddressUpdate,
  "childOf": AssetUuid,
  "customerId": CustomerId,
  "description": Description,
  "displayName": Name
}

InputAddNodeAsFolder

Fields
Input Field Description
childOf - AssetUuid!
customerId - CompanyClientReferenceSign
description - Description
displayName - Name!
Example
{
  "childOf": AssetUuid,
  "customerId": CompanyClientReferenceSign,
  "description": Description,
  "displayName": Name
}

InputAddNodeAsLocation

Fields
Input Field Description
address - AddressUpdate
childOf - AssetUuid!
description - Description
displayName - Name!
Example
{
  "address": AddressUpdate,
  "childOf": AssetUuid,
  "description": Description,
  "displayName": Name
}

InputArg

Description

a json blob with input arguments from a mutation of any type

Example
InputArg

InputDeleteComputerAccess

Fields
Input Field Description
delete - [DeleteComputerManageAccess!]!
id - AssetUuid!
passwordToAllowChange - PasswordAsClearText
runWithRootPrivilege - Boolean is mostly used in application layer to prevent password and privileges checks from happen, it needs a valid apikey to be present in the context
Example
{
  "delete": [DeleteComputerManageAccess],
  "id": AssetUuid,
  "passwordToAllowChange": PasswordAsClearText,
  "runWithRootPrivilege": false
}

InputDeleteFolderAccess

Fields
Input Field Description
delete - [DeleteFolderManageAccess!]!
id - AssetUuid!
ignoreInvisibleError - Boolean
runWithRootPrivilege - Boolean is mostly used in application layer to prevent password and privileges checks from happen, it needs a valid apikey to be present in the context
Example
{
  "delete": [DeleteFolderManageAccess],
  "id": AssetUuid,
  "ignoreInvisibleError": false,
  "runWithRootPrivilege": true
}

InputExistingComputer

Fields
Input Field Description
childOf - AssetUuid
customerId - CompanyClientReferenceSign
description - Description
displayName - Name
id - ComputerIdOrAssetId!
password - PasswordAsClearText! access password to check if user can really add this computer
Example
{
  "childOf": AssetUuid,
  "customerId": CompanyClientReferenceSign,
  "description": Description,
  "displayName": Name,
  "id": ComputerIdOrAssetId,
  "password": PasswordAsClearText
}

InputMoveAsset

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

InputPlaceholderComputer

Fields
Input Field Description
accessPassword - PasswordAsClearText
childOf - AssetUuid
customerId - CompanyClientReferenceSign
description - Description
displayName - Name!
settingsPassword - PasswordAsClearText
Example
{
  "accessPassword": PasswordAsClearText,
  "childOf": AssetUuid,
  "customerId": CompanyClientReferenceSign,
  "description": Description,
  "displayName": Name,
  "settingsPassword": PasswordAsClearText
}

InputRemoveAsset

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

InputRemoveAssetsOptions

Fields
Input Field Description
ignoreDashboardLinkError - Boolean ignore the fact that there may be links of an asset to another for adding it to a dashboard, if true the asset will be deleted nonetheless
Example
{"ignoreDashboardLinkError": true}

InputSessionExportOptions

Fields
Input Field Description
exportWithComments - Boolean!
outputFileFormat - ExportOutputFormat!
Example
{"exportWithComments": false, "outputFileFormat": "csv"}

InputSetComputerAccess

Fields
Input Field Description
addOrUpdate - [ChangeComputerManageAccess!]!
id - AssetUuid!
passwordToAllowChange - PasswordAsClearText
runWithRootPrivilege - Boolean is mostly used in application layer to prevent password and privileges checks from happen, it needs a valid apikey to be present in the context
Example
{
  "addOrUpdate": [ChangeComputerManageAccess],
  "id": AssetUuid,
  "passwordToAllowChange": PasswordAsClearText,
  "runWithRootPrivilege": true
}

InputSignUp

Fields
Input Field Description
activationFollowUpLink - RedirectLink!
attentionChannel - AttentionChannel
attentionChannelOther - String
emailSetToVerified - Boolean if true there will be no emails to the user for creation or activation
recaptchaToken - String is required by public facing endpoints, that lacks real auth, like FirstTimeCustomerPlaceOrder
update - ContactUpdate!
Example
{
  "activationFollowUpLink": RedirectLink,
  "attentionChannel": "CooperationPartner",
  "attentionChannelOther": "abc123",
  "emailSetToVerified": false,
  "recaptchaToken": "abc123",
  "update": ContactUpdate
}

Int

Description

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

Example
987

IntegrationDeleted

Fields
Field Name Description
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
ok - Boolean!
persistenceNotRequired - Boolean
Example
{
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "ok": false,
  "persistenceNotRequired": false
}

IntegrationWebhookRegistered

Fields
Field Name Description
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
persistenceNotRequired - Boolean
webhook - WebhookRegistration!
Example
{
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "persistenceNotRequired": false,
  "webhook": WebhookRegistration
}

IntegratorApiToken

Description

Integrator API Token, can be used to allow an integrator to consume this API.

Example
IntegratorApiToken

IntegratorData

Fields
Field Name Description
claims - [String!]! allowed API paths stored with the integration token (from accessToAPI.allowedApiPaths at creation time)
createdAt - UnixTimeMs!
createdBy - Auth0Uuid!
createdByUser - User this is only available when the createdBy is required too, otherwise it's null. Note: this value is only evulated, when subscitpion starts. Its not updated during subscription itself.
displayValue - String! first x characters, padded to actual length
endpoints - IntegratorEndpoints
integratorId - Integrators!
lastUsageAt - UnixTimeMs
lastUsageWarning - Boolean! true when delta exceeds configured threshold
tenantUrl - Url
Example
{
  "claims": ["xyz789"],
  "createdAt": UnixTimeMs,
  "createdBy": Auth0Uuid,
  "createdByUser": User,
  "displayValue": "abc123",
  "endpoints": IntegratorEndpoints,
  "integratorId": "DocBee",
  "lastUsageAt": UnixTimeMs,
  "lastUsageWarning": true,
  "tenantUrl": Url
}

IntegratorDeliveryState

Fields
Field Name Description
attemptCount - Int!
deliveredAt - UnixTimeMs
integratorId - Integrators!
lastAttemptAt - UnixTimeMs
lastError - String
status - WebhookDeliveryStatus!
Example
{
  "attemptCount": 987,
  "deliveredAt": UnixTimeMs,
  "integratorId": "DocBee",
  "lastAttemptAt": UnixTimeMs,
  "lastError": "xyz789",
  "status": "Abandoned"
}

IntegratorEndpoints

Fields
Field Name Description
webhooks - [WebhookRegistration!]!
Example
{"webhooks": [WebhookRegistration]}

Integrators

Values
Enum Value Description

DocBee

Mailreports

servereye

Teambilling

Example
"DocBee"

InvitationUuid

Example
InvitationUuid

InviteToCompanyTeamResult

IoDevicesPolicySettingsForComputer

Fields
Field Name Description
inheritFromParentFolder - Boolean! if the settings for turnOffLocalInput, turnOffWallpaper and turnOffMonitors should be taken from the parent folder's settings
preventShutdown - Boolean!
turnOffLocalInput - Boolean! if the local input is turned off or not for remote host in session
turnOffMonitors - Boolean! if the monitor is turned off or not for remote host in session
turnOffWallpaper - Boolean! if the wallpaper is turned off or not for remote host in session
Example
{
  "inheritFromParentFolder": true,
  "preventShutdown": false,
  "turnOffLocalInput": true,
  "turnOffMonitors": false,
  "turnOffWallpaper": true
}

IoDevicesPolicySettingsForFolder

Fields
Field Name Description
turnOffLocalInput - Boolean! if the local input is turned off or not for remote host in session
turnOffMonitors - Boolean! if the monitor is turned off or not for remote host in session
turnOffWallpaper - Boolean! if the wallpaper is turned off or not for remote host in session
Example
{
  "turnOffLocalInput": false,
  "turnOffMonitors": false,
  "turnOffWallpaper": false
}

JWK

Description

JSON Web Key used for JWE encryption.

Example
JWK

JWT

Description

JSON Web Token, can be used to consume this API.

Example
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNTE2MjM5MDIyLCJwcm9qZWN0IjoiZ3JhcGhxbC1zY2FsYXJzIn0.nYdrSfE2nNRAgpiEU1uKgn2AYYKLo28Z0nhPXvsuIww"

KeyValuePairInput

Fields
Input Field Description
key - String!
value - String!
Example
{
  "key": "abc123",
  "value": "xyz789"
}

Lanquage

Values
Enum Value Description

de_DE

en_US

Example
"de_DE"

LifeSignOfOsSession

Values
Enum Value Description

ConnectionLost

InteractiveScreen

LockScreen

LoggedOff

LoginScreen

Rebooting

SecurityOrUac

TerminalSessionDisconnected

UnknownScreen

Example
"ConnectionLost"

LoggedOnUser

Fields
Field Name Description
displayName - Name!
isInWindowsConsoleSession - Boolean!
logonName - Name!
logonUserDomain - Domain!
screenState - LifeSignOfOsSession!
windowsSessionId - Int!
Example
{
  "displayName": Name,
  "isInWindowsConsoleSession": false,
  "logonName": Name,
  "logonUserDomain": Domain,
  "screenState": "ConnectionLost",
  "windowsSessionId": 987
}

LoginPolicy

Fields
Field Name Description
allowRememberBrowser - Boolean
challengeChannel - ChallengeChannel
companyMayChangePhoneNumber - Boolean!
type - LoginType!
Example
{
  "allowRememberBrowser": true,
  "challengeChannel": "google_authenticator",
  "companyMayChangePhoneNumber": true,
  "type": "email_password"
}

LoginPolicyOfCompanyRole

Fields
Field Name Description
customer_uuid - CustomerUuid!
loginPolicy - LoginPolicy!
role - LoginPolicyRole!
Example
{
  "customer_uuid": CustomerUuid,
  "loginPolicy": LoginPolicy,
  "role": "r2oCustomer"
}

LoginPolicyRole

Values
Enum Value Description

r2oCustomer

supportTeammember

Example
"r2oCustomer"

LoginType

Values
Enum Value Description

email_password

mfa

Example
"email_password"

LogonName

Description

Logon Name on a omputer system.

Example
LogonName

Mac

Example
Mac

ManagedAssetType

Types
Union Types

ManagedComputer

ManagedPortal

Example
ManagedComputer

ManagedAssetTypeName

Values
Enum Value Description

ManagedComputer

ManagedPortal

UnknownManagedService

Example
"ManagedComputer"

ManagedComputer

Fields
Field Name Description
id - AssetUuid!
typename - ManagedAssetTypeName!
userRole - R2O_AccessRole!
Example
{
  "id": AssetUuid,
  "typename": "ManagedComputer",
  "userRole": "customer"
}

ManagedPortal

Fields
Field Name Description
id - AssetUuid!
typename - ManagedAssetTypeName!
userRole - R2O_AccessRole!
Example
{
  "id": AssetUuid,
  "typename": "ManagedComputer",
  "userRole": "customer"
}

MemberState

Description

state of the member of a team

Values
Enum Value Description

Active

allowed and active member of a team

Deactivated

can't login to this team

Removed

former member of a team which was removed from it
Example
"Active"

MobileDocumentationTrigger

Values
Enum Value Description

AfterBilled

when the value from the SessionProtocol changes from unbilled to billed

AfterSession

when the session gets closed (and comment was sent)
Example
"AfterBilled"

MutationResult

Description

a json blob with mutation result

Example
MutationResult

Name

Description

FirstName + LastName

Example
Name

NetworkAdapter

Fields
Field Name Description
description - Description
gatewayAddress - IP!
gatewayHardwareAdress - Mac!
hardwareAdress - Mac!
id - SubnetId!
ip - IP!
name - Name
subnetMask - IP!
Example
{
  "description": Description,
  "gatewayAddress": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
  "gatewayHardwareAdress": Mac,
  "hardwareAdress": Mac,
  "id": SubnetId,
  "ip": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
  "name": Name,
  "subnetMask": "2001:0db8:85a3:0000:0000:8a2e:0370:7334"
}

NodeAsCompany

Fields
Field Name Description
access - [AssetManageAccess!]!
childOf - [AssetUuid!]! Attention!! only index of 0 provides a valid value
companyAddress - Address!
createdAt - UnixTimeMs!
customerId - CompanyClientReferenceSign! the client id the supporter can assign to an asset (for logging purposes)
customerUuid - CustomerUuid! the company id to which this asset belongs, important for combined subscriptions or requests
description - NoteId! link to S3 description entry
displayName - Name!
eventuallyCustomerId - CompanyClientReferenceSign! if customerId is empty, this value is filled with an heuristic value from name or customerId from folders, up in the hirarchy.
id - AssetUuid!
ioDevicesPolicy - IoDevicesPolicySettingsForFolder! settings for behaviour when starting a pcv session to this computer
noteIds - [NoteId!]! a list of links to S3 note objects
postSessionBehaviour - PostSessionBehaviorForFolder!
recordingStartPolicy - ComputerRecordingStartPolicyForFolder!
subnets - [FolderSubnet!]!
typeName - AssetType!
updatedAt - UnixTimeMs!
Example
{
  "access": [AssetManageAccess],
  "childOf": [AssetUuid],
  "companyAddress": Address,
  "createdAt": UnixTimeMs,
  "customerId": CompanyClientReferenceSign,
  "customerUuid": CustomerUuid,
  "description": NoteId,
  "displayName": Name,
  "eventuallyCustomerId": CompanyClientReferenceSign,
  "id": AssetUuid,
  "ioDevicesPolicy": IoDevicesPolicySettingsForFolder,
  "noteIds": [NoteId],
  "postSessionBehaviour": "Default",
  "recordingStartPolicy": "AlwaysStart",
  "subnets": [FolderSubnet],
  "typeName": "AdHocComputer",
  "updatedAt": UnixTimeMs
}

NodeAsLocation

Fields
Field Name Description
access - [AssetManageAccess!]!
childOf - [AssetUuid!]! Attention!! only index of 0 provides a valid value
createdAt - UnixTimeMs!
customerId - CompanyClientReferenceSign! the client id the supporter can assign to an asset (for logging purposes)
customerUuid - CustomerUuid! the company id to which this asset belongs, important for combined subscriptions or requests
description - NoteId! link to S3 description entry
displayName - Name!
eventuallyCustomerId - CompanyClientReferenceSign! if customerId is empty, this value is filled with an heuristic value from name or customerId from folders, up in the hirarchy.
id - AssetUuid!
ioDevicesPolicy - IoDevicesPolicySettingsForFolder! settings for behaviour when starting a pcv session to this computer
location - Address!
noteIds - [NoteId!]! a list of links to S3 note objects
postSessionBehaviour - PostSessionBehaviorForFolder!
recordingStartPolicy - ComputerRecordingStartPolicyForFolder!
subnets - [FolderSubnet!]!
typeName - AssetType!
updatedAt - UnixTimeMs!
Example
{
  "access": [AssetManageAccess],
  "childOf": [AssetUuid],
  "createdAt": UnixTimeMs,
  "customerId": CompanyClientReferenceSign,
  "customerUuid": CustomerUuid,
  "description": NoteId,
  "displayName": Name,
  "eventuallyCustomerId": CompanyClientReferenceSign,
  "id": AssetUuid,
  "ioDevicesPolicy": IoDevicesPolicySettingsForFolder,
  "location": Address,
  "noteIds": [NoteId],
  "postSessionBehaviour": "Default",
  "recordingStartPolicy": "AlwaysStart",
  "subnets": [FolderSubnet],
  "typeName": "AdHocComputer",
  "updatedAt": UnixTimeMs
}

NoteId

Example
NoteId

OnlineState

Values
Enum Value Description

ActiveSession

AgentNotInstalled

Forbidden

Locked

Offline

Online

Zombie

Example
"ActiveSession"

OrderId

Example
OrderId

Os

Values
Enum Value Description

osAndroid

osDontCare

osIos

osLinux

osMacOSx

osNintendo

osPlaystation

osTvOS

osUnknown

osWatchOS

osWin32

osWin32_xp

osXbox

Example
"osAndroid"

Os_Role

Values
Enum Value Description

Client

DomainController

Server

Unknown

Example
"Client"

OwnerWasSetEvent

Fields
Field Name Description
account - Auth0Uuid!
company - CustomerUuid!
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
formerOwner - [Auth0Uuid!]
OwnerWasSetEventDummy - String!
persistenceNotRequired - Boolean
Example
{
  "account": Auth0Uuid,
  "company": CustomerUuid,
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "formerOwner": [Auth0Uuid],
  "OwnerWasSetEventDummy": "xyz789",
  "persistenceNotRequired": false
}

PackageUuid

Example
PackageUuid

Pagination

Description

Pagination parameters to control result set size and navigation. Supports both cursor-based and offset-based pagination.

Fields
Input Field Description
cursor - Cursor Optional cursor for pagination-based navigation. Defaults to the very first element if not present.
lengthStartingFromOffset - Int! Required integer specifying how many results to return starting from the offset or cursor position.
offset - Int Optional integer offset for offset-based pagination. Defaults to null if not present.
Example
{
  "cursor": Cursor,
  "lengthStartingFromOffset": 123,
  "offset": 123
}

Password

Example
Password

PasswordAsClearText

Example
PasswordAsClearText

Person

Fields
Field Name Description
childOf - [AssetUuid!]! Attention!! only index of 0 provides a valid value
createdAt - UnixTimeMs!
customerId - CompanyClientReferenceSign! the client id the supporter can assign to an asset (for logging purposes)
customerUuid - CustomerUuid! the company id to which this asset belongs, important for combined subscriptions or requests
description - NoteId! link to S3 description entry
displayName - Name!
email - Email!
email_verified - Boolean! if the account has been activated by the user
eventuallyCustomerId - CompanyClientReferenceSign! if customerId is empty, this value is filled with an heuristic value from name or customerId from folders, up in the hirarchy.
id - AssetUuid!
login_policy - LoginPolicy!
noteIds - [NoteId!]! a list of links to S3 note objects
phone - SecuredPhoneNumber! phone number used for DUO or sms MFA
picture - ImageURL!
typeName - AssetType!
updatedAt - UnixTimeMs!
usageRights - [ManagedAssetType!]!
userId - Auth0Uuid!
Example
{
  "childOf": [AssetUuid],
  "createdAt": UnixTimeMs,
  "customerId": CompanyClientReferenceSign,
  "customerUuid": CustomerUuid,
  "description": NoteId,
  "displayName": Name,
  "email": Email,
  "email_verified": false,
  "eventuallyCustomerId": CompanyClientReferenceSign,
  "id": AssetUuid,
  "login_policy": LoginPolicy,
  "noteIds": [NoteId],
  "phone": SecuredPhoneNumber,
  "picture": ImageURL,
  "typeName": "AdHocComputer",
  "updatedAt": UnixTimeMs,
  "usageRights": [ManagedComputer],
  "userId": Auth0Uuid
}

PersonAndComputerUnlinked

Fields
Field Name Description
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
id - AssetUuid! it's the id of the removed UsageRight entry within CompanyAssets
persistenceNotRequired - Boolean
Example
{
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "id": AssetUuid,
  "persistenceNotRequired": false
}

PhoneNumber

Example
"+17895551234"

PlanType

Values
Enum Value Description

Basic

Free

FreeUnlimited

Profi

Profi_bis_0422

Profi_bis_0824

SimpleRemoteAccess

Unknown

Example
"Basic"

PlanVariantValue

Values
Enum Value Description

Basic

Free

FreeUnlimited

Profi

Profi_bis_0422

Profi_bis_0824

SimpleRemoteAccess

Example
"Basic"

Port

Example
32931

PostSessionBehavior

Description

enum for how the client module shall behave when leaving the session

Values
Enum Value Description

Default

users stays unchanged

InheritFromParent

LockComputer

LogOffCurrentUser

Example
"Default"

PostSessionBehaviorForFolder

Values
Enum Value Description

Default

users stays unchanged

LockComputer

LogOffCurrentUser

Example
"Default"

ProtocolConfigurationRdp

Fields
Field Name Description
isAllowed - Boolean! if this type of protocol is allowed for the R2O User
sessionPrivileges - [AccessRightsPolicy!]!
Example
{"isAllowed": false, "sessionPrivileges": ["AllowAudio"]}

ProtocolConfigurationSftp

Fields
Field Name Description
isAllowed - Boolean! if this type of protocol is allowed for the R2O User
sessionPrivileges - [AccessRightsPolicy!]!
Example
{"isAllowed": true, "sessionPrivileges": ["AllowAudio"]}

ProtocolConfigurationVnc

Fields
Field Name Description
isAllowed - Boolean! if this type of protocol is allowed for the R2O User
postSessionBehaviour - PostSessionBehavior!
sessionBehaviour - IoDevicesPolicySettingsForComputer!
sessionPrivileges - [AccessRightsPolicy!]!
Example
{
  "isAllowed": false,
  "postSessionBehaviour": "Default",
  "sessionBehaviour": IoDevicesPolicySettingsForComputer,
  "sessionPrivileges": ["AllowAudio"]
}

R2O_AccessRole

Description

the role a user has in a r2o configuration

Values
Enum Value Description

customer

a paying customer for the company

teammember

a non paying teammember of the company

unknown

Example
"customer"

RaCreateSessionResult

Types
Union Types

Failure

SessionCreated

Example
Failure

RdpProperties

Fields
Field Name Description
availableServices - [AccessRightsPolicy!]
capabilityVersion - Version!
rdpVersion - Version
status - ErrorIDs! state of the service, might be one of the following codes: NoError - Rdp is working UnsupportedVersionUsed - Remote Host is outdated, no correct info available FunctionNotAvailable - platform might be mac or linux but not Windows AgentNotInstalled - computer is still only a placeholder SharingViolation - multiple processes are listening on the rdp port, so the service might be buggy ServiceNotSupported - service not configured, might be a Windows Home edition ServiceNotRunning - the neccessary Rdp Processes are not running or listening NotAllServicesAvailable - rpd is up and running but not all services are available
Example
{
  "availableServices": ["AllowAudio"],
  "capabilityVersion": Version,
  "rdpVersion": Version,
  "status": "Ac_ServiceSupplyExceeded"
}

RegisterIntegrationWebhookInput

Fields
Input Field Description
callbackUrl - Url!
integratorId - Integrators!
signingSecret - String!
subscribedEvents - [WebhookEventType!]!
webhookType - WebhookType!
Example
{
  "callbackUrl": Url,
  "integratorId": "DocBee",
  "signingSecret": "xyz789",
  "subscribedEvents": ["SessionCompleted"],
  "webhookType": "SessionLifecycle"
}

RemoteAppProperties

Fields
Field Name Description
availableServices - [AccessRightsPolicy!]
capabilityVersion - Version!
launchApp - FilePath
rdpVersion - Version
status - ErrorIDs! state of the service, might be one of the following codes: NoError - Rdp is working UnsupportedVersionUsed - Remote Host is outdated, no correct info available FunctionNotAvailable - platform might be mac or linux but not Windows AgentNotInstalled - computer is still only a placeholder SharingViolation - multiple processes are listening on the rdp port, so the service might be buggy ServiceNotSupported - service not configured, might be a Windows Home edition ServiceNotRunning - the neccessary Rdp Processes are not running or listening NotAllServicesAvailable - rpd is up and running but not all services are available
Example
{
  "availableServices": ["AllowAudio"],
  "capabilityVersion": Version,
  "launchApp": FilePath,
  "rdpVersion": Version,
  "status": "Ac_ServiceSupplyExceeded"
}

RemoteHostServiceInstance

Fields
Field Name Description
computerIdentity - AssetUuid!
displayName - Name!
homeConnectionState - HomeConnected!
id - UserIdentity!
isInRemoteAccess - Boolean!
isInWindowsConsoleSession - Boolean!
levelableState - UacLevelState!
logonName - Name!
logonUserDomain - Domain!
resourceObjectIdentity - ResourcePath!
screenState - LifeSignOfOsSession!
type - ComputerUserType!
windowsSessionId - Int!
Example
{
  "computerIdentity": AssetUuid,
  "displayName": Name,
  "homeConnectionState": "HOME_OFFLINE",
  "id": UserIdentity,
  "isInRemoteAccess": true,
  "isInWindowsConsoleSession": true,
  "levelableState": "AdminRights_Active",
  "logonName": Name,
  "logonUserDomain": Domain,
  "resourceObjectIdentity": ResourcePath,
  "screenState": "ConnectionLost",
  "type": "ConsoleUser",
  "windowsSessionId": 987
}

RemoveFromCompanyTeamResult

ResourcePath

Example
ResourcePath

Role

Description

the role a team member can have

Values
Enum Value Description

localAdmin

local admin means mostly login by licence key

supporter

the supporter is the default user in a team

supporterAdmin

this is the admin of a team

supporterCustomer

this is a R2O user
Example
"localAdmin"

Salt

Example
Salt

SecuredPhoneNumber

Example
SecuredPhoneNumber

SequenceId

Example
SequenceId

SerialNumber

Example
SerialNumber

ServiceProperty

Fields
Field Name Description
banner - String!
createdAt - UnixTimeMs!
displayName - String!
id - Port!
protocol - ServiceProtocol!
type - ServiceType!
updatedAt - UnixTimeMs!
Example
{
  "banner": "xyz789",
  "createdAt": UnixTimeMs,
  "displayName": "xyz789",
  "id": 32931,
  "protocol": "tcp",
  "type": "EPMAP",
  "updatedAt": UnixTimeMs
}

ServiceProtocol

Values
Enum Value Description

tcp

udp

Example
"tcp"

ServiceType

Values
Enum Value Description

EPMAP

HTTP

HTTPS

MsRpc

RDP

SNMP

SSH

Unknown

VNC

WMI

Example
"EPMAP"

SessionCreated

Fields
Field Name Description
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
onBehalfOf - CustomerUuid if the creator of the session is in a contract resold by some reseller, the uuid of the reseller is provided here
persistenceNotRequired - Boolean
session - SessionUuid!
sessionName - SessionName!
sessionType - SessionType!
Example
{
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "onBehalfOf": CustomerUuid,
  "persistenceNotRequired": false,
  "session": SessionUuid,
  "sessionName": SessionName,
  "sessionType": "AdHocSessionForSupporter"
}

SessionName

Example
SessionName

SessionProtocol

Fields
Field Name Description
clientCompany - ClientCompany
commentsLink - Url
customDuration - DurationMs
duration - DurationMs
id - TaskUuid!
integratorDeliveries - [IntegratorDeliveryState!]!
invoiceState - TaskInvoiceStatus!
lastUpdatedAt - UnixTimeMs! timestamp of the last update (event) of this protocol
name - SessionName!
participants - [SessionProtocolParticipant!]!
sessionCompanyUuid - CustomerUuid! the customer uuid which created the session this is used to determine if the session is an external session or not
sessionCreatedAt - UnixTimeMs!
sessionFinishedAt - UnixTimeMs
state - SessionState!
target - SessionProtocolMainTarget
type - SessionType!
Example
{
  "clientCompany": ClientCompany,
  "commentsLink": Url,
  "customDuration": DurationMs,
  "duration": DurationMs,
  "id": TaskUuid,
  "integratorDeliveries": [IntegratorDeliveryState],
  "invoiceState": "Invoiced",
  "lastUpdatedAt": UnixTimeMs,
  "name": SessionName,
  "participants": [SessionProtocolParticipant],
  "sessionCompanyUuid": CustomerUuid,
  "sessionCreatedAt": UnixTimeMs,
  "sessionFinishedAt": UnixTimeMs,
  "state": "AwaitingAccessAsParticipant",
  "target": SessionProtocolMainTarget,
  "type": "AdHocSessionForSupporter"
}

SessionProtocolEdge

Fields
Field Name Description
batchLoadingIsStillActive - Boolean! if true, there will be coming more data, if false there is no more data to be expected for now (until a real update is triggered)
nodes - [SessionProtocolNode!]!
reportingActiveSince - UnixTimeMs! the starting timepoint for gathering all session data for this company
totalCount - Int! the total number of protocols in the result independent from paging
Example
{
  "batchLoadingIsStillActive": false,
  "nodes": [SessionProtocolNode],
  "reportingActiveSince": UnixTimeMs,
  "totalCount": 987
}

SessionProtocolMainTarget

Fields
Field Name Description
computerDisplayName - Name!
computerHostName - Name
computerId - AssetUuid!
computerMacAddress - Mac
computerTeamViewerId - String
computerUserDisplayName - Name
termsAndConditionsNameUsedForAccepting - Name
termsAndConditionsRequestState - TermsAndConditionsRequestState!
Example
{
  "computerDisplayName": Name,
  "computerHostName": Name,
  "computerId": AssetUuid,
  "computerMacAddress": Mac,
  "computerTeamViewerId": "abc123",
  "computerUserDisplayName": Name,
  "termsAndConditionsNameUsedForAccepting": Name,
  "termsAndConditionsRequestState": "Accepted"
}

SessionProtocolNode

Fields
Field Name Description
cursor - Cursor!
index - Int!
value - SessionProtocol!
Example
{
  "cursor": Cursor,
  "index": 123,
  "value": SessionProtocol
}

SessionProtocolParticipant

Fields
Field Name Description
isSessionCreator - Boolean!
legacyParticipantName - Name
supporterContact - Contact!
supporterIdentity - Identity!
Example
{
  "isSessionCreator": false,
  "legacyParticipantName": Name,
  "supporterContact": Contact,
  "supporterIdentity": Identity
}

SessionState

Values
Enum Value Description

AwaitingAccessAsParticipant

CreatingStream

Documenting

ServingStream

SessionClosed

SessionInvalid

Example
"AwaitingAccessAsParticipant"

SessionToAsset

Fields
Field Name Description
createdAt - UnixTimeMs!
creatorCompanyName - Name!
creatorFirstName - Name!
creatorLastName - Name!
Example
{
  "createdAt": UnixTimeMs,
  "creatorCompanyName": Name,
  "creatorFirstName": Name,
  "creatorLastName": Name
}

SessionType

Values
Enum Value Description

AdHocSessionForSupporter

DeviceSessionForR2O

DeviceSessionForSupporter

Example
"AdHocSessionForSupporter"

SessionUuid

Description

pcvisit wide unique id of a session. With it, we can found them on each internal system.

Example
SessionUuid

SftpProperties

Fields
Field Name Description
availableServices - [AccessRightsPolicy!]
capabilityVersion - Version!
status - ErrorIDs! state of the service, might be one of the following codes: NoError - Rdp is working UnsupportedVersionUsed - Remote Host is outdated, no correct info available FunctionNotAvailable - platform might be mac or linux but not Windows AgentNotInstalled - computer is still only a placeholder SharingViolation - multiple processes are listening on the rdp port, so the service might be buggy ServiceNotSupported - service not configured, might be a Windows Home edition ServiceNotRunning - the neccessary Rdp Processes are not running or listening NotAllServicesAvailable - rpd is up and running but not all services are available
Example
{
  "availableServices": ["AllowAudio"],
  "capabilityVersion": Version,
  "status": "Ac_ServiceSupplyExceeded"
}

SharablePolicy

Values
Enum Value Description

Everyone

OwnerOnly

TeamOnly

Example
"Everyone"

ShoppingCartComponent

Fields
Input Field Description
component - ComponentId
quantity - Int
Example
{"component": ComponentId, "quantity": 987}

ShoppingCartForFirstTimeCustomer

Fields
Input Field Description
componentsToAdd - [ShoppingCartComponent]
country - Country optional, if not set it is DE
couponCode - CouponCode
plan - PlanVariantValue
termsOfConditionsConfirmed - Boolean!
Example
{
  "componentsToAdd": [ShoppingCartComponent],
  "country": "AR",
  "couponCode": CouponCode,
  "plan": "Basic",
  "termsOfConditionsConfirmed": true
}

SiAddToCompanyTeamResult

Example
Failure

SiDecryptAuthTokenResult

Types
Union Types

DecryptedAuthToken

Failure

Example
DecryptedAuthToken

SiFindUserByMailResult

Types
Union Types

Failure

User

Example
Failure

SiRemoveFromCompanyTeamResult

Example
Failure

SiRetrieveSignedJwtResult

Types
Union Types

Failure

SignedJwtWasRetrieved

Example
Failure

SiRetrieveSignedTokenPayloadResult

Types
Union Types

Failure

SignedTokenPayload

Example
Failure

SiSignUpWPswdResult

Types
Union Types

Failure

UserWasCreated

Example
Failure

SiSignUpWoPswdResult

Types
Union Types

Failure

UserWasCreated

Example
Failure

SiUpdateMasterDataResult

Types
Union Types

Failure

UserWasUpdated

Example
Failure

SignedJwtWasRetrieved

Fields
Field Name Description
customerUuid - CustomerUuid!
encryptionKey - JWK
token - JWT!
Example
{
  "customerUuid": CustomerUuid,
  "encryptionKey": JWK,
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNTE2MjM5MDIyLCJwcm9qZWN0IjoiZ3JhcGhxbC1zY2FsYXJzIn0.nYdrSfE2nNRAgpiEU1uKgn2AYYKLo28Z0nhPXvsuIww"
}

SignedTokenPayload

Fields
Field Name Description
base64 - String! the base64 encoded value to be put into the jwt
payload - String! the content of base64 value as stringified json for controlling purpose
signature - String! the signature to verify the base64 encoded value
Example
{
  "base64": "abc123",
  "payload": "abc123",
  "signature": "xyz789"
}

Sort

Description

Describes how to sort a list of elements. The backend uses a lexicographical sort algorithm. The hashSize defines the size of the hash for each property we sort, but influences the accuracy of the results. Default is 15; if the values we sort for exceeds this size, we should adapt the hashSize.

Fields
Input Field Description
direction - SortDirection! Sort direction - either Asc (ascending) or Desc (descending)
hashSize - Int Optional integer defining the hash size for lexicographical sorting (default: 15). Increase this value if the sorted values exceed the default hash size for better accuracy.
mapToIndex - [String!] Optional array of strings for custom index mapping
path - String! String path to the property to sort by (e.g., "displayName", "typeName", "onlineState"). Supports nested paths in dot notation (e.g., "value.displayName"). The path points to a value within the result as property we are sorting for, in the form of: x.y.z
Example
{
  "direction": "Asc",
  "hashSize": 987,
  "mapToIndex": ["xyz789"],
  "path": "xyz789"
}

SortDirection

Values
Enum Value Description

Asc

Desc

Example
"Asc"

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"

SubnetId

Example
SubnetId

TaskInvoiceStatus

Values
Enum Value Description

Invoiced

task has been handled

NotRequired

task invoice does not need handling

Pending

not yet invoiced or decided what to do
Example
"Invoiced"

TaskUuid

Example
TaskUuid

Team

Fields
Field Name Description
members - [Teammember!]!
Example
{"members": [Teammember]}

Teammember

Fields
Field Name Description
addedAt - UnixTimeMs when the account was added to the team, can be undefined due to missing data
addedBy - Auth0Uuid the user account who added this member to the team, can be undefined
customerUuidOfTeam - CustomerUuid!
email - Email
email_verified - Boolean
id - Auth0Uuid!
isAllowedToPurchaseInShop - Boolean!
isOnline - Boolean!
isOwner - Boolean!
legacyContainedFeatures - Features should not been used anymore use the subscription for a team in the application layer instead for this
loginPolicy - LoginPolicy! the login policy in the context of the company
properties - User!
removedAt - UnixTimeMs when was it removed from the team, can be undefined
removedBy - Auth0Uuid removed from the team by this user, can be undefined, when no data or when never has been removed yet, add and remove info can be existing side by side when readded for example
role - Role!
state - MemberState!
Example
{
  "addedAt": UnixTimeMs,
  "addedBy": Auth0Uuid,
  "customerUuidOfTeam": CustomerUuid,
  "email": Email,
  "email_verified": true,
  "id": Auth0Uuid,
  "isAllowedToPurchaseInShop": true,
  "isOnline": true,
  "isOwner": true,
  "legacyContainedFeatures": Features,
  "loginPolicy": LoginPolicy,
  "properties": User,
  "removedAt": UnixTimeMs,
  "removedBy": Auth0Uuid,
  "role": "localAdmin",
  "state": "Active"
}

TeammemberAddOnUuid

Values
Enum Value Description

assignedActivityRecordingAddOn

Example
"assignedActivityRecordingAddOn"

TeammemberAddOnsWithUuid

Fields
Field Name Description
amount - Int
packageUuid - PackageUuid!
uuid - TeammemberAddOnUuid!
Example
{
  "amount": 987,
  "packageUuid": PackageUuid,
  "uuid": "assignedActivityRecordingAddOn"
}

TeammemberAddonsRemoved

Fields
Field Name Description
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
packages - [TeammemberAddOnsWithUuid!]!
persistenceNotRequired - Boolean
Example
{
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "packages": [TeammemberAddOnsWithUuid],
  "persistenceNotRequired": false
}

TeammemberIdentity

Fields
Input Field Description
company - CustomerUuid!
user - Auth0Uuid!
Example
{
  "company": CustomerUuid,
  "user": Auth0Uuid
}

TeammemberUpdate

Fields
Input Field Description
role - Role
state - MemberState
Example
{"role": "localAdmin", "state": "Active"}

TermsAndConditionsRequestState

Values
Enum Value Description

Accepted

Denied

UnknownOrNotRequested

Example
"Accepted"

ThirdPartyIds

Fields
Field Name Description
anyDeskId - String
ateraAgentId - String
connectWiseAgentId - String
customIds - [CustomThirdPartyId!]
dattoAgentId - String
intuneDeviceId - String
ninjaOneDeviceId - String
rustDeskId - String
screenConnectId - String
serverEyeNodeId - String
siteId - SubnetId
teamViewerId - String
zabbixHostId - String
Example
{
  "anyDeskId": "xyz789",
  "ateraAgentId": "xyz789",
  "connectWiseAgentId": "xyz789",
  "customIds": [CustomThirdPartyId],
  "dattoAgentId": "xyz789",
  "intuneDeviceId": "xyz789",
  "ninjaOneDeviceId": "abc123",
  "rustDeskId": "abc123",
  "screenConnectId": "xyz789",
  "serverEyeNodeId": "abc123",
  "siteId": SubnetId,
  "teamViewerId": "abc123",
  "zabbixHostId": "xyz789"
}

TimeFrame

Fields
Input Field Description
endDate - UnixTimeMs
startDate - UnixTimeMs
Example
{
  "endDate": UnixTimeMs,
  "startDate": UnixTimeMs
}

Token

Example
Token

UacLevelState

Values
Enum Value Description

AdminRights_Active

Levelable_by_Myself

Levelable_w_OtherAccount

Missing_Privileges

SystemRights_Active

Unknown

Example
"AdminRights_Active"

UnixTimeMs

Description

Time as Unixtime in ms (see https://de.wikipedia.org/wiki/Unixzeit, number of milliseconds since 1. Januar 1970 00:00:00 UTC)

Example
UnixTimeMs

UpdateNotFeasableInfo

Description

Provides information about why an available update cannot be applied to this computer.

Fields
Field Name Description
reason - ErrorIDs! the reason why the update cannot be applied (e.g. architecture mismatch or minimum OS version not met)
version - Version the version of the package that cannot be installed
Example
{"reason": "Ac_ServiceSupplyExceeded", "version": Version}

Url

Description

a URL.

Example
Url

UsageRightByPerson

Fields
Field Name Description
id - Auth0Uuid!
userRole - R2O_AccessRole!
Example
{"id": Auth0Uuid, "userRole": "customer"}

User

Fields
Field Name Description
company_ids - [CustomerUuid!]!
company_in_charge_ids - [CustomerUuid!]!
created - UnixTimeMs!
email - Email!
email_verified - Boolean!
firstName - Name!
id - Auth0Uuid!
isPictureFallback - Boolean!
lastLogin - UnixTimeMs
lastName - Name!
lastPasswordReset - UnixTimeMs
loginPoliciesOfCompanies - [LoginPolicyOfCompanyRole!]!
phone - PhoneNumber!
picture - ImageURL!
strongestActiveLoginPolicy - LoginPolicy
Example
{
  "company_ids": [CustomerUuid],
  "company_in_charge_ids": [CustomerUuid],
  "created": UnixTimeMs,
  "email": Email,
  "email_verified": false,
  "firstName": Name,
  "id": Auth0Uuid,
  "isPictureFallback": false,
  "lastLogin": UnixTimeMs,
  "lastName": Name,
  "lastPasswordReset": UnixTimeMs,
  "loginPoliciesOfCompanies": [LoginPolicyOfCompanyRole],
  "phone": "+17895551234",
  "picture": ImageURL,
  "strongestActiveLoginPolicy": LoginPolicy
}

UserAgent

Description

User Agent of an endpoint

Example
UserAgent

UserApiToken

Description

User API Token, can be used to allow an integrator to consume this API on behalf of an user.

Example
UserApiToken

UserIdentity

Example
UserIdentity

UserOrGroup

Types
Union Types

GroupIdentity

Identity

Example
GroupIdentity

UserWasAddedToCompanyTeam

Fields
Field Name Description
company - CustomerUuid!
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
persistenceNotRequired - Boolean
userId - Auth0Uuid!
Example
{
  "company": CustomerUuid,
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "persistenceNotRequired": false,
  "userId": Auth0Uuid
}

UserWasCreated

Fields
Field Name Description
attentionChannel - AttentionChannel
attentionChannelOther - String
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
id - Auth0Uuid!
initialPassword - PasswordAsClearText
persistenceNotRequired - Boolean
verifyIdentity - VerificationLink will always be undefined if called to avoid beeing able to create accounts without valid email
Example
{
  "attentionChannel": "CooperationPartner",
  "attentionChannelOther": "abc123",
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "id": Auth0Uuid,
  "initialPassword": PasswordAsClearText,
  "persistenceNotRequired": false,
  "verifyIdentity": VerificationLink
}

UserWasRemovedFromCompanyTeam

Fields
Field Name Description
company - CustomerUuid!
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
persistenceNotRequired - Boolean
userId - Auth0Uuid!
Example
{
  "company": CustomerUuid,
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "persistenceNotRequired": true,
  "userId": Auth0Uuid
}

UserWasUpdated

Fields
Field Name Description
company - CustomerUuid!
eventCreated - UnixTimeMs!
eventName - DomainEventName!
eventOrigin - DomainEventOrigin
eventProps - DomainEventInput!
eventSequenceId - SequenceId!
persistenceNotRequired - Boolean
userId - Auth0Uuid!
Example
{
  "company": CustomerUuid,
  "eventCreated": UnixTimeMs,
  "eventName": DomainEventName,
  "eventOrigin": DomainEventOrigin,
  "eventProps": DomainEventInput,
  "eventSequenceId": SequenceId,
  "persistenceNotRequired": false,
  "userId": Auth0Uuid
}

VATID

Example
VATID

Version

Example
Version

VncProperties

Fields
Field Name Description
availableServices - [AccessRightsPolicy!]
capabilityVersion - Version!
status - ErrorIDs! state of the service, might be one of the following codes: NoError - Rdp is working UnsupportedVersionUsed - Remote Host is outdated, no correct info available FunctionNotAvailable - platform might be mac or linux but not Windows AgentNotInstalled - computer is still only a placeholder SharingViolation - multiple processes are listening on the rdp port, so the service might be buggy ServiceNotSupported - service not configured, might be a Windows Home edition ServiceNotRunning - the neccessary Rdp Processes are not running or listening NotAllServicesAvailable - rpd is up and running but not all services are available
Example
{
  "availableServices": ["AllowAudio"],
  "capabilityVersion": Version,
  "status": "Ac_ServiceSupplyExceeded"
}

WebhookDeliveryStatus

Values
Enum Value Description

Abandoned

Failed

NeverDelivered

Pending

Success

Example
"Abandoned"

WebhookEventType

Values
Enum Value Description

SessionCompleted

SessionParticipantChanged

SessionStarted

Example
"SessionCompleted"

WebhookRegistration

Fields
Field Name Description
callbackUrl - Url!
lastDeliveryAt - UnixTimeMs
lastDeliveryStatus - WebhookDeliveryStatus
subscribedEvents - [WebhookEventType!]!
webhookSigningSecretSet - Boolean!
webhookType - WebhookType!
Example
{
  "callbackUrl": Url,
  "lastDeliveryAt": UnixTimeMs,
  "lastDeliveryStatus": "Abandoned",
  "subscribedEvents": ["SessionCompleted"],
  "webhookSigningSecretSet": true,
  "webhookType": "SessionLifecycle"
}

WebhookType

Values
Enum Value Description

SessionLifecycle

Example
"SessionLifecycle"