The Ipe program is a relatively thin layer on top of the "Ipe library" (Ipelib). Ipelib provides the geometric primitives and implements all the geometric objects that appear in Ipe. Most tasks related to modifying an Ipe document are actually performed by Ipelib.
Ipelib can easily be reused by other programs to read, write, and modify Ipe documents. It requires only the standard C++ library (including the STL), and the zlib compression library.
Authors of ipelets (plug-ins for Ipe) will need this documentation, as Ipelets have to be linked with Ipelib.