OpenProject · Capability

OpenProject API V3 (Stable) — Work Packages

OpenProject API V3 (Stable) — Work Packages. 31 operations. Lead operation: Project Available assignees. Self-contained Naftiko capability covering one Openproject business surface.

Run with Naftiko OpenprojectWork Packages

What You Can Do

GET
Projectavailableassignees — Project Available assignees
/v1/api/v3/projects/{id}/available-assignees
GET
Getprojectworkpackagecollection — Get work packages of project
/v1/api/v3/projects/{id}/work-packages
POST
Createprojectworkpackage — Create work package in project
/v1/api/v3/projects/{id}/work-packages
POST
Formcreateworkpackageinproject — Form for creating Work Packages in a Project
/v1/api/v3/projects/{id}/work-packages/form
GET
Listworkpackages — List work packages
/v1/api/v3/work-packages
POST
Createworkpackage — Create Work Package
/v1/api/v3/work-packages
POST
Formcreateworkpackage — Form for creating a Work Package
/v1/api/v3/work-packages/form
GET
Listworkpackageschemas — List Work Package Schemas
/v1/api/v3/work-packages/schemas
GET
Viewworkpackageschema — View Work Package Schema
/v1/api/v3/work-packages/schemas/{identifier}
DELETE
Deleteworkpackage — Delete Work Package
/v1/api/v3/work-packages/{id}
GET
Viewworkpackage — View Work Package
/v1/api/v3/work-packages/{id}
PATCH
Updateworkpackage — Update a Work Package
/v1/api/v3/work-packages/{id}
GET
Listworkpackageactivities — List work package activities
/v1/api/v3/work-packages/{id}/activities
POST
Commentworkpackage — Comment work package
/v1/api/v3/work-packages/{id}/activities
GET
Workpackageavailableassignees — Work Package Available assignees
/v1/api/v3/work-packages/{id}/available-assignees
GET
Availableprojectsforworkpackage — Available projects for work package
/v1/api/v3/work-packages/{id}/available-projects
GET
Listavailablerelationcandidates — Available relation candidates
/v1/api/v3/work-packages/{id}/available-relation-candidates
GET
Availablewatchers — Available watchers
/v1/api/v3/work-packages/{id}/available-watchers
POST
Createworkpackagefilelink — Creates file links.
/v1/api/v3/work-packages/{id}/file-links
GET
Listworkpackagefilelinks — Gets all file links of a work package
/v1/api/v3/work-packages/{id}/file-links
POST
Formeditworkpackage — Form for editing a Work Package
/v1/api/v3/work-packages/{id}/form
GET
Revisions — Revisions
/v1/api/v3/work-packages/{id}/revisions
GET
Listwatchers — List watchers
/v1/api/v3/work-packages/{id}/watchers
POST
Addwatcher — Add watcher
/v1/api/v3/work-packages/{id}/watchers
DELETE
Removewatcher — Remove watcher
/v1/api/v3/work-packages/{id}/watchers/{user-id}
GET
Listworkpackagereminders — List work package reminders
/v1/api/v3/work-packages/{work-package-id}/reminders
POST
Createworkpackagereminder — Create a work package reminder
/v1/api/v3/work-packages/{work-package-id}/reminders
GET
Workspaceavailableassignees — Workspace Available assignees
/v1/api/v3/workspaces/{id}/available-assignees
GET
Getworkspaceworkpackagecollection — Get work packages of workspace
/v1/api/v3/workspaces/{id}/work-packages
POST
Createworkspaceworkpackage — Create work package in workspace
/v1/api/v3/workspaces/{id}/work-packages
POST
Formcreateworkpackageinworkspace — Form for creating Work Packages in a Workspace
/v1/api/v3/workspaces/{id}/work-packages/form

MCP Tools

project-available-assignees

Project Available assignees

read-only idempotent
get-work-packages-project

Get work packages of project

read-only idempotent
create-work-package-project

Create work package in project

form-creating-work-packages-project

Form for creating Work Packages in a Project

list-work-packages

List work packages

read-only idempotent
create-work-package

Create Work Package

form-creating-work-package

Form for creating a Work Package

list-work-package-schemas

List Work Package Schemas

read-only idempotent
view-work-package-schema

View Work Package Schema

read-only idempotent
delete-work-package

Delete Work Package

idempotent
view-work-package

View Work Package

read-only idempotent
update-work-package

Update a Work Package

idempotent
list-work-package-activities

List work package activities

read-only idempotent
comment-work-package

Comment work package

work-package-available-assignees

