Permanent Access
On this page, you will find descriptions of the API methods intended for working with devices from the Permanent Access section.
-
Device Management
-
Group Management
-
Software Management
Terminology
In the context of API calls, devices will be referred to as Agents since a device is technically managed with an agent application.
Device Management¶
Device List¶
You can get the full device list with the agents/list method.
| Parameter | Type | Value |
|---|---|---|
search | string | Filter by agent name, IP address or group name |
group_id | string | Filter by group ID |
Device Grouping
Learn more about managing device groups in the guide Device Grouping.
Example Response
{
"data":[ {
"id":1001,
"name":"Allesandro Paci",
"group":"Accounting",
"disabled":false,
"limited":false,
"link_time":1587837997,
"last_time":1600374761,
"geo":{
"ip":"2.21.31.68",
"country":"USA",
"region":"California",
"city":"Los Angeles"
},
"permanent_url":"https://https://go.getscreen.me/paci",
"preview_url":"https://getscreen.me/preview/1245273f5448a704379da46f476564a592efb17c6a7695adde96247cd7874416GbBzRm6SRLMqrP0YoYFMxCopL6NTzvn8.png",
"os":"win",
"version":"1.9.4",
"online":true,
"installed":true,
"favorite":false,
"owner":"[email protected]",
"sessions":{
"last":{
"id":148505,
"start_time":1600343858,
"stop_time":1600343900,
"client":{
"ip":"188.162.195.82",
"country":"Russian Federation",
"region":"Tatarstan",
"city":"Kazan",
"user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
}
},
"total":121
}
}, ... ]
}
| Name | Type | Description |
|---|---|---|
id | number | Internal system ID |
name | string | Name |
group | string | Group |
disabled | boolean | Is the agent blocked? |
limited | boolean | Is the agent limited? |
link_time | unixtime | Added to personal account date and time |
last_time | unixtime | Last active date and time |
geo | object | Location |
geo.ip | string | IP address |
geo.country | string | Country |
geo.region | string | Region |
geo.city | string | City |
permanent_url | string | Permanent connection URL |
onetime_url | string | URL for one-time connection |
preview_url | string | Desktop preview download URL |
os | string | Operating system. Possible values: win, mac, linux and android |
version | string | Agent version |
online | boolean | Current active state |
installed | boolean | Is the agent installed on the desktop? |
favorite | boolean | Is this a favorited desktop from the personal account? |
owner | string | Desktop access system owner account |
sessions | object | Connection info |
sessions.last | object | Last connection |
sessions.last.id | number | Internal system connection ID |
sessions.last.start_time | unixtime | Connection start date and time |
sessions.last.stop_time | unixtime | Connection stop date and time |
sessions.last.client | object | Client info (connection creator) |
sessions.last.client.ip | string | IP address |
sessions.last.client.country | string | Country |
sessions.last.client.region | string | Region |
sessions.last.client.city | string | City |
sessions.last.client.user_agent | string | Client browser user agent |
sessions.total | object | Total sessions |
Device Info¶
To get device information from the Permanent Access section, use the agents/info method:
| Parameter | Type | Value |
|---|---|---|
agent_id | number | Internal system agent ID |
Example Response
{
"data": {
"id": 1001,
"name": "Allesandro Paci",
"group": "Accounting",
"disabled": false,
"limited": false,
"link_time": 1587837997,
"last_time": 1600374761,
"geo": {
"ip": "2.21.31.68",
"country": "USA",
"region": "California",
"city": "Los Angeles"
},
"permanent_url": "https://https://go.getscreen.me/paci",
"onetime_url": "https://https://go.getscreen.me/am2-l2g",
"preview_url": "https://getscreen.me/preview/1245273f5448a704379da46f476564a592efb17c6a7695adde96247cd7874416GbBzRm6SRLMqrP0YoYFMxCopL6NTzvn8.png",
"os": "win",
"version": "2.7.6",
"online": true,
"installed": true,
"favorite": false,
"owner": "[email protected]",
"hardware": {
"BIOS": "ALASKA - 1072009 - F51 - American Megatrends - 5000E",
"BIOSDate": "",
"BIOSVersion": "20191218",
"CPU": "AMD Ryzen 5 2600X Six-Core Processor",
"CPUCores": 6,
"CPUCoresLogical": 12,
"CPUFamily": "AMD64 Family 23 Model 8 Stepping 2",
"CPUSpeed": 3600,
"ComputerDomain": "WORKGROUP",
"ComputerIP": [
"10.66.65.3",
"fe80::35da:bb0:c661:fff9"
],
"ComputerModel": "B450 AORUS ELITE",
"ComputerName": "DESKTOP-AU0VQEE",
"ComputerWorkgroup": "WORKGROUP",
"HDD": [ {
"Model": "INTEL SSDPEKNW512G8",
"Size": 488382
} ],
"Locale": "0419",
"LocaleCountry": "USA",
"LocaleCurrency": "USD",
"LocaleFormatDate": "MM-DD-YYYY",
"LocaleFormatTime": "H:mm:ss",
"LocaleOemPage": "437",
"LocaleTimezone": -420,
"LogicalDisks": [ {
"Disk": "C:",
"FileSystem": "NTFS",
"FreeSpace": 13668,
"Name": "",
"Size": 487757
} ],
"Monitors": [ {
"Name": "Universal PnP monitor",
"ScreenHeight": 1080,
"ScreenWidth": 1920
} ],
"NetAdapters": [ {
"Addresses": "",
"Cable": true,
"DCHP": "",
"DNS": "",
"MACAddress": "18:C0:4D:44:F0:61",
"Manufacturer": "Realtek",
"Name": "Realtek Gaming GbE Family Controller",
"Speed": 953,
"WoL": true
} ],
"OSName": "Microsoft Windows 10 Pro",
"OSVersion": "10.0.19044",
"RAMBanks": [ {
"Bank": "P0 CHANNEL A",
"Capacity": 8192,
"DataWidth": 64,
"Locator": "DIMM 0",
"Manufacturer": "Unknown",
"PartNumber": "F4-3200C16-8GSXFB",
"SerialNumber": "00000000"
} ],
"RAMPageFile": 51264,
"RAMPhys": 32716,
"RAMPhysAvail": 9380,
"RAMVirt": 134217727,
"RAMVirtAvail": 134213282,
"SoundDevices": [ {
"Name": "NVIDIA High Definition Audio"
} ],
"VideoCards": [ {
"Integrated": true,
"Name": "NVIDIA GeForce GT 710",
"RAM": 1024
} ],
"VideoName": "NVIDIA GeForce GT 710",
"VideoRAM": 1024
},
"sessions": {
"last": {
"id":148505,
"start_time":1600343858,
"stop_time":1600343900,
"client":{
"ip":"188.162.195.82",
"country":"Russian Federation",
"region":"Tatarstan",
"city":"Kazan",
"user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
}
},
"total": 1
}
}
}
| Name | Type | Description |
|---|---|---|
id | number | Internal system ID |
name | string | Name |
group | string | Group |
disabled | boolean | Is the agent blocked? |
limited | boolean | Is the agent limited? |
link_time | unixtime | Added to personal account date and time |
last_time | unixtime | Last active date and time |
geo | object | Location |
geo.ip | string | IP address |
geo.country | string | Country |
geo.region | string | Region |
geo.city | string | City |
permanent_url | string | Permanent connection URL |
onetime_url | string | URL for one-time connection |
preview_url | string | Desktop preview download URL |
os | string | Operating system. Possible values: win, mac, linux and android |
version | string | Agent version |
online | boolean | Current active state |
installed | boolean | Is the agent installed on the desktop? |
favorite | boolean | Is this a favorited desktop from the personal account? |
owner | string | Desktop access system owner account |
hardware | object | System information |
hardware.BIOS | string | BIOS information |
hardware.BIOSDate | string | Date of update |
hardware.BIOSVersion | string | Version |
hardware.CPU | string | CPU |
hardware.CPUCores | number | Number of cores |
hardware.CPUCoresLogical | number | Number of logical processors |
hardware.CPUFamily | string | Family |
hardware.CPUSpeed | number | Speed |
hardware.ComputerDomain | string | Domain |
hardware.ComputerIP | array | IP address |
hardware.ComputerModel | string | Model |
hardware.ComputerName | string | Computer name |
hardware.ComputerWorkgroup | string | Work group |
hardware.HDD | array | Hard drives |
hardware.HDD[].Model | string | Model |
hardware.HDD[].Size | number | Size |
hardware.Locale | string | Locale |
hardware.LocaleCountry | string | Country |
hardware.LocaleCurrency | string | Currency |
hardware.LocaleFormatDate | string | Date format |
hardware.LocaleFormatTime | string | Time format |
hardware.LocaleOemPage | string | Page charset |
hardware.LocaleTimezone | number | Time zone |
hardware.LogicalDisks | array | Logical drives |
hardware.LogicalDisks[].Disk | string | Label |
hardware.LogicalDisks[].FileSystem | string | File system type |
hardware.LogicalDisks[].FreeSpace | number | Free space (MB) |
hardware.LogicalDisks[].Name | string | Name |
hardware.LogicalDisks[].Size | number | Size (MB) |
hardware.Monitors | array | Monitors |
hardware.Monitors[].Name | string | Name |
hardware.Monitors[].ScreenHeight | number | Screen height |
hardware.Monitors[].ScreenWidth | number | Screen width |
hardware.NetAdapters | array | Network cards |
hardware.NetAdapters[].Addresses | string | Address |
hardware.NetAdapters[].Cable | boolean | Connecting to the Internet via LAN cable |
hardware.NetAdapters[].DCHP | string | DCHP |
hardware.NetAdapters[].DNS | string | DNS |
hardware.NetAdapters[].MACAddress | string | MAC address |
hardware.NetAdapters[].Manufacturer | string | Manufacturer |
hardware.NetAdapters[].Name | string | Name |
hardware.NetAdapters[].Speed | number | Speed |
hardware.NetAdapters[].WoL | boolean | Wake-on-LAN setting enabled |
hardware.OSName | string | Operating system name |
hardware.OSVersion | string | Operating system version |
hardware.RAMBanks | array | RAM |
hardware.RAMBanks[].Bank | string | Bank |
hardware.RAMBanks[].Capacity | number | Capacity |
hardware.RAMBanks[].Locator | string | Locator |
hardware.RAMBanks[].Manufacturer | string | Manufacturer |
hardware.RAMBanks[].PartNumber | string | Batch |
hardware.RAMBanks[].SerialNumber | string | Series |
hardware.SoundDevices | array | Sound cards |
hardware.SoundDevices[].Name | string | Name |
hardware.VideoCards | array | Video card |
hardware.VideoCards[].Integrated | boolean | Integrated |
hardware.VideoCards[].Name | string | Name |
hardware.VideoCards[].RAM | number | RAM |
sessions | object | Connection info |
sessions.last | object | Last connection |
sessions.last.id | number | Internal system connection ID |
sessions.last.start_time | unixtime | Connection start date and time |
sessions.last.stop_time | unixtime | Connection stop date and time |
sessions.last.client | object | Client info (connection creator) |
sessions.last.client.ip | string | IP address |
sessions.last.client.country | string | Country |
sessions.last.client.region | string | Region |
sessions.last.client.city | string | City |
sessions.last.client.user_agent | string | Client browser user agent |
sessions.total | object | Total sessions |
Change Device Property¶
To change some property of a device bound to your account, you can use the devices/update method.
Optional Fields
You do not have to list all properties in the query. Only the ones you specify will be changed. See the parameters below for a list of fields available for updating.
| Parameter | Type | Value |
|---|---|---|
id | number | Internal system agent ID |
name | string | Name for device |
permanent_url | object | Permanent link to connect |
permanent_url.enable | boolean | Enable/disable |
permanent_url.url | string | Link path |
permanent_url.password | string | Password for connection (at least 8 characters including letters and numbers) |
Example Response
{
"status": 0,
"data": {
"id": 1001,
"name": "Allesandro Paci",
"group": "Accounting",
"disabled": false,
"limited": false,
"link_time": 1587837997,
"last_time": 1600374761,
"geo": {
"ip": "2.21.31.68",
"country": "USA",
"region": "California",
"city": "Los Angeles"
},
"permanent_url": "https://https://go.getscreen.me/paci",
"onetime_url": "https://https://go.getscreen.me/am2-l2g",
"preview_url": "https://getscreen.me/preview/1245273f5448a704379da46f476564a592efb17c6a7695adde96247cd7874416GbBzRm6SRLMqrP0YoYFMxCopL6NTzvn8.png",
"os": "win",
"version": "2.7.6",
"online": true,
"installed": true,
"favorite": false,
"owner": "[email protected]",
"hardware": {
"BIOS": "ALASKA - 1072009 - F51 - American Megatrends - 5000E",
"BIOSDate": "",
"BIOSVersion": "20191218",
"CPU": "AMD Ryzen 5 2600X Six-Core Processor",
"CPUCores": 6,
"CPUCoresLogical": 12,
"CPUFamily": "AMD64 Family 23 Model 8 Stepping 2",
"CPUSpeed": 3600,
"ComputerDomain": "WORKGROUP",
"ComputerIP": [
"10.66.65.3",
"fe80::35da:bb0:c661:fff9"
],
"ComputerModel": "B450 AORUS ELITE",
"ComputerName": "DESKTOP-AU0VQEE",
"ComputerWorkgroup": "WORKGROUP",
"HDD": [ {
"Model": "INTEL SSDPEKNW512G8",
"Size": 488382
} ],
"Locale": "0419",
"LocaleCountry": "USA",
"LocaleCurrency": "USD",
"LocaleFormatDate": "MM-DD-YYYY",
"LocaleFormatTime": "H:mm:ss",
"LocaleOemPage": "437",
"LocaleTimezone": -420,
"LogicalDisks": [ {
"Disk": "C:",
"FileSystem": "NTFS",
"FreeSpace": 13668,
"Name": "",
"Size": 487757
} ],
"Monitors": [ {
"Name": "Universal PnP monitor",
"ScreenHeight": 1080,
"ScreenWidth": 1920
} ],
"NetAdapters": [ {
"Addresses": "",
"Cable": true,
"DCHP": "",
"DNS": "",
"MACAddress": "18:C0:4D:44:F0:61",
"Manufacturer": "Realtek",
"Name": "Realtek Gaming GbE Family Controller",
"Speed": 953,
"WoL": true
} ],
"OSName": "Microsoft Windows 10 Pro",
"OSVersion": "10.0.19044",
"RAMBanks": [ {
"Bank": "P0 CHANNEL A",
"Capacity": 8192,
"DataWidth": 64,
"Locator": "DIMM 0",
"Manufacturer": "Unknown",
"PartNumber": "F4-3200C16-8GSXFB",
"SerialNumber": "00000000"
} ],
"RAMPageFile": 51264,
"RAMPhys": 32716,
"RAMPhysAvail": 9380,
"RAMVirt": 134217727,
"RAMVirtAvail": 134213282,
"SoundDevices": [ {
"Name": "NVIDIA High Definition Audio"
} ],
"VideoCards": [ {
"Integrated": true,
"Name": "NVIDIA GeForce GT 710",
"RAM": 1024
} ],
"VideoName": "NVIDIA GeForce GT 710",
"VideoRAM": 1024
},
"sessions": {
"last": {
"id":148505,
"start_time":1600343858,
"stop_time":1600343900,
"client":{
"ip":"188.162.195.82",
"country":"Russian Federation",
"region":"Tatarstan",
"city":"Kazan",
"user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
}
},
"total": 1
}
}
}
| Name | Type | Description |
|---|---|---|
number | status | Result status. Possible values:
|
data | object | Modified data. The same data as in the response of the Change Device Property method |
Add the Connection Button to Your Dashboard
Learn how to integrate a connection link into your system in the Integrating Remote Access into Your System guide.
Get Connection Link¶
To connect to the desktop with API, you need to get a one-time link with the agents/connect method.
Link Expiration Time
The link expires right after its first use. You need to get one each time you want to connect.
| Parameter | Type | Value |
|---|---|---|
agent_id | number | Internal system agent ID |
device_id | number | The public identifier of the agent. Available in the agent's card in the personal account.agent_id parameter is not specified. |
video | bool | Manual control of video recording on/off (optional) |
Example Response
| Name | Type | Description |
|---|---|---|
url | string | Connection URL |
Add the Connection Button to Your Dashboard
Learn how to integrate a connection link into your system in the Integrating Remote Access into Your System guide.
Reboot Device¶
To send a device reboot request, you need to use the /agents/reboot method.
| Parameter | Type | Value |
|---|---|---|
id | number | Internal system agent ID |
safe | boolean | Possible values: true – reboot in safe mode, false – reboot in normal mode. |
| Name | Type | Description |
|---|---|---|
number | status | Result status. Possible values:
|
Availability
Check which agent types support the reboot feature in the Screen Control Features guide.
Wake-Up Device¶
To send a request to wake up a device using the Wake-on-LAN feature, you can use the agents/wake request.
Device Preparation
This feature requires prior configuration of wake-enabled devices. Learn more in the How to Configure Wake-on-LAN? guide.
| Parameter | Type | Value |
|---|---|---|
id | number | Internal system agent ID |
| Name | Type | Description |
|---|---|---|
number | status | Result status. Possible values:
|
Logout Device¶
To detach the device from your account and remove it from permanent access, use the agents/logout method.
Be careful!
Once the device is detached, you will not be able to operate it.
| Parameter | Type | Value |
|---|---|---|
id | number | Internal system agent ID |
| Name | Type | Description |
|---|---|---|
number | status | Result status. Possible values:
|
Merge Devices¶
To merge two duplicate entries of the same device in permanent access, you can use the agents/merge request.
What are duplicate devices?
In some cases, due to incorrect deployment of the agent application (for example, when using system images or OS containerization), multiple entries of the same device may appear in the permanent access list. To avoid confusion and inconvenience, you can merge these duplicates into a single device.
| Parameter | Type | Value |
|---|---|---|
agent_id | number | Internal system agent ID |
device_id | number | The public identifier of the agent. Available in the agent's card in the personal account. |
target_agent_id | number | Internal system agent ID |
target_device_id | number | The public identifier of the agent. Available in the agent's card in the personal account. |
Required request parameters
- To identify the source device (the one you want to merge into the target), use either
agent_idordevice_id. - To identify the target device, use either
target_agent_idortarget_device_id.
In total, your request must include two parameters:
- One parameter identifying the source device
- One parameter identifying the target device
| Name | Type | Description |
|---|---|---|
number | status | Result status. Possible values:
|
Group Management¶
Group List¶
You can get a list of all account groups using the groups/list method.
Device Grouping
Learn more about managing device groups in the guide Device Grouping.
Example Response
| Name | Type | Description |
|---|---|---|
id | number | Internal group identifier |
name | string | Group name |
Insert Device to Group¶
You can add a device to a group using the groups/agent/insert method.
| Parameter | Type | Value |
|---|---|---|
id | number | Internal system group ID |
agent_id | number | Internal system device ID |
| Name | Type | Description |
|---|---|---|
status | number | Result status. Possible values:
|
Remove Device from Group¶
You can remove a device from a group using the groups/agent/remove method.
| Parameter | Type | Value |
|---|---|---|
agent_id | number | Internal system device ID |
| Name | Type | Description |
|---|---|---|
status | number | Result status. Possible values:
|
Create Group¶
You can create a new group using the groups/create method.
| Parameter | Type | Value |
|---|---|---|
name | string | Name of the group to be created |
order | number | Position of the created group in the list |
| Name | Type | Description |
|---|---|---|
status | number | Result status. Possible values:
|
Edit Group¶
You can modify group properties using the groups/edit method.
| Parameter | Type | Value |
|---|---|---|
id | number | Internal group identifier |
name | string | New group name |
order | number | New position of the group in the list |
| Name | Type | Description |
|---|---|---|
status | number | Result status. Possible values:
|
Remove Group¶
You can remove a group using the groups/remove method.
| Parameter | Type | Value |
|---|---|---|
id | number | Internal group identifier |
| Name | Type | Description |
|---|---|---|
status | number | Result status. Possible values:
|
Software Inventory¶
Installed App List¶
You can get a list of installed applications on devices from Permanent Access using the inventory/program/list method.
Team Settings
The application list is collected only when the Allow receiving a list of software from devices option is enabled in the team settings. Learn more in the dedicated guide: Team Settings
curl -G "https://api.getscreen.me/v1/inventory/program/list" \
--data-urlencode "agent_id=<number>" \
--data-urlencode "group_id=<number>" \
--data-urlencode "type=<string>" \
--data-urlencode "date_from=<number>" \
--data-urlencode "date_to=<number>" \
--data-urlencode "version_from=<string>" \
--data-urlencode "version_to=<string>" \
--data-urlencode "name=<string>" \
--data-urlencode "publisher=<string>" \
--data-urlencode "search=<string>" \
-H "X-Api-Key: YOUR_API_KEY" \
| Parameter | Type | Value |
|---|---|---|
agent_id | number | Filter by device. Internal system device ID. |
group_id | number | Filter by group. Internal system group ID. |
type | string | Filter by installed application type. Possible values:
|
date_from | number | Filter by application installation date. Start of the period. Value in unixtime format. |
date_to | number | Filter by application installation date. End of the period. Value in unixtime format. |
version_from | string | Filter by application version. Minimum version. Value in Semantic Versioning (SemVer) format. |
version_to | string | Filter by application version. Maximum version. Value in Semantic Versioning (SemVer) format. |
name | string | Filter by application name. Exact match is used. |
publisher | string | Filter by application publisher. Exact match is used. |
search | string | Filter by application name and publisher. Case-insensitive substring match is used. |
Example Response
| Name | Type | Description |
|---|---|---|
data | object | List of installed applications |
data.[].name | string | Application name |
data.[].publisher | string | Application publisher |
data.[].version | string | Minimum application version used on the found devices |
data.[].agent_ids | array | List of internal system device identifiers where the application is installed |
filter | object | Filter applied to the list. Duplicated from the request. |
filter.group_id | number | Internal system group ID |
filter.type | string | Installed application type |
filter.date_from | number | Start of the application installation date range |
filter.date_to | number | End of the application installation date range |
filter.version_from | string | Minimum application version |
filter.version_to | string | Maximum application version |
filter.name | string | Application name |
filter.publisher | string | Application publisher |
filter.search | string | Search by application name and publisher |