...
It offers REST interface to handle the following properties of FIXEdge:
- Referring to FIX message log:
- Retrieve FIX message log of specific / all sessions
- Output the acquired contents to text
- Get FIX session list:
- Retrieve the list of session definitions and their states
- Output the acquired contents to text
Session Control:
- Start and stop sessions
- Get session status (since FIXEdge 6.9.0)
- Get session statistics (since FIXEdge 6.9.0)
- Restart session (since FIXEdge 6.9.0)
Reset sequence No.:
- Reset FIX sequence No. (incoming and outgoing)
Set sequence No.:
- Set an arbitrary value for the sequence number of a specific session
Reload BL_Config.xml
Send messages to session output queue
- Authenticate the client via authentication token:
- Authorized clients are able to perform all operations via Admin REST API.
- Non-authorized clients are able to perform health checks only.
Info |
---|
Admin REST API authentication is supported since FIXEdge C++ 6.14.0 version. |
Installation
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).
...
curl --insecure https://fixedge.host:8903/sessions
...
Admin REST API configuration parameters
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 | determines the interval at which FIXEdge C++ sends heartbeat messages to FIXICC H2 (in seconds) | 30 |
Configuration Example:
Code Block |
---|
AdminRESTAPI.Enabled = true AdminRESTAPI.Port = 8903 AdminRESTAPI.HTTPSServer.PrivateKey = ../FIXEdge1/conf/AdminRESTAPI.key AdminRESTAPI.HTTPSServer.Certificate = ../FIXEdge1/conf/AdminRESTAPI.crt |
Admin REST API authentication configuration
Info |
---|
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:
- Bearer authentication shema
- Authentication token
Configuration of Admin REST API with self-signed SSL certificate
...
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).
...