Schema Definitions

 Visual Schema Reference

You can view our visual schema reference here.

 

Written Schema Definitions

Although the GraphQL endpoint supports introspection queries via the __schema query, this section will document the schema exposed by GraphQL.

Schema convention is to use upper camel case for object types and lower camel case for property names.

Note that these objects and parameters are continually enhanced. Please use your IDE for the most up to date schema. The changes are designed to be non-breaking by adding rather than deleting or changing existing definitions.

 

Basic Types

Basic types are:

  • ID (similar to the string type but used for object IDs)

  • String

  • Int

  • Float

  • Boolean

  • DateTime (returned in ISO 8601 format)

     

Extended Types

This section defines the primary remote.it object types. Users, Devices, Services, Endpoints, Sessions, etc..

 

User

This object type represents a remote.it user.

Properties

 Name

 Type

 Description

 id

 ID

 The users' UUID

 created

 DateTime

 Date the user was created

 email

 String

 Email address of the user

 authhash

 String

 Authhash used to authenticate the daemon

 endpoints

 [UserEndpoint]

 Array of user endpoints (initiators)

 language

 String

 ISO lowercase language string (en, fr, jp)

 lastLogin

 DateTime

 Last login date for the use

 metadata

 UserMetadata

 User metadata

 timezone

 String

 User timezone (America/Los_Angeles)

 

Queries

  • login: returns the current user as identified by the token header. This is the source of all schema access.

  • devices: returns a paginated list of Devices. The paginated response is controlled via the following query arguments:

 Argument

 Type

 Description

 after

 ID

 Filter devices after this ID

 from

 Int

 The start offset, default is 0 (beginning)

 size

 Int

 The page size, default is 25, max is 100

 hardwareId

 String

 Filter devices with matching hardware id substring

 id

 String

 Filter device with this ID

 name

 String

 Filter devices with matching name substring

 state

 String

 Filter devices with this state (active or inactive)

 sort

 String

 Determine Sort Order

 application

 Int

 Returns the Application Type

 owner

 Boolean

 Returns the Service Owner

 platform

 Int

 Returns the Service Platform

 

  • events: returns a paginated list of LogEvent. The paginated response is controlled via the following query arguments:

 

 Argument

 Type

 Description

 after

 ID

 Filter events after this ID

 from

 Int

 The start offset, default is 0 (beginning)

 size

 Int

 The page size, default is 25, max is 100

 maxDate

 DateTime

 Filter events before this date

 minDate

 DateTime

 Filter events after this date

 types

 [EventType]

 Filter the events by (one or more) type

 

  • eventsUrl: returns the URL to download the events list as a CSV. This random URL will be valid for one hour and does not require authentication to download. The CSV content is controlled via the following query arguments:

 

 Argument

 Type

 Description

 maxDate

 DateTime

 Filter events before this date

 minDate

 DateTime

 Filter events after this date

 types

 [EventType]

 Filter the events by (one or more) type

 

The CSV file contains the following properties of the LogEvents:

 Column

 Type

 Description

 timestamp

 DateTime

 Event timestamp

 type

 EventType

 Event type (see below)

 devices

 String

 Device names

 owner

 String

 User email

 state

 String

 Active or inactive

 externalIP

 String

 External IP address

 externalPort

 int

 External port

LogEvent

This is the base object type for all events, it contains basic properties used to associate the event to one or more devices, services and users.

Properties

 Name

 Type

 Description

 actor

 [User]

 The user that performed the action if appropriate

 devices

 [Device]

 The list of devices referenced by this event

 owner

 [User]

 The owner of the device(s)

 services

 [Service]

 The list of services referenced by this event

 users

 [User]

 The list of users that are implicated in this event. They will have visibility of the event

 id

 ID

 Event ID

 timestamp

 DateTime

 The event timestamp

 type

 EventType

 The event type (see below)

 

There are subclass of events with additional (event specific) information:

DeviceStateEvent

In addition to generic LogEvent properties, DeviceStateEvent also defines:

Properties

 Name

 Type

 Description

 externalAddress

 String

 External address at time of event

 internalAddress

 String

 Internal address at time of event

 serverAddress

 String

 Chat server address at time of event

 state

 String

 Active or inactive

DeviceShareEvent

In addition to generic LogEvent properties, DeviceShareEvent also defines:

Properties

 Name

 Type

 Description

 scripting

 Boolean

 Whether scripting was granted

 shared

 Boolean

 Whether this event is shared or unshared

 target

[ServiceReference!]

 Targets Service Reference

