Plugins HTTP API Agent SDK
Order integration

HTTP API Integration

Create unique integrations with your platforms.
Make your connection easier with just couple clicks.

HTTP API allows you to get a software access to many features available in your personal account: manage desktops, create scheduled connections.

Requests

All requests must be made over the HTTPS (not HTTP) protocol with an appropriate method for each command at https://api.getscreen.me/v1/

Responses

Data responses are returned in JSON UTF-8 with ContentType: application/json. Each response wraps data in the data JSON container

Response codes:

The API server may return the following HTTP response codes:

HTTP response code Description
200 OK Request accepted and processed
400 Bad Request Request denied, invalid parameters, error
403 Forbidden Request denied, no access to data
404 Not Found Request denied, unknown request URL

Authentication

API is RESTful API: the server doesn’t store the client connection state. That’s why the client must send authorization data each time a request is sent. An API key is used as such data. Add the key in each request to the ?apikey= parameter

https://api.getscreen.me/v1/?apikey=YOUR_API_KEY
Your API key can be found in your personal profile in the "Integration" section of the HTTP API tab

Methods

These are the commands to manage desktops and connections. We’ve divided them into several groups:


Desktop list

You can get the full desktop list with the devices/agents method

In the context of API calls, desktops will be referred to as Agents since a desktop is technically managed with an agent

Request:

GET https://api.getscreen.me/v1/agents/list
  ?apikey=<string>
Request parameters:
Parameter Type Value
apikey  * string Request authorization API key

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://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":"john.smith@gmail.com",
            "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
            }
        },
        ...
    ]
}
Response data:
Name Type Description
id number Internal system ID
name string Name
group string Group
disabled boolean
Is the agent blocked?

You cannot connect to blocked agents. An agent is blocked if the number of desktops exceeds the limits of your rate plan.

limited boolean
Is the agent limited?

An agent is limited if the number of attached files exceeds the limits of your rate plan. The agent is blocked 10 days after it’s 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

The field may be missing if the access isn’t available for unauthorized users

preview_url string Desktop preview download URL
os string Operating system. Possible values: win, mac, and linux
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

The field may be missing if the connection is active

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

Get connection link

To connect to the desktop with API, you need to get a one-time link with the agents/connect method

The link expires right after its first use. You need to get one each time you want to connect.

Request:

POST https://api.getscreen.me/v1/agents/connect
  ?apikey=<string>
  &agent_id=<number>
Request parameters:
Parameter Type Value
apikey  * string Request authorization API key
agent_id  * number Internal system agent ID

Response:

{
    "data": 
        {
            "url": "https://go.getscreen.me/john.smith/?connect=20177&llt=66b4kj671pm3abpp5xh17elpnpze245382m9pxbrx313l2xp52hmxqe4e1dekpej&s=c2c5ca25eb4fca787b74a97648e0856951e2b9c7aa02cbf83ac62c81e21a9bab"
        }
}
    
Response data:
Name Type Description
url string Connection URL

Open connection list

To get a list of open connections from the Quick support section, use the support/list method

Request:

GET https://api.getscreen.me/v1/support/list
  ?apikey=<string>
Request parameters:
Parameter Type Value
apikey  * string Request authorization API key

Response:

{
    "remain":100,
    "data":[
        {
            "id":328,
            "status":0,
            "create_time":1600262268,
            "invite_code":"408080316",
            "invite_url":"https://go.getscreen.me/invite/408080316",
            "connect_url":"https://go.getscreen.me/turbo/nrhaStVwQSQ1J4DW0cL4wc1ADUeyug8BZjFaCgEqT4wuFXSPXQrGoRRBUxK1uFTU1Sr7bYlsviZ0djTophpmnIhpaZuMfGSKdSefcDzOWCgJuGeHGA5hFkcflhAXhBrx",
            "client_name":"Jacob Williams",
            "client_os":"",
            "client_preview_url":""
        }
    ]
}
Connection record data:
Name Type Description
id number Internal system connection ID
status number
Connection status. Possible values:
  • 0 - New connection, waiting for client to join
  • 1 - Client joined, waiting for operator to join
  • 2 - Active connection, all members joined
  • 3 - Closed connection
create_time unixtime Connection creation date and time
invite_code string Invitation code
invite_url string Invitation URL
connect_url string Operator connection URL
client_name string Client name
client_os string
Operating system. Possible values: win, mac, and linux

The field is filled after the client joins

client_preview_url string
Client desktop thumbnail

The field is filled after the client joins

Additional info:
Name Type Description
remain number Number of remaining connections within the rate plan

Create connection

To create a scheduled connection for quick support, use the support/create method

Request:

POST https://api.getscreen.me/v1/support/create
  ?apikey=<string>
  &client_name=<string>
Request parameters:
Parameter Type Value
apikey  * string Request authorization API key
client_name string Client name (only visible to you). Optional parameter.

Response:

{
    "data":[
        {
            "id":328,
            "status":0,
            "create_time":1600262268,
            "invite_code":"408080316",
            "invite_url":"https://go.getscreen.me/invite/408080316",
            "connect_url":"https://go.getscreen.me/turbo/nrhaStVwQSQ1J4DW0cL4wc1ADUeyug8BZjFaCgEqT4wuFXSPXQrGoRRBUxK1uFTU1Sr7bYlsviZ0djTophpmnIhpaZuMfGSKdSefcDzOWCgJuGeHGA5hFkcflhAXhBrx",
            "client_name":"Jacob Williams",
            "client_os":"",
            "client_preview_url":""
        }
    ]
}
Join in the connection
Name Type Description
id number Internal system connection ID
status number
Connection status. Possible values:
  • 0 - New connection, waiting for client to join
  • 1 - Client joined, waiting for operator to join
  • 2 - Active connection, all members joined
  • 3 - Closed connection
