Establish session
Prior to sending requests to the API, you first have to establish a new API session via the handshake endpoint. In the response you will receive a session token that you can use to authenticate during this session. This is done so that the daemon knows what kind of clients are connected and can manage individual capabilities for clients. If your client is running on the same system as the daemon, you can choose the local authentication method to avoid having to deal with API keys. If your client does not have file system access, e.g. if it is running remotely, then you have to use an API key. Note that for development you can also turn off the required authentication in the XPipe settings menu, allowing you to send unauthenticated requests. Certain connection IDs are hardcoded, e.g. the ID of the local machine connection. This makes it easier to perform actions on it across systems. The local machine connection ID is "f0ec68aa-63f5-405c-b178-9a4454556d6b". This one will be used in many of these samples.
Request Body
application/json
Response Body
application/json
application/json
application/json
curl -X POST "http://localhost:21721/handshake" \ -H "Content-Type: application/json" \ -d '{ "auth": { "type": "Local", "authFileContent": "<Contents of the local file beacon-auth" }, "client": { "type": "Api", "name": "My client name" } }'{
"sessionToken": "string"
}{
"message": "string"
}{
"error": {
"cause": {},
"stackTrace": [],
"suppressed": [],
"localizedMessage": "string",
"message": "string"
}
}Write blob to a remote file POST
Writes blob data to a file through an active shell session.
Decrypts a secret POST
For connections, the secrets are encrypted in json form. When creating connections in an automated fashion, secrets have to be first converted into the proper representation. This endpoint can be used to obtain the representation of a secret of an existing connection.