How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

OpenProject Forms API

This API provides forms as a concept to aid in editing or creating resources. The goal of forms is to:* make writable properties of a resource discoverable* show to which values a property can be set* validate changes to a resource and indicate validation errorsThese benefits aside, a client can freely choose to immediately edit a resource without prior validation by a form.In the case of an invalid request the edit will fail and return appropriate errors nevertheless.A form is associated to a single resource and aids in performing changes on that resource.When posting to a form endpoint with an empty request body or an empty JSON object,you will receive an initial form for the associated resource.Subsequent calls to the form should contain a single JSON object as described by the form.## Actions| Link | Description | Condition ||:-------------------:| --------------------------------------------------------------------- | -------------------------------- || validate | Validate changes, show errors and allowed values for changed resource | || commit | Actually perform changes to the resource | form content is valid || previewMarkup | Post markup (e.g. markdown) here to receive an HTML-rendered response | |## Linked Properties| Link | Description | Type | Nullable | Supported operations ||:-------------------:| ------------------------------------------------ | ------------- | -------- | -------------------- || self | This form | Form | | READ |## Embedded Properties:Apart from the linked properties, forms contain always three other embedded properties:* `payload`* `schema`* `validationErrors`Their purpose is explained below.### PayloadThe payload contains an edited version of the resource that will be modified when committing the form.This representation contains all writable properties of the resource and reflects all changes that the latest call to **validate** included,thereby acting as a preview for the changes.In case the client tries to set the value to something invalid, the invalid change is also reflected here. However a validation error (see below)indicates that a commit of this payload would fail.It might happen that setting one property affects the allowed values for another property. Thus by changing a property Athe current value of another property B might become invalid. If the client did not yet touch the value of B, the payload willcontain a default value for that property. Nevertheless the client will also receive an appropriate validation error for value B.The content of this element *can* be used as a template for the request body of a call to **validate** or **commit**.A call to **validate** and **commit** does not need to include all properties that were defined in the `payload` section.It is only necessary to include the properties that you want to change, as well as the `lockVersion` if one is present.However you *may* include all the properties sent in the `payload` section.### SchemaThe schema embedded in a form is a normal [schema describing the underlying resource](https://www.openproject.org/docs/api/endpoints/schemas/).However, the embedded schema can change with each revalidation of the form.For example it might be possible, that changing the type of a work package affects its available properties,as well as possible values for certain properties.As this makes the embedded schema very dynamic, it is not included as a static link.### Validation ErrorsLike a schema the validation errors build a dictionary where the key is a property name.Each value is an error object that indicates the error that occurred validating the corresponding property.There are only key value pairs for properties that failed validation, the element is empty if all validations succeeded.However note that even in the case of validation errors, the response you receive from the form endpoint will be an HTTP 200.That is because the main purpose of a form is helping the client to sort out validation errors.### Meta objectForm resources may have an additional `_meta` object that contains parameters to be sent together with the resource,but that do not belong to the resource itself. For example, parameters on if and how to send notifications for the actionperformed with the API request can be sent.Each individual endpoint will describe their meta properties, if available.

OpenProject Forms API is one of 62 APIs that OpenProject publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Forms. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 1 operation across 1 path, and defines 2 schemas. It is described by OpenAPI 3.1.2, at version 3.

Requests are made against 3 base URLs: https://qa.openproject-edge.com, https://qa.openproject-stage.com, https://community.openproject.org.

1 operations 1 paths 2 schemas 1 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.2
API Version
3
Base URL
https://community.openproject.org/api/v3
Authentication
HTTP Basic
Resource Areas
1

Authentication & Security 1

OpenProject Forms API declares 1 security scheme for authenticating requests. It accepts HTTP basic authentication (BasicAuth). By default, every request must be authenticated.

Paths & Operations 1

Across 1 path, the API surfaces 1 operation — 1 POST. Each is listed below with its method, path, parameters, and response codes.

Forms 1

This API provides forms as a concept to aid in editing or creating resources. The goal of forms is to: make writable properties of a resource discoverable show to which values a p…

POST
/api/v3/example/form
show or validate form
show_or_validate_form body → 200400403406409415

Schemas 2

The contract defines 2 schemas that model the data the API accepts and returns. The most detailed is ErrorResponse (4 properties). Each schema is shown below with its type and property counts.

Example_FormModel
object
ErrorResponse
object
4 properties 3 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

openproject-forms-api-openapi.yml Raw ↑

Other APIs OpenProject publishes across the network.

OpenProject Actions & Capabilities API
OpenProject Activities API
OpenProject Attachments API
OpenProject Budgets API
OpenProject Categories API
OpenProject Collections API
OpenProject Configuration API
OpenProject Custom actions API
OpenProject Custom Field Items API
OpenProject Custom Fields API
OpenProject Custom Options API
OpenProject Documents API
Where this information came from

This is an independent, third-party profile of OpenProject Forms API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.