Application programming interfaces¶

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.