Stream · Capability

Stream API — product:chat

Stream API — product:chat. 179 operations. Lead operation: Get App Settings. Self-contained Naftiko capability covering one Stream Io business surface.

Run with Naftiko Stream Ioproduct:chat

What You Can Do

GET
Getapp — Get App Settings
/v1/app
PATCH
Updateapp — Update App Settings
/v1/app
GET
Listblocklists — List block lists
/v1/blocklists
POST
Createblocklist — Create block list
/v1/blocklists
DELETE
Deleteblocklist — Delete block list
/v1/blocklists/{name}
GET
Getblocklist — Get block list
/v1/blocklists/{name}
PUT
Updateblocklist — Update block list
/v1/blocklists/{name}
POST
Createcampaign — Create campaign
/v1/campaigns
POST
Querycampaigns — Query campaigns
/v1/campaigns/query
DELETE
Deletecampaign — Delete campaign
/v1/campaigns/{id}
GET
Getcampaign — Get campaign
/v1/campaigns/{id}
PUT
Updatecampaign — Update campaign
/v1/campaigns/{id}
POST
Startcampaign — Start/schedule campaign
/v1/campaigns/{id}/start
POST
Stopcampaign — Stop campaign
/v1/campaigns/{id}/stop
POST
Querychannels — Query channels
/v1/channels
PUT
Channelbatchupdate — Update channels in batch
/v1/channels/batch
POST
Deletechannels — Deletes channels asynchronously
/v1/channels/delete
POST
Markdelivered — Mark channel message delivery status
/v1/channels/delivered
POST
Groupedquerychannels — Grouped query channels
/v1/channels/grouped
POST
Markchannelsread — Mark channels as read
/v1/channels/read
POST
Getorcreatedistinctchannel — Get or create channel
/v1/channels/{type}/query
DELETE
Deletechannel — Delete channel
/v1/channels/{type}/{id}
PATCH
Updatechannelpartial — Partially update channel
/v1/channels/{type}/{id}
POST
Updatechannel — Update channel
/v1/channels/{type}/{id}
DELETE
Deletedraft — Delete draft
/v1/channels/{type}/{id}/draft
GET
Getdraft — Get draft
/v1/channels/{type}/{id}/draft
POST
Sendevent — Send event
/v1/channels/{type}/{id}/event
DELETE
Deletechannelfile — Delete file
/v1/channels/{type}/{id}/file
POST
Uploadchannelfile — Upload file
/v1/channels/{type}/{id}/file
POST
Hidechannel — Hide channel
/v1/channels/{type}/{id}/hide
DELETE
Deletechannelimage — Delete image
/v1/channels/{type}/{id}/image
POST
Uploadchannelimage — Upload image
/v1/channels/{type}/{id}/image
PATCH
Updatememberpartial — Partially channel member update
/v1/channels/{type}/{id}/member
POST
Sendmessage — Send new message
/v1/channels/{type}/{id}/message
GET
Getmanymessages — Get many messages
/v1/channels/{type}/{id}/messages
POST
Getorcreatechannel — Get or create channel
/v1/channels/{type}/{id}/query
POST
Markread — Mark read
/v1/channels/{type}/{id}/read
POST
Showchannel — Show channel
/v1/channels/{type}/{id}/show
POST
Truncatechannel — Truncate channel
/v1/channels/{type}/{id}/truncate
POST
Markunread — Mark unread
/v1/channels/{type}/{id}/unread
GET
Listchanneltypes — List channel types
/v1/channeltypes
POST
Createchanneltype — Create channel type
/v1/channeltypes
DELETE
Deletechanneltype — Delete channel type
/v1/channeltypes/{name}
GET
Getchanneltype — Get channel type
/v1/channeltypes/{name}
PUT
Updatechanneltype — Update channel type
/v1/channeltypes/{name}
POST
Checkpush — Check push
/v1/check-push
POST
Checksns — Check SNS
/v1/check-sns
POST
Checksqs — Check SQS
/v1/check-sqs
GET
Listcommands — List commands
/v1/commands
POST
Createcommand — Create command
/v1/commands
DELETE
Deletecommand — Delete command
/v1/commands/{name}
GET
Getcommand — Get command
/v1/commands/{name}
PUT
Updatecommand — Update command
/v1/commands/{name}
DELETE
Deletedevice — Delete device
/v1/devices
GET
Listdevices — List devices
/v1/devices
POST
Createdevice — Create device
/v1/devices
POST
Querydrafts — Query draft messages
/v1/drafts/query
POST
Exportusers — Export users
/v1/export/users
POST
Exportchannels — Export channels
/v1/export-channels
GET
Listexternalstorage — List external storage
/v1/external-storage
POST
Createexternalstorage — Create external storage
/v1/external-storage
DELETE
Deleteexternalstorage — Delete external storage
/v1/external-storage/{name}
PUT
Updateexternalstorage — Update External Storage
/v1/external-storage/{name}
GET
Checkexternalstorage — Check External Storage
/v1/external-storage/{name}/check
POST
Createguest — Create Guest
/v1/guest
POST
Createimporturl — Create import URL
/v1/import-urls
GET
Listimports — Get import
/v1/imports
POST
Createimport — Create import
/v1/imports
GET
Listimportv2tasks — List import v2 tasks
/v1/imports/v2
POST
Createimportv2task — Create import v2 task
/v1/imports/v2
DELETE
Deleteimporterexternalstorage — Delete external storage
/v1/imports/v2/external-storage
GET
Getimporterexternalstorage — Get external storage
/v1/imports/v2/external-storage
PUT
Upsertimporterexternalstorage — Upsert external storage
/v1/imports/v2/external-storage
POST
Validateimporterexternalstorage — Validate external storage
/v1/imports/v2/external-storage/validate
DELETE
Deleteimportv2task — Delete import v2 task
/v1/imports/v2/{id}
GET
Getimportv2task — Get import v2 task
/v1/imports/v2/{id}
GET
Getimport — Get import
/v1/imports/{id}
GET
Querymembers — Query members
/v1/members
POST
Querymessagehistory — Query message history
/v1/messages/history
DELETE
Deletemessage — Delete message
/v1/messages/{id}
GET
Getmessage — Get message
/v1/messages/{id}
POST
Updatemessage — Update message
/v1/messages/{id}
PUT
Updatemessagepartial — Partially message update
/v1/messages/{id}
POST
Runmessageaction — Run message command action
/v1/messages/{id}/action
POST
Commitmessage — Commit message
/v1/messages/{id}/commit
PATCH
Ephemeralmessageupdate — Ephemeral message update
/v1/messages/{id}/ephemeral
POST
Sendreaction — Send reaction
/v1/messages/{id}/reaction
DELETE
Deletereaction — Delete reaction
/v1/messages/{id}/reaction/{type}
GET
Getreactions — Get reactions
/v1/messages/{id}/reactions
POST
Queryreactions — Get reactions on a message
/v1/messages/{id}/reactions
POST
Translatemessage — Translate message
/v1/messages/{id}/translate
POST
Undeletemessage — Undelete message
/v1/messages/{id}/undelete
POST
Castpollvote — Cast vote
/v1/messages/{message-id}/polls/{poll-id}/vote
DELETE
Deletepollvote — Delete vote
/v1/messages/{message-id}/polls/{poll-id}/vote/{vote-id}
DELETE
Deletereminder — Delete reminder
/v1/messages/{message-id}/reminders
PATCH
Updatereminder — Updates Reminder
/v1/messages/{message-id}/reminders
POST
Createreminder — Create reminder
/v1/messages/{message-id}/reminders
GET
Getreplies — Get replies
/v1/messages/{parent-id}/replies
DELETE
Unban — Unban user
/v1/moderation/ban
POST
Ban — Ban user
/v1/moderation/ban
POST
Flag — Flag
/v1/moderation/flag
GET
Querymessageflags — Query Message Flags
/v1/moderation/flags/message
POST
Muteuser — Mute user
/v1/moderation/mute
POST
Mutechannel — Mute channel
/v1/moderation/mute/channel
POST
Unmuteuser — Unmute user
/v1/moderation/unmute
POST
Unmutechannel — Unmute channel
/v1/moderation/unmute/channel
GET
Getog — Get OG
/v1/og
GET
Listpermissions — List permissions
/v1/permissions
GET
Getpermission — Get permission
/v1/permissions/{id}
POST
Createpoll — Create poll
/v1/polls
PUT
Updatepoll — Update poll
/v1/polls
POST
Querypolls — Query polls
/v1/polls/query
DELETE
Deletepoll — Delete poll
/v1/polls/{poll-id}
GET
Getpoll — Get poll
/v1/polls/{poll-id}
PATCH
Updatepollpartial — Partial update poll
/v1/polls/{poll-id}
POST
Createpolloption — Create poll option
/v1/polls/{poll-id}/options
PUT
Updatepolloption — Update poll option
/v1/polls/{poll-id}/options
DELETE
Deletepolloption — Delete poll option
/v1/polls/{poll-id}/options/{option-id}
GET
Getpolloption — Get poll option
/v1/polls/{poll-id}/options/{option-id}
POST
Querypollvotes — Query votes
/v1/polls/{poll-id}/votes
POST
Updatepushnotificationpreferences — Push notification preferences
/v1/push-preferences
GET
Listpushproviders — List push providers
/v1/push-providers
POST
Upsertpushprovider — Upsert a push provider
/v1/push-providers
DELETE
Deletepushprovider — Delete a push provider
/v1/push-providers/{type}/{name}
GET
Getpushtemplates — Get push notification templates
/v1/push-templates
POST
Upsertpushtemplate — Upsert a push notification template
/v1/push-templates
GET
Querybannedusers — Query Banned Users
/v1/query-banned-users
GET
Queryfuturechannelbans — Query Future Channel Bans
/v1/query-future-channel-bans
GET
Getratelimits — Get rate limits
/v1/rate-limits
POST
Queryreminders — Query reminders
/v1/reminders/query
GET
Getretentionpolicy — Get retention policy
/v1/retention-policy
POST
Setretentionpolicy — Set retention policy
/v1/retention-policy
POST
Deleteretentionpolicy — Delete retention policy
/v1/retention-policy/delete
POST
Getretentionpolicyruns — Get retention policy runs
/v1/retention-policy/runs
GET
Listroles — List roles
/v1/roles
POST
Createrole — Create role
/v1/roles
DELETE
Deleterole — Delete role
/v1/roles/{name}
GET
Search — Search messages
/v1/search
POST
Querysegments — Query segments
/v1/segments/query
DELETE
Deletesegment — Delete segment
/v1/segments/{id}
GET
Getsegment — Get segment
/v1/segments/{id}
POST
Deletesegmenttargets — Delete targets from a segment
/v1/segments/{id}/deletetargets
GET
Segmenttargetexists — Check whether a target exists in a segment
/v1/segments/{id}/target/{target-id}
POST
Querysegmenttargets — Query segment targets
/v1/segments/{id}/targets/query
POST
Queryteamusagestats — Query Team Usage Statistics
/v1/stats/team-usage
GET
Gettask — Get status of a task
/v1/tasks/{id}
POST
Querythreads — Query Threads
/v1/threads
GET
Getthread — Get Thread
/v1/threads/{message-id}
PATCH
Updatethreadpartial — Partially update thread
/v1/threads/{message-id}
GET
Unreadcounts — Unread counts
/v1/unread
POST
Unreadcountsbatch — Batch unread counts
/v1/unread-batch
DELETE
Deletefile — Delete file
/v1/uploads/file
POST
Uploadfile — Upload file
/v1/uploads/file
DELETE
Deleteimage — Delete image
/v1/uploads/image
POST
Uploadimage — Upload image
/v1/uploads/image
GET
Listusergroups — List user groups
/v1/usergroups
POST
Createusergroup — Create user group
/v1/usergroups
GET
Searchusergroups — Search user groups
/v1/usergroups/search
DELETE
Deleteusergroup — Delete user group
/v1/usergroups/{id}
GET
Getusergroup — Get user group
/v1/usergroups/{id}
PUT
Updateusergroup — Update user group
/v1/usergroups/{id}
POST
Addusergroupmembers — Add user group members
/v1/usergroups/{id}/members
POST
Removeusergroupmembers — Remove user group members
/v1/usergroups/{id}/members/delete
GET
Queryusers — Query users
/v1/users
PATCH
Updateuserspartial — Partially update user
/v1/users
POST
Updateusers — Upsert users
/v1/users
GET
Getblockedusers — Get list of blocked Users
/v1/users/block
POST
Blockusers — Block user
/v1/users/block
POST
Deactivateusers — Deactivate users
/v1/users/deactivate
POST
Deleteusers — Delete Users
/v1/users/delete
GET
Getuserlivelocations — Get user live locations
/v1/users/live-locations
PUT
Updatelivelocation — Update live location
/v1/users/live-locations
POST
Reactivateusers — Reactivate users
/v1/users/reactivate
POST
Restoreusers — Restore users
/v1/users/restore
POST
Unblockusers — Unblock user
/v1/users/unblock
POST
Deactivateuser — Deactivate user
/v1/users/{user-id}/deactivate
POST
Sendusercustomevent — Send user event
/v1/users/{user-id}/event
GET
Exportuser — Export user
/v1/users/{user-id}/export
POST
Reactivateuser — Reactivate user
/v1/users/{user-id}/reactivate