EventType

Currently the following event types are defined:

 Event Type

 Description

 DEVICE_STATE

 This event indicates device state changes

 DEVICE_SHARE

 This event indicates a device sharing change

Device

This object type represents a remote.it device. A device is defined by a hardware ID and contains one or more services.

Properties

 Name

 Type

 Description

 id

 ID

 UUID of the device

 created

 DateTime

 Date the device was created

 endpoint

 ServiceEndpoint

 Device endpoint

 hardwareId

 String

 HardwareId

 metadata

 DeviceMetadata

 Device metadata

 name

 String

 Device name

 owner

 [User]

 Device owner

 services

 [Service]

 Device services

 status[A-E]

 String

 Device status fields A-E (ie. "statusA")

 category[A-E]

 String

 Device category fields A-E (ie. "categoryA")

 

Queries

  • events: returns a paginated list of LogEvent for the device. Filter and pagination arguments are available like for user events.

  • eventsUrl: returns the URL to download the device events list as a CSV. This random URL will be valid for one hour and does not require authentication to download. Filter arguments are available like for user eventsUrl.

     

Service

This object type represents a remote.it service.

Properties

 Name

 Type

 Description

 id

 ID

 ID of the device

 application

 Int

 Application type (see below)

 bulk

 Boolean

 Indicates bulk service

 created

 DateTime

 Date the service was created

 endpoint

 ServiceEndpoint

 Service endpoint

 name

 String

 Service name

 port

 Int

 Service port (on the device)

 title

 String

 Service title (see below)

 type

 String

 String containing service type information

 version

 String

 Daemon version (for example 4.7)

 

Queries

  • events: returns a paginated list of LogEvent for the service. Filter and pagination arguments are available for user/device events.

  • eventsUrl: returns the URL to download the service events list as a CSV. This random URL will be valid for one hour and does not require authentication to download. Filter arguments are available like for user/device eventsUrl.

     

ApplicationType

The following application types are declare with the corresponding titles:

 Application Type

 Title

 Description

 0

 Camera Viewer

 Camera viewer accessible via a browser

 1

 TCP

 TCP service accessible via dedicated application

 2

 Telnet

 Telnet service accessible via Telnet client

 3

 SVN

 SVN service accessible via SVN client

 4

 VNC

 VNC desktop service accessible via VNC client

 5

 RDP

 Microsoft remote desktop service accessible RD client

 6

 Share

 Yoics legacy file sharing

 7

 HTTP

 HTTP NOW proxy accessible via a browser

 8

 HTTPS

 HTTPS NOW proxy accessible via a browser

 9

 Reserved

 Reserved for Yoics usages

 10

 HTTPS

 HTTPS service accessible via a browser

 11

 iTunes

 iTunes folder accessible using iTunes

 12

 File Folder

 Yoics web accesible folder

 13

 Printer

 Yoics remote accessible printer

 14

 Tversity

 Remote accessible Tversity server

 15

 Video

 Yoics mobile video device

 16

 Video

 Yoics mobile video device

 17

 Photo Folder

 Yoics photo gallery web folder

 18

 Camera Folder

 Yoics camera web folder

 19

 DVR

 DVR Application

 20

 Microsoft Media

 Microsoft Home Media Server

 21

 RDP Plus

 Remote Desktop with Web Support

 22

 My Tunes

 My Tunes Music Library

 23

 DVR Viewer

 HTTP DVR Viewer

 24

 DVR

 DVR Application

 25

 Video Stream

 RTSP Audio Video Streaming

 26

 Network Storage

 Network Storage Device

 27

 Network Storage

 Network Storage

 28

 SSH

 Secure Terminal

 29

 Generic TCP

 Generic TCP

 30

 Basic Web

 Port Proxy Web Content

 33

 Secure Web

 Secure Web

 34

 Samba

 Samba File Share

 35

 Bulk Service

 Bulk Service

 37

 NxWitness

 NxWitness

 38

 NextCloud

 NextCloud

 39

 OpenVPN

 OpenVPN

 40

 MultiPort

 MultiPort (Mux/Demux)

 41

 Minecraft

 Minecraft

 42

 Desktop Admin

 Desktop Administrator

UserEndpoint

This object type represents a remote.it user endpoint or initiator.

