OpenProject Reminders API
The Reminders API from OpenProject — 3 operation(s) for reminders.
The Reminders API from OpenProject — 3 operation(s) for reminders.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/openproject-reminders-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
description: You're looking at the current **stable** documentation of the OpenProject APIv3.
title: OpenProject API V3 (Stable) Reminders 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:
- name: Reminders
paths:
/api/v3/reminders:
get:
summary: List all active reminders
operationId: list_reminders
tags:
- Reminders
description: Gets a list of all active reminders for the user.
responses:
'200':
description: OK
content:
application/hal+json:
schema:
type: object
required:
- _type
- total
- count
- _embedded
properties:
_type:
type: string
enum:
- Collection
total:
type: integer
description: The total amount of elements available in the collection.
minimum: 0
count:
type: integer
description: Actual amount of elements in this response.
minimum: 0
_embedded:
type: object
required:
- elements
properties:
elements:
type: array
items:
$ref: '#/components/schemas/ReminderModel'
/api/v3/reminders/{id}:
patch:
summary: Update a reminder
operationId: update_reminder
tags:
- Reminders
description: 'Updates an existing reminder.
A user can only update their own active reminder.
**Required permission:** view work packages for the project the reminder is contained in.'
parameters:
- name: id
in: path
description: Reminder ID
example: 1
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
remindAt:
type: string
format: date-time
description: The date and time when the reminder is due
note:
type: string
description: The note of the reminder (optional)
responses:
'200':
description: Reminder updated successfully
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ReminderModel'
'404':
description: Returned if the reminder does not exist or the client does not have sufficient permissions to see it.
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
delete:
summary: Delete a reminder
operationId: delete_reminder
tags:
- Reminders
description: 'Deletes an existing reminder.
A user can only delete their own active reminder.
**Required permission:** view work packages for the project the reminder is contained in.'
parameters:
- name: id
in: path
description: Reminder ID
example: 1
required: true
schema:
type: integer
responses:
'204':
description: Reminder deleted successfully
'404':
description: Returned if the reminder does not exist or the client does not have sufficient permissions to see it.
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/api/v3/work_packages/{work_package_id}/reminders:
get:
summary: List work package reminders
operationId: list_work_package_reminders
tags:
- Reminders
description: 'Gets a list of your upcoming reminders for this work package.
Only active reminders that belong to the current user are returned.'
parameters:
- name: work_package_id
in: path
description: Work package id
example: '1'
required: true
schema:
type: integer
responses:
'200':
description: OK
content:
application/hal+json:
schema:
type: object
required:
- _type
- total
- count
- _embedded
properties:
_type:
type: string
enum:
- Collection
total:
type: integer
description: The total amount of elements available in the collection.
minimum: 0
count:
type: integer
description: Actual amount of elements in this response.
minimum: 0
_embedded:
type: object
required:
- elements
properties:
elements:
type: array
items:
$ref: '#/components/schemas/ReminderModel'
'403':
description: 'Returned if the client does not have sufficient permissions.
**Required permission:** view work packages for the project the work package is contained in.'
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: 'Returned if the work package does not exist or the client does not have sufficient permissions to see it.
**Required permission:** view work package'
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
post:
summary: Create a work package reminder
operationId: create_work_package_reminder
tags:
- Reminders
description: 'Creates a new reminder for the specified work package.
**Note:** A user can only have one **active** reminder at a time for a given work package.'
parameters:
- name: work_package_id
in: path
description: Work package id
example: '1'
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- remindAt
properties:
remindAt:
type: string
format: date-time
description: The date and time when the reminder is due
note:
type: string
description: The note of the reminder
responses:
'201':
description: Reminder created successfully
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ReminderModel'
'404':
description: 'Returned if the work package does not exist or the client does not have sufficient permissions to see it.
**Required permission:** view work package'
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'409':
description: 'Returned if the user already has an active reminder for this work package.
**Error message**: You can only set one reminder at a time for a work package. Please delete or update the existing reminder.'
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
Link:
type: object
required:
- href
properties:
href:
type:
- string
- 'null'
description: URL to the referenced resource (might be relative)
title:
type: string
description: Representative label for the resource
templated:
type: boolean
default: false
description: If true the href contains parts that need to be replaced by the client
method:
type: string
default: GET
description: The HTTP verb to use when requesting the resource
payload:
type: object
description: The payload to send in the request to achieve the desired result
identifier:
type: string
description: An optional unique identifier to the link object
type:
type: string
description: The MIME-Type of the returned resource.
example:
href: /api/v3/work_packages
method: POST
ErrorResponse:
type: object
required:
- _type
- errorIdentifier
- message
properties:
_embedded:
type: object
properties:
details:
type: object
properties:
attribute:
type: string
example: project
_type:
type: string
enum:
- Error
errorIdentifier:
type: string
example: urn:openproject-org:api:v3:errors:PropertyConstraintViolation
message:
type: string
example: Project can't be blank.
ReminderModel:
type: object
properties:
id:
type: integer
description: Reminder id
readOnly: true
minimum: 1
note:
type: string
description: The note of the reminder
remindAt:
type: string
format: date-time
description: The date and time when the reminder is due
_links:
required:
- creator
- remindable
type: object
properties:
self:
allOf:
- $ref: '#/components/schemas/Link'
- description: 'This reminder
**Resource**: Reminder'
creator:
allOf:
- $ref: '#/components/schemas/Link'
- description: 'The person that created the reminder
**Resource**: User'
remindable:
allOf:
- $ref: '#/components/schemas/Link'
- description: 'The resource that the reminder is associated with
**Resource**: WorkPackage'
securitySchemes:
BasicAuth:
type: http
scheme: basic