Stream product:chat API

The product:chat API from Stream — 194 operation(s) for product:chat.

OpenAPI Specification

stream-io-product-chat-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Stream product:chat API
  version: v228.3.0
servers:
- description: Stream API
  url: https://chat.stream-io-api.com
security:
- JWT: []
  api_key: []
  stream-auth-type: []
- api_key: []
  stream-auth-type: []
tags:
- name: product:chat
paths:
  /app:
    get:
      description: 'This Method returns the application settings

        '
      operationId: GetApp
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApplicationResponse'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Get App Settings
      tags:
      - product:chat
    patch:
      description: 'This Method updates one or more application settings

        '
      operationId: UpdateApp
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAppRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Update App Settings
      tags:
      - product:chat
  /blocklists:
    get:
      description: 'Returns all available block lists

        '
      operationId: ListBlockLists
      parameters:
      - in: query
        name: team
        schema:
          type: string
          writeOnly: true
          x-stream-index: '001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBlockListResponse'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: List block lists
      tags:
      - product:chat
    post:
      description: 'Creates a new application blocklist, once created the blocklist can be used by any channel type

        '
      operationId: CreateBlockList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBlockListRequest'
        description: Block list
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBlockListResponse'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Create block list
      tags:
      - product:chat
  /blocklists/{name}:
    delete:
      description: 'Deletes previously created application blocklist

        '
      operationId: DeleteBlockList
      parameters:
      - in: path
        name: name
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '001'
      - in: query
        name: team
        schema:
          type: string
          x-stream-index: '002'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Delete block list
      tags:
      - product:chat
    get:
      description: 'Returns block list by given name

        '
      operationId: GetBlockList
      parameters:
      - in: path
        name: name
        required: true
        schema:
          description: Block list name
          title: Name
          type: string
          writeOnly: true
          x-stream-index: '001'
      - in: query
        name: team
        schema:
          type: string
          writeOnly: true
          x-stream-index: '002'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBlockListResponse'
          description: GetBlockListResponse
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Get block list
      tags:
      - product:chat
    put:
      description: 'Updates contents of the block list

        '
      operationId: UpdateBlockList
      parameters:
      - in: path
        name: name
        required: true
        schema:
          description: Block list name
          title: Name
          type: string
          writeOnly: true
          x-stream-index: '001'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBlockListRequest'
        description: Update block list
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateBlockListResponse'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Update block list
      tags:
      - product:chat
  /campaigns:
    post:
      description: 'Creates a campaign

        '
      operationId: CreateCampaign
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCampaignRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCampaignResponse'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Create campaign
      tags:
      - product:chat
  /campaigns/{id}:
    delete:
      description: 'Delete campaign

        '
      operationId: DeleteCampaign
      parameters:
      - in: path
        name: id
        required: true
        schema:
          description: The ID of the campaign (uuid)
          maxLength: 255
          title: Campaign ID
          type: string
          writeOnly: true
          x-stream-index: '001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCampaignResponse'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Delete campaign
      tags:
      - product:chat
    get:
      description: 'Get campaign by ID.

        '
      operationId: GetCampaign
      parameters:
      - in: path
        name: id
        required: true
        schema:
          description: The ID of the campaign (uuid)
          maxLength: 255
          title: Campaign ID
          type: string
          writeOnly: true
          x-stream-index: '001'
      - in: query
        name: prev
        schema:
          description: Token for the previous page of campaign users
          title: Previous Users Page
          type: string
          writeOnly: true
          x-stream-index: '002.001'
      - in: query
        name: next
        schema:
          description: Token for the next page of campaign users
          title: Next Users Page
          type: string
          writeOnly: true
          x-stream-index: '002.002'
      - in: query
        name: limit
        schema:
          description: 'Maximum number of campaign users to return in a single request (max: 1000)'
          format: int32
          maximum: 1000
          minimum: 0
          title: Users Limit
          type: integer
          writeOnly: true
          x-stream-index: '002.003'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCampaignResponse'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Get campaign
      tags:
      - product:chat
    put:
      description: 'Updates a campaign

        '
      operationId: UpdateCampaign
      parameters:
      - in: path
        name: id
        required: true
        schema:
          maxLength: 255
          type: string
          writeOnly: true
          x-stream-index: '002'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCampaignRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Update campaign
      tags:
      - product:chat
  /campaigns/{id}/start:
    post:
      description: 'Starts or schedules a campaign

        '
      operationId: StartCampaign
      parameters:
      - in: path
        name: id
        required: true
        schema:
          maxLength: 255
          type: string
          writeOnly: true
          x-stream-index: '001'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartCampaignRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartCampaignResponse'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Start/schedule campaign
      tags:
      - product:chat
  /campaigns/{id}/stop:
    post:
      description: 'Stops a campaign

        '
      operationId: StopCampaign
      parameters:
      - in: path
        name: id
        required: true
        schema:
          maxLength: 255
          type: string
          writeOnly: true
          x-stream-index: '001'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Stop campaign
      tags:
      - product:chat
  /campaigns/query:
    post:
      description: 'Query campaigns with filter query

        '
      operationId: QueryCampaigns
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryCampaignsRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryCampaignsResponse'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Query campaigns
      tags:
      - product:chat
  /channels:
    post:
      description: 'Query channels with filter query

        '
      operationId: QueryChannels
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryChannelsRequest'
        description: Query Channels Request
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryChannelsResponse'
          description: Channels list
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Query channels
      tags:
      - product:chat
  /channels/{type}/{id}:
    delete:
      description: 'Deletes channel


        Sends events:

        - channel.deleted

        '
      operationId: DeleteChannel
      parameters:
      - in: path
        name: type
        required: true
        schema:
          description: Channel type to interact with
          title: Channel type
          type: string
          writeOnly: true
          x-stream-index: '001.001'
      - in: path
        name: id
        required: true
        schema:
          description: Channel ID to interact with
          title: Channel ID
          type: string
          writeOnly: true
          x-stream-index: '001.002'
      - in: query
        name: hard_delete
        schema:
          type: boolean
          x-stream-index: '002'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteChannelResponse'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Delete channel
      tags:
      - product:chat
    patch:
      description: 'Updates certain fields of the channel


        Sends events:

        - channel.updated

        '
      operationId: UpdateChannelPartial
      parameters:
      - in: path
        name: type
        required: true
        schema:
          description: Channel type to interact with
          title: Channel type
          type: string
          writeOnly: true
          x-stream-index: '001.001'
      - in: path
        name: id
        required: true
        schema:
          description: Channel ID to interact with
          title: Channel ID
          type: string
          writeOnly: true
          x-stream-index: '001.002'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateChannelPartialRequest'
        description: UpdateChannelPartialRequest
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateChannelPartialResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Partially update channel
      tags:
      - product:chat
    post:
      description: 'Change channel data


        Sends events:

        - channel.updated

        - member.added

        - member.removed

        - member.updated

        - message.new

        '
      operationId: UpdateChannel
      parameters:
      - in: path
        name: type
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: 016.002.001
      - in: path
        name: id
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: 016.002.002
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateChannelRequest'
        description: Channel update request
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateChannelResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Update channel
      tags:
      - product:chat
  /channels/{type}/{id}/draft:
    delete:
      description: 'Deletes a draft


        Sends events:

        - draft.deleted

        '
      operationId: DeleteDraft
      parameters:
      - in: path
        name: type
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '002.001'
      - in: path
        name: id
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '002.002'
      - in: query
        name: parent_id
        schema:
          description: Parent message ID
          title: string
          type: string
          writeOnly: true
          x-stream-index: '001'
      - in: query
        name: user_id
        schema:
          type: string
          writeOnly: true
          x-stream-index: '003.001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Delete draft
      tags:
      - product:chat
    get:
      description: 'Get a draft

        '
      operationId: GetDraft
      parameters:
      - in: path
        name: type
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '002.001'
      - in: path
        name: id
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '002.002'
      - in: query
        name: parent_id
        schema:
          description: Parent message ID
          title: string
          type: string
          writeOnly: true
          x-stream-index: '001'
      - in: query
        name: user_id
        schema:
          type: string
          writeOnly: true
          x-stream-index: '003.001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDraftResponse'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Get draft
      tags:
      - product:chat
  /channels/{type}/{id}/event:
    post:
      description: 'Sends event to the channel

        '
      operationId: SendEvent
      parameters:
      - in: path
        name: type
        required: true
        schema:
          description: Channel type to interact with
          title: Channel type
          type: string
          writeOnly: true
          x-stream-index: '002.001'
      - in: path
        name: id
        required: true
        schema:
          description: Channel ID to interact with
          title: Channel ID
          type: string
          writeOnly: true
          x-stream-index: '002.002'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendEventRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Send event
      tags:
      - product:chat
  /channels/{type}/{id}/file:
    delete:
      description: 'Deletes previously uploaded file

        '
      operationId: DeleteChannelFile
      parameters:
      - in: path
        name: type
        required: true
        schema:
          description: The type of file
          title: Type
          type: string
          writeOnly: true
          x-stream-index: '002.001'
      - in: path
        name: id
        required: true
        schema:
          description: File ID
          title: ID
          type: string
          writeOnly: true
          x-stream-index: '002.002'
      - in: query
        name: url
        schema:
          description: File URL to delete
          title: URL
          type: string
          writeOnly: true
          x-stream-index: '001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Delete file
      tags:
      - product:chat
    post:
      description: 'Uploads file

        '
      operationId: UploadChannelFile
      parameters:
      - in: path
        name: type
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '001.001'
      - in: path
        name: id
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '001.002'
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UploadChannelFileRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadChannelFileResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Upload file
      tags:
      - product:chat
  /channels/{type}/{id}/hide:
    post:
      description: 'Marks channel as hidden for current user


        Sends events:

        - channel.hidden

        '
      operationId: HideChannel
      parameters:
      - in: path
        name: type
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '002.001'
      - in: path
        name: id
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '002.002'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HideChannelRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HideChannelResponse'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Hide channel
      tags:
      - product:chat
  /channels/{type}/{id}/image:
    delete:
      description: 'Deletes previously uploaded image

        '
      operationId: DeleteChannelImage
      parameters:
      - in: path
        name: type
        required: true
        schema:
          description: The type of file
          title: Type
          type: string
          writeOnly: true
          x-stream-index: '002.001'
      - in: path
        name: id
        required: true
        schema:
          description: File ID
          title: ID
          type: string
          writeOnly: true
          x-stream-index: '002.002'
      - in: query
        name: url
        schema:
          description: File URL to delete
          title: URL
          type: string
          writeOnly: true
          x-stream-index: '001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response'
          description: Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Delete image
      tags:
      - product:chat
    post:
      description: 'Uploads image

        '
      operationId: UploadChannelImage
      parameters:
      - in: path
        name: type
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: 001.001.001
      - in: path
        name: id
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: 001.001.002
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UploadChannelRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadChannelResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Upload image
      tags:
      - product:chat
  /channels/{type}/{id}/member:
    patch:
      description: '

        '
      operationId: UpdateMemberPartial
      parameters:
      - in: path
        name: type
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '003.001'
      - in: path
        name: id
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '003.002'
      - in: query
        name: user_id
        schema:
          type: string
          writeOnly: true
          x-stream-index: '005.001'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateMemberPartialRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateMemberPartialResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Partially channel member update
      tags:
      - product:chat
  /channels/{type}/{id}/message:
    post:
      description: 'Sends new message to the specified channel


        Sends events:

        - message.new

        - message.updated

        '
      operationId: SendMessage
      parameters:

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