MCP Tools

get-app-settings

Get App Settings

read-only idempotent
update-app-settings

Update App Settings

idempotent
list-block-lists

List block lists

read-only idempotent
create-block-list

Create block list

delete-block-list

Delete block list

idempotent
get-block-list

Get block list

read-only idempotent
update-block-list

Update block list

idempotent
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
check-push

Check push

read-only
check-sns

Check SNS

read-only
check-sqs

Check SQS

read-only
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
delete-device

Delete device

idempotent
list-devices

List devices

read-only idempotent
create-device

Create device

query-draft-messages

Query draft messages

read-only
export-users

Export users

export-channels

Export channels

list-external-storage

List external storage

read-only idempotent
create-external-storage

Create external storage

delete-external-storage

Delete external storage

idempotent
update-external-storage

Update External Storage

idempotent
check-external-storage

Check External Storage

read-only idempotent
create-guest

Create Guest

create-import-url

Create import URL

get-import

Get import

read-only idempotent
create-import

Create import

list-import-v2-tasks

List import v2 tasks

read-only idempotent
create-import-v2-task

Create import v2 task

delete-external-storage-2

Delete external storage

idempotent
get-external-storage

Get external storage

read-only idempotent
upsert-external-storage

Upsert external storage

idempotent
validate-external-storage

