Those self-tests are "basic" in the sense that they only validate their compliance with our documented schema in one representation. These test cases don't yet cover/validate whether the generated representation also fulfills the schema under different circumstances, for example when rendering for a user with fewer privileges, not allowed to see certain fields. Where necessary, the schema was changed to reflect the reality, e.g. when those tests revealed that a "required" field might be missing due to a lack of permissions. In a few cases the implementation was adapted to allow for stricter guarantees of the specified schema, for example links allowed to leave out the title key already, so its not necessary to emit `title: nil` in cases where a title is not known.
sidebar_navigation
| sidebar_navigation | ||||
|---|---|---|---|---|
|
OpenProject API
OpenProject offers two APIs. The general purpose HATEOAS API v3 and the BCF API v2.1 api targeted towards BIM use cases.
Please note that we intend to keep this specification as accurate and stable as possible, however work on the API is still ongoing and not all resources and actions in OpenProject are yet accessible through the API.
This document will be subject to changes as we add more endpoints and functionality to the API. The development version of this document may have breaking changes while we work on new endpoints for the application.
We try to keep stable releases of OpenProject with changes to this API backwards compatible whenever possible.
API v3
The API v3 is a general purpose API supporting multiple use cases.
While by no means complete, a whole lot of different scenarios can be automatized which otherwise would have to be carried out by hand via the UI. Examples for this include managing work packages, projects and users.
OpenAPI specification
Download the API specification in OpenAPI format as json or yml.
BCF v2.1
This API supports BCF management in the context of BIM projects.
While this API supports way less use cases than the more generic API v3 it is compatible with the generic specification of a BCF API as defined by the standard. This, clients implementing the specification can manage topics and viewpoints.