Stream · Capability

Stream API — product:chat

Stream API — product:chat. 90 operations. Lead operation: Create campaign. Self-contained Naftiko capability covering one Stream Io business surface.

Run with Naftiko Stream Ioproduct:chat

What You Can Do

POST
Createcampaign — Create campaign
/v1/api/v2/chat/campaigns
POST
Querycampaigns — Query campaigns
/v1/api/v2/chat/campaigns/query
DELETE
Deletecampaign — Delete campaign
/v1/api/v2/chat/campaigns/{id}
GET
Getcampaign — Get campaign
/v1/api/v2/chat/campaigns/{id}
PUT
Updatecampaign — Update campaign
/v1/api/v2/chat/campaigns/{id}
POST
Startcampaign — Start/schedule campaign
/v1/api/v2/chat/campaigns/{id}/start
POST
Stopcampaign — Stop campaign
/v1/api/v2/chat/campaigns/{id}/stop
POST
Querychannels — Query channels
/v1/api/v2/chat/channels
PUT
Channelbatchupdate — Update channels in batch
/v1/api/v2/chat/channels/batch
POST
Deletechannels — Deletes channels asynchronously
/v1/api/v2/chat/channels/delete
POST
Markdelivered — Mark channel message delivery status
/v1/api/v2/chat/channels/delivered
POST
Groupedquerychannels — Grouped query channels
/v1/api/v2/chat/channels/grouped
POST
Markchannelsread — Mark channels as read
/v1/api/v2/chat/channels/read
POST
Getorcreatedistinctchannel — Get or create channel
/v1/api/v2/chat/channels/{type}/query
DELETE
Deletechannel — Delete channel
/v1/api/v2/chat/channels/{type}/{id}
PATCH
Updatechannelpartial — Partially update channel
/v1/api/v2/chat/channels/{type}/{id}
POST
Updatechannel — Update channel
/v1/api/v2/chat/channels/{type}/{id}
DELETE
Deletedraft — Delete draft
/v1/api/v2/chat/channels/{type}/{id}/draft
GET
Getdraft — Get draft
/v1/api/v2/chat/channels/{type}/{id}/draft
POST
Sendevent — Send event
/v1/api/v2/chat/channels/{type}/{id}/event
DELETE
Deletechannelfile — Delete file
/v1/api/v2/chat/channels/{type}/{id}/file
POST
Uploadchannelfile — Upload file
/v1/api/v2/chat/channels/{type}/{id}/file
POST
Hidechannel — Hide channel
/v1/api/v2/chat/channels/{type}/{id}/hide
DELETE
Deletechannelimage — Delete image
/v1/api/v2/chat/channels/{type}/{id}/image
POST
Uploadchannelimage — Upload image
/v1/api/v2/chat/channels/{type}/{id}/image
PATCH
Updatememberpartial — Partially channel member update
/v1/api/v2/chat/channels/{type}/{id}/member
POST
Sendmessage — Send new message
/v1/api/v2/chat/channels/{type}/{id}/message
GET
Getmanymessages — Get many messages
/v1/api/v2/chat/channels/{type}/{id}/messages
POST
Getorcreatechannel — Get or create channel
/v1/api/v2/chat/channels/{type}/{id}/query
POST
Markread — Mark read
/v1/api/v2/chat/channels/{type}/{id}/read
POST
Showchannel — Show channel
/v1/api/v2/chat/channels/{type}/{id}/show
POST
Truncatechannel — Truncate channel
/v1/api/v2/chat/channels/{type}/{id}/truncate
POST
Markunread — Mark unread
/v1/api/v2/chat/channels/{type}/{id}/unread
GET
Listchanneltypes — List channel types
/v1/api/v2/chat/channeltypes
POST
Createchanneltype — Create channel type
/v1/api/v2/chat/channeltypes
DELETE
Deletechanneltype — Delete channel type
/v1/api/v2/chat/channeltypes/{name}
GET
Getchanneltype — Get channel type
/v1/api/v2/chat/channeltypes/{name}
PUT
Updatechanneltype — Update channel type
/v1/api/v2/chat/channeltypes/{name}
GET
Listcommands — List commands
/v1/api/v2/chat/commands
POST
Createcommand — Create command
/v1/api/v2/chat/commands
DELETE
Deletecommand — Delete command
/v1/api/v2/chat/commands/{name}
GET
Getcommand — Get command
/v1/api/v2/chat/commands/{name}
PUT
Updatecommand — Update command
/v1/api/v2/chat/commands/{name}
POST
Querydrafts — Query draft messages
/v1/api/v2/chat/drafts/query
POST
Exportchannels — Export channels
/v1/api/v2/chat/export-channels
GET
Querymembers — Query members
/v1/api/v2/chat/members
POST
Querymessagehistory — Query message history
/v1/api/v2/chat/messages/history
DELETE
Deletemessage — Delete message
/v1/api/v2/chat/messages/{id}
GET
Getmessage — Get message
/v1/api/v2/chat/messages/{id}
POST
Updatemessage — Update message
/v1/api/v2/chat/messages/{id}
PUT
Updatemessagepartial — Partially message update
/v1/api/v2/chat/messages/{id}
POST
Runmessageaction — Run message command action
/v1/api/v2/chat/messages/{id}/action
POST
Commitmessage — Commit message
/v1/api/v2/chat/messages/{id}/commit
PATCH
Ephemeralmessageupdate — Ephemeral message update
/v1/api/v2/chat/messages/{id}/ephemeral
POST
Sendreaction — Send reaction
/v1/api/v2/chat/messages/{id}/reaction
DELETE
Deletereaction — Delete reaction
/v1/api/v2/chat/messages/{id}/reaction/{type}
GET
Getreactions — Get reactions
/v1/api/v2/chat/messages/{id}/reactions
POST
Queryreactions — Get reactions on a message
/v1/api/v2/chat/messages/{id}/reactions
POST
Translatemessage — Translate message
/v1/api/v2/chat/messages/{id}/translate
POST
Undeletemessage — Undelete message
/v1/api/v2/chat/messages/{id}/undelete
POST
Castpollvote — Cast vote
/v1/api/v2/chat/messages/{message-id}/polls/{poll-id}/vote
DELETE
Deletepollvote — Delete vote
/v1/api/v2/chat/messages/{message-id}/polls/{poll-id}/vote/{vote-id}
DELETE
Deletereminder — Delete reminder
/v1/api/v2/chat/messages/{message-id}/reminders
PATCH
Updatereminder — Updates Reminder
/v1/api/v2/chat/messages/{message-id}/reminders
POST
Createreminder — Create reminder
/v1/api/v2/chat/messages/{message-id}/reminders
GET
Getreplies — Get replies
/v1/api/v2/chat/messages/{parent-id}/replies
GET
Querymessageflags — Query Message Flags
/v1/api/v2/chat/moderation/flags/message
POST
Mutechannel — Mute channel
/v1/api/v2/chat/moderation/mute/channel
POST
Unmutechannel — Unmute channel
/v1/api/v2/chat/moderation/unmute/channel
GET
Querybannedusers — Query Banned Users
/v1/api/v2/chat/query-banned-users
GET
Queryfuturechannelbans — Query Future Channel Bans
/v1/api/v2/chat/query-future-channel-bans
POST
Queryreminders — Query reminders
/v1/api/v2/chat/reminders/query
GET
Getretentionpolicy — Get retention policy
/v1/api/v2/chat/retention-policy
POST
Setretentionpolicy — Set retention policy
/v1/api/v2/chat/retention-policy
POST
Deleteretentionpolicy — Delete retention policy
/v1/api/v2/chat/retention-policy/delete
POST
Getretentionpolicyruns — Get retention policy runs
/v1/api/v2/chat/retention-policy/runs
GET
Search — Search messages
/v1/api/v2/chat/search
POST
Querysegments — Query segments
/v1/api/v2/chat/segments/query
DELETE
Deletesegment — Delete segment
/v1/api/v2/chat/segments/{id}
GET
Getsegment — Get segment
/v1/api/v2/chat/segments/{id}
POST
Deletesegmenttargets — Delete targets from a segment
/v1/api/v2/chat/segments/{id}/deletetargets
GET
Segmenttargetexists — Check whether a target exists in a segment
/v1/api/v2/chat/segments/{id}/target/{target-id}
POST
Querysegmenttargets — Query segment targets
/v1/api/v2/chat/segments/{id}/targets/query
POST
Queryteamusagestats — Query Team Usage Statistics
/v1/api/v2/chat/stats/team-usage
POST
Querythreads — Query Threads
/v1/api/v2/chat/threads
GET
Getthread — Get Thread
/v1/api/v2/chat/threads/{message-id}
PATCH
Updatethreadpartial — Partially update thread
/v1/api/v2/chat/threads/{message-id}
GET
Unreadcounts — Unread counts
/v1/api/v2/chat/unread
POST
Unreadcountsbatch — Batch unread counts
/v1/api/v2/chat/unread-batch
POST
Sendusercustomevent — Send user event
/v1/api/v2/chat/users/{user-id}/event

