NOTE: Due to enhanced functionality added to the API to support the VersionOne SDK, these SDK libraries are only compatible with the build 8.0.1197 and greater versions of the VersionOne core product.
The VersionOne Integration SDK is a toolkit for application integration with VersionOne's REST-based web service API. It consists of 2 open-source client-side libraries, the APIClient and Object Model. As illustrated in the diagram below, an external application or integration can interact with the VersionOne application:
via the core product's REST-based API, using HTTP GET and POST methods with XML document payloads.
via the open-source APIClient library, which provides http and XML document plumbing.
via the open-source Object Model library (which in turn uses the APIClient), which provides a strongly-typed object model that further reduces the complexity and learning curve, and accelerates integration development. Note that while filtering and ordering is supported, this is not intended for use as a reporting interface - at this time, the APIClient or REST-based API is better suited for that purpose, due to support for user-defined queries.
With each additional 'layer', integration/application development becomes simpler and faster, but with that simplification comes a loss of flexibility. Most projects should only need the object model library, but there is the ability to 'drop down' to using the APIClient directly for more advanced capabilities - and there's always the option to work directly against the REST-based API.

The VersionOne object model is a Java library created to provide a strongly-typed VersionOne object model allowing developers to easily and quickly develop VersionOne integrations and complementary applications & utilities without concern for the underlying REST-based API.
The VersionOne APIClient is a Java library that allows object-oriented access to the VersionOne Data API, which is inherently a REST-based XML web service. Through the APIClient, you can query for simple or complex sets of information, update the information, and execute system-defined operations, without having to construct HTTP requests and responses or deal with XML parsing.