XPipe LogoXPipe Documentation

HTTP API

Getting Started with XPipe

The XPipe API provides programmatic access to XPipe’s features. You can get started by either using this page as an API reference or alternatively import the OpenAPI definition file into your API client of choice:

OpenAPI .yaml specification

The XPipe application will start up an HTTP server that can be used to send requests. Note that this server is HTTP-only for now as it runs only on localhost. HTTPS requests are not accepted.

You can either call the API directly or using the official XPipe Python API.

Prior to sending requests to the API, you first have to establish a new API session via the handshake endpoint. In 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.