MCP Tools

create-campaign

Create campaign

query-campaigns

Query campaigns

read-only
delete-campaign

Delete campaign

idempotent
get-campaign

Get campaign

read-only idempotent
update-campaign

Update campaign

idempotent
start-schedule-campaign

Start/schedule campaign

stop-campaign

Stop campaign

query-channels

Query channels

read-only
update-channels-batch

Update channels in batch

idempotent
deletes-channels-asynchronously

Deletes channels asynchronously

mark-channel-message-delivery-status

Mark channel message delivery status

grouped-query-channels

Grouped query channels

read-only
mark-channels-read

Mark channels as read

get-create-channel

Get or create channel

read-only
delete-channel

Delete channel

idempotent
partially-update-channel

Partially update channel

idempotent
update-channel

Update channel

delete-draft

Delete draft

idempotent
get-draft

Get draft

read-only idempotent
send-event

Send event

delete-file

Delete file

idempotent
upload-file

Upload file

hide-channel

Hide channel

delete-image

Delete image

idempotent
upload-image

Upload image

partially-channel-member-update

Partially channel member update

idempotent
send-new-message

Send new message

get-many-messages

Get many messages

read-only idempotent
get-create-channel-2

Get or create channel

read-only
mark-read

Mark read

show-channel

Show channel