Properties

 Name

 Type

 Description

 city

 String

 Geolocated city

 connectionType

 String

  • Dialup

  • Cable/DSL

  • Corporate

  • Cellular

 continent

 String

 geolocated continent

  • AF - Africa

  • AN - Antarctica

  • AS - Asia

  • EU - Europe

  • NA - North America

  • OC - Oceania

  • SA - South America

 country

 String

 Geolocated country

 externalAddress

 String

 External/mapped IP address and port

 id

 ID

 Endpoint ID

 internalAddress

 String

 Internal IP address and port

 isp

 String

 ISP name

 latitude

 Float

 Geolocated latitude

 longitude

 Float

 Geolocated longitude

 postal

 String

 Geolocated postal/zip

 region

 String

 Geolocated region/state

 serverAddress

 String

 Chat server IP address and port

 timestamp

 DateTime

 Date this endpoint was last updated

 timezone

 String

 Geolocated timezone

 sessions

 [Session]

 List of session

 type

 String

 Client type string

 platform

 Int

 Platform (see below)

 proxy

 Boolean

 Indicates a proxy connection

 user

 [User]

 Authenticated user

 version

 String

 Daemon version

Platform

Platforms are currently defined as:

 Platform

 Description

 0

 Generic

 1

 Windows Desktop

 2

 Windows Proxy

 3

 Mac Desktop

 4

 Mac Proxy

 5

 Web Proxy

 6

 Linux Desktop

 7

 Linux Proxy (current proxy)

 8

 Generic

 9

 Phone

 10

 iPhone/IOS

 11

 iPad

 12

 iTouch

 13

 Java Linux

 14

 Android

 15

 Java Windows

 16

 Java Mac

 18

 BSD

ServiceEndpoint

This object type represents a remote.it service endpoint or target

Properties

 Name

 Type

 Description

 city

 String

 Geolocated city

 connectionType

 String

  • Dialup

  • Cable/DSL

  • Corporate

  • Cellular

 continent

 String

 Geolocated continent

  • AF - Africa

  • AN - Antarctica

  • AS - Asia

  • EU - Europe

  • NA - North America

  • OC - Oceania

  • SA - South America

 country

 String

 Geolocated country

 externalAddress

 String

 External/Mapped IP address and port

 id

 ID

 Endpoint ID (same as Service ID)

 internalAddress

 String

 Internal IP address and port

 isp

 String

 ISP name

 latitude

 Float

 Geolocated latitude

 longitude

 Float

 Geolocated longitude

 postal

 String

 Geolocated postal/zip

 region

 String

 Geolocated region/state

 serverAddress

 String

 Chat server IP address and port

 state

 String

 Active or inactive

 timestamp 

 DateTime

 Date this endpoint was last updated

 timezone

 String

 Geolocated timezone

 sessions

 [Session]

 List of session

 availability

 Float

 Average daily online percentage

 instability

 Float

 Average daily disconnects

 offlineCount

 Int

 Number of offline events

 offlineDuration

 Float

 Duration offline

 offlineSince

 DateTime

 Offline since

 onlineCount

 Int

 Number of online events

 onlineDuration

 Float

 Duration online

 onlineSince

 DateTime

 Online since

 pingInterval

 Float

 Average ping interval

 service

 Service

 Reference to the service

Session

This object represents a session (or connection) between an initiator (user endpoint) and a target (service endpoint).

Properties

 Name

 Type

 Description

 id

 ID

 Session ID

 timestamp

 DateTime

 Session timestamp

 source

 UserEndpoint

 Source endpoint

 target

 ServiceEndpoint

 Target endpoint

UserMetadata

This object represents user metadata.

Properties

 Name

 Type

 Description

 notificationEmail

 String

 Notification email (if different from user email)

 notificationUrl

 String

 Notification URL for webhooks (future)

 onlineDeviceNotification

 Boolean

 Indicates if the user wants to be notified of device online state changes for devices the user owns

 onlineSharedDeviceNotification

 Boolean

 Indicates if the user wants to be notified of device online state changes for devices shared to the user

 portalUrl

 String

 Portal used by the user

DeviceMetadata

This object represents device metadata.

Properties

 Name

 Type

 Description

 onlineDeviceNotification

 Boolean

 Indicates if the user wants to be notified of this device online state changes

PaginatedResponse

This objects represents a paginated subset of a large collection. This is used for Events and Devices. This follows a standard model of fixed size pagination and continuous scrolling.

Properties

 Name

 Type

 Description

 total

 Int

 Total number of elements in the collection

 last

 String

 ID of the last element returned, this is useful to pass as after parameter for subsequent queries.

 hasMore

 Boolean

 Indicates if the collection has for elements than returned by this query

 items

 Array

 The subset of the collection returned

 

Was this article helpful?
0 out of 0 found this helpful