Validate external storage

read-only
delete-import-v2-task

Delete import v2 task

idempotent
get-import-v2-task

Get import v2 task

read-only idempotent
get-import-2

Get import

read-only idempotent
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
unban-user

Unban user

idempotent
ban-user

Ban user

flag

Flag

query-message-flags

Query Message Flags

read-only idempotent
mute-user

Mute user

mute-channel

Mute channel

unmute-user

Unmute user

unmute-channel

Unmute channel

get-og

Get OG

read-only idempotent
list-permissions

List permissions

read-only idempotent
get-permission

Get permission

read-only idempotent
create-poll

Create poll

update-poll

Update poll

idempotent
query-polls

Query polls

read-only
delete-poll

Delete poll

idempotent
get-poll

Get poll

read-only idempotent
partial-update-poll

Partial update poll

idempotent
create-poll-option

Create poll option

update-poll-option

Update poll option

idempotent
delete-poll-option

Delete poll option

idempotent
get-poll-option

Get poll option

read-only idempotent
query-votes

Query votes

read-only
push-notification-preferences

Push notification preferences

list-push-providers

List push providers

read-only idempotent
upsert-push-provider

Upsert a push provider

delete-push-provider

Delete a push provider

idempotent
get-push-notification-templates

Get push notification templates

read-only idempotent
upsert-push-notification-template

