Caplin Documentation
Introduction to Caplin Platform
Home
Downloads
API Reference
Archive
Blog
Training
Training
Caplin Front-end Tutorial
Caplin Front-end Tutorial
Introducing React and Redux
Creating tile components
Adding streaming prices
Adding trading from a tile
Using grids
Containers
Caplin Trader 4 Tutorial
Caplin Trader 4 Tutorial
Technical Requirements for Onsite Training
BladeRunnerJS and Caplin Trader
Presenter
Internationalisation
Verifier
Message Service
Trading
Permission Service
Webcentric
Grids
Renderers
Extra Tutorial: Workbench Widgets and ATs
Training Feedback Form
Caplin Platform Developer Tutorial 1
Caplin Platform Developer Tutorial 1
Technical requirements
Setting up the development environment
Deploying core Caplin Platform components
Writing a pricing adapter (1)
Writing a pricing adapter (2)
Sorting and filtering with Transformer Refiner
Writing a trading adapter
Writing a permissioning adapter
Monitoring the Caplin Platform with the CMC
Training Feedback Form
Caplin Platform Developer Tutorial 2
Caplin Platform Developer Tutorial 2
Technical requirements
Setting up the Development Environment
Deploying components from Dev Tutorial 1
Writing a Transformer Pipeline Module
Routing a request to multiple adapters
Writing a custom subject mapper
Monitoring custom MBeans with the CMC
Benchmarking the Caplin Platform
Deploying components in a failover architecture
Training Feedback Form
Caplin Platform Support Tutorial
Caplin Platform Support Tutorial
Technical requirements
Setting up your environment
Deploying tutorial components (quick-start)
Deployment core components
Deploying integration adapters
Upgrading components
Sorting and filtering with Transformer Refiner
Monitoring Caplin Platform with the CMC
Managing Caplin Platform with the CMC
Interpreting log files
Tracking messages across the Platform
StreamLink client reconnections
Diagnosing latency issues
Deploying components in a failover architecture
Training Feedback Form
Caplin RET Adapter Toolkit Tutorial
Caplin RET Adapter Toolkit Tutorial
Technical Requirements
Setting up the Development Environment
Deployment Framework and Caplin Platform
Creating a RET Adapter
Extending an Adapter
Configuring a RET Adapter
Log files and Troubleshooting Adapters
Products
Caplin Platform 8
Caplin Platform 8
Getting Started
Caplin Platform 8 release highlights
Caplin Platform 8 system requirements
Upgrading to Caplin Platform 8
Migrating to Platform 8 dynamic features
Features
Overview
Overview
Low-Latency Web Streaming
Subscribing to Data in the Platform
Putting Data into the Platform
Working with the Data in the Platform
Services
Mapping messages
Channels
Dynamic peers
Dynamic data services
Development
Development
Developing a Java adapter
Security Hardening Guide - Development
Deployment
Deployment
Platform Blades
Failover
Proxy servers and Liberator
Security Hardening Guide - Deployment
Platform Core image
Authentication and authorisation
Authentication and authorisation
Securing DataSource connections with API keys
Permissioning Service
Permissioning Service
Permissioning Concepts
Complex Permissioning Rules
Additional Permissioning Capabilities
Permissioning for TOBO
Monitoring
Monitoring
Configuring Prometheus monitoring
Configuring Prometheus alerts
Configuring Prometheus and Grafana
Caplin Management Console
Logging
Troubleshooting
Troubleshooting
Troubleshooting example: trade rejection
Send diagnostic information to Caplin Support
Get information about the libraries used by a failed Platform component
Get a Windows crash dump of a failed Platform component
Components
Liberator
Liberator
Getting Started
Liberator 8 release highlights
Liberator benchmarks
Installing Liberator
Upgrading Liberator
Using the REST Adapter
Features and Concepts
How Liberator works
Liberator's functions and features
Data and subscription management
Open subscriptions
Object mapping
Client publication
DataSource: Containers
Container windowing
Trade messaging
User authentication and permissioning
Platform: Permissioning Overview And Concepts
Clustering
Configuration and blades
Monitoring and management
Liberator status web page
Liberator Explorer
Logging
Performance
Threading
Throttling
Bursting (Batching)
Licence management
Web modules
RTTP
IPv6 networking
REST services
REST services
Liberator REST Client Interface
Liberator REST Adapter
REST authentication
How can I...
Configure how Liberator handles HTTP connections
Configure how Liberator handles HTTPS connections
Configure how Liberator handles direct client connections
Set up a cluster of Liberators
Keep subscriptions open when the peer is down
Control when Liberator purges its object cache
DFW: Create a Java-based Liberator auth module
DataSource: Setting JVM location
DataSource: Configuring JVM heap size
DataSource: Configure DataSource monitoring
Configure container usage in Liberator
Obtain a container snapshot in a CSV or XLSX file
Format fields for export to a CSV or XLSX file
Use Liberator Explorer to request and send data
Configure a connection to a news service
Sending UDP commands to Liberator
Enabling the REST Adapter
Running Liberator on Windows and macOS
Manage and interpret log files
Server-side RTTP logging
Platform: Send diagnostic information to Caplin Support
Platform: Get a Windows crash dump of a failed Platform component
Reference
Liberator configuration reference: Introduction
Object configuration (part 1)
Object configuration (part 2)
HTTP configuration (part 1)
HTTP configuration (part 2)
HTTPS configuration
RTTP configuration
Direct connections configuration
UDP configuration
Session configuration
Clustering configuration
News configuration
Tuning configuration
Throttling configuration
Bursting configuration
Status page authentication configuration
Auth module configuration
Cfgauth configuration
Openauth configuration
Licensing configuration
Snapshot web module configuration
Fields configuration
Latency configuration
Shutdown configuration
Liberator Prometheus metrics
REST Adapter Prometheus metrics
UDP commands
Liberator system subjects
LiberatorDemoDataSource blade
REST Adapter configuration
Liberator Benchmarks
Liberator Auth API for Java
Liberator Auth API for C
Liberator JMX MBeans
DataSource: Configuration reference
DataSource: Monitoring configuration
Platform: Reverse Proxies and Liberator
Transformer
Transformer
Getting Started
Transformer 8 release highlights
Transformer Refiner benchmarks
Installing Transformer
Upgrading Transformer
Activating the Persistence Service 7
Activating the Persistence Service 6.2
Installing the Refiner Service
Installing the Watchlist Service
Installing the Alerts Service
Installing the Charting Service
Features and Concepts
Transformer architecture
Transformer modules
Refiner Overview
Logging
Application-level heartbeats
Clustering
IPv6 networking
How can I...
Write a Lua Pipeline for Transformer
Write a JavaScript Pipeline for Transformer
Write a Java module for Transformer
Persist data to Transformer
Configure Refiner
Access Refiner through StreamLink
Set Refiner user permissions and subject mappings
Implement custom sorting and filtering in Refiner
Set up a cluster of Transformers
Configure Transformer's JVM
Configure container usage in Transformer
Sending UDP commands to Transformer
Manage and interpret log files
DataSource: Configure DataSource monitoring
Platform: Send diagnostic information to Caplin Support
Platform: Get a Windows crash dump of a failed Platform component
Training: Writing a Transformer Pipeline Module
Reference
Refiner 5.0 Benchmarks
C Transformer Module API
Java Transformer Module API
Java Transformer Module API (legacy)
Lua Pipeline Module API
JS Pipeline Module API
Transformer JMX MBeans
Transformer configuration reference: Introduction
Modules configuration
Objects configuration
Heartbeats configuration
Memory and cache configuration
Peer management configuration
News configuration
Refiner configuration
Refiner subject syntax
Charting configuration
Charting configuration
Charting: request intraday data
Charting: cache and validate intraday data
Charting: pass intraday data to transformer
Charting: opening hours and timezones
Charting: add-fieldset codes
Charting: add-fieldset examples
Pipeline configuration
Pipeline database configuration
Pipeline threads configuration
Auto-publishing module configuration
Clustering configuration
Java Transformer Module configuration
Persistence configuration
Monitoring configuration
UDP configuration
UDP commands
Prometheus metrics
DataSource: Configuration reference
DataSource: Monitoring configuration
Discovery
Discovery
Getting Started
Requirements
Release highlights
Migrating to Discovery
Migrating to Discovery
Deploying Discovery server
Connecting DataSources to Discovery
Migrating to Discovery licensing
Migrating to peer discovery
Migrating to scalable data services
Example deployment to a single host
Example deployment to Kubernetes
Features and Concepts
HTTP interface
Discovery licensing
Peer discovery
Scalable data services
How can I...
Starting and stopping Discovery
Installing a Discovery licence
Monitoring Discovery
Reference
Discovery server log files
Discovery server configuration
DataSource: Discovery configuration
Deployment Framework
Deployment Framework
Getting Started
Deployment Framework 8 release highlights
Installing the Deployment Framework
Setting up dfw command completion
Upgrading the Deployment Framework
Training: Deployment Framework
Features and Concepts
Deployment Framework Structure
Blade types
Built-in blades
Caplin-supplied blades
Active and inactive blades
How can I...
Deploy Liberator and Transformer
Deploy and upgrade blades
Activate and deactivate blades
Activate a built-in blade
Start and stop components
Change server-specific configuration
Change a blade's configuration
Create a custom blade
Create a custom blade
Create a C-based Adapter blade
Create a Java-based Adapter blade
Create a Lua-based Transformer Service blade
Create a JavaScript-based Transformer Service blade
Create a Java-based Transformer Service blade
Create a Java-based Liberator auth module
Add a custom subject mapper to a permissioning integration adapter
Package a custom blade
Deploy a custom blade
Customise an existing blade
Set up server failover capability
Troubleshooting the Deployment Framework
Troubleshooting an Adapter blade
Manage blade compatibility
Update Deployment Framework files
Change Liberator and Transformer port numbers
Platform: Send diagnostic information to Caplin Support
Platform: Get a Windows crash dump of a failed Platform component
Reference
The Deployment Framework command: dfw
Blade naming conventions
The blade control file
Configuration variables
Caplin Management Console
Caplin Management Console
Getting Started
Installing the CMC
Upgrading the CMC
Training: CMC Tutorial
Training: Advanced CMC Tutorial
Features and Concepts
Platform: Monitoring and Management in the Caplin Platform
The CMC Interface
How can I...
Connecting CMC to a remote deployment
Adding monitorable components
Activating a component's JMX interface
Monitoring latency statistics using the CMC
Customising the CMC
Reference
CMC Java API
DataSource JMX SDK (JMX-client classes)
C DataSource JMX MBeans
Liberator JMX MBeans
Transformer JMX MBeans
Caplin Integration Suite
Caplin Integration Suite
Getting Started
CIS 8 release highlights
Developing a Java Adapter
Features and Concepts
Java integration libraries
Caplin Project Templates
How can I...
Serving blotter data with the Java Blotter API
Writing permissioning rules in Java
Integrating the Caplin Platform with a Trading System
Reference
Java DataSource API
Java Trading API
Java Blotter API
Java Notification API
Java Permissioning API
Java Charting API
Trade model XML schema
DataSource
DataSource
Getting Started
DataSource system requirements
The DataSource APIs and libraries
Features and Concepts
Subscriptions
Active subscription model
Broadcasting data
Combining active subscriptions and broadcast data
Subjects, symbols and fields
Field definitions
Subject status
Data types
Data types
Records
Records
Type 1 records
Type 2 records
Type 3 records
Generic objects
JSON data
Containers
Directories
Pages
News headlines and news stories
Permissions
How containers work
DataSource configuration
Dynamic Peers
Dynamic Services
Data services
DataSource monitoring and management
Logging in DataSource applications
IPv6 networking
Timestamp resolution
How can I...
View packet logs using logcat
Disable Packet Logs for C DataSource
Load-balance adapters with source affinity
Use timers in DataSource applications
Enable heartbeats between DataSource applications
Securing DataSource connections with TLS
Securing DataSource connections with API keys
Seed the OpenSSL random number generator
Configure threads for peer communication
Create containers in an Integration Adapter
Obtain container data from several sources
Setting the location of a DataSource's JVM
Configuring a DataSource's JVM heap
Enabling GC logging for a DataSource's JVM
Measuring latency in record updates
Publishing JMX metrics
Publishing metrics to Prometheus
Publishing alerts from Prometheus
Visualising Prometheus metrics with Grafana
Publishing a JSON subject
Enabling Dynamic Peers
Enabling Dynamic Services
Manage and interpret log files
Platform: Send diagnostic information to Caplin Support
Platform: Get a Windows crash dump of a failed Platform component
Reference
DataSource for Java API
DataSource for C API
DataSource for .NET API
DataSource JMX SDK (JMX-client classes)
C DataSource JMX MBeans
DataSource Prometheus metrics
DataSource configuration: introduction
Datasource configuration syntax
Field-definition configuration
Run-time environment configuration
DataSource peers configuration (part 1)
DataSource peers configuration (part 2)
Data services configuration
Name mapping configuration
Logging configuration
Embedded JVM configuration
DataSource SSL/TLS configuration
KeyMaster configuration
DataSource monitoring configuration
Latency chains configuration
Discovery configuration
StreamLink
StreamLink
Getting Started
StreamLink system requirements
Subscribing to Data and Receiving Updates
Sending Data to the Liberator
Features and Concepts
StreamLink Architecture
StreamLink Connection types
StreamLink data types
User Authentication and Permissioning
Resilience in StreamLink
StreamLink and TLS
TLS certificate and public-key pinning
StreamLink for Excel
How can I...
Make Data Persist in Liberator
Make Subscriptions more Specific
Capture StreamlinkJS logging data
Connect to an IPv6 host
Subscribing and publishing to channels
Subscribing to a JSON subject
Subscribing to a REST subject
Sorting and filtering with Refiner
Sorting and filtering with Client Side Refiner
Manage and interpret log files
Log client-Liberator RTTP messages on Liberator
Reference
StreamLink JS API
StreamLink TS API
StreamLink Java API
StreamLink Android API
StreamLink C API
StreamLink iOS API
StreamLink .NET API
RTTP Message Codes
KeyMaster
KeyMaster
Getting Started
Deploying KeyMaster
Deploying KeyMaster (< 6.2)
Configuring Liberator to work with KeyMaster
J2EE Web Container Configuration
Hardening KeyMaster security
Features and Concepts
KeyMaster Concepts
KeyMaster Architecture
KeyMaster Servlets
KeyMaster SignOn Framework
How can I...
Debugging KeyMaster errors
Testing KeyMaster Java
Reference
KeyMaster Java API
KeyMaster Java API (< 6.2)
KeyMaster Signon Framework API
KeyMaster log messages
Java Key Generator Config (< 6.2)
KeyMaster.NET API Configuration
DataSource: KeyMaster configuration
TREP Adapter
TREP Adapter
Getting Started
Installing the TREP Adapter
Upgrading the TREP Adapter
Features and Concepts
Refinitiv data format
Enumerated field values
Ripple fields
TS1 charting data
How can I...
Generating DataSource field definitions
Reference
Connection
Dump
Enum
Item
Map
Name mapping
Packet
Queue
Ripple
Service
Threads
TS1
RTDS
TREP Adapter JMX MBeans
Caplin FX Professional
Caplin FX Professional
Getting Started
System requirements
Deploying FX Professional
Developing with FX Professional
Features and Concepts
FX Professional Features
Architectural Overview
FX Integration API
FX Tiles
FX Tiles
Section 1 - Using an FX Tile
Section 2 - Using other FX Tile components
Section 3 - Validation and Error messages
Section 4 - One-way pricing
Section 5 - NDF Tiles
Section 6 - Integrating FX data with a tile
Section 7 - System Availability and Permissioning
Section 8 - Code architecture
Tickets
Orders
Block trades
Post-trade allocations
Production Logging
Activity Log
User Preferences
Managing entitlements
FX API > User Details Service
How can I...
Configuring FX Professional
Setting HTTP response headers
Implementing User Config
Reference
FX Professional configuration
J2EE web container JNDI configuration
Recommended HTTP response headers
Trade models and message specifications
User Preferences API
Markdown with Caplin extensions
FX Integration API Javadoc
Caplin FX Sales
Caplin FX Sales
Getting Started
System requirements
Deploying FX Sales
Developing with FX Sales
Features and Concepts
FX Sales Features
Architectural Overview
User Preferences
The FX Integration API
User authentication
Historic Search
Post-trade Allocation
FX API > User Details Service
Sales tickets
Sales tickets
Sales tickets: opening a new sales ticket
Sales tickets: completing sales ticket fields
Sales tickets: adjusting a quote
Sales tickets: example trades
Sales Intervention
Sales Intervention
Sales Intervention Architecture
Implementing Sales Intervention
Sales Intervention User-Interface
How can I...
Configuring FX Sales
Setting HTTP response headers
Implementing Historic Search
Implementing Post-trade Allocation
Implementing Cover Trades
Implementing User Config
Reference
FX Sales configuration
Trade models and message specifications
Client-Search Containers and Records
J2EE web container JNDI configuration
Recommended HTTP response headers
Markdown with Caplin extensions
FX Integration API Javadoc
Caplin FX Mobile
Caplin FX Mobile
Getting Started
Caplin FX Mobile System Requirements
Features and Concepts
FX Mobile Features
Architectural Overview
User Authentication
Reference
Blotter record specification
Order-blotter actions
Permissions
Application configuration
Blotter configuration
Subjects configuration
Web app
Web app
FX Mobile web app
Installing FX Mobile
Configure FX Mobile
Setting HTTP response headers
J2EE web container JNDI configuration
Recommended HTTP response headers
Reference
Application configuration
Blotter configuration
Subjects configuration
Caplin FX Corporate
Caplin FX Corporate
Features and Concepts
Terms and conditions
User authentication
How can I...
Creating user accounts in development
Troubleshooting Caplin FX Corporate
Setting HTTP response headers
Configuring FX Corporate
Implementing User Config
Reference
FX Corporate configuration
J2EE web-container JNDI configuration
FX Corporate theme settings
Recommended HTTP response headers
Integration
FX Integration API
FX Integration API
Getting Started
FX Integration API upgrade guide: v2 to v3
Features and Concepts
Block trades
DisplayFields
User Details Service
User Config
How can I...
Implementing User Config
Reference
FX Integration API
Trade model XML schema
User Config Adapters
User Config API reference
Message and record fields
Commodities blotter records
FX blotter records
MM blotter records
Sales Intervention reasons fields
Markdown with Caplin extensions
Trade model: ESP
Trade model: RFS
Trade model: Drawdown (Time Option)
Trade model: Allocate
Trade model: Amend
Trade model: Cancel
Trade model: SalesIntervention
Trade model: OrderSubmission
Trade model: EditStrategy (order modification)
Trade model: OrderDeletion
Trade model: OrderCancel
Trade model: OrderChangeState
Trade model: BulkOrderSubmission
Trade model: BulkOrderAction
Trade model: Settlement (FX)
Trade model: CommoditiesSettlement
Trade model: MMRFS
Trade model: MMCapitalIncrease
Trade model: MMPostTrade
Trade model: MMSalesIntervention
Trade model: MMSettlement
Caplin RET Adapter Toolkit
Caplin RET Adapter Toolkit
Getting Started
Getting started with the RET Adapter Toolkit
Installing the RET Adapter Toolkit
RET Adapter Toolkit upgrade guide: v2 to v3
Features and Concepts
Architecture
Adapter features
Users and permissioning
How can I...
Creating a RET adapter
Configuring RET adapters
Configuring the connection to RET
Understanding RET adapter log files
Reference
RET Adapter Toolkit API
Troubleshooting checklist
RET adapter log files
Configuration file: adapter.properties
Configuration file: trapi-connection.properties
Configuration file: datasource.conf
Recommended RET configuration
Barracuda Order Adapter
Barracuda Order Adapter
Getting Started
Installing the Barracuda Order Adapter
Upgrading the Barracuda Order Adapter
Customising the Barracuda Order Adapter
Permissioning
Reference
Subjects published by the adapter
Subject mapping
Configuration
Barracuda Order Adapter API
WallStreet Adapter
WallStreet Adapter
Getting Started
Installing the WallStreet Adapter
Upgrading the WallStreet Adapter
Features and Concepts
Usernames
Reference
Configuration files
Caplin Director
Caplin Director
Getting Started
Installing Caplin Director
Features and Concepts
Caplin Director Features
Caplin Director Architecture Overview
Caplin Director Permissioning
How can I...
Defining custom fields
Reference
Caplin Director Configuration
Caplin Director v1 RESTful API
Caplin Director v2 RESTful API
Caplin Trader
Caplin Trader 5
Caplin Trader 5
Getting Started
Caplin Trader 5 release highlights
Caplin Trader 5 requirements
Upgrading from Caplin Trader 4
Installing Node.js
Installing Yarn
Installing Caplin CLI
How can I...
Creating a new workspace
Creating a new application
Creating a new component
Creating a new local package
Installing a Caplin Trader package
Developing a React component with Storybook
Internationalising an application
Starting the development server
Testing components using Jest
Building an application
Reference
API reference
Caplin Trader 4
Caplin Trader 4
Product Details
Introduction to Caplin Trader 4
How CT4 Fits Together
Services in Caplin Trader 4
Caplin Trader JavaScript Libraries
CT 4.0 Summary of Changes
CT 4.0 Upgrade Guide: Configuration
CT 4.0 Upgrade Guide: Code
CT 4.4 Upgrade Guide
Caplin Trader 4 JavaScript API
Training > Install and Run CT 4
CT 4.0 Release Highlights
Components
Grid
Grid
Getting Started
Hello world: create a grid component
Adding a grid to a Webcentric layout
Features and Concepts
Architectural overview
How can I...
Populate a grid with my own data
Write my own decorator
Configure sorting and filtering
Define an expandable grid
Configure column refiner panels
Create a custom refiner panel
Reference
Filtering configuration reference
Available decorators
Grid XML configuration reference
Caplin libraries API reference
Chart
Chart
Getting Started
Write a chart component
Features and Concepts
Architectural Overview
How can I...
Add a study to my chart
Write my own study
Reference
Caplin HTML5 Libraries API Doc
Webcentric
Webcentric
Getting Started
Webcentric worked example
Features and Concepts
Webcentric basic layout
Architectural Overview
How can I...
Manage layouts (JS Doc)
Insert a component via a menu
Work with menus
Create a menu
Write a header bar component
Create a ticket dialog
Add and remove default layouts
Reference
Webcentric XML config reference
User layout XML config reference
Caplin libraries API reference
Presenter
Presenter
Getting Started
Presenter worked example
Creating a Presenter component
Features and Concepts
Architectural overview
About the Presenter model
How can I...
Try out Presenter (live examples)
Reference
Caplin libraries API docs
Trading API
Trading API
Getting Started
Hello world: creating an order trade
Trading worked example
Features and Concepts
Architectural overview
How can I...
Subscribe to prices for trading
Reference
Trade model XML config reference
Caplin libraries API reference
Permissioning API
Permissioning API
Getting Started
Query users' permissions
Features and Concepts
Architectural overview
How can I...
Query a user's permissioned products
Query a user's permitted actions
Reference
Permissioning XML configuration reference
Caplin libraries API reference
Alerts API
Alerts API
Getting Started
Set up triggers and notifications
Features and Concepts
Notifications and Triggers
Reference
Caplin libraries API reference
Verifier
Verifier
Getting Started
Verifier Hello World
Acceptance testing - simple example
Test infrastructure and execution
Verifier worked example
Features and Concepts
Architectural overview
How can I...
Debug tests
Unit test with mock objects
Configure browsers for testing
Reference
Available fixtures
Given-when-then syntax reference
Caplin libraries API reference
BladeRunnerJS
BladeRunnerJS
Features and Concepts
User Libraries
Module format
Object-oriented JavaScript
Service architecture
About blades and motifs
Application structure
About aspects
Organising Your Code
How can I...
Find out more about BladeRunnerJS
Reference
Get and publish streaming data
Available alias groups
Available services
Get connection information
Caplin libraries API reference
Renderer
Renderer
Getting Started
Hello world: using the renderer library
Features and Concepts
Architectural overview
How can I...
Use renderers with Presenter
Write my own renderer classes
Use renderers in grids
Reference
Renderer XML configuration reference
Caplin libraries API reference
Popouts
Popouts
Getting Started
Create a popout
Features and Concepts
Architectural Overview
Browser Limitations
How can I...
Save a popout's position
Save a popout's state
Reference
Caplin libraries API reference
Watchlist API
Watchlist API
Getting Started
Watchlist API prerequisites
Features and Concepts
Watchlist API key features
Watchlist API design
Watchlist API interfaces and classes
How can I...
Migrate to the Watchlist API
Create, rename, and delete watchlists
Display a watchlist in a grid
Add and remove watchlist subjects
Reference
Caplin Trader API > Watchlist API