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, errortd>
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 2 groups:

  1. Permanent Access
  2. Remote Support

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 Remote 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 remote 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.

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.