Application programming interfaces

Refinery APIs

Client APIs

Embedded API used within a client application, usually written in C#, Java, C++, Python; to provide connectivity, query capability and result sets to a client application. All APIs calls are sent to the gateway (GW) processes, which are subsequently routed to the relevant downstream processes. This routing can be seen using the CLI command:

refinery failover --status

When querying via an API, the request is sent to the GW instance which is then served to the relevant primary HDB, RBD or both for a given pipeline.

Server API

Instruction set presented at the GW level. All instructions and calculations performed by the kdb+ server. The API consists of just half a dozen polymorphic (overloaded) functions. What they do changes depending on the arguments and values that you provide.

Functionality is also compound: different arguments work together in ‘layers’ to provide new functionality. An API call consists of three elements: The function name to call, the argument names being provided and the argument values themselves.

In this example the function name is getTicks.

getTicks `symList`assetClass`dataType`startDate`endDate!
    (`VOD.L;`equity;`trade;2017.03.27;2017.03.27)

Its argument is a dictionary with keys `symList`assetClass and so on.


Server-side API

C# client API

Java client API