truncate-channel

Truncate channel

mark-unread

Mark unread

list-channel-types

List channel types

read-only idempotent
create-channel-type

Create channel type

delete-channel-type

Delete channel type

idempotent
get-channel-type

Get channel type

read-only idempotent
update-channel-type

Update channel type

idempotent
list-commands

List commands

read-only idempotent
create-command

Create command

delete-command

Delete command

idempotent
get-command

Get command

read-only idempotent
update-command

Update command

idempotent
query-draft-messages

Query draft messages

read-only
export-channels

Export channels

query-members

Query members

read-only idempotent
query-message-history

Query message history

read-only
delete-message

Delete message

idempotent
get-message

Get message

read-only idempotent
update-message

Update message

partially-message-update

Partially message update

idempotent
run-message-command-action

Run message command action

commit-message

Commit message

ephemeral-message-update

Ephemeral message update

idempotent
send-reaction

Send reaction

delete-reaction

Delete reaction

idempotent
get-reactions

Get reactions

read-only idempotent
get-reactions-message

Get reactions on a message

read-only
translate-message

Translate message

undelete-message

Undelete message

cast-vote

Cast vote

delete-vote

Delete vote

idempotent
delete-reminder

Delete reminder

idempotent
updates-reminder

Updates Reminder

idempotent
create-reminder

Create reminder

get-replies

Get replies

read-only idempotent
query-message-flags

Query Message Flags

read-only idempotent
mute-channel

Mute channel

unmute-channel

Unmute channel

query-banned-users

Query Banned Users

read-only idempotent
query-future-channel-bans

Query Future Channel Bans

read-only idempotent
query-reminders

Query reminders

read-only
get-retention-policy

Get retention policy

read-only idempotent
set-retention-policy

Set retention policy

delete-retention-policy

Delete retention policy

get-retention-policy-runs

Get retention policy runs

read-only
search-messages

Search messages

read-only idempotent
query-segments

Query segments

read-only
delete-segment

Delete segment

idempotent
get-segment

Get segment

read-only idempotent
delete-targets-segment

Delete targets from a segment

check-whether-target-exists-segment

Check whether a target exists in a segment

read-only idempotent
query-segment-targets

Query segment targets

read-only
query-team-usage-statistics

Query Team Usage Statistics

read-only
query-threads

Query Threads

read-only
get-thread

Get Thread

read-only idempotent
partially-update-thread

Partially update thread

idempotent
unread-counts

Unread counts

read-only idempotent
batch-unread-counts

Batch unread counts

send-user-event

Send user event

Capability Spec

