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 Work Packages API

The work packages endpoints return collections or single entities of type `WorkPackage`. The following tables list the different propertiesof `WorkPackage` entities.## Actions| Link | Description | Condition ||:-------------------:|--------------------------------------------------------------------------| ---------------------------------------|| addAttachment | Attach a file to the WP | **Permission**: edit work package || addComment | Post comment to WP | **Permission**: add work package notes || addRelation | Adds a relation to this work package. | **Permission**: manage wp relations || addWatcher | Add any user to WP watchers | **Permission**: add watcher || customActions | Collection of predefined changes that can be applied to the work package | || logTime | Log time on the work package | **Permission**: Log time, Log own time || previewMarkup | Post markup (in markdown) here to receive an HTML-rendered response | || removeWatcher | Remove any user from WP watchers | **Permission**: delete watcher || unwatch | Remove current user from WP watchers | logged in; watching || update | Form endpoint that aids in preparing and performing edits on a WP | **Permission**: edit work package || updateImmediately | Directly perform edits on a work package | **Permission**: edit work package || watch | Add current user to WP watchers | logged in; not watching || delete | Delete this work package | **Permission**: delete work package |## Linked Properties| Link | Description | Type | Constraints | Supported operations | Condition || :--------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | ----------------------------------------- | --------------------- | ----------------------------------------- || self | This work package | WorkPackage | not null | READ | || schema | The schema of this work package | Schema | not null | READ | || ancestors | Array of all visible ancestors of the work package, with the root node being the first element | Collection | not null | READ | **Permission** view work packages || attachments | The files attached to this work package | Collection | not null | READ / WRITE | || author | The person that created the work package | User | not null | READ | || assignee | The person that is intended to work on the work package | User | | READ / WRITE | || availableWatchers | All users that can be added to the work package as watchers. | User | | READ | **Permission** add work package watchers || budget | The budget this work package is associated to | Budget | | READ / WRITE | **Permission** view cost objects || category | The category of the work package | Category | | READ / WRITE | || children | Array of all visible children of the work package | Collection | not null | READ | **Permission** view work packages || parent | Parent work package | WorkPackage | Needs to be visible (to the current user) | READ / WRITE | || priority | The priority of the work package | Priority | not null | READ / WRITE | || project | The project to which the work package belongs | Project | not null | READ / WRITE | || projectPhase | The project phase this work package is assigned to | ProjectPhase | | READ / WRITE | **Permission** view project phases. There has to be a project phase active in the project. || projectPhaseDefinition | The project phase definition for the project phase of this work package. | ProjectPhaseDefinition | | READ | **Permission** view project phases. The associated project phase has to be active. || responsible | The person that is responsible for the overall outcome | User | | READ / WRITE | || relations | Relations this work package is involved in | Relation | | READ | **Permission** view work packages || revisions | Revisions that are referencing the work package | Revision | | READ | **Permission** view changesets || status | The current status of the work package | Status | not null | READ / WRITE | || sprint | The sprint the work package is planned in | Sprint | | READ / WRITE | **Permission** view sprints || subject | The subject of the work package | String | not null; 1 0 | READ | || lockVersion | The version of the item as used for optimistic locking | Integer | | READ | || subject | Work package subject | String | not null; 1 <= length <= 255 | READ / WRITE | Is write protected if the type has automatic subject generation configured. || status | Name of the work package's status | String | not null | READ | || type | Name of the work package's type | String | not null | READ | || description | The work package description | Formattable | | READ / WRITE | || scheduleManually | Uses manual scheduling mode when true (default). Uses automatic scheduling mode when false. Can be automatic only when predecessors or children are present. | Boolean | | READ / WRITE | || startDate | Scheduled beginning of a work package | Date | Cannot be set for parent work packages unless it is scheduled manually; must be equal or greater than the earliest possible start date; Exists only on work packages of a non milestone type | READ / WRITE | || dueDate | Scheduled end of a work package | Date | Cannot be set for parent work packages unless it is scheduled manually; must be greater than or equal to the start date; Exists only on work packages of a non milestone type | READ / WRITE | || date | Date on which a milestone is achieved | Date | Exists only on work packages of a milestone type | READ / WRITE | || derivedStartDate | Similar to start date but is not set by a client but rather deduced by the work packages' descendants. If manual scheduleManually is active, the two dates can deviate. | Date | | READ | || derivedDueDate | Similar to due date but is not set by a client but rather deduced by the work packages' descendants. If manual scheduleManually is active, the two dates can deviate. | Date | | READ | || duration | The amount of time in hours the work package needs to be completed. | Duration | Not available for milestone type of work packages. | READ / WRITE | || estimatedTime | Corresponds to work. Time a work package likely needs to be completed. | Duration | | READ / WRITE | || derivedEstimatedTime | Corresponds to total work. Time a work package likely needs to be completed including itself and its descendants. | Duration | | READ | || remainingTime | Corresponds to remaining work. Remaining time a work package likely needs to be completed. | Duration | | READ / WRITE | || derivedRemainingTime | Corresponds to total remaining work. Remaining time a work package likely needs to be completed including itself and its descendants. | Duration | | READ | || ignoreNonWorkingDays | When scheduling, whether or not to ignore the non working days being defined. A work package with the flag set to true will be allowed to be scheduled to a non working day. | Boolean | Cannot be set for parent work packages unless it is scheduled manually | READ | || position | The rank this work package has in a sprint or product backlog | Integer | | READ | The Backlogs module needs to be active in the project and the work package's type configured to be used with backlogs. || spentTime | The time booked for this work package by users working on it | Duration | | READ | **Permission** view time entries || storyPoints | The story points the work package is estimated to take to complete | Integer | | READ / WRITE | The Backlogs module needs to be active in the project and the work package's type configured to be used with backlogs. || percentageDone | Corresponds to % complete. Amount of total completion for a work package. | Integer | 0 <= x <= 100; can be null | READ | || derivedPercentageDone | Corresponds to total % complete. Amount of total completion for a work package and its descendants. | Integer | 0 <= x <= 100; can be null | READ | || readonly | If true, the work package is in a readonly status so with the exception of the status, no other property can be altered. | Boolean | | READ | Enterprise edition only || createdAt | Time of creation | DateTime | | READ | || updatedAt | Time of the most recent change to the work package | DateTime | | READ | |Note that the properties listed here only cover the built-in properties of the OpenProject Core.Using plug-ins and custom fields a work package might contain various additional properties.A client can consult the schema information to which the work package links. The schema will contain information aboutall properties of the linking work package, including properties added by plug-ins and custom fields.Custom fields are identified by a key in the form of `customFieldN`, where `N` is an integer. Depending on their type,they can occur as properties or as linked properties. A client has to consult the schema to resolvethe human readable name of custom fields.Properties that cannot be set directly on parent work packages are inferred from their children instead:* `startDate` is the earliest start date from its children if automatic scheduling is activated.* `dueDate` is the latest finish date from its children if automatic scheduling is activated.* `derivedEstimatedTime` is the sum of estimated times from its children and the work package's own estimated time.* `derivedRemainingTime` is the sum of remaining times from its children and the work package's own remaining time* `derivedPercentageDone` is computed by the work package's derivedEstimatedTime and derivedRemainingTime.`startDate` can also not be earlier than a finish date of any predecessor.While attachments are returned as a link whose content is to be fetched separately, clients can choose toreplace the work package's attachments by providing an array of already uploaded [Attachment resources](https://www.openproject.org/docs/api/endpoints/attachments/)on [create](https://www.openproject.org/docs/api/endpoints/work-packages/#create-work-package)and [update](https://www.openproject.org/docs/api/endpoints/work-packages/#update-a-work-package). The attachments the work package has had prior to the request will be removed.

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

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

