OpenProject
OpenProject is an open source project management platform offering work package tracking, Gantt charts, agile boards, time tracking, BIM, and enterprise project portfolio management. The OpenProject APIv3 is a hypermedia (HAL+JSON) REST API that exposes work packages, projects, users, attachments, custom fields, and many other resources.
1 APIs
0 Features
AgileGanttOpen SourceProject ManagementTime TrackingWork Packages
APIs
OpenProject API v3
The OpenProject API v3 is a hypermedia REST API (HATEOAS, HAL+JSON) for managing work packages, projects, users, time entries, attachments, custom fields, and other OpenProject ...
Collections
Pricing Plans
Rate Limits
FinOps
Openproject Finops
FINOPSResources
🔗
VulnerabilityDisclosure
VulnerabilityDisclosure
🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
API
API
👥
GitHub
GitHub
💰
Pricing
Pricing
🔗
SelfHosting
SelfHosting
🔗
Login
Login
💬
Support
Support
📰
Blog
Blog
Sources
opencollection: 1.0.0
info:
name: OpenProject API V3 (Stable)
version: '3'
request:
auth:
type: basic
username: '{{username}}'
password: '{{password}}'
items:
- info:
name: Root
type: folder
items:
- info:
name: View root
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3
docs: Returns the root resource, containing basic information about the server instance and a collection of useful links.
- info:
name: Actions & Capabilities
type: folder
items:
- info:
name: List actions
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/actions
params:
- name: filters
value: '[{ "id": { "operator": "=", "values": ["memberships/create"] }" }]'
type: query
description: 'JSON specifying filter conditions.
Accepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/) endpoint.
Currently supported filters are:
+ id: Returns only the action having the id or all actions except those having the id(s).'
- name: sortBy
value: '[["id", "asc"]]'
type: query
description: 'JSON specifying sort criteria.
Accepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/) endpoint.
Currently supported sorts are:
+ *No sort supported yet*'
docs: 'Returns a collection of actions. The client can choose to filter the actions similar to how work packages are filtered.
In addition to the provided filters, the server will reduce the result set to only contain actions, for which the requesting
client
has sufficient permissions.'
- info:
name: View action
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/actions/:id
params:
- name: id
value: work_packages/create
type: path
description: action id which is the name of the action
docs: Returns an individual action.
- info:
name: List capabilities
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/capabilities
params:
- name: filters
value: '[{ "principal": { "operator": "=", "values": ["1"] }" }]'
type: query
description: "JSON specifying filter conditions.\nAccepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/)\
\ endpoint.\n\n+ action: Get all capabilities of a certain action\n\n+ principal: Get all capabilities of a principal\n\
\n+ context: Get all capabilities within a context. Note that for a workspace context the client needs to\n provide\
\ `w{id}`, e.g. `w5` and for the global context a `g`.\n\n + **Deprecation**: The now deprecated context `p` for\
\ project still works, but must eventually be replaced\n with the `w` for the workspace context."
- name: sortBy
value: '[["id", "asc"]]'
type: query
description: 'JSON specifying sort criteria.
Accepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/) endpoint.
Currently supported sorts are:
+ id: Sort by the capabilities id'
docs: Returns a collection of actions assigned to a principal in a context. The client can choose to filter the actions
similar to how work packages are filtered. In addition to the provided filters, the server will reduce the result set
to only contain actions, for which the requesting client has sufficient permissions
- info:
name: View global context
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/capabilities/context/global
docs: Returns the global capability context. This context is necessary to consistently link to a context even if the context
is not a project.
- info:
name: View capabilities
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/capabilities/:id
params:
- name: id
value: work_packages/create/p123-567
type: path
description: capability id
docs: View capabilities
- info:
name: Activities
type: folder
items:
- info:
name: Get an activity
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/activities/:id
params:
- name: id
value: '1'
type: path
description: Activity id
docs: Returns the requested activity resource identified by its unique id.
- info:
name: Update activity
type: http
http:
method: PATCH
url: https://qa.openproject-edge.com/api/v3/activities/:id
params:
- name: id
value: '1'
type: path
description: Activity id
body:
type: json
data: '{}'
docs: Updates an activity's comment and, on success, returns the updated activity.
- info:
name: List attachments by activity
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/activities/:id/attachments
params:
- name: id
value: '1'
type: path
description: ID of the activity whose attachments will be listed
docs: List all attachments of a single activity.
- info:
name: Add attachment to activity
type: http
http:
method: POST
url: https://qa.openproject-edge.com/api/v3/activities/:id/attachments
params:
- name: id
value: '1'
type: path
description: ID of the activity to receive the attachment
body:
type: multipart-form
data: []
docs: Adds an attachment to the specified activity.
- info:
name: List emoji reactions by activity
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/activities/:id/emoji_reactions
params:
- name: id
value: '1'
type: path
description: ID of the activity whose emoji reactions will be listed
docs: List all emoji reactions of a single activity.
- info:
name: Toggle emoji reaction for an activity
type: http
http:
method: PATCH
url: https://qa.openproject-edge.com/api/v3/activities/:id/emoji_reactions
params:
- name: id
value: '1'
type: path
description: ID of the activity to toggle emoji reaction for
body:
type: json
data: '{}'
docs: 'Toggle an emoji reaction for a given activity. If the user has already reacted with the given emoji,
the reaction will be removed. Otherwise, a new reaction will be created.
**Note:** The response contains the complete collection of all emoji reactions for this activity.
**Required permission:**
- `add_work_package_comments`
- for internal comments: `add_internal_comments`'
- info:
name: Attachments
type: folder
items:
- info:
name: Create Attachment
type: http
http:
method: POST
url: https://qa.openproject-edge.com/api/v3/attachments
docs: 'Clients can create attachments without a container first and attach them later on.
This is useful if the container does not exist at the time the attachment is uploaded.
After the upload, the client can then claim such containerless attachments for any resource eligible (e.g. WorkPackage)
on subsequent requests.
The upload and the claiming *must* be done for the same user account. Attachments uploaded by another user cannot be
claimed and
once claimed for a resource, they cannot be claimed by an'
- info:
name: View attachment
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/attachments/:id
params:
- name: id
value: '1'
type: path
description: Attachment id
docs: View attachment
- info:
name: Delete attachment
type: http
http:
method: DELETE
url: https://qa.openproject-edge.com/api/v3/attachments/:id
params:
- name: id
value: '1'
type: path
description: Attachment id
docs: Permanently deletes the specified attachment.
- info:
name: List attachments by meeting
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/meetings/:id/attachments
params:
- name: id
value: '1'
type: path
description: ID of the meeting whose attachments will be listed
docs: List attachments by meeting
- info:
name: Add attachment to meeting
type: http
http:
method: POST
url: https://qa.openproject-edge.com/api/v3/meetings/:id/attachments
params:
- name: id
value: '1'
type: path
description: ID of the meeting to receive the attachment
docs: Adds an attachment with the meeting as its container.
- info:
name: List attachments by post
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/posts/:id/attachments
params:
- name: id
value: '1'
type: path
description: ID of the post whose attachments will be listed
docs: List attachments by post
- info:
name: Add attachment to post
type: http
http:
method: POST
url: https://qa.openproject-edge.com/api/v3/posts/:id/attachments
params:
- name: id
value: '1'
type: path
description: ID of the post to receive the attachment
docs: Adds an attachment with the post as its container.
- info:
name: List attachments by wiki page
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/wiki_pages/:id/attachments
params:
- name: id
value: '1'
type: path
description: ID of the wiki page whose attachments will be listed
docs: List attachments by wiki page
- info:
name: Add attachment to wiki page
type: http
http:
method: POST
url: https://qa.openproject-edge.com/api/v3/wiki_pages/:id/attachments
params:
- name: id
value: '1'
type: path
description: ID of the wiki page to receive the attachment
docs: Adds an attachment with the wiki page as its container.
- info:
name: List attachments by work package
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/work_packages/:id/attachments
params:
- name: id
value: '1'
type: path
description: ID of the work package whose attachments will be listed
docs: List attachments by work package
- info:
name: Create work package attachment
type: http
http:
method: POST
url: https://qa.openproject-edge.com/api/v3/work_packages/:id/attachments
params:
- name: id
value: '1'
type: path
description: ID of the work package to receive the attachment
docs: 'To add an attachment to a work package, a client needs to issue a request of type `multipart/form-data`
with exactly two parts.
The first part *must* be called `metadata`. Its content type is expected to be `application/json`,
the body *must* be a single JSON object, containing at least the `fileName` and optionally the attachments `description`.
The second part *must* be called `file`, its content type *should* match the mime type of the file.
The body *must* be the raw content of the file.
N'
- info:
name: Budgets
type: folder
items:
- info:
name: view Budget
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/budgets/:id
params:
- name: id
value: '1'
type: path
description: Budget id
docs: view Budget
- info:
name: view Budgets of a Project
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/projects/:id/budgets
params:
- name: id
value: '1'
type: path
description: Project id
docs: view Budgets of a Project
- info:
name: Categories
type: folder
items:
- info:
name: View Category
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/categories/:id
params:
- name: id
value: '1'
type: path
description: Category id
docs: View Category
- info:
name: List categories of a project
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/projects/:id/categories
params:
- name: id
value: '1'
type: path
description: ID of the project whose categories will be listed
docs: 'List all categories of a project
This endpoint is deprecated and replaced by [`/api/v3/workspaces/{id}/categories`](https://www.openproject.org/docs/api/endpoints/categories/#list-categories-of-a-workspace) '
- info:
name: List categories of a workspace
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/workspaces/:id/categories
params:
- name: id
value: '1'
type: path
description: ID of the workspace whose categories will be listed
docs: List all categories of a project
- info:
name: Configuration
type: folder
items:
- info:
name: View configuration
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/configuration
docs: View configuration
- info:
name: View project configuration
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/projects/:id/configuration
params:
- name: id
value: '1'
type: path
description: Project id
docs: 'Returns the configuration scoped to a specific project, including all global
configuration properties plus project-specific settings.'
- info:
name: Custom actions
type: folder
items:
- info:
name: Get a custom action
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/custom_actions/:id
params:
- name: id
value: '42'
type: path
description: The id of the custom action to fetch
docs: Retrieves a custom action by id.
- info:
name: Execute custom action
type: http
http:
method: POST
url: https://qa.openproject-edge.com/api/v3/custom_actions/:id/execute
params:
- name: id
value: '1'
type: path
description: The id of the custom action to execute
body:
type: json
data: '{}'
docs: "A POST to this endpoint executes the custom action on the work package provided in the payload. The altered work\
\ package will be returned. In order to avoid executing\n the custom action unbeknown to a change that has already taken\
\ place, the client has to provide the work package's current lockVersion."
- info:
name: Default
type: folder
items:
- info:
name: Get the custom field hierarchy items
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/custom_fields/:id/items
params:
- name: id
value: '42'
type: path
description: The custom field's unique identifier
- name: parent
value: '1337'
type: query
description: The identifier of the parent hierarchy item
- name: depth
value: '1'
type: query
description: The level of hierarchy depth
docs: 'Retrieves the hierarchy of custom fields.
The hierarchy is a tree structure of hierarchy items. It is represented as a flat list of items, where each item
has a reference to its parent and children. The list is ordered in a depth-first manner. The first item is the
requested parent. If parent was unset, the root item is returned as first element.
Passing the `depth` query parameter allows to limit the depth of the hierarchy. If the depth is unset, the full
hierarchy tree is returned. If the de'
- info:
name: Get a custom field hierarchy item
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/custom_field_items/:id
params:
- name: id
value: '42'
type: path
description: The custom field item's unique identifier
docs: Retrieves a single custom field item specified by its unique identifier.
- info:
name: Get a custom field hierarchy item's branch
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/custom_field_items/:id/branch
params:
- name: id
value: '42'
type: path
description: The custom field item's unique identifier
docs: 'Retrieves the branch of a single custom field item specified by its unique identifier.
A branch is list of all ancestors, starting with the root item and finishing with the item itself.'
- info:
name: Custom Options
type: folder
items:
- info:
name: View Custom Option
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/custom_options/:id
params:
- name: id
value: '1'
type: path
description: The custom option's identifier
docs: View Custom Option
- info:
name: Work Schedule
type: folder
items:
- info:
name: Lists all non working days
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/days/non_working
params:
- name: filters
value: '[{ "date": { "operator": "<>d", "values": ["2022-05-02","2022-05-26"] } }]'
type: query
description: "JSON specifying filter conditions.\n\nAccepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/)\n\
endpoint. Currently supported filters are:\n\n+ date: the inclusive date interval to scope days to look up. When\n\
\ unspecified, default is from the beginning to the end of current year.\n\n Example: `{ \"date\": { \"operator\"\
: \"<>d\", \"values\": [\"2022-05-02\",\"2022-05-26\"] } }`\n would return days between May 5 and May 26 2022,\
\ inclusive."
docs: 'Lists all one-time non working days, such as holidays.
It does not lists the non working weekdays, such as each Saturday, Sunday.
For listing the weekends, the `/api/v3/days` endpoint should be used.
All days from current year are returned by default.'
- info:
name: Creates a non-working day (NOT IMPLEMENTED)
type: http
http:
method: POST
url: https://qa.openproject-edge.com/api/v3/days/non_working
body:
type: json
data: '{}'
docs: '**(NOT IMPLEMENTED)**
Marks a day as being a non-working day.
Note: creating a non-working day will not affect the start and finish dates
of work packages but will affect their duration.'
- info:
name: View a non-working day
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/days/non_working/:date
params:
- name: date
value: '2022-05-06'
type: path
description: The date of the non-working day to view in ISO 8601 format.
docs: Returns the non-working day information for a given date.
- info:
name: Update a non-working day attributes (NOT IMPLEMENTED)
type: http
http:
method: PATCH
url: https://qa.openproject-edge.com/api/v3/days/non_working/:date
params:
- name: date
value: '2022-05-06'
type: path
description: The date of the non-working day to view in ISO 8601 format.
body:
type: json
data: '{}'
docs: '**(NOT IMPLEMENTED)**
Update the non-working day information for a given date.'
- info:
name: Removes a non-working day (NOT IMPLEMENTED)
type: http
http:
method: DELETE
url: https://qa.openproject-edge.com/api/v3/days/non_working/:date
params:
- name: date
value: '2022-05-06'
type: path
description: The date of the non-working day to view in ISO 8601 format.
docs: '**(NOT IMPLEMENTED)**
Removes the non-working day at the given date.
Note: deleting a non-working day will not affect the start and finish dates
of work packages but will affect their duration.'
- info:
name: Lists week days
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/days/week
docs: Lists week days with work schedule information.
- info:
name: Update week days (NOT IMPLEMENTED)
type: http
http:
method: PATCH
url: https://qa.openproject-edge.com/api/v3/days/week
body:
type: json
data: '{}'
docs: '**(NOT IMPLEMENTED)**
Update multiple week days with work schedule information.'
- info:
name: View a week day
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/days/week/:day
params:
- name: day
value: ''
type: path
description: The week day from 1 to 7. 1 is Monday. 7 is Sunday.
docs: View a week day and its attributes.
- info:
name: Update a week day attributes (NOT IMPLEMENTED)
type: http
http:
method: PATCH
url: https://qa.openproject-edge.com/api/v3/days/week/:day
params:
- name: day
value: ''
type: path
description: The week day from 1 to 7. 1 is Monday. 7 is Sunday.
body:
type: json
data: '{}'
docs: '**(NOT IMPLEMENTED)**
Makes a week day a working or non-working day.
Note: changing a week day working attribute will not affect the start and
finish dates of work packages but will affect their duration attribute.'
- info:
name: Lists days
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/days
params:
- name: filters
value: '[{ "date": { "operator": "<>d", "values": ["2022-05-02","2022-05-26"] } }, { "working": { "operator": "=",
"values": ["f"] } }]'
type: query
description: "JSON specifying filter conditions.\n\nAccepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/)\n\
endpoint. Currently supported filters are:\n\n+ date: the inclusive date interval to scope days to look up. When\n\
\ unspecified, default is from the beginning of current month to the end\n of following month.\n\n Example: `{\
\ \"date\": { \"operator\": \"<>d\", \"values\": [\"2022-05-02\",\"2022-05-26\"] } }`\n would return days between\
\ May 5 and May 26 2022, inclusive.\n\n+ working: when `true`, returns only the working days. When `false`,\n returns\
\ only the non-working days (weekend days and non-working days).\n When unspecified, returns both working and non-working\
\ days.\n\n Example: `{ \"working\": { \"operator\": \"=\", \"values\": [\"t\"] } }`\n would exclude non-working\
\ days from the response."
docs: 'Lists days information for a given date interval.
All days from the beginning of current month to the end of following month
are returned by default.'
- info:
name: View day
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/days/:date
params:
- name: date
value: '2022-05-06'
type: path
description: The date of the non-working day to view in ISO 8601 format.
docs: View the day information for a given date.
- info:
name: Documents
type: folder
items:
- info:
name: List Documents
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/documents
params:
- name: offset
value: '25'
type: query
description: Page number inside the requested collection.
- name: pageSize
value: '25'
type: query
description: Number of elements to display per page.
- name: sortBy
value: '[["created_at", "asc"]]'
type: query
description: 'JSON specifying sort criteria.
Accepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/) endpoint.
Currently supported sorts are:
+ id: Sort by primary key
+ created_at: Sort by document creation datetime'
docs: The documents returned depend on the provided parameters and also on the requesting user's permissions.
- info:
name: View document
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/documents/:id
params:
- name: id
value: '1'
type: path
description: Document id
docs: View document
- info:
name: Update document
type: http
http:
method: PATCH
url: https://qa.openproject-edge.com/api/v3/documents/:id
params:
- name: id
value: '1'
type: path
description: Document id
body:
type: json
data: '{}'
docs: Updates a document's attributes.
- info:
name: Forms
type: folder
items:
- info:
name: show or validate form
type: http
http:
method: POST
url: https://qa.openproject-edge.com/api/v3/example/form
body:
type: json
data: '{}'
docs: This is an example of how a form might look like. Note that this endpoint does not exist in the actual implementation.
- info:
name: Schemas
type: folder
items:
- info:
name: view the schema
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/example/schema
docs: This is an example of how a schema might look like. Note that this endpoint does not exist in the actual implementation.
- info:
name: Collections
type: folder
items:
- info:
name: view aggregated result
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/examples
params:
- name: groupBy
value: status
type: query
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.'
- name: showSums
value: 'true'
type: query
docs: view aggregated result
- info:
name: File links
type: folder
items:
- info:
name: Gets a file link.
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/file_links/:id
params:
- name: id
value: '42'
type: path
description: File link id
docs: Gets a single file link resource of a work package.
- info:
name: Removes a file link.
type: http
http:
method: DELETE
url: https://qa.openproject-edge.com/api/v3/file_links/:id
params:
- name: id
value: '42'
type: path
description: File link id
docs: 'Removes a file link on a work package.
The request contains only the file link identifier as a path parameter. No request body is needed.'
- info:
name: Creates an opening uri of the linked file.
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/file_links/:id/open
params:
- name: id
value: '42'
type: path
description: File link id
- name: location
value: 'true'
type: query
description: Boolean flag indicating, if the file should be opened directly or rather the directory location.
docs: 'Creates a uri to open the origin file linked by the given file link. This uri depends on the storage type and
is always located on the origin storage itself.'
- info:
name: Creates a download uri of the linked file.
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/file_links/:id/download
params:
- name: id
value: '42'
type: path
description: File link id
docs: 'Creates a uri to download the origin file linked by the given file link. This uri depends on the storage type and
is always located on the origin storage itself.'
- info:
name: Get Storages
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/storages
docs: Returns a collection of storages.
- info:
name: Creates a storage.
type: http
http:
method: POST
url: https://qa.openproject-edge.com/api/v3/storages
body:
type: json
data: '{}'
docs: 'Creates a storage resource. When creating a storage, a confidential OAuth 2 provider application is created
automatically. The oauth client id and secret of the created OAuth application are returned in the response.
**IMPORTANT:** This is the only time, the oauth client secret is visible to the consumer. After that, the secret is
hidden.
To update the storage with OAuth client credentials, which enable the storage resource to behave as an OAuth 2
client against an external OAuth 2 provider ap'
- info:
name: Get a storage
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/storages/:id
params:
- name: id
value: '1337'
type: path
description: Storage id
docs: 'Gets a storage resource. As a side effect, a live connection to the storages origin is established to retrieve
connection state data.'
- info:
name: Update a storage
type: http
http:
method: PATCH
url: https://qa.openproject-edge.com/api/v3/storages/:id
params:
- name: id
value: '1337'
type: path
description: Storage id
body:
type: json
data: '{}'
docs: 'Updates a storage resource. Only data that is not generated by the server can be updated. This excludes the OAuth
2
application data.'
- info:
name: Delete a storage
type: http
http:
method: DELETE
url: https://qa.openproject-edge.com/api/v3/storages/:id
params:
- name: id
value: '1337'
type: path
description: Storage id
docs: 'Deletes a storage resource. This also deletes all related records, like the created oauth application, client,
and
any file links created within this storage.'
- info:
name: Gets files of a storage.
type: http
http:
method: GET
url: https://qa.openproject-edge.com/api/v3/storages/:id/files
params:
- name: id
value: '1337'
type: path
description: Storage id
- name: parent
value: /my/data
type: query
description: Parent file identification
docs: 'Gets a collection of files from a storage.
If no `parent` context is given, the result is the content of the document root. With `parent` context given, the
result contains the collections of files/directories from within the given parent file id.
If given `parent` context is no directory, `400 Bad Request` is returned.'
- info:
name: Preparation of a direct upload of a file to the given storage.
type: http
http:
method: POST
url: https://qa.openproject-edge.com/api/v3/storages/:id/files/prepare_upload
params:
- name: id
value: '1337'
type: path
description: Storage id
body:
type: json
data: '{}'
docs: 'Executes a request that prepares a link for a direct upload to the storage.
The background here is, that the client needs to make a direct request to the storage instance for file uploading,
but shou
# --- truncated at 32 KB (180 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openproject/refs/heads/main/apis.yml