OpenProject EmojiReactions API
The EmojiReactions API from OpenProject — 2 operation(s) for emojireactions.
The EmojiReactions API from OpenProject — 2 operation(s) for emojireactions.
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-emojireactions-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) Emoji Reactions 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: EmojiReactions
paths:
/api/v3/activities/{id}/emoji_reactions:
get:
summary: List emoji reactions by activity
operationId: list_activity_emoji_reactions
tags:
- EmojiReactions
description: List all emoji reactions of a single activity.
parameters:
- name: id
description: ID of the activity whose emoji reactions will be listed
in: path
required: true
schema:
type: integer
example: '1'
responses:
'200':
description: OK
content:
application/hal+json:
schema:
$ref: '#/components/schemas/EmojiReactions_Model'
'404':
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
response:
value:
_type: Error
errorIdentifier: urn:openproject-org:api:v3:errors:NotFound
message: The requested resource could not be found.
description: 'Returned if the activity does not exist or the client does not have sufficient permissions
to see it.
**Required permission:**
- `view_work_packages`
- for internal comments: `view_internal_comments`
*Note: A client without sufficient permissions shall not be able to test for the existence of an activity.
That''s why a 404 is returned here, even if a 403 might be more appropriate.*'
patch:
summary: Toggle emoji reaction for an activity
operationId: toggle_activity_emoji_reaction
tags:
- EmojiReactions
description: '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`'
parameters:
- name: id
description: ID of the activity to toggle emoji reaction for
in: path
required: true
schema:
type: integer
example: '1'
requestBody:
required: true
content:
application/hal+json:
schema:
type: object
required:
- reaction
properties:
reaction:
type: string
description: The emoji reaction identifier
example: thumbs_up
enum:
- thumbs_up
- thumbs_down
- grinning_face_with_smiling_eyes
- confused_face
- heart
- party_popper
- rocket
- eyes
responses:
'200':
description: OK
content:
application/hal+json:
schema:
$ref: '#/components/schemas/EmojiReactionModel'
'400':
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
response:
value:
_type: Error
errorIdentifier: urn:openproject-org:api:v3:errors:BadRequest
message: 'Bad request: reaction does not have a valid value'
description: Returned if the request is invalid. For example, if the reaction is not valid.
'403':
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
response:
value:
_type: Error
errorIdentifier: urn:openproject-org:api:v3:errors:MissingPermission
message: You are not authorized to access this resource.
description: Returned if the client does not have sufficient permissions to toggle the emoji reaction for the activity.
'404':
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
response:
value:
_type: Error
errorIdentifier: urn:openproject-org:api:v3:errors:NotFound
message: The requested resource could not be found.
description: 'Returned if the activity does not exist or the client does not have sufficient permissions
to see it.'
/api/v3/work_packages/{id}/activities_emoji_reactions:
get:
summary: List emoji reactions by work package activities
operationId: list_work_package_activities_emoji_reactions
tags:
- EmojiReactions
description: List all emoji reactions of all activities of a single work package.
parameters:
- name: id
description: ID of the work package whose activities' emoji reactions will be listed
in: path
required: true
schema:
type: integer
example: 1
responses:
'200':
description: OK
content:
application/hal+json:
schema:
$ref: '#/components/schemas/EmojiReactions_Model'
'404':
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
response:
value:
_type: Error
errorIdentifier: urn:openproject-org:api:v3:errors:NotFound
message: The requested resource could not be found.
description: 'Returned if the work package does not exist or the client does not have sufficient permissions
to see it.
**Required permission:**
- `view_work_packages`
- for internal comments: `view_internal_comments`
*Note: A client without sufficient permissions shall not be able to test for the existence of a work package.
That''s why a 404 is returned here, even if a 403 might be more appropriate.*'
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
EmojiReactionModel:
type: object
properties:
_type:
type: string
enum:
- EmojiReaction
id:
type: string
description: 'Emoji reaction id (format: reactable_id-reaction)'
example: 1-thumbs_up
reaction:
type: string
description: The reaction identifier
example: thumbs_up
emoji:
type: string
description: The emoji character
example: 👍
reactionsCount:
type: integer
description: Number of users who reacted with this emoji
minimum: 1
example: 3
firstReactionAt:
type: string
format: date-time
description: Time of the first reaction
_links:
type: object
properties:
self:
allOf:
- $ref: '#/components/schemas/Link'
- description: This emoji reaction
reactable:
allOf:
- $ref: '#/components/schemas/Link'
- description: The activity this emoji reaction belongs to
reactingUsers:
type: array
items:
allOf:
- $ref: '#/components/schemas/Link'
- description: The users who reacted with this emoji
example:
_type: EmojiReaction
id: 1-thumbs_up
reaction: thumbs_up
emoji: 👍
reactionsCount: 3
firstReactionAt: '2024-04-08T15:37:19.275Z'
_links:
self:
href: /api/v3/emoji_reactions/1-thumbs_up
reactable:
href: /api/v3/activities/1
reactingUsers:
- href: /api/v3/users/435
title: John Doe
- href: /api/v3/users/436
title: Jane Smith
- href: /api/v3/users/437
title: Bob Johnson
EmojiReactions_Model:
type: object
properties:
_type:
type: string
enum:
- Collection
total:
type: integer
description: Total number of emoji reactions
minimum: 0
count:
type: integer
description: Number of emoji reactions in this response
minimum: 0
_embedded:
type: object
properties:
elements:
type: array
items:
$ref: '#/components/schemas/EmojiReactionModel'
_links:
type: object
properties:
self:
allOf:
- $ref: '#/components/schemas/Link'
- description: This collection
example:
_type: Collection
total: 2
count: 2
_embedded:
elements:
- _type: EmojiReaction
id: 1-thumbs_up
reaction: thumbs_up
emoji: 👍
reactionsCount: 3
firstReactionAt: '2024-04-08T15:37:19.275Z'
_links:
self:
href: /api/v3/emoji_reactions/1-thumbs_up
reactable:
href: /api/v3/activities/1
reactingUsers:
- href: /api/v3/users/435
title: John Doe
- href: /api/v3/users/436
title: Jane Smith
- href: /api/v3/users/437
title: Bob Johnson
- _type: EmojiReaction
id: 1-heart
reaction: heart
emoji: ❤️
reactionsCount: 1
firstReactionAt: '2024-04-08T15:38:19.275Z'
_links:
self:
href: /api/v3/emoji_reactions/1-heart
reactable:
href: /api/v3/activities/1
reactingUsers:
- href: /api/v3/users/435
title: John Doe
_links:
self:
href: /api/v3/activities/1/emoji_reactions
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.
securitySchemes:
BasicAuth:
type: http
scheme: basic