This API exposes 31 operations across 22 paths, and defines 33 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.

31 operations 22 paths 33 schemas 2 DELETE17 GET1 PATCH11 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 Work Packages API declares 1 security scheme for authenticating requests. It accepts HTTP basic authentication (BasicAuth). By default, every request must be authenticated.

Paths & Operations 31

Across 22 paths, the API surfaces 31 operations — 2 DELETE, 17 GET, 1 PATCH, 11 POST. Each is listed below with its method, path, parameters, and response codes.

Work Packages 31

The work packages endpoints return collections or single entities of type WorkPackage. The following tables list the different properties of WorkPackage entities. Actions | Link |…

GET
/api/v3/projects/{id}/work_packages
Get work packages of project
Get_Project_Work_Package_Collection 8 params → 200400403404
POST
/api/v3/projects/{id}/work_packages
Create work package in project
Create_Project_Work_Package 2 params body → 200400403404406415422
POST
/api/v3/projects/{id}/work_packages/form
Form for creating Work Packages in a Project
form_create_work_package_in_project 1 param body → 200415
GET
/api/v3/projects/{id}/available_assignees
Project Available assignees
Project_Available_assignees 1 param → 200403404
GET
/api/v3/work_packages
List work packages
list_work_packages 8 params → 200400403
POST
/api/v3/work_packages
Create Work Package
create_work_package 1 param body → 200400403404406415422
POST
/api/v3/work_packages/form
Form for creating a Work Package
form_create_work_package body → 200415
GET
/api/v3/work_packages/schemas
List Work Package Schemas
list_work_package_schemas 1 param → 200400403
GET
/api/v3/work_packages/schemas/{identifier}
View Work Package Schema
View_Work_Package_Schema 1 param → 200404
DELETE
/api/v3/work_packages/{id}
Delete Work Package
delete_work_package 1 param → 204403404406415
GET
/api/v3/work_packages/{id}
View Work Package
view_work_package 2 params → 200404
PATCH
/api/v3/work_packages/{id}
Update a Work Package
update_work_package 2 params body → 200400403404406409415422
GET
/api/v3/work_packages/{id}/activities
List work package activities
List_work_package_activities 1 param → 200404
POST
/api/v3/work_packages/{id}/activities
Comment work package
Comment_work_package 2 params body → 201400403404
GET
/api/v3/work_packages/{id}/available_assignees
Work Package Available assignees
Work_Package_Available_assignees 1 param → 200403404
GET
/api/v3/work_packages/{id}/available_projects
Available projects for work package
Available_projects_for_work_package 1 param → 200403404
GET
/api/v3/work_packages/{id}/available_relation_candidates
Available relation candidates
list_available_relation_candidates 6 params → 200404
GET
/api/v3/work_packages/{id}/available_watchers
Available watchers
Available_watchers 1 param → 200403404
POST
/api/v3/work_packages/{id}/file_links
Creates file links.
create_work_package_file_link 1 param body → 201400403404406415422
GET
/api/v3/work_packages/{id}/file_links
Gets all file links of a work package
list_work_package_file_links 2 params → 200403404
POST
/api/v3/work_packages/{id}/form
Form for editing a Work Package
form_edit_work_package 1 param body → 200404415
GET
/api/v3/work_packages/{id}/revisions
Revisions
Revisions 1 param → 200403404
GET
/api/v3/work_packages/{work_package_id}/reminders
List work package reminders
list_work_package_reminders 1 param → 200403404
POST
/api/v3/work_packages/{work_package_id}/reminders
Create a work package reminder
create_work_package_reminder 1 param body → 201404409
GET
/api/v3/work_packages/{id}/watchers
List watchers
List_watchers 1 param → 200403404
POST
/api/v3/work_packages/{id}/watchers
Add watcher
Add_watcher 1 param body → 200201400403404406415422
DELETE
/api/v3/work_packages/{id}/watchers/{user_id}
Remove watcher
Remove_watcher 2 params → 204403404406415
GET
/api/v3/workspaces/{id}/available_assignees
Workspace Available assignees
Workspace_Available_assignees 1 param → 200403404
GET
/api/v3/workspaces/{id}/work_packages
Get work packages of workspace
Get_Workspace_Work_Package_Collection 8 params → 200400403404
POST
/api/v3/workspaces/{id}/work_packages
Create work package in workspace
Create_Workspace_Work_Package 2 params body → 200400403404406415422
POST
/api/v3/workspaces/{id}/work_packages/form
Form for creating Work Packages in a Workspace
form_create_work_package_in_workspace 1 param body → 200415

