api

## Package api

### Types

APIServer | `interface APIServer` Top level interface to external interaction with the distributed ledger.
APIServerImpl | `class APIServerImpl : APIServer`
Config | `class Config` Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work and to organise serializers / deserializers for java.time.* classes as necessary
ContractClassRef | `data class ContractClassRef : ContractDefRef`
ContractDefRef | `interface ContractDefRef` Encapsulates the contract type. e.g. Cash or CommercialPaper etc.
ContractLedgerRef | `data class ContractLedgerRef : ContractDefRef`
InterestRateSwapAPI | `class InterestRateSwapAPI` This provides a simplified API, currently for demonstration use only.
ProtocolClassRef | `data class ProtocolClassRef : ProtocolRef`
ProtocolInstanceRef | `data class ProtocolInstanceRef`
ProtocolRef | `interface ProtocolRef` Encapsulates the protocol to be instantiated. e.g. TwoPartyTradeProtocol.Buyer.
ProtocolRequiringAttention | `data class ProtocolRequiringAttention` Thinking that Instant is OK for short lived protocol deadlines.
ResponseFilter | `class ResponseFilter` This adds headers needed for cross site scripting on API clients
StatesQuery | `interface StatesQuery` Extremely rudimentary query language which should most likely be replaced with a product
TransactionBuildStep | `data class TransactionBuildStep` Encapsulate a generateXXX method call on a contract.