---
title: "Commit message"
method: POST
path: "/messages/{id}/commit"
---

# Commit message

`POST /messages/{id}/commit`

Commits a pending message, which will make it visible in the channel

## Response `201`

Successful response

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

## Other responses

- `400` — Bad request
- `429` — Too many requests

---

[API](https://skmtc.net/streamioapi/apis/stream-io-api.md) · [All operations](https://skmtc.net/streamioapi/apis/stream-io-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/streamioapi/stream-io-api/versions/f5553620777b/schema)
