OpenProject · Capability

OpenProject API V3 (Stable)

You're looking at the current **stable** documentation of the OpenProject APIv3. If you're interested in the current development version, please go to [github.com/opf](https://github.com/opf/openproject/tree/dev/docs/api/apiv3). ## Introduction The documentation for the APIv3 is written according to the [OpenAPI 3.1 Specification](https://swagger.io/specification/). You can either view the static version of this documentation on the [website](https://www.openproject.org/docs/api/introduction/) or the interactive version, rendered with [OpenAPI Explorer](https://github.com/Rhosys/openapi-explor

Run with Naftiko OpenprojectAPI

What You Can Do

GET
View root — View root
/api/v3
GET
List actions — List actions
/api/v3/actions
GET
View action — View action
/api/v3/actions/{id}
GET
Get activity — Get an activity
/api/v3/activities/{id}
PATCH
Update activity — Update activity
/api/v3/activities/{id}
GET
List activity attachments — List attachments by activity
/api/v3/activities/{id}/attachments
POST
Create activity attachment — Add attachment to activity
/api/v3/activities/{id}/attachments
GET
List activity emoji reactions — List emoji reactions by activity
/api/v3/activities/{id}/emoji_reactions
PATCH
Toggle activity emoji reaction — Toggle emoji reaction for an activity
/api/v3/activities/{id}/emoji_reactions
POST
Create attachment — Create Attachment
/api/v3/attachments
DELETE
Delete attachment — Delete attachment
/api/v3/attachments/{id}
GET
View attachment — View attachment
/api/v3/attachments/{id}
GET
View budget — view Budget
/api/v3/budgets/{id}
GET
List capabilities — List capabilities
/api/v3/capabilities
GET
View global context — View global context
/api/v3/capabilities/context/global
GET
View capabilities — View capabilities
/api/v3/capabilities/{id}
GET
View category — View Category
/api/v3/categories/{id}
GET
View configuration — View configuration
/api/v3/configuration
GET
Get custom action — Get a custom action
/api/v3/custom_actions/{id}
POST
Execute custom action — Execute custom action
/api/v3/custom_actions/{id}/execute
GET
Get custom field items — Get the custom field hierarchy items
/api/v3/custom_fields/{id}/items
GET
Get custom field item — Get a custom field hierarchy item
/api/v3/custom_field_items/{id}
GET
Get custom field item branch — Get a custom field hierarchy item's branch
/api/v3/custom_field_items/{id}/branch
GET
View custom option — View Custom Option
/api/v3/custom_options/{id}
GET
List non working days — Lists all non working days
/api/v3/days/non_working
POST
Create non working day — Creates a non-working day (NOT IMPLEMENTED)
/api/v3/days/non_working
GET
View non working day — View a non-working day
/api/v3/days/non_working/{date}
PATCH
Update non working day — Update a non-working day attributes (NOT IMPLEMENTED)
/api/v3/days/non_working/{date}
DELETE
Delete non working day — Removes a non-working day (NOT IMPLEMENTED)
/api/v3/days/non_working/{date}
GET
List week days — Lists week days
/api/v3/days/week
PATCH
Update week days — Update week days (NOT IMPLEMENTED)
/api/v3/days/week
GET
View week day — View a week day
/api/v3/days/week/{day}
PATCH
Update week day — Update a week day attributes (NOT IMPLEMENTED)
/api/v3/days/week/{day}
GET
List days — Lists days
/api/v3/days
GET
View day — View day
/api/v3/days/{date}
GET
List documents — List Documents
/api/v3/documents
GET
View document — View document
/api/v3/documents/{id}
PATCH
Update document — Update document
/api/v3/documents/{id}
POST
Show or validate form — show or validate form
/api/v3/example/form
GET
View the schema — view the schema
/api/v3/example/schema
GET
View aggregated result — view aggregated result
/api/v3/examples
GET
View file link — Gets a file link.
/api/v3/file_links/{id}
DELETE
Delete file link — Removes a file link.
/api/v3/file_links/{id}
GET
Open file link — Creates an opening uri of the linked file.
/api/v3/file_links/{id}/open
GET
Download file link — Creates a download uri of the linked file.
/api/v3/file_links/{id}/download
GET
List grids — List grids
/api/v3/grids
POST
Create grid — Create a grid
/api/v3/grids
POST
Grid create form — Grid Create Form
/api/v3/grids/form
GET
Get grid — Get a grid
/api/v3/grids/{id}
PATCH
Update grid — Update a grid
/api/v3/grids/{id}
POST
Grid update form — Grid Update Form
/api/v3/grids/{id}/form
GET
List groups — List groups
/api/v3/groups
POST
Create group — Create group
/api/v3/groups
DELETE
Delete group — Delete group
/api/v3/groups/{id}
GET
Get group — Get group
/api/v3/groups/{id}
PATCH
Update group — Update group
/api/v3/groups/{id}
GET
List help texts — List help texts
/api/v3/help_texts
GET
Get help text — Get help text
/api/v3/help_texts/{id}
GET
List meetings — List all visible meetings
/api/v3/meetings
GET
Get meeting — Get a meeting
/api/v3/meetings/{id}

MCP Tools

view-root

View root

read-only idempotent
list-actions

List actions

read-only idempotent
view-action

View action

read-only idempotent
get-activity

Get an activity

read-only idempotent
update-activity

Update activity

list-activity-attachments

List attachments by activity

read-only idempotent
create-activity-attachment

Add attachment to activity

list-activity-emoji-reactions

List emoji reactions by activity

read-only idempotent
toggle-activity-emoji-reaction

Toggle emoji reaction for an activity

create-attachment

Create Attachment

delete-attachment

Delete attachment

idempotent
view-attachment

View attachment

read-only idempotent
view-budget

view Budget

read-only idempotent
list-capabilities

List capabilities

read-only idempotent
view-global-context

View global context

read-only idempotent
view-capabilities

View capabilities

read-only idempotent
view-category

View Category

read-only idempotent
view-configuration

View configuration

read-only idempotent
get-custom-action

Get a custom action

read-only idempotent
execute-custom-action

Execute custom action

get-custom-field-items

Get the custom field hierarchy items

read-only idempotent
get-custom-field-item

Get a custom field hierarchy item

read-only idempotent
get-custom-field-item-branch

Get a custom field hierarchy item's branch

read-only idempotent
view-custom-option

View Custom Option

read-only idempotent
list-non-working-days

Lists all non working days

read-only idempotent
create-non-working-day

Creates a non-working day (NOT IMPLEMENTED)

view-non-working-day

View a non-working day

read-only idempotent
update-non-working-day

Update a non-working day attributes (NOT IMPLEMENTED)

delete-non-working-day

Removes a non-working day (NOT IMPLEMENTED)

idempotent
list-week-days

Lists week days

read-only idempotent
update-week-days

Update week days (NOT IMPLEMENTED)

view-week-day

View a week day

read-only idempotent
update-week-day

Update a week day attributes (NOT IMPLEMENTED)

list-days

Lists days

read-only idempotent
view-day

View day

read-only idempotent
list-documents

List Documents

read-only idempotent
view-document

View document

read-only idempotent
update-document

Update document

show-or-validate-form

show or validate form

view-the-schema

view the schema

read-only idempotent
view-aggregated-result

view aggregated result

read-only idempotent
view-file-link

Gets a file link.

read-only idempotent
delete-file-link

Removes a file link.

idempotent
open-file-link

Creates an opening uri of the linked file.

read-only idempotent
download-file-link

Creates a download uri of the linked file.

read-only idempotent
list-grids

List grids

read-only idempotent
create-grid

Create a grid

grid-create-form

Grid Create Form

get-grid

Get a grid

read-only idempotent
update-grid

Update a grid

grid-update-form

Grid Update Form

list-groups

List groups

read-only idempotent
create-group

Create group

delete-group

Delete group

idempotent
get-group

Get group

read-only idempotent
update-group

Update group

list-help-texts

List help texts

read-only idempotent
get-help-text

Get help text

read-only idempotent
list-meetings

List all visible meetings

read-only idempotent
get-meeting

Get a meeting

read-only idempotent

Capability Spec

openproject-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: OpenProject API V3 (Stable)
  description: 'You''re looking at the current **stable** documentation of the OpenProject APIv3. If you''re interested in
    the current development version, please go to [github.com/opf](https://github.com/opf/openproject/tree/dev/docs/api/apiv3).
    ## Introduction The documentation for the APIv3 is written according to the [OpenAPI 3.1 Specification](https://swagger.io/specification/).
    You can either view the static version of this documentation on the [website](https://www.openproject.org/docs/api/introduction/)
    or the interactive version, rendered with [OpenAPI Explorer](https://github.com/Rhosys/openapi-explor'
  tags:
  - Openproject
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: openproject
    baseUri: https://qa.openproject-edge.com
    description: OpenProject API V3 (Stable) HTTP API.
    authentication:
      type: basic
      username: '{{OPENPROJECT_USERNAME}}'
      password: '{{OPENPROJECT_PASSWORD}}'
    resources:
    - name: api-v3
      path: /api/v3
      operations:
      - name: view-root
        method: GET
        description: View root
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-actions
      path: /api/v3/actions
      operations:
      - name: list-actions
        method: GET
        description: List actions
        inputParameters:
        - name: filters
          in: query
          type: string
          description: JSON specifying filter conditions. Accepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/)
            endpoint. Curre
        - name: sortBy
          in: query
          type: string
          description: JSON specifying sort criteria. Accepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/)
            endpoint. Currently
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-actions-id
      path: /api/v3/actions/{id}
      operations:
      - name: view-action
        method: GET
        description: View action
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
          description: action id which is the name of the action
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-activities-id
      path: /api/v3/activities/{id}
      operations:
      - name: get-activity
        method: GET
        description: Get an activity
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Activity id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: update-activity
        method: PATCH
        description: Update activity
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Activity id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-activities-id-attachments
      path: /api/v3/activities/{id}/attachments
      operations:
      - name: list-activity-attachments
        method: GET
        description: List attachments by activity
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the activity whose attachments will be listed
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: create-activity-attachment
        method: POST
        description: Add attachment to activity
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the activity to receive the attachment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-activities-id-emoji-reactions
      path: /api/v3/activities/{id}/emoji_reactions
      operations:
      - name: list-activity-emoji-reactions
        method: GET
        description: List emoji reactions by activity
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the activity whose emoji reactions will be listed
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: toggle-activity-emoji-reaction
        method: PATCH
        description: Toggle emoji reaction for an activity
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the activity to toggle emoji reaction for
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-attachments
      path: /api/v3/attachments
      operations:
      - name: create-attachment
        method: POST
        description: Create Attachment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-attachments-id
      path: /api/v3/attachments/{id}
      operations:
      - name: delete-attachment
        method: DELETE
        description: Delete attachment
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Attachment id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: view-attachment
        method: GET
        description: View attachment
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Attachment id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-budgets-id
      path: /api/v3/budgets/{id}
      operations:
      - name: view-budget
        method: GET
        description: view Budget
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Budget id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-capabilities
      path: /api/v3/capabilities
      operations:
      - name: list-capabilities
        method: GET
        description: List capabilities
        inputParameters:
        - name: filters
          in: query
          type: string
          description: JSON specifying filter conditions. Accepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/)
            endpoint. + act
        - name: sortBy
          in: query
          type: string
          description: JSON specifying sort criteria. Accepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/)
            endpoint. Currently
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-capabilities-context-global
      path: /api/v3/capabilities/context/global
      operations:
      - name: view-global-context
        method: GET
        description: View global context
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-capabilities-id
      path: /api/v3/capabilities/{id}
      operations:
      - name: view-capabilities
        method: GET
        description: View capabilities
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
          description: capability id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-categories-id
      path: /api/v3/categories/{id}
      operations:
      - name: view-category
        method: GET
        description: View Category
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Category id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-configuration
      path: /api/v3/configuration
      operations:
      - name: view-configuration
        method: GET
        description: View configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-custom-actions-id
      path: /api/v3/custom_actions/{id}
      operations:
      - name: get-custom-action
        method: GET
        description: Get a custom action
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: The id of the custom action to fetch
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-custom-actions-id-execute
      path: /api/v3/custom_actions/{id}/execute
      operations:
      - name: execute-custom-action
        method: POST
        description: Execute custom action
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: The id of the custom action to execute
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-custom-fields-id-items
      path: /api/v3/custom_fields/{id}/items
      operations:
      - name: get-custom-field-items
        method: GET
        description: Get the custom field hierarchy items
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: The custom field's unique identifier
        - name: parent
          in: query
          type: integer
          description: The identifier of the parent hierarchy item
        - name: depth
          in: query
          type: integer
          description: The level of hierarchy depth
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-custom-field-items-id
      path: /api/v3/custom_field_items/{id}
      operations:
      - name: get-custom-field-item
        method: GET
        description: Get a custom field hierarchy item
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: The custom field item's unique identifier
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-custom-field-items-id-branch
      path: /api/v3/custom_field_items/{id}/branch
      operations:
      - name: get-custom-field-item-branch
        method: GET
        description: Get a custom field hierarchy item's branch
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: The custom field item's unique identifier
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-custom-options-id
      path: /api/v3/custom_options/{id}
      operations:
      - name: view-custom-option
        method: GET
        description: View Custom Option
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: The custom option's identifier
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-days-non-working
      path: /api/v3/days/non_working
      operations:
      - name: list-non-working-days
        method: GET
        description: Lists all non working days
        inputParameters:
        - name: filters
          in: query
          type: string
          description: JSON specifying filter conditions. Accepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/)
            endpoint. Curre
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: create-non-working-day
        method: POST
        description: Creates a non-working day (NOT IMPLEMENTED)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-days-non-working-date
      path: /api/v3/days/non_working/{date}
      operations:
      - name: view-non-working-day
        method: GET
        description: View a non-working day
        inputParameters:
        - name: date
          in: path
          type: string
          required: true
          description: The date of the non-working day to view in ISO 8601 format.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: update-non-working-day
        method: PATCH
        description: Update a non-working day attributes (NOT IMPLEMENTED)
        inputParameters:
        - name: date
          in: path
          type: string
          required: true
          description: The date of the non-working day to view in ISO 8601 format.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: delete-non-working-day
        method: DELETE
        description: Removes a non-working day (NOT IMPLEMENTED)
        inputParameters:
        - name: date
          in: path
          type: string
          required: true
          description: The date of the non-working day to view in ISO 8601 format.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-days-week
      path: /api/v3/days/week
      operations:
      - name: list-week-days
        method: GET
        description: Lists week days
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: update-week-days
        method: PATCH
        description: Update week days (NOT IMPLEMENTED)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-days-week-day
      path: /api/v3/days/week/{day}
      operations:
      - name: view-week-day
        method: GET
        description: View a week day
        inputParameters:
        - name: day
          in: path
          type: integer
          required: true
          description: The week day from 1 to 7. 1 is Monday. 7 is Sunday.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: update-week-day
        method: PATCH
        description: Update a week day attributes (NOT IMPLEMENTED)
        inputParameters:
        - name: day
          in: path
          type: integer
          required: true
          description: The week day from 1 to 7. 1 is Monday. 7 is Sunday.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-days
      path: /api/v3/days
      operations:
      - name: list-days
        method: GET
        description: Lists days
        inputParameters:
        - name: filters
          in: query
          type: string
          description: JSON specifying filter conditions. Accepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/)
            endpoint. Curre
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-days-date
      path: /api/v3/days/{date}
      operations:
      - name: view-day
        method: GET
        description: View day
        inputParameters:
        - name: date
          in: path
          type: string
          required: true
          description: The date of the non-working day to view in ISO 8601 format.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-documents
      path: /api/v3/documents
      operations:
      - name: list-documents
        method: GET
        description: List Documents
        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: sortBy
          in: query
          type: string
          description: JSON specifying sort criteria. Accepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/)
            endpoint. Currently
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-documents-id
      path: /api/v3/documents/{id}
      operations:
      - name: view-document
        method: GET
        description: View document
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Document id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: update-document
        method: PATCH
        description: Update document
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Document id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-example-form
      path: /api/v3/example/form
      operations:
      - name: show-or-validate-form
        method: POST
        description: show or validate form
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-example-schema
      path: /api/v3/example/schema
      operations:
      - name: view-the-schema
        method: GET
        description: view the schema
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-examples
      path: /api/v3/examples
      operations:
      - name: view-aggregated-result
        method: GET
        description: view aggregated result
        inputParameters:
        - name: groupBy
          in: query
          type: string
          description: 'The column to group by. Note: Aggregation is as of now only supported by the work package collection.
            You can pass any column name as returned by the [queries]('
        - name: showSums
          in: query
          type: boolean
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-file-links-id
      path: /api/v3/file_links/{id}
      operations:
      - name: view-file-link
        method: GET
        description: Gets a file link.
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: File link id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: delete-file-link
        method: DELETE
        description: Removes a file link.
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: File link id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-file-links-id-open
      path: /api/v3/file_links/{id}/open
      operations:
      - name: open-file-link
        method: GET
        description: Creates an opening uri of the linked file.
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: File link id
        - name: location
          in: query
          type: boolean
          description: Boolean flag indicating, if the file should be opened directly or rather the directory location.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-file-links-id-download
      path: /api/v3/file_links/{id}/download
      operations:
      - name: download-file-link
        method: GET
        description: Creates a download uri of the linked file.
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: File link id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-grids
      path: /api/v3/grids
      operations:
      - name: list-grids
        method: GET
        description: List grids
        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. Accepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/)
            endpoint. Curre
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: create-grid
        method: POST
        description: Create a grid
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-grids-form
      path: /api/v3/grids/form
      operations:
      - name: grid-create-form
        method: POST
        description: Grid Create Form
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-grids-id
      path: /api/v3/grids/{id}
      operations:
      - name: get-grid
        method: GET
        description: Get a grid
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Grid id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: update-grid
        method: PATCH
        description: Update a grid
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Grid id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-grids-id-form
      path: /api/v3/grids/{id}/form
      operations:
      - name: grid-update-form
        method: POST
        description: Grid Update Form
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: ID of the grid being modified
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-groups
      path: /api/v3/groups
      operations:
      - name: list-groups
        method: GET
        description: List groups
        inputParameters:
        - name: sortBy
          in: query
          type: string
          description: JSON specifying sort criteria. Accepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/)
            endpoint. Currently
        - name: select
          in: query
          type: string
          description: Comma separated list of properties to include.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: create-group
        method: POST
        description: Create group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-groups-id
      path: /api/v3/groups/{id}
      operations:
      - name: delete-group
        method: DELETE
        description: Delete group
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Group id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: get-group
        method: GET
        description: Get group
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Group id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: update-group
        method: PATCH
        description: Update group
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Group id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-help-texts
      path: /api/v3/help_texts
      operations:
      - name: list-help-texts
        method: GET
        description: List help texts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-help-texts-id
      path: /api/v3/help_texts/{id}
      operations:
      - name: get-help-text
        method: GET
        description: Get help text
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Help text id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-meetings
      path: /api/v3/meetings
      operations:
      - name: list-meetings
        method: GET
        description: List all visible meetings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v3-meetings-id
      path: /api/v3/meetings/{id}
      operations:
      - name: get-meeting
        method: GET
        description: Get a meeting
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Meeting identifier
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: openproject-rest
    description: REST adapter for OpenProject API V3 (Stable).
    resources:
    - path: /api/v3
      name: view-root
      operations:
      - method: GET
        name: view-root
        description: View root
        call: openproject.view-root
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/v3/actions
      name: list-actions
      operations:
      - method: GET
        name: list-actions
        description: List actions
        call: openproject.list-actions
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/v3/actions/{id}
      name: view-action
      operations:
      - method: GET
        name: view-action
        description: View action
        call: openproject.view-action
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/v3/activities/{id}
      name: get-activity
      operations:
      - method: GET
        name: get-activity
        description: Get an activity
        call: openproject.get-activity
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/v3/activities/{id}
      name: update-activity
      operations:
      - method: PATCH
        name: update-activity
        description: Update activity
        call: openproject.update-activity
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/v3/activities/{id}/attachments
      name: list-activity-attachments
      operations:
      - method: GET
        name: list-activity-attachments
        description: List attachments by activity
        call: openproject.list-activity-attachments
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/v3/activities/{id}/attachments
      name: create-activity-attachment
      operations:
      - method: POST
        name: create-activity-attachment
        description: Add attachment to activity
        call: openproject.create-activity-attachment
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/v3/activities/{id}/emoji_reactions
      name: list-activity-emoji-reactions
      operations:
      - method: GET
        name: list-activity-emoji-reactions
        description: List emoji reactions by activity
        call: openproject.list-activity-emoji-reactions
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/v3/activities/{id}/emoji_reactions
      name: toggle-activity-emoji-reaction
      operations:
      - method: PATCH
        name: toggle-activity-emoji-reaction
        description: Toggle emoji reaction for an activity
        call: openproject.toggle-activity-emoji-reaction
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/v3/attachments
      name: create-attachment
      operations:
      - method: POST
        name: create-attachment
        description: Create Attachment
        call: openproject.create-attachment
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/v3/attachments/{id}
      name: delete-attachment
      operations:
      - method: DELETE
        name: delete-attachment
        description: Delete attachment
        call: openproject.delete-attachment
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/v3/attachments/{id}
      name: view-attachment
      operations:
      - method: GET
        name: view-attachment
        description: View attachment
        call: openproject.view-attachment
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/v3/budgets/{id}
      name: view-budget
      operations:
      - method: GET
        name: view-budget
        description: view Budget
        call: openproject.view-budget
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/v3/capabilities
      name: list-capabilities
      operations:
      - method: GET
        name: list-capabilities
        description: List capabilities
        call: openproject.list-capabilities
        outputParameters:
        - type: object
   

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