FIXEdge Admin REST API is intended to be a pragmatic tool for on-the-fly tuning of the most common FIXEdge properties.
It offers REST interface to handle the following properties of FIXEdge:
Session Control:
Reset sequence No:
Set sequence No:
Reload BL_Config.xml
Send messages to session output queue
Admin REST API authentication is supported since FIXEdge C++ 6.14.0 version. |
FIXEdge Admin REST API is a part of FIXEdge Server and is introduced in version 6.4.0 of FIXEdge. It's needed to enable AdminRESTAPI.Enabled parameter and set the values for all required AdminRESTAPI fields in FIXEdge.properties (See the "Properties" section).
Admin REST API is available via HTTPS protocol only so it's needed to configure a certificate and a private key which it uses for encryption. FIXEdge packages contain self-signed certificate and private key that can be used by Admin REST API. You can set up your own a self-signed certificate for the servers you're connecting to as described in the "Configuration of Admin REST API with self-signed SSL certificate" section below.
Note: when you're connecting to a server that uses a self-signed certificate, you will be displayed a warning (see figure below). Click on the "Add Exception..." button to add the certificate to a set of trusted certificates.
If you use cURL to query Admin REST API you need to add parameter --insecure, e.g.
curl --insecure https://fixedge.host:8903/sessions
The properties can be configured in FIXEdge.properties:
Field | Type | Description | Required | |
---|---|---|---|---|
AdminRESTAPI.Enabled | bool | is admin REST API enabled or not | No, default = false | |
AdminRESTAPI.ServerMode | enum | admin REST API server modes:
| No, default = HTTPS | |
AdminRESTAPI.BindAddress | string | define specific network interface for listening
| No, default = "0.0.0.0" (all interfaces) | |
AdminRESTAPI.Port | int | TCP port to listen | Yes (if AdminRESTAPI.Enabled = true) | |
AdminRESTAPI.HTTPSServer.Port | int | TCP port to listen
| No | |
AdminRESTAPI.HTTPSServer.PrivateKey | string | path to SSL private key file | Yes (if AdminRESTAPI.ServerMode = HTTPS) | |
AdminRESTAPI.HTTPSServer.Certificate | string | path to SSL certificate file | Yes (if AdminRESTAPI.ServerMode = HTTPS) | |
AdminRESTAPI.HTTPSServer.CertificateAuthority | string | path to the file or directory containing the CA/root certificates. Can be empty if the OpenSSL builtin CA certificates are used | No | |
AdminRESTAPI.HeartBeatIntervalS | int | controls the interval (in seconds) at which FIXEdge C++ sends heartbeat messages to FIXICC H2. Set this value to '0' to disable heartbeats. | 30 |
AdminRESTAPI.Enabled = true AdminRESTAPI.Port = 8903 AdminRESTAPI.HTTPSServer.PrivateKey = ../FIXEdge1/conf/AdminRESTAPI.key AdminRESTAPI.HTTPSServer.Certificate = ../FIXEdge1/conf/AdminRESTAPI.crt |
Admin REST API authentication is supported since FIXEdge C++ 6.14.0 version. |
Property | Type | Description | Required |
---|---|---|---|
AdminRESTAPI.Tokens | string | The property defines API token for client's authentication. To activate Authenticated Admin REST mode the property should be defined with comma separated list of cryptographic hash of the possible tokens values. The hash value is represented as a hexadecimal string (a sequence of hexadecimal digits, pair of such digits represents a single byte of a hash). To generate a hash of the token a user can use commands like echo -n tocken | sha256sum or echo -n tocken | openssl dgst -sha256. Admin REST API authentication is disabled (unsecure mode) if this property is not set in FIXEdge.properties file or is set to empty string value. Non-authorized clients are able to perform health checks only via /service/started. | No |
AdminRESTAPI.TokenHashAlgorithm | string | The property defines hash algorithm to be used. The list of supported hash functions depends on OpenSSL and must include at least SHA256 algorithm. By default SHA256 algorithm is used. | No, default = SHA256 |
To enable Admin REST API authentication mode all requests must contain Authorization header must have a Bearer <token-value> form with specified:
You need OpenSSL or LibreSSL installed on your system to follow this instruction. For Windows systems you can get OpenSSL from Cygwin (www.cygwin.com).
FIXEdge Administrative REST API and SDK Documentation