Upsert a push notification template

query-banned-users

Query Banned Users

read-only idempotent
query-future-channel-bans

Query Future Channel Bans

read-only idempotent
get-rate-limits

Get rate limits

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
list-roles

List roles

read-only idempotent
create-role

Create role

delete-role

Delete role

idempotent
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
get-status-task

Get status of a task

read-only idempotent
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

delete-file-2

Delete file

idempotent
upload-file-2

Upload file

delete-image-2

Delete image

idempotent
upload-image-2

Upload image

list-user-groups

List user groups

read-only idempotent
create-user-group

Create user group

search-user-groups

Search user groups

read-only idempotent
delete-user-group

Delete user group

idempotent
get-user-group

Get user group

read-only idempotent
update-user-group

Update user group

idempotent
add-user-group-members

Add user group members

remove-user-group-members

Remove user group members

query-users

Query users

read-only idempotent
partially-update-user

Partially update user

idempotent
upsert-users

Upsert users

get-list-blocked-users

Get list of blocked Users

read-only idempotent
block-user

Block user

deactivate-users

Deactivate users

delete-users

Delete Users

get-user-live-locations

Get user live locations

read-only idempotent
update-live-location

Update live location

idempotent
reactivate-users

Reactivate users

restore-users

Restore users

unblock-user