Schemas 33

The contract defines 33 schemas that model the data the API accepts and returns. The most detailed are WorkPackageSchemaModel (39 properties), StorageReadModel (14 properties), WorkPackageWriteModel (10 properties), OAuthApplicationReadModel (10 properties). Each schema is shown below with its type and property counts.

CollectionModel
object
4 properties 4 required
Link
object
7 properties 1 required
FileLinkCollectionWriteModel
object
1 property 1 required
WorkPackageModel
FileLinkReadModel
object
7 properties
PrincipalModel
object
6 properties 4 required
WorkPackageWriteModel
object
This model is used for creating and updating work packages. It can also be used for validation against the work package form endpoints.
10 properties
SchemaPropertyModel
object
9 properties 5 required
CollectionLinks
object
1 property 1 required
Work_PackagesModel
StorageReadModel
object
14 properties 4 required
Work_Package_activitiesModel
object
Available_projects_for_work_packageModel
object
Available_AssigneesModel
PaginatedCollectionModel
WorkPackageSchemaModel
object
A schema for a work package. This schema defines the attributes of a work package. TODO: Incomplete, needs to be updated with the real behaviour of schemas (wh…
39 properties
WorkPackagePatchModel
Formattable
object
3 properties 1 required
ReminderModel
object
4 properties
OAuthApplicationReadModel
object
10 properties 6 required
FileLinkOriginDataModel
object
8 properties 2 required
OAuthClientCredentialsReadModel
object
7 properties 5 required
WatchersModel
FileLinkCollectionReadModel
ErrorResponse
object
4 properties 3 required
ActivityCommentWriteModel
object
2 properties
Available_WatchersModel
object
FileLinkWriteModel
object
2 properties 2 required
Available_relation_candidatesModel
object
WorkPackageFormModel
object
The work package creation form. This object is returned, whenever a work package form endpoint is called. It contains an allowed payload definition, the full s…
3 properties
UserModel
RevisionsModel
object
CustomFieldProperties
object

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

openproject-work-packages-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 Work Packages 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.