create_time unixtime Connection creation date and time
invite_code string Invitation code
invite_url string Invitation URL
connect_url string Operator connection URL
client_name string Client name
client_os string
Operating system. Possible values: win, mac, and linux

The field is filled after the client joins

client_preview_url string
Client desktop thumbnail

The field is filled after the client joins

Connection info

To get the info about a specific connection, use the support/info method

Request:

GET https://api.getscreen.me/v1/support/info
  ?apikey=<string>
  &connection_id=<number>
Request parameters:
Parameter Type Value
apikey  * string Request authorization API key
connection_id  * number Internal system connection ID

Response:

{
    "data":[
        {
            "id":328,
            "status":2,
            "create_time":1600262268,
            "invite_code":"408080316",
            "invite_url":"https://go.getscreen.me/invite/408080316",
            "connect_url":"https://go.getscreen.me/turbo/nrhaStVwQSQ1J4DW0cL4wc1ADUeyug8BZjFaCgEqT4wuFXSPXQrGoRRBUxK1uFTU1Sr7bYlsviZ0djTophpmnIhpaZuMfGSKdSefcDzOWCgJuGeHGA5hFkcflhAXhBrx",
            "client_name":"Jacob Williams",
            "client_os":"win",
            "client_preview_url":"https://pcommand.com/preview/f90d07668bccd418a5a8922f2ee455f1eb004c2bbeb5f9fe05ed6970c3389114Zl5PgknTWlU0fWBe4b9YoHNvRlD5Iwl5.png"
        }
    ]
}
Response data:
Name Type Description
id number Internal system connection ID
status number
Connection status. Possible values:
  • 0 - New connection, waiting for client to join
  • 1 - Client joined, waiting for operator to join
  • 2 - Active connection, all members joined
  • 3 - Closed connection
create_time unixtime Connection creation date and time
invite_code string Invitation code
invite_url string Invitation URL
connect_url string Operator connection URL
client_name string Client name
client_os string
Operating system. Possible values: win, mac, and linux

The field is filled after the client joins

client_preview_url string
Client desktop thumbnail

The field is filled after the client joins

Close connection

To close a connection, use the support/close method

Request:

POST https://api.getscreen.me/v1/support/close
  ?apikey=<string>
  &connection_id=<number>
Request parameters:
Parameter Type Value
apikey  * string Request authorization API key
connection_id  * number Internal system connection ID

Response:

The response will be returned empty. To analyze the command execution, use only HTTP response code.

Get a connections list

To get a list of your connections, use the history/list method

Request:

GET https://api.getscreen.me/v1/history/list
  ?apikey=<string>
  &agent_id=<number>
  &date_from=<unixtime>
  &date_to=<unixtime>
  &video=<boolean>
  &offset=<number>
  &limit=<number>
Request parameters:
Parameter Type Value
apikey * string Request authorization API key
agent_id number Filter by agent ID
date_from unixtime Filter by date and time: period start
date_to unixtime Filter by date and time: period end
video boolean Filter by video recording
offset number Offset for the first item in the list
limit number Number of items in the list. Default value: 20; maximum value: 100

Response:

{
   "offset": 0,
   "limit": 10,
   "total": 15,
   "filter": {
      "date_from": 1608660281,
      "date_to": 1608660389,
      "agent_id": 1001,
      "video": true
   },
   "data": [
      {
         "id": 27233,
         "start": 1608660273,
         "stop": 1608660281,
         "clients": [
            {
               "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
               "login": "john.smith@gmail.com",
               "geo": {
                  "ip": "2.21.31.68",
                  "country": "USA",
                  "region": "California",
                  "city": "Los Angeles"
               }
            }
         ],
         "agent": {
            "id": 1001,
            "name": "DESKTOP-SJBU5PO",
            "group": "Accounting",
            "geo": {
               "ip": "2.21.31.68",
               "country": "USA",
               "region": "California",
               "city": "Los Angeles"
            },
            "os": "win",
            "version": "2.1.5",
            "owner": "john.smith@gmail.com"
         },
         "video": {
            "url": "https://st1.getscreen.me/video/2/27233.mp4",
            "size": 428652
         }
      },
      ...
   ]
}
                            
Response data:
Name Type Description
id number Internal system connection ID
start unixtime Connection start date and time
stop unixtime
Connection end date and time

Can be empty if the connection is not ended

clients array List of clients who joined the connection
clients[.]user_agent string User agent
clients[.]login string
User login

Can be empty if the connection was anonymous

clients[.]geo object Location
clients[.]geo.ip string IP address
clients[.]geo.country string Country
clients[.]geo.region string Region
clients[.]geo.city string City
agent object Agent info
agent.id number Internal system agent ID
agent.name string Name
agent.group string Group
agent.geo object Location
agent.geo.ip string IP address
agent.geo.country string Country
agent.geo.region string Region
agent.geo.city string City
agent.os string Operating system. Possible values: win, mac, or linux
agent.version string Software version
agent.owner string Account login of the permanent access owner
video object
Video recording info

Can be missing if the connection was not recorded

video.url string
Video recording file address

To upload a file with a video recording of the connection, add the ?apikey= parameter with your API key.

video.size number Video recording file size in bytes

Custom Integration

Don’t have enough resources for custom integration?
Need more features than HTTP API can offer?
We offer development of any custom integration: from a small button in your app to complete OEM remote access.

Send Request

We’ll get in touch soon
Send request
Request has been sent!
We’ll get in touch soon

Missing something?

Write us at info@getscreen.me or in chat if HTTP API methods and data are not enough for you.
We’ll review your request and do our best to help you.