Stream product:common API

The product:common API from Stream — 54 operation(s) for product:common.

OpenAPI Specification

stream-io-product-common-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Stream product:chat product:common 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:common
paths:
  /api/v2/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:common
    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:common
  /api/v2/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:common
    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:common
  /api/v2/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:common
    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:common
    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:common
  /api/v2/check_push:
    post:
      description: 'Sends a test message via push, this is a test endpoint to verify your push settings

        '
      operationId: CheckPush
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckPushRequest'
        description: CheckPushRequest
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckPushResponse'
          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: Check push
      tags:
      - product:common
  /api/v2/check_sns:
    post:
      description: 'Validates Amazon SNS configuration

        '
      operationId: CheckSNS
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckSNSRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckSNSResponse'
          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: Check SNS
      tags:
      - product:common
  /api/v2/check_sqs:
    post:
      description: 'Validates Amazon SQS credentials

        '
      operationId: CheckSQS
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckSQSRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckSQSResponse'
          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: Check SQS
      tags:
      - product:common
  /api/v2/devices:
    delete:
      description: 'Deletes one device

        '
      operationId: DeleteDevice
      parameters:
      - in: query
        name: id
        required: true
        schema:
          description: Device ID to delete
          title: ID
          type: string
          writeOnly: true
          x-stream-index: '001'
      - in: query
        name: user_id
        schema:
          description: '**Server-side only**. User ID which server acts upon'
          title: User ID
          type: string
          writeOnly: true
          x-stream-index: '002.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 device
      tags:
      - product:common
    get:
      description: 'Returns all available devices

        '
      operationId: ListDevices
      parameters:
      - in: query
        name: user_id
        schema:
          description: '**Server-side only**. User ID which server acts upon'
          title: User ID
          type: string
          writeOnly: true
          x-stream-index: '001.001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListDevicesResponse'
          description: ListDevicesResponse
        '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 devices
      tags:
      - product:common
    post:
      description: 'Adds a new device to a user, if the same device already exists the call will have no effect

        '
      operationId: CreateDevice
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDeviceRequest'
        description: CreateDeviceRequest
        required: true
      responses:
        '201':
          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: Create device
      tags:
      - product:common
  /api/v2/export/users:
    post:
      description: 'Exports user profile, reactions and messages for list of given users

        '
      operationId: ExportUsers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExportUsersRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportUsersResponse'
          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: Export users
      tags:
      - product:common
  /api/v2/external_storage:
    get:
      description: 'Lists external storage

        '
      operationId: ListExternalStorage
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListExternalStorageResponse'
          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 external storage
      tags:
      - product:common
    post:
      description: 'Creates new external storage

        '
      operationId: CreateExternalStorage
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateExternalStorageRequest'
        description: CreateExternalStorageRequest
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateExternalStorageResponse'
          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 external storage
      tags:
      - product:common
  /api/v2/external_storage/{name}:
    delete:
      description: 'Deletes external storage

        '
      operationId: DeleteExternalStorage
      parameters:
      - in: path
        name: name
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '002'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteExternalStorageResponse'
          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 external storage
      tags:
      - product:common
    put:
      description: '

        '
      operationId: UpdateExternalStorage
      parameters:
      - in: path
        name: name
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '001'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateExternalStorageRequest'
        description: ExternalStorageRequest
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateExternalStorageResponse'
          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 External Storage
      tags:
      - product:common
  /api/v2/external_storage/{name}/check:
    get:
      description: '

        '
      operationId: CheckExternalStorage
      parameters:
      - in: path
        name: name
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '002'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckExternalStorageResponse'
          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: Check External Storage
      tags:
      - product:common
  /api/v2/guest:
    post:
      description: '

        '
      operationId: CreateGuest
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateGuestRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateGuestResponse'
          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: Create Guest
      tags:
      - product:common
  /api/v2/import_urls:
    post:
      description: 'Creates a new import URL

        '
      operationId: CreateImportURL
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateImportURLRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateImportURLResponse'
          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 import URL
      tags:
      - product:common
  /api/v2/imports:
    get:
      description: 'Gets an import

        '
      operationId: ListImports
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListImportsResponse'
          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 import
      tags:
      - product:common
    post:
      description: 'Creates a new import

        '
      operationId: CreateImport
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateImportRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateImportResponse'
          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 import
      tags:
      - product:common
  /api/v2/imports/{id}:
    get:
      description: 'Gets an import

        '
      operationId: GetImport
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetImportResponse'
          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 import
      tags:
      - product:common
  /api/v2/imports/v2:
    get:
      description: 'Lists all import v2 tasks for the app

        '
      operationId: ListImportV2Tasks
      parameters:
      - in: query
        name: state
        schema:
          format: int32
          type: integer
          writeOnly: true
          x-stream-index: '001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListImportV2TasksResponse'
          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 import v2 tasks
      tags:
      - product:common
    post:
      description: 'Creates a new import v2 task

        '
      operationId: CreateImportV2Task
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateImportV2TaskRequest'
        description: ClientRequest
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateImportV2TaskResponse'
          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 import v2 task
      tags:
      - product:common
  /api/v2/imports/v2/{id}:
    delete:
      description: 'Deletes an import v2 task. Can only delete tasks in queued state.

        '
      operationId: DeleteImportV2Task
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteImportV2TaskResponse'
          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 import v2 task
      tags:
      - product:common
    get:
      description: 'Gets a single import v2 task by ID

        '
      operationId: GetImportV2Task
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
          writeOnly: true
          x-stream-index: '001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetImportV2TaskResponse'
          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 import v2 task
      tags:
      - product:common
  /api/v2/imports/v2/external-storage:
    delete:
      description: 'Removes the external storage configuration for the app. Idempotent: succeeds even if no configuration exists.

        '
      operationId: DeleteImporterExternalStorage
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteExternalStorageResponse'
          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 external storage
      tags:
      - product:common
    get:
      description: 'Returns the current external storage configuration for the app. Returns 404 if no configuration exists.

        '
      operationId: GetImporterExternalStorage
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetExternalStorageResponse'
          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 external storage
      tags:
      - product:common
    put:
      description: 'Creates or updates the external storage configuration for the app. Currently only AWS S3 (via cross-account IAM role assumption) is supported.

        '
      operationId: UpsertImporterExternalStorage
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertExternalStorageRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpsertExternalStorageResponse'
          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: Upsert external storage
      tags:
      - product:common
  /api/v2/imports/v2/external-storage/validate:
    post:
      description: 'Validates the configured external S3 storage by performing a live STS AssumeRole and S3 ListObjectsV2 check.

        '
      operationId: ValidateImporterExternalStorage
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateExternalStorageResponse'
          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: Validate external storage
      tags:
      - product:common
  /api/v2/og:
    get:
      description: 'Get an OpenGraph attachment for a link

        '
      operationId: GetOG
      parameters:
      - in: query
        name: url
        required: true
        schema:
          description: URL to be scraped
          title: URL
          type: string
          writeOnly: true
          x-stream-index: '001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOGResponse'
          description: Get OG Attachment
        '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 OG
      tags:
      - product:common
  /api/v2/permissions:
    get:
      description: 'Lists all available permissions

        '
      operationId: ListPermissions
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPermissionsResponse'
          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 permissions
      tags:
      - product:common
  /api/v2/permissions/{id}:
    get:
      description: 'Gets custom permission

        '
      operationId: GetPermission
      parameters:
      - in: path
        name: id
        required: true
        schema:
          description: Permission ID
          title: ID
          type: string
          writeOnly: true
          x-stream-index: '001

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