action stream_io_api_delete_reaction { label: "Delete reaction" description: "Removes user reaction from the message" provider: stream_io_api method: DELETE path: "/messages/{id}/reaction/{type}" encoding: json input: { type: "object" properties: { id: { type: "string" } type: { type: "string" } user_id: { type: "string" } } required: ["id", "type"] additionalProperties: false } output: { type: "object" required: ["duration"] properties: { duration: { type: "string" description: "Duration of the request in human-readable format" } message: { type: "object" description: "Represents any chat message" required: ["attachments", "cid", "created_at", "html", "id", "latest_reactions", "mentioned_users", "own_reactions", "pinned", "reaction_counts", "reaction_scores", "reply_count", "shadowed", "silent", "text", "type", "updated_at"] properties: { attachments: { type: "array" description: "Array of message attachments" items: { type: "object" properties: { actions: { type: "array" items: { type: "object" required: ["name", "text", "type"] properties: { name: { type: "string" } style: { type: "string" } text: { type: "string" } type: { type: "string" } value: { type: "string" } } } } asset_url: { type: "string" } author_icon: { type: "string" } author_link: { type: "string" } author_name: { type: "string" } color: { type: "string" } fallback: { type: "string" } fields: { type: "array" items: { type: "object" required: ["title", "value", "short"] properties: { short: { type: "boolean" } title: { type: "string" } value: { type: "string" } } } } footer: { type: "string" } footer_icon: { type: "string" } giphy: { type: "object" required: ["original", "fixed_height", "fixed_height_still", "fixed_height_downsampled", "fixed_width", "fixed_width_still", "fixed_width_downsampled"] properties: { fixed_height: { type: "object" required: ["url", "width", "height", "size", "frames"] properties: { frames: { type: "string" } height: { type: "string" } size: { type: "string" } url: { type: "string" } width: { type: "string" } } } fixed_height_downsampled: { type: "object" additionalProperties: true } fixed_height_still: { type: "object" additionalProperties: true } fixed_width: { type: "object" additionalProperties: true } fixed_width_downsampled: { type: "object" additionalProperties: true } fixed_width_still: { type: "object" additionalProperties: true } original: { type: "object" additionalProperties: true } } } image_url: { type: "string" } og_scrape_url: { type: "string" } original_height: { type: "number" } original_width: { type: "number" } pretext: { type: "string" } text: { type: "string" } thumb_url: { type: "string" } title: { type: "string" } title_link: { type: "string" } type: { type: "string" description: "Attachment type (e.g. image, video, url)" } } } } before_message_send_failed: { type: "boolean" description: "Whether `before_message_send webhook` failed or not. Field is only accessible in push webhook" } cid: { type: "string" description: "Channel unique identifier in : format" } command: { type: "string" description: "Contains provided slash command" } created_at: { type: "string" format: "date-time" description: "Date/time of creation" } deleted_at: { type: "string" format: "date-time" description: "Date/time of deletion" } html: { type: "string" description: "Contains HTML markup of the message. Can only be set when using server-side API" } i18n: { type: "object" description: "Object with translations. Key `language` contains the original language key. Other keys contain translations" } id: { type: "string" description: "Message ID is unique string identifier of the message" } image_labels: { type: "object" description: "Contains image moderation information" } latest_reactions: { type: "array" description: "List of 10 latest reactions to this message" items: { type: "object" description: "Represents user reaction to a message" required: ["message_id", "type", "score", "created_at", "updated_at"] properties: { created_at: { type: "string" format: "date-time" description: "Date/time of creation" } message_id: { type: "string" description: "ID of a message user reacted to" } score: { type: "number" description: "Reaction score. If not specified reaction has score of 1" } type: { type: "string" description: "The type of reaction (e.g. 'like', 'laugh', 'wow')" } updated_at: { type: "string" format: "date-time" description: "Date/time of the last update" } user: { type: "object" description: "Represents chat user" required: ["id", "role", "banned", "online"] properties: { ban_expires: { type: "string" format: "date-time" description: "Expiration date of the ban" } banned: { type: "boolean" description: "Whether a user is banned or not" } created_at: { type: "string" format: "date-time" description: "Date/time of creation" } deactivated_at: { type: "string" format: "date-time" description: "Date of deactivation" } deleted_at: { type: "string" format: "date-time" description: "Date/time of deletion" } id: { type: "string" description: "Unique user identifier" } invisible: { type: "boolean" } language: { type: "string" description: "Preferred language of a user" } last_active: { type: "string" format: "date-time" description: "Date of last activity" } online: { type: "boolean" description: "Whether a user online or not" } push_notifications: { type: "object" properties: { disabled: { type: "boolean" } disabled_until: { type: "string" format: "date-time" } } } revoke_tokens_issued_before: { type: "string" format: "date-time" description: "Revocation date for tokens" } role: { type: "string" description: "Determines the set of user permissions" } teams: { type: "array" description: "List of teams user is a part of" items: { type: "string" } } updated_at: { type: "string" format: "date-time" description: "Date/time of the last update" } } } user_id: { type: "string" description: "ID of a user who reacted to a message" } } } } mentioned_users: { type: "array" description: "List of mentioned users" items: { type: "object" additionalProperties: true } } mml: { type: "string" description: "Should be empty if `text` is provided. Can only be set when using server-side API" } own_reactions: { type: "array" description: "List of 10 latest reactions of authenticated user to this message" items: { type: "object" additionalProperties: true } } parent_id: { type: "string" description: "ID of parent message (thread)" } pin_expires: { type: "string" format: "date-time" description: "Date when pinned message expires" } pinned: { type: "boolean" description: "Whether message is pinned or not" } pinned_at: { type: "string" format: "date-time" description: "Date when message got pinned" } pinned_by: { type: "object" additionalProperties: true } quoted_message: { type: "object" additionalProperties: true } quoted_message_id: { type: "string" } reaction_counts: { type: "object" description: "An object containing number of reactions of each type. Key: reaction type (string), value: number of reactions (int)" } reaction_scores: { type: "object" description: "An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)" } reply_count: { type: "number" description: "Number of replies to this message" } shadowed: { type: "boolean" description: "Whether the message was shadowed or not" } show_in_channel: { type: "boolean" description: "Whether thread reply should be shown in the channel as well" } silent: { type: "boolean" description: "Whether message is silent or not" } text: { type: "string" description: "Text of the message. Should be empty if `mml` is provided" } thread_participants: { type: "array" description: "List of users who participate in thread" items: { type: "object" additionalProperties: true } } type: { type: "string" description: "Contains type of the message" enum: ["regular", "ephemeral", "error", "reply", "system", "deleted"] } updated_at: { type: "string" format: "date-time" description: "Date/time of the last update" } user: { type: "object" additionalProperties: true } } } reaction: { type: "object" additionalProperties: true } } } }