serverside-product-chat.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Stream API — product:chat
  description: 'Stream API — product:chat. 90 operations. Lead operation: Create campaign. Self-contained Naftiko capability
    covering one Stream Io business surface.'
  tags:
  - Stream Io
  - product:chat
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    STREAM_IO_API_KEY: STREAM_IO_API_KEY
capability:
  consumes:
  - type: http
    namespace: serverside-product-chat
    baseUri: https://chat.stream-io-api.com
    description: Stream API — product:chat business capability. Self-contained, no shared references.
    resources:
    - name: api-v2-chat-campaigns
      path: /api/v2/chat/campaigns
      operations:
      - name: createcampaign
        method: POST
        description: Create campaign
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-campaigns-query
      path: /api/v2/chat/campaigns/query
      operations:
      - name: querycampaigns
        method: POST
        description: Query campaigns
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-campaigns-id
      path: /api/v2/chat/campaigns/{id}
      operations:
      - name: deletecampaign
        method: DELETE
        description: Delete campaign
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
      - name: getcampaign
        method: GET
        description: Get campaign
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: prev
          in: query
          type: string
        - name: next
          in: query
          type: string
        - name: limit
          in: query
          type: integer
      - name: updatecampaign
        method: PUT
        description: Update campaign
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-campaigns-id-start
      path: /api/v2/chat/campaigns/{id}/start
      operations:
      - name: startcampaign
        method: POST
        description: Start/schedule campaign
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-campaigns-id-stop
      path: /api/v2/chat/campaigns/{id}/stop
      operations:
      - name: stopcampaign
        method: POST
        description: Stop campaign
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels
      path: /api/v2/chat/channels
      operations:
      - name: querychannels
        method: POST
        description: Query channels
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-batch
      path: /api/v2/chat/channels/batch
      operations:
      - name: channelbatchupdate
        method: PUT
        description: Update channels in batch
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-delete
      path: /api/v2/chat/channels/delete
      operations:
      - name: deletechannels
        method: POST
        description: Deletes channels asynchronously
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-delivered
      path: /api/v2/chat/channels/delivered
      operations:
      - name: markdelivered
        method: POST
        description: Mark channel message delivery status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: query
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-grouped
      path: /api/v2/chat/channels/grouped
      operations:
      - name: groupedquerychannels
        method: POST
        description: Grouped query channels
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-read
      path: /api/v2/chat/channels/read
      operations:
      - name: markchannelsread
        method: POST
        description: Mark channels as read
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-type-query
      path: /api/v2/chat/channels/{type}/query
      operations:
      - name: getorcreatedistinctchannel
        method: POST
        description: Get or create channel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-type-id
      path: /api/v2/chat/channels/{type}/{id}
      operations:
      - name: deletechannel
        method: DELETE
        description: Delete channel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: hard_delete
          in: query
          type: boolean
      - name: updatechannelpartial
        method: PATCH
        description: Partially update channel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: updatechannel
        method: POST
        description: Update channel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-type-id-draft
      path: /api/v2/chat/channels/{type}/{id}/draft
      operations:
      - name: deletedraft
        method: DELETE
        description: Delete draft
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: parent_id
          in: query
          type: string
        - name: user_id
          in: query
          type: string
      - name: getdraft
        method: GET
        description: Get draft
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: parent_id
          in: query
          type: string
        - name: user_id
          in: query
          type: string
    - name: api-v2-chat-channels-type-id-event
      path: /api/v2/chat/channels/{type}/{id}/event
      operations:
      - name: sendevent
        method: POST
        description: Send event
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-type-id-file
      path: /api/v2/chat/channels/{type}/{id}/file
      operations:
      - name: deletechannelfile
        method: DELETE
        description: Delete file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: url
          in: query
          type: string
      - name: uploadchannelfile
        method: POST
        description: Upload file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-type-id-hide
      path: /api/v2/chat/channels/{type}/{id}/hide
      operations:
      - name: hidechannel
        method: POST
        description: Hide channel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-type-id-image
      path: /api/v2/chat/channels/{type}/{id}/image
      operations:
      - name: deletechannelimage
        method: DELETE
        description: Delete image
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: url
          in: query
          type: string
      - name: uploadchannelimage
        method: POST
        description: Upload image
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-type-id-member
      path: /api/v2/chat/channels/{type}/{id}/member
      operations:
      - name: updatememberpartial
        method: PATCH
        description: Partially channel member update
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: user_id
          in: query
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-type-id-message
      path: /api/v2/chat/channels/{type}/{id}/message
      operations:
      - name: sendmessage
        method: POST
        description: Send new message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-type-id-messages
      path: /api/v2/chat/channels/{type}/{id}/messages
      operations:
      - name: getmanymessages
        method: GET
        description: Get many messages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: ids
          in: query
          type: array
          required: true
    - name: api-v2-chat-channels-type-id-query
      path: /api/v2/chat/channels/{type}/{id}/query
      operations:
      - name: getorcreatechannel
        method: POST
        description: Get or create channel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-type-id-read
      path: /api/v2/chat/channels/{type}/{id}/read
      operations:
      - name: markread
        method: POST
        description: Mark read
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-type-id-show
      path: /api/v2/chat/channels/{type}/{id}/show
      operations:
      - name: showchannel
        method: POST
        description: Show channel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-type-id-truncate
      path: /api/v2/chat/channels/{type}/{id}/truncate
      operations:
      - name: truncatechannel
        method: POST
        description: Truncate channel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channels-type-id-unread
      path: /api/v2/chat/channels/{type}/{id}/unread
      operations:
      - name: markunread
        method: POST
        description: Mark unread
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channeltypes
      path: /api/v2/chat/channeltypes
      operations:
      - name: listchanneltypes
        method: GET
        description: List channel types
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createchanneltype
        method: POST
        description: Create channel type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-channeltypes-name
      path: /api/v2/chat/channeltypes/{name}
      operations:
      - name: deletechanneltype
        method: DELETE
        description: Delete channel type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
      - name: getchanneltype
        method: GET
        description: Get channel type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
      - name: updatechanneltype
        method: PUT
        description: Update channel type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-commands
      path: /api/v2/chat/commands
      operations:
      - name: listcommands
        method: GET
        description: List commands
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcommand
        method: POST
        description: Create command
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-commands-name
      path: /api/v2/chat/commands/{name}
      operations:
      - name: deletecommand
        method: DELETE
        description: Delete command
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
      - name: getcommand
        method: GET
        description: Get command
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
      - name: updatecommand
        method: PUT
        description: Update command
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-drafts-query
      path: /api/v2/chat/drafts/query
      operations:
      - name: querydrafts
        method: POST
        description: Query draft messages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-export_channels
      path: /api/v2/chat/export_channels
      operations:
      - name: exportchannels
        method: POST
        description: Export channels
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-members
      path: /api/v2/chat/members
      operations:
      - name: querymembers
        method: GET
        description: Query members
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: payload
          in: query
          type: string
    - name: api-v2-chat-messages-history
      path: /api/v2/chat/messages/history
      operations:
      - name: querymessagehistory
        method: POST
        description: Query message history
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-messages-id
      path: /api/v2/chat/messages/{id}
      operations:
      - name: deletemessage
        method: DELETE
        description: Delete message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: hard
          in: query
          type: boolean
        - name: deleted_by
          in: query
          type: string
        - name: delete_for_me
          in: query
          type: boolean
      - name: getmessage
        method: GET
        description: Get message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: show_deleted_message
          in: query
          type: boolean
      - name: updatemessage
        method: POST
        description: Update message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: updatemessagepartial
        method: PUT
        description: Partially message update
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-messages-id-action
      path: /api/v2/chat/messages/{id}/action
      operations:
      - name: runmessageaction
        method: POST
        description: Run message command action
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-messages-id-commit
      path: /api/v2/chat/messages/{id}/commit
      operations:
      - name: commitmessage
        method: POST
        description: Commit message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-messages-id-ephemeral
      path: /api/v2/chat/messages/{id}/ephemeral
      operations:
      - name: ephemeralmessageupdate
        method: PATCH
        description: Ephemeral message update
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-messages-id-reaction
      path: /api/v2/chat/messages/{id}/reaction
      operations:
      - name: sendreaction
        method: POST
        description: Send reaction
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-messages-id-reaction-type
      path: /api/v2/chat/messages/{id}/reaction/{type}
      operations:
      - name: deletereaction
        method: DELETE
        description: Delete reaction
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: type
          in: path
          type: string
          required: true
        - name: user_id
          in: query
          type: string
    - name: api-v2-chat-messages-id-reactions
      path: /api/v2/chat/messages/{id}/reactions
      operations:
      - name: getreactions
        method: GET
        description: Get reactions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: limit
          in: query
          type: integer
        - name: offset
          in: query
          type: integer
      - name: queryreactions
        method: POST
        description: Get reactions on a message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-messages-id-translate
      path: /api/v2/chat/messages/{id}/translate
      operations:
      - name: translatemessage
        method: POST
        description: Translate message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-messages-id-undelete
      path: /api/v2/chat/messages/{id}/undelete
      operations:
      - name: undeletemessage
        method: POST
        description: Undelete message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-messages-message_id-polls-poll_id-vote
      path: /api/v2/chat/messages/{message_id}/polls/{poll_id}/vote
      operations:
      - name: castpollvote
        method: POST
        description: Cast vote
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: message_id
          in: path
          type: string
          required: true
        - name: poll_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-chat-messages-message_id-polls-poll_id-vote-vote_id
      path: /api/v2/chat/messages/{message_id}/polls/{poll_id}/vote/{vote_id}
      operations:
      - name: deletepollvote
        method: DELETE
        description: Delete vote
        outputRawFormat: json
        outputParameters:
        - name: result
  

# --- truncated at 32 KB (112 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/stream-io/refs/heads/main/capabilities/serverside-product-chat.yaml