Work Package Available assignees

read-only idempotent
available-projects-work-package

Available projects for work package

read-only idempotent
available-relation-candidates

Available relation candidates

read-only idempotent
available-watchers

Available watchers

read-only idempotent
creates-file-links

Creates file links.

gets-all-file-links-work

Gets all file links of a work package

read-only idempotent
form-editing-work-package

Form for editing a Work Package

revisions

Revisions

read-only idempotent
list-watchers

List watchers

read-only idempotent
add-watcher

Add watcher

remove-watcher

Remove watcher

idempotent
list-work-package-reminders

List work package reminders

read-only idempotent
create-work-package-reminder

Create a work package reminder

workspace-available-assignees

Workspace Available assignees

read-only idempotent
get-work-packages-workspace

Get work packages of workspace

read-only idempotent
create-work-package-workspace

Create work package in workspace

form-creating-work-packages-workspace

Form for creating Work Packages in a Workspace

Capability Spec

openproject-work-packages.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: OpenProject API V3 (Stable) — Work Packages
  description: 'OpenProject API V3 (Stable) — Work Packages. 31 operations. Lead operation: Project Available assignees. Self-contained
    Naftiko capability covering one Openproject business surface.'
  tags:
  - Openproject
  - Work Packages
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    OPENPROJECT_API_KEY: OPENPROJECT_API_KEY
capability:
  consumes:
  - type: http
    namespace: openproject-work-packages
    baseUri: https://qa.openproject-edge.com
    description: OpenProject API V3 (Stable) — Work Packages business capability. Self-contained, no shared references.
    resources:
    - name: api-v3-projects-id-available_assignees
      path: /api/v3/projects/{id}/available_assignees
      operations:
      - name: projectavailableassignees
        method: GET
        description: Project Available assignees
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Project id
          required: true
    - name: api-v3-projects-id-work_packages
      path: /api/v3/projects/{id}/work_packages
      operations:
      - name: getprojectworkpackagecollection
        method: GET
        description: Get work packages of project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Project id
          required: true
        - name: offset
          in: query
          type: integer
          description: Page number inside the requested collection.
        - name: pageSize
          in: query
          type: integer
          description: Number of elements to display per page.
        - name: filters
          in: query
          type: string
          description: JSON specifying filter conditions.
        - name: sortBy
          in: query
          type: string
          description: JSON specifying sort criteria.
        - name: groupBy
          in: query
          type: string
          description: The column to group by.
        - name: showSums
          in: query
          type: boolean
          description: Indicates whether properties should be summed up if they support it.
        - name: select
          in: query
          type: string
          description: Comma separated list of properties to include.
      - name: createprojectworkpackage
        method: POST
        description: Create work package in project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Project id
          required: true
        - name: notify
          in: query
          type: boolean
          description: Indicates whether change notifications (e.g. via E-Mail) should be sent.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-v3-projects-id-work_packages-form
      path: /api/v3/projects/{id}/work_packages/form
      operations:
      - name: formcreateworkpackageinproject
        method: POST
        description: Form for creating Work Packages in a Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the project in which the work package will be created
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-v3-work_packages
      path: /api/v3/work_packages
      operations:
      - name: listworkpackages
        method: GET
        description: List work packages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: offset
          in: query
          type: integer
          description: Page number inside the requested collection.
        - name: pageSize
          in: query
          type: integer
          description: Number of elements to display per page.
        - name: filters
          in: query
          type: string
          description: JSON specifying filter conditions.
        - name: sortBy
          in: query
          type: string
          description: JSON specifying sort criteria.
        - name: groupBy
          in: query
          type: string
          description: The column to group by.
        - name: showSums
          in: query
          type: boolean
          description: Indicates whether properties should be summed up if they support it.
        - name: select
          in: query
          type: string
          description: Comma separated list of properties to include.
        - name: timestamps
          in: query
          type: string
          description: In order to perform a [baseline comparison](/docs/api/baseline-comparisons), you may provide one or
            several timestamps
      - name: createworkpackage
        method: POST
        description: Create Work Package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: notify
          in: query
          type: boolean
          description: Indicates whether change notifications (e.g. via E-Mail) should be sent.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-v3-work_packages-form
      path: /api/v3/work_packages/form
      operations:
      - name: formcreateworkpackage
        method: POST
        description: Form for creating a Work Package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-v3-work_packages-schemas
      path: /api/v3/work_packages/schemas
      operations:
      - name: listworkpackageschemas
        method: GET
        description: List Work Package Schemas
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filters
          in: query
          type: string
          description: JSON specifying filter conditions.
          required: true
    - name: api-v3-work_packages-schemas-identifier
      path: /api/v3/work_packages/schemas/{identifier}
      operations:
      - name: viewworkpackageschema
        method: GET
        description: View Work Package Schema
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identifier
          in: path
          type: string
          description: Identifier of the schema
          required: true
    - name: api-v3-work_packages-id
      path: /api/v3/work_packages/{id}
      operations:
      - name: deleteworkpackage
        method: DELETE
        description: Delete Work Package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Work package id
          required: true
      - name: viewworkpackage
        method: GET
        description: View Work Package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Work package id
          required: true
        - name: timestamps
          in: query
          type: string
          description: In order to perform a [baseline comparison](/docs/api/baseline-comparisons) of the work-package attributes,
            you may
      - name: updateworkpackage
        method: PATCH
        description: Update a Work Package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Work package id
          required: true
        - name: notify
          in: query
          type: boolean
          description: Indicates whether change notifications should be sent. Note that this controls notifications for all
            users
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-v3-work_packages-id-activities
      path: /api/v3/work_packages/{id}/activities
      operations:
      - name: listworkpackageactivities
        method: GET
        description: List work package activities
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Work package id
          required: true
      - name: commentworkpackage
        method: POST
        description: Comment work package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Work package id
          required: true
        - name: notify
          in: query
          type: boolean
          description: Indicates whether change notifications (e.g. via E-Mail) should be sent.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-v3-work_packages-id-available_assignees
      path: /api/v3/work_packages/{id}/available_assignees
      operations:
      - name: workpackageavailableassignees
        method: GET
        description: Work Package Available assignees
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Work package id
          required: true
    - name: api-v3-work_packages-id-available_projects
      path: /api/v3/work_packages/{id}/available_projects
      operations:
      - name: availableprojectsforworkpackage
        method: GET
        description: Available projects for work package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: work package id
          required: true
    - name: api-v3-work_packages-id-available_relation_candidates
      path: /api/v3/work_packages/{id}/available_relation_candidates
      operations:
      - name: listavailablerelationcandidates
        method: GET
        description: Available relation candidates
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Project id
          required: true
        - name: pageSize
          in: query
          type: integer
          description: Maximum number of candidates to list (default 10)
        - name: filters
          in: query
          type: string
          description: JSON specifying filter conditions.
        - name: query
          in: query
          type: string
          description: Shortcut for filtering by ID or subject
        - name: type
          in: query
          type: string
          description: Type of relation to find candidates for (default "relates")
        - name: sortBy
          in: query
          type: string
          description: JSON specifying sort criteria.
    - name: api-v3-work_packages-id-available_watchers
      path: /api/v3/work_packages/{id}/available_watchers
      operations:
      - name: availablewatchers
        method: GET
        description: Available watchers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: work package id
          required: true
    - name: api-v3-work_packages-id-file_links
      path: /api/v3/work_packages/{id}/file_links
      operations:
      - name: createworkpackagefilelink
        method: POST
        description: Creates file links.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Work package id
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listworkpackagefilelinks
        method: GET
        description: Gets all file links of a work package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Work package id
          required: true
        - name: filters
          in: query
          type: string
          description: JSON specifying filter conditions.
    - name: api-v3-work_packages-id-form
      path: /api/v3/work_packages/{id}/form
      operations:
      - name: formeditworkpackage
        method: POST
        description: Form for editing a Work Package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the work package being modified
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-v3-work_packages-id-revisions
      path: /api/v3/work_packages/{id}/revisions
      operations:
      - name: revisions
        method: GET
        description: Revisions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Work package id
          required: true
    - name: api-v3-work_packages-id-watchers
      path: /api/v3/work_packages/{id}/watchers
      operations:
      - name: listwatchers
        method: GET
        description: List watchers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Work package id
          required: true
      - name: addwatcher
        method: POST
        description: Add watcher
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Work package id
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-v3-work_packages-id-watchers-user_id
      path: /api/v3/work_packages/{id}/watchers/{user_id}
      operations:
      - name: removewatcher
        method: DELETE
        description: Remove watcher
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Work package id
          required: true
        - name: user_id
          in: path
          type: integer
          description: User id
          required: true
    - name: api-v3-work_packages-work_package_id-reminders
      path: /api/v3/work_packages/{work_package_id}/reminders
      operations:
      - name: listworkpackagereminders
        method: GET
        description: List work package reminders
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: work_package_id
          in: path
          type: integer
          description: Work package id
          required: true
      - name: createworkpackagereminder
        method: POST
        description: Create a work package reminder
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: work_package_id
          in: path
          type: integer
          description: Work package id
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v3-workspaces-id-available_assignees
      path: /api/v3/workspaces/{id}/available_assignees
      operations:
      - name: workspaceavailableassignees
        method: GET
        description: Workspace Available assignees
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Workspace id
          required: true
    - name: api-v3-workspaces-id-work_packages
      path: /api/v3/workspaces/{id}/work_packages
      operations:
      - name: getworkspaceworkpackagecollection
        method: GET
        description: Get work packages of workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Workspace id
          required: true
        - name: offset
          in: query
          type: integer
          description: Page number inside the requested collection.
        - name: pageSize
          in: query
          type: integer
          description: Number of elements to display per page.
        - name: filters
          in: query
          type: string
          description: JSON specifying filter conditions.
        - name: sortBy
          in: query
          type: string
          description: JSON specifying sort criteria.
        - name: groupBy
          in: query
          type: string
          description: The column to group by.
        - name: showSums
          in: query
          type: boolean
          description: Indicates whether properties should be summed up if they support it.
        - name: select
          in: query
          type: string
          description: Comma separated list of properties to include.
      - name: createworkspaceworkpackage
        method: POST
        description: Create work package in workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Project id
          required: true
        - name: notify
          in: query
          type: boolean
          description: Indicates whether change notifications (e.g. via E-Mail) should be sent.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-v3-workspaces-id-work_packages-form
      path: /api/v3/workspaces/{id}/work_packages/form
      operations:
      - name: formcreateworkpackageinworkspace
        method: POST
        description: Form for creating Work Packages in a Workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the workspace in which the work package will be created
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: basic
      username: '{{env.OPENPROJECT_USER}}'
      password: '{{env.OPENPROJECT_PASS}}'
  exposes:
  - type: rest
    namespace: openproject-work-packages-rest
    port: 8080
    description: REST adapter for OpenProject API V3 (Stable) — Work Packages. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/api/v3/projects/{id}/available-assignees
      name: api-v3-projects-id-available-assignees
      description: REST surface for api-v3-projects-id-available_assignees.
      operations:
      - method: GET
        name: projectavailableassignees
        description: Project Available assignees
        call: openproject-work-packages.projectavailableassignees
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/projects/{id}/work-packages
      name: api-v3-projects-id-work-packages
      description: REST surface for api-v3-projects-id-work_packages.
      operations:
      - method: GET
        name: getprojectworkpackagecollection
        description: Get work packages of project
        call: openproject-work-packages.getprojectworkpackagecollection
        with:
          id: rest.id
          offset: rest.offset
          pageSize: rest.pageSize
          filters: rest.filters
          sortBy: rest.sortBy
          groupBy: rest.groupBy
          showSums: rest.showSums
          select: rest.select
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createprojectworkpackage
        description: Create work package in project
        call: openproject-work-packages.createprojectworkpackage
        with:
          id: rest.id
          notify: rest.notify
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/projects/{id}/work-packages/form
      name: api-v3-projects-id-work-packages-form
      description: REST surface for api-v3-projects-id-work_packages-form.
      operations:
      - method: POST
        name: formcreateworkpackageinproject
        description: Form for creating Work Packages in a Project
        call: openproject-work-packages.formcreateworkpackageinproject
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/work-packages
      name: api-v3-work-packages
      description: REST surface for api-v3-work_packages.
      operations:
      - method: GET
        name: listworkpackages
        description: List work packages
        call: openproject-work-packages.listworkpackages
        with:
          offset: rest.offset
          pageSize: rest.pageSize
          filters: rest.filters
          sortBy: rest.sortBy
          groupBy: rest.groupBy
          showSums: rest.showSums
          select: rest.select
          timestamps: rest.timestamps
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createworkpackage
        description: Create Work Package
        call: openproject-work-packages.createworkpackage
        with:
          notify: rest.notify
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/work-packages/form
      name: api-v3-work-packages-form
      description: REST surface for api-v3-work_packages-form.
      operations:
      - method: POST
        name: formcreateworkpackage
        description: Form for creating a Work Package
        call: openproject-work-packages.formcreateworkpackage
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/work-packages/schemas
      name: api-v3-work-packages-schemas
      description: REST surface for api-v3-work_packages-schemas.
      operations:
      - method: GET
        name: listworkpackageschemas
        description: List Work Package Schemas
        call: openproject-work-packages.listworkpackageschemas
        with:
          filters: rest.filters
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/work-packages/schemas/{identifier}
      name: api-v3-work-packages-schemas-identifier
      description: REST surface for api-v3-work_packages-schemas-identifier.
      operations:
      - method: GET
        name: viewworkpackageschema
        description: View Work Package Schema
        call: openproject-work-packages.viewworkpackageschema
        with:
          identifier: rest.identifier
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/work-packages/{id}
      name: api-v3-work-packages-id
      description: REST surface for api-v3-work_packages-id.
      operations:
      - method: DELETE
        name: deleteworkpackage
        description: Delete Work Package
        call: openproject-work-packages.deleteworkpackage
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: viewworkpackage
        description: View Work Package
        call: openproject-work-packages.viewworkpackage
        with:
          id: rest.id
          timestamps: rest.timestamps
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updateworkpackage
        description: Update a Work Package
        call: openproject-work-packages.updateworkpackage
        with:
          id: rest.id
          notify: rest.notify
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/work-packages/{id}/activities
      name: api-v3-work-packages-id-activities
      description: REST surface for api-v3-work_packages-id-activities.
      operations:
      - method: GET
        name: listworkpackageactivities
        description: List work package activities
        call: openproject-work-packages.listworkpackageactivities
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: commentworkpackage
        description: Comment work package
        call: openproject-work-packages.commentworkpackage
        with:
          id: rest.id
          notify: rest.notify
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/work-packages/{id}/available-assignees
      name: api-v3-work-packages-id-available-assignees
      description: REST surface for api-v3-work_packages-id-available_assignees.
      operations:
      - method: GET
        name: workpackageavailableassignees
        description: Work Package Available assignees
        call: openproject-work-packages.workpackageavailableassignees
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/work-packages/{id}/available-projects
      name: api-v3-work-packages-id-available-projects
      description: REST surface for api-v3-work_packages-id-available_projects.
      operations:
      - method: GET
        name: availableprojectsforworkpackage
        description: Available projects for work package
        call: openproject-work-packages.availableprojectsforworkpackage
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/work-packages/{id}/available-relation-candidates
      name: api-v3-work-packages-id-available-relation-candidates
      description: REST surface for api-v3-work_packages-id-available_relation_candidates.
      operations:
      - method: GET
        name: listavailablerelationcandidates
        description: Available relation candidates
        call: openproject-work-packages.listavailablerelationcandidates
        with:
          id: rest.id
          pageSize: rest.pageSize
          filters: rest.filters
          query: rest.query
          type: rest.type
          sortBy: rest.sortBy
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/work-packages/{id}/available-watchers
      name: api-v3-work-packages-id-available-watchers
      description: REST surface for api-v3-work_packages-id-available_watchers.
      operations:
      - method: GET
        name: availablewatchers
        description: Available watchers
        call: openproject-work-packages.availablewatchers
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/work-packages/{id}/file-links
      name: api-v3-work-packages-id-file-links
      description: REST surface for api-v3-work_packages-id-file_links.
      operations:
      - method: POST
        name: createworkpackagefilelink
        description: Creates file links.
        call: openproject-work-packages.createworkpackagefilelink
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listworkpackagefilelinks
        description: Gets all file links of a work package
        call: openproject-work-packages.listworkpackagefilelinks
        with:
          id: rest.id
          filters: rest.filters
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/work-packages/{id}/form
      name: api-v3-work-packages-id-form
      description: REST surface for api-v3-work_packages-id-form.
      operations:
      - method: POST
        name: formeditworkpackage
        description: Form for editing a Work Package
        call: openproject-work-packages.formeditworkpackage
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/work-packages/{id}/revisions
      name: api-v3-work-packages-id-revisions
      description: REST surface for api-v3-work_packages-id-revisions.
      operations:
      - method: GET
        name: revisions
        description: Revisions
        call: openproject-work-packages.revisions
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/work-packages/{id}/watchers
      name: api-v3-work-packages-id-watchers
      description: REST surface for api-v3-work_packages-id-watchers.
      operations:
      - method: GET
        name: listwatchers
        description: List watchers
        call: openproject-work-packages.listwatchers
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: addwatcher
        description: Add watcher
        call: openproject-work-packages.addwatcher
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v3/work-packages/{id}/watchers/{user-id}
      name: api-v3-work-packages-id-watchers-user-id
      description: REST surface for api-v3-work_packages-id-watchers-user_id.
      operat

# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openproject/refs/heads/main/capabilities/openproject-work-packages.yaml