OpenProject Collections API

Whenever a client calls a resource that can return more than one element, it will receive a collection of elements. However as collections can become quite large, the API will **not** simply return a JSON array, but a special collection object that will contain the actual elements in its embedded property `elements`. Collections *may* be paginated, this means that a single response from the server will not contain all elements of the collection, but only a subset. In this case the client can issue further requests to retrieve the remaining elements. There are two ways to access the result pages of a paginated collection: * offset based pagination * cursor based pagination The available ways of pagination depend on the collection queried. Some collections feature no pagination at all, meaning they will always return all elements. Others might only offer one of the two pagination methods or both of them. A collection also carries meta information like the total count of elements in the collection or - in case of a paginated collection - the amount of elements returned in this response and action links to retrieve the remaining elements. ## Local Properties | Property | Description | Type | Availability | |:--------:| --------------------------------------------------------------- | ------- | --------------------------- | | total | The total amount of elements available in the collection | Integer | always | | pageSize | Amount of elements that a response will hold | Integer | when paginated | | count | Actual amount of elements in this response | Integer | always | | offset | The page number that is requested from paginated collection | Integer | when offset based available | | groups | Summarized information about aggregation groups | Object | when grouping | | totalSums| Aggregations of supported values for elements of the collection | Object | when showing sums | ## Links | Link | Description | Availability | |:----------------:| ------------------------------------------------------------------------ | --------------------------- | | self | Link to the current page in the collection | always | | changeSize | Templated link to change the page size, might change relative position | when paginated | | jumpTo | Templated link to jump to a specified offset | when offset based available | | nextByOffset | Link to retrieve the following page of elements (offset based) | when offset based available | | previousByOffset | Link to retrieve the preceding page of elements (offset based) | when offset based available | | nextByCursor | Link to retrieve the elements following the current page (cursor based) | when cursor based available | | previousByCursor | Link to retrieve the elements preceding the current page (cursor based) | when cursor based available |

Operations 1

GET /api/v3/examples view aggregated result #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/openproject-collections-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

openproject-collections-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: You're looking at the current **stable** documentation of the OpenProject APIv3.
  title: OpenProject API V3 (Stable) Collections API
  version: '3'
servers:
- url: https://qa.openproject-edge.com
  description: Edge QA instance
- url: https://qa.openproject-stage.com
  description: Staging instance
- url: https://community.openproject.org
  description: Community instance
security:
- BasicAuth: []
tags:
- description: Whenever a client calls a resource that can return more than one element, it will receive a collection of elements.
  name: Collections
paths:
  /api/v3/examples:
    get:
      parameters:
      - 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](https://www.openproject.org/docs/api/endpoints/queries/) endpoint.'
        example: status
        in: query
        name: groupBy
        required: false
        schema:
          type: string
      - description: ''
        example: true
        in: query
        name: showSums
        required: false
        schema:
          default: false
          type: boolean
      responses:
        '200':
          description: OK
          headers: {}
      tags:
      - Collections
      description: ''
      operationId: view_aggregated_result
      summary: view aggregated result
components:
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic