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:
- Introduction to GraphQL - Official GraphQL documentation
- How to GraphQL - Free tutorial for all skill levels
- GraphQL Playground - Interactive GraphQL IDE for testing queries
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 two 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 best practices. Start here to learn how to authenticate, make your first requests, and integrate the API into your applications. We recommend starting with the Integration Manual for Developers to understand the fundamentals, then using 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
Response
Returns a CaRetrievePublicCompanyDataResult
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}}
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!
|
|
userApiToken - UserApiToken!
|
Example
Query
query SiRetrieveSignedJwt(
$integratorApiToken: IntegratorApiToken!,
$userApiToken: UserApiToken!
) {
SiRetrieveSignedJwt(
integratorApiToken: $integratorApiToken,
userApiToken: $userApiToken
) {
... on Failure {
...FailureFragment
}
... on SignedJwtWasRetrieved {
...SignedJwtWasRetrievedFragment
}
}
}
Variables
{
"integratorApiToken": IntegratorApiToken,
"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
Response
Returns a SiRetrieveSignedTokenPayloadResult!
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}}
Types
AcExportSessionsHistoryResult
Types
| Union Types |
|---|
Example
ExportSummary
AcQuerySessionsHistoryResult
Types
| Union Types |
|---|
Example
Failure
AccessRightsPolicy
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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": 123, "sessions": [SessionToAsset]}
Address
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
}
AssetAccessRights
Values
| Enum Value | Description |
|---|---|
|
|
is allowed to remotely access the computer |
|
|
is allowed to configure computer specific settings |
|
|
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
}
AssetType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"AdHocComputer"
AssetUuid
Example
AssetUuid
Auth0Uuid
Description
Unique User ID, issued from, the auth0 system.
Example
Auth0Uuid
Boolean
Description
The Boolean scalar type represents true or false.
CaRetrievePublicCompanyDataResult
ChallengeChannel
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"google_authenticator"
ClientCompany
Fields
| Field Name | Description |
|---|---|
clientId - CustomerId
|
|
companyFolderDisplayName - Name!
|
|
companyFolderId - AssetUuid!
|
Example
{
"clientId": CustomerId,
"companyFolderDisplayName": Name,
"companyFolderId": AssetUuid
}
CompanyClientReferenceSign
Description
an id, that the supporter has assigned to his client.
Example
CompanyClientReferenceSign
CompanyId
Example
CompanyId
CompanyIdOrCustomerUuid
Example
CompanyIdOrCustomerUuid
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 id found on the physical computer |
typeName - AssetType!
|
|
updateBehaviour - ComputerUpdateBehaviour!
|
|
updatedAt - UnixTimeMs!
|
|
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": false,
"isHotKeyDeactivated": false,
"isRdpDeactivated": true,
"isScanable": true,
"lastOnline": UnixTimeMs,
"macAddress": Mac,
"networkAdapters": [NetworkAdapter],
"noteIds": [NoteId],
"onlineState": "ActiveSession",
"operatingSystem": "xyz789",
"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",
"typeName": "AdHocComputer",
"updateBehaviour": "AutomaticUpdate",
"updatedAt": UnixTimeMs,
"usageRightsKeptBy": [UsageRightByPerson],
"useAllowedByLicence": true,
"users": [LoggedOnUser],
"version": Version,
"wakeOnLanPossible": true
}
ComputerAccessPolicy
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"WithPassword"
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": true,
"canBeDeleted": true,
"companyId": CompanyId,
"email": EmailOrSpecialAccessGroups,
"privileges": "CanAccess"
}
ComputerRecordingStartPolicy
Values
| Enum Value | Description |
|---|---|
|
|
always tart recording |
|
|
inherit settings from parent folder of computer |
|
|
never start recording |
|
|
use global setting from company settings |
Example
"AlwaysStart"
ComputerUpdateBehaviour
Values
| Enum Value | Description |
|---|---|
|
|
as soon as there is a new version try to update |
|
|
only on manual trigger start the update |
|
|
not supported yet |
Example
"AutomaticUpdate"
ComputerUserType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
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
}
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 |
|---|---|
|
|
Argentinien |
|
|
|
|
|
Belgien |
|
|
Bulgarien |
|
|
Brasil |
|
|
Kanada |
|
|
|
|
|
Czech Republic |
|
|
|
|
|
Denmark |
|
|
Spanien |
|
|
France |
|
|
Great Britain |
|
|
Kroatien |
|
|
Irland |
|
|
Italy |
|
|
Japan |
|
|
Liechtenstein |
|
|
Litauen |
|
|
Luxemburg |
|
|
Netherlands |
|
|
Poland |
|
|
Rumänien |
|
|
Serbien |
|
|
Slowenien |
|
|
Slovakia |
|
|
USA |
|
|
Südafrika |
Example
"AR"
Cursor
Example
Cursor
CustomerId
Example
CustomerId
CustomerUuid
Description
pcvisit wide unique id of an customer. With it, we can find them on each internal system.
Example
CustomerUuid
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": "xyz789",
"isScanable": false,
"lastScannedAt": UnixTimeMs,
"make": "abc123",
"model": "xyz789",
"networkAdapters": [NetworkAdapter],
"noteIds": [NoteId],
"onlineState": "ActiveSession",
"operatingSystem": "xyz789",
"purchasedAt": UnixTimeMs,
"reachableSubnet1": NetworkAdapter,
"reachableSubnet2": NetworkAdapter,
"reachableSubnet3": NetworkAdapter,
"remoteHost": Computer,
"scannedMake": "abc123",
"scannedModel": "xyz789",
"scannedName": Name,
"scannedType": "Alarm",
"scannedVendor": "xyz789",
"serialNumber": SerialNumber,
"services": [ServiceProperty],
"type": "Alarm",
"typeName": "AdHocComputer",
"updatedAt": UnixTimeMs,
"vendor": "abc123",
"wakeOnLanPossible": false
}
DeviceGroup
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"AudioAndVideo"
DeviceType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"Alarm"
Domain
Description
Domain name on a network/computer system.
Example
Domain
DurationMs
Example
DurationMs
Description
Email.
Example
Email
EmailOrSpecialAccessGroups
Example
EmailOrSpecialAccessGroups
ErrorIDs
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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: |
|
|
|
|
|
TryAgainLater: Similar to TimeOut, indicates the request should be retried later. Check the comment_for_dev field for specific retry instructions and timing information. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"Ac_ServiceSupplyExceeded"
ExportOutputFormat
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"csv"
ExportSummary
Fields
| Field Name | Description |
|---|---|
exportDocumentDownloadLink - Url!
|
Example
{"exportDocumentDownloadLink": Url}
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.
Example
{
"comment_for_dev": "abc123",
"comment_for_user": "abc123",
"error": "Ac_ServiceSupplyExceeded"
}
FilePath
Example
FilePath
Filter
Fields
| Input Field | Description |
|---|---|
input - String!
|
see https://www.npmjs.com/package/ filtrex i.e. "onlineState == "Online" or typeName == "Folder"" |
Example
{"input": "xyz789"}
GroupIdentity
Fields
| Field Name | Description |
|---|---|
CompanyID - CustomerUuid!
|
|
Group - GroupName!
|
Example
{
"CompanyID": CustomerUuid,
"Group": GroupName
}
GroupName
Example
GroupName
HomeConnected
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
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
}
InputSessionExportOptions
Fields
| Input Field | Description |
|---|---|
exportWithComments - Boolean!
|
|
outputFileFormat - ExportOutputFormat!
|
Example
{"exportWithComments": false, "outputFileFormat": "csv"}
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
123
IntegratorApiToken
Description
Integrator API Token, can be used to allow an integrator to consume this API.
Example
IntegratorApiToken
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": true,
"turnOffLocalInput": true,
"turnOffMonitors": true,
"turnOffWallpaper": true
}
JWT
Description
JSON Web Token, can be used to consume this API.
Example
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNTE2MjM5MDIyLCJwcm9qZWN0IjoiZ3JhcGhxbC1zY2FsYXJzIn0.nYdrSfE2nNRAgpiEU1uKgn2AYYKLo28Z0nhPXvsuIww"
LifeSignOfOsSession
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ConnectionLost"
LoggedOnUser
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": false,
"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 |
|---|---|
|
|
|
|
|
Example
"r2oCustomer"
LoginType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"email_password"
Mac
Example
Mac
Name
Description
FirstName + LastName
Example
Name
NetworkAdapter
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"
}
NoteId
Example
NoteId
OnlineState
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ActiveSession"
Os
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"osAndroid"
Os_Role
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"Client"
Pagination
Password
Example
Password
PhoneNumber
Example
"+17895551234"
Port
Example
60679
PostSessionBehavior
Description
enum for how the client module shall behave when leaving the session
Values
| Enum Value | Description |
|---|---|
|
|
users stays unchanged |
|
|
|
|
|
|
|
|
Example
"Default"
ProtocolConfigurationRdp
Fields
| Field Name | Description |
|---|---|
isAllowed - Boolean!
|
if this type of protocol is allowed for the R2O User |
sessionPrivileges - [AccessRightsPolicy!]!
|
Example
{"isAllowed": true, "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": true,
"postSessionBehaviour": "Default",
"sessionBehaviour": IoDevicesPolicySettingsForComputer,
"sessionPrivileges": ["AllowAudio"]
}
R2O_AccessRole
Description
the role a user has in a r2o configuration
Values
| Enum Value | Description |
|---|---|
|
|
a paying customer for the company |
|
|
a non paying teammember of the company |
|
|
Example
"customer"
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"
}
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": false,
"levelableState": "AdminRights_Active",
"logonName": Name,
"logonUserDomain": Domain,
"resourceObjectIdentity": ResourcePath,
"screenState": "ConnectionLost",
"type": "ConsoleUser",
"windowsSessionId": 987
}
ResourcePath
Example
ResourcePath
Salt
Example
Salt
Search
Fields
| Input Field | Description |
|---|---|
input - String!
|
Example
{"input": "abc123"}
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": "abc123",
"id": 60679,
"protocol": "tcp",
"type": "EPMAP",
"updatedAt": UnixTimeMs
}
ServiceProtocol
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"tcp"
ServiceType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"EPMAP"
SessionName
Example
SessionName
SessionProtocol
Fields
| Field Name | Description |
|---|---|
clientCompany - ClientCompany
|
|
commentsLink - Url
|
|
customDuration - DurationMs
|
|
duration - DurationMs
|
|
id - TaskUuid!
|
|
invoiceState - TaskInvoiceStatus!
|
|
lastUpdatedAt - UnixTimeMs!
|
timestamp of the last update (event) of this protocol |
name - SessionName!
|
|
participants - [SessionProtocolParticipant!]!
|
|
sessionCompanyUuid - CustomerUuid!
|
|
sessionCreatedAt - UnixTimeMs!
|
|
sessionFinishedAt - UnixTimeMs
|
|
state - SessionState!
|
|
target - SessionProtocolMainTarget
|
|
type - SessionType!
|
Example
{
"clientCompany": ClientCompany,
"commentsLink": Url,
"customDuration": DurationMs,
"duration": DurationMs,
"id": TaskUuid,
"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": "xyz789",
"computerUserDisplayName": Name,
"termsAndConditionsNameUsedForAccepting": Name,
"termsAndConditionsRequestState": "Accepted"
}
SessionProtocolNode
Fields
| Field Name | Description |
|---|---|
cursor - Cursor!
|
|
index - Int!
|
|
value - SessionProtocol!
|
Example
{
"cursor": Cursor,
"index": 987,
"value": SessionProtocol
}
SessionProtocolParticipant
SessionState
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
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"
}
SiFindUserByMailResult
SiRetrieveSignedJwtResult
Types
| Union Types |
|---|
Example
Failure
SiRetrieveSignedTokenPayloadResult
Types
| Union Types |
|---|
Example
Failure
SignedJwtWasRetrieved
Fields
| Field Name | Description |
|---|---|
customerUuid - CustomerUuid!
|
|
token - JWT!
|
Example
{
"customerUuid": CustomerUuid,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNTE2MjM5MDIyLCJwcm9qZWN0IjoiZ3JhcGhxbC1zY2FsYXJzIn0.nYdrSfE2nNRAgpiEU1uKgn2AYYKLo28Z0nhPXvsuIww"
}
SignedTokenPayload
Example
{
"base64": "abc123",
"payload": "abc123",
"signature": "abc123"
}
Sort
Description
Describes how to sort a list of elements. path points to a value within the result as property we are sorting for, in the form of: x.y.z The backend might use a kind of lexiographical sort algorithm. Thus, 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 in the size of the hashSize.
Fields
| Input Field | Description |
|---|---|
direction - SortDirection!
|
|
hashSize - Int
|
|
mapToIndex - [String!]
|
|
path - String!
|
Example
{
"direction": "Asc",
"hashSize": 123,
"mapToIndex": ["abc123"],
"path": "xyz789"
}
SortDirection
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
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 |
|---|---|
|
|
task has been handled |
|
|
task invoice does not need handling |
|
|
not yet invoiced or decided what to do |
Example
"Invoiced"
TaskUuid
Example
TaskUuid
TermsAndConditionsRequestState
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"Accepted"
TimeFrame
Fields
| Input Field | Description |
|---|---|
endDate - UnixTimeMs
|
|
startDate - UnixTimeMs
|
Example
{
"endDate": UnixTimeMs,
"startDate": UnixTimeMs
}
UacLevelState
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
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": true,
"firstName": Name,
"id": Auth0Uuid,
"isPictureFallback": false,
"lastLogin": UnixTimeMs,
"lastName": Name,
"lastPasswordReset": UnixTimeMs,
"loginPoliciesOfCompanies": [LoginPolicyOfCompanyRole],
"phone": "+17895551234",
"picture": ImageURL,
"strongestActiveLoginPolicy": LoginPolicy
}
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 |
|---|
Example
GroupIdentity
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"
}