NOTE: Due to enhanced functionality added to the API to support the VersionOne SDK, these SDK libraries are only compatible with the v8.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 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 power/expressiveness. 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 API.

The VersionOne object model is a C# 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 C# 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.
VersionOne SDK sample applications are provided to demonstrate how to use the VersionOne SDK to build integration applications. Although they provide value in themselves, their primary purpose is to as a learning tool.
CreateEntity is a command-line sample that is able to create Stories, Defects, Themes, Goals, Requests, and Issues in a specific project.
DumpEntity is a command-line sample that given a specific entity id displays all property values including related item's names.
DumpProjects is a command-line sample that is able to display all visible projects recursively and optionally display the stories and/or defects within each project.
V1Attachments is a standalone utility that allows you to attach a file to any asset in VersionOne; this includes but is not limited to, a Story, Defect, Task, or Test. This utility can be used directly or you can create a shortcut in the appropriate Windows subdirectory to add VersionOne to the list of "Send To" options available on the right click menu.
The VersionOne Estimation Tool allows you to easily divide VersionOne items into an arbitrary number of groupings or "buckets" and then apply estimate values to all of the items based on which bucket it is in.
The V1Screenshot utility allows you to easily attach an image currently on your windows clipboard to an item within VersionOne, without having to save to disk and add as an attachment. In addition to uploading the image file as an attachment, it can add the image to the tab menu on the VersionOne details page for easy access.
The VersionOne Search (V1Search) is a standalone web application that allows individuals across your organization to search for VersionOne assets across all projects. V1Search is built on top of Lucene.NET, a powerful opensource information retrieval engine. This technology also supports a rich query parser that allows users to create queries that mix terms, logical expressions, and wildcards to narrow their searches.
V1TaskManager is a task tray utility that allows you to view and update key properties of tasks, tests, defects and stories. The utility also allows you to take ownership of items as well as take effort and close items.
V1TortoiseSVN helps you add Workitem IDs into TortoiseSVN check-in popup by showing a window which lists Stories, Defects, Tasks, and Tests assigned to you. It provides quick access to the workitem's IDs to add to the check-in comment to be read by the VersionOne Subversion Integration (V1SVN).