Unblock user

deactivate-user

Deactivate user

send-user-event

Send user event

export-user

Export user

read-only idempotent
reactivate-user

Reactivate user

Capability Spec

chat-product-chat.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Stream API — product:chat
  description: 'Stream API — product:chat. 179 operations. Lead operation: Get App Settings. 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: chat-product-chat
    baseUri: https://chat.stream-io-api.com
    description: Stream API — product:chat business capability. Self-contained, no shared references.
    resources:
    - name: app
      path: /app
      operations:
      - name: getapp
        method: GET
        description: Get App Settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateapp
        method: PATCH
        description: Update App Settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: blocklists
      path: /blocklists
      operations:
      - name: listblocklists
        method: GET
        description: List block lists
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: team
          in: query
          type: string
      - name: createblocklist
        method: POST
        description: Create block list
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: blocklists-name
      path: /blocklists/{name}
      operations:
      - name: deleteblocklist
        method: DELETE
        description: Delete block list
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
        - name: team
          in: query
          type: string
      - name: getblocklist
        method: GET
        description: Get block list
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
        - name: team
          in: query
          type: string
      - name: updateblocklist
        method: PUT
        description: Update block list
        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: campaigns
      path: /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: campaigns-query
      path: /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: campaigns-id
      path: /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: campaigns-id-start
      path: /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: campaigns-id-stop
      path: /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: channels
      path: /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: channels-batch
      path: /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: channels-delete
      path: /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: channels-delivered
      path: /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: channels-grouped
      path: /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: channels-read
      path: /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: channels-type-query
      path: /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: channels-type-id
      path: /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: channels-type-id-draft
      path: /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: channels-type-id-event
      path: /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: channels-type-id-file
      path: /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: channels-type-id-hide
      path: /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: channels-type-id-image
      path: /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: channels-type-id-member
      path: /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: channels-type-id-message
      path: /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: channels-type-id-messages
      path: /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: channels-type-id-query
      path: /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: channels-type-id-read
      path: /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: channels-type-id-show
      path: /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: channels-type-id-truncate
      path: /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: channels-type-id-unread
      path: /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: channeltypes
      path: /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: channeltypes-name
      path: /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: check_push
      path: /check_push
      operations:
      - name: checkpush
        method: POST
        description: Check push
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: check_sns
      path: /check_sns
      operations:
      - name: checksns
        method: POST
        description: Check SNS
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: check_sqs
      path: /check_sqs
      operations:
      - name: checksqs
        method: POST
        description: Check SQS
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: commands
      path: /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: commands-name
      path: /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: devices
      path: /devices
      operations:
      - name: deletedevice
        method: DELETE
        description: Delete device
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: query
          type: string
          required: true
        - name: user_id
          in: query
          type: string
      - name: listdevices
        method: GET
        description: List devices
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: query
          type: string
      - name: createdevice
        method: POST
        description: Create device
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: drafts-query
      path: /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: export-users
      path: /export/users
      operations:
      - name: exportusers
        method: POST
        description: Export users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: export_channels
      path: /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: external_storage
      path: /external_storage
      operations:
      - name: listexternalstorage
        method: GET
        description: List external storage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createexternalstorage
        method: POST
        description: Create external storage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: external_storage-name
      path: /external_storage/{name}
      operations:
      - name: deleteexternalstorage
        method: DELETE
        description: Delete external storage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
      - name: updateexternalstorage
        method: PUT
        description: Update External Storage
        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: external_storage-name-check
      path: /external_storage/{name}/check
      operations:
      - name: checkexternalstorage
        method: GET
        description: Check External Storage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
    - name: guest
      path: /guest
      operations:
      - name: createguest
        method: POST
        description: Create Guest
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: import_urls
      path: /import_urls
      operations:
      - name: createimporturl
        method: POST
        description: Create import URL
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: imports
      path: /imports
      operations:
      - name: listimports
        method: GET
        description: Get import
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createimport
        method: POST
        description: Create import
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: imports-v2
      path: /imports/v2
      operations:
      - name: listimportv2tasks
        method: GET
        description: List import v2 tasks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: state
          in: query
          type: integer
      - name: createimportv2task
        method: POST
        description: Create import v2 task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: imports-v2-external-storage
      path: /imports/v2/external-sto

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