# Event¶

The Event type represents events that can be applied to contracts. The Event type is built-in. The definition is given below.

type Event {
agent : Agent,
timestamp : DateTime
}


## ContractId¶

The built-in abstract type ContractId represents a contract’s id. Values of this type cannot be constructed directly in CSL syntax, so whenever such a value is needed it must be supplied to the runtime system directly – either as an instantiation argument to a template or as an argument to a report.

## getEvents : ContractId -> List Event¶

The special function getEvents retrieves the list of events pertaining to the contract with the given id. Older events precede newer events in the list.