Salesforce Streaming Channels API

Generic streaming channels for custom event delivery

Operations 6

GET /sobjects/StreamingChannel List Streaming Channels #
POST /sobjects/StreamingChannel Create a Streaming Channel #
GET /sobjects/StreamingChannel/{channelId} Get a Streaming Channel #
PATCH /sobjects/StreamingChannel/{channelId} Update a Streaming Channel #
DELETE /sobjects/StreamingChannel/{channelId} Delete a Streaming Channel #
POST /sobjects/StreamingChannel/{channelId}/push Push an event to a Streaming Channel #

Documentation

📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/
📖
Authentication
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_oauth_and_connected_apps.htm
📖
GettingStarted
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/quickstart.htm
📖
APIReference
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_list.htm
📖
RateLimits
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_limits.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/
📖
GettingStarted
https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_quickstart.htm
📖
Authentication
https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/authentication.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/
📖
GettingStarted
https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/quick_start.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.bi_dev_guide_rest.meta/bi_dev_guide_rest/
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/intro_what_is_chatter_connect.htm
📖
GettingStarted
https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/quickstart.htm
📖
APIReference
https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/connect_resources_overview.htm
📖
RateLimits
https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/intro_rate_limits.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.change_data_capture.meta/change_data_capture
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_actions_invocable.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_composite_composite.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_rest.htm
📖
GettingStarted
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_rest_intro.htm
📖
APIReference
https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_restrequest.htm

Specifications

Code Examples

Schemas & Data

Other Resources

🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/salesforce/refs/heads/main/json-ld/salesforce-automation-context.jsonld
🔗
ChangeLog
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/rest_rns.htm
🔗
PostmanCollection
https://www.postman.com/salesforce-developers/workspace/salesforce-developers/overview
🔗
Best Practices
https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_best_practices.htm
🔗
Developer Guide
https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_intro.htm
🔗
Flow Object Reference
https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_flow.htm
🔗
Examples
https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/quickreference.htm
🔗
Developer Guide
https://developer.salesforce.com/docs/atlas.en-us.change_data_capture.meta/change_data_capture/cdc_what.htm
🔗
Trailhead
https://trailhead.salesforce.com/content/learn/modules/change-data-capture/understand-change-data-capture
🔗
Standard Actions Reference
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_actions_invocable_standard.htm
🔗
Custom Actions Reference
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_actions_invocable_custom.htm
🔗
Flow Actions
https://developer.salesforce.com/docs/atlas.en-us.api_action.meta/api_action/actions_obj_flow.htm
🔗
Launch a Flow from REST API
https://help.salesforce.com/s/articleView?id=sf.flow_distribute_system_rest.htm&language=en_US&type=5
🔗
Developer Guide
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/using_composite_resources.htm
🔗
Composite Batch
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_composite_batch.htm
🔗
Composite Graph
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/using_resources_composite_graph.htm

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/salesforce-automation-streaming-channels-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

salesforce-automation-streaming-channels-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Salesforce Streaming Streaming Channels API
  description: REST endpoints for managing PushTopic and Streaming Channel resources used with the Salesforce Streaming API. The Streaming API uses the Bayeux protocol (CometD) over long polling or WebSocket connections to deliver real-time notifications. PushTopics define SOQL queries that trigger events when matching records change. Streaming Channels provide generic event delivery. Subscriptions are established via CometD handshake at /cometd/{apiVersion}.
  version: '63.0'
  contact:
    name: Salesforce Developer Support
    url: https://developer.salesforce.com/support
    email: developer@salesforce.com
  license:
    name: Salesforce API Terms of Use
    url: https://www.salesforce.com/company/legal/agreements/
servers:
- url: https://{instance}.salesforce.com/services/data/v63.0
  description: Salesforce production or developer instance
  variables:
    instance:
      default: yourInstance
      description: Your Salesforce instance identifier
security:
- oauth2: []
- bearerAuth: []
tags:
- name: Streaming Channels
  description: Generic streaming channels for custom event delivery
paths:
  /sobjects/StreamingChannel:
    get:
      operationId: listStreamingChannels
      summary: List Streaming Channels
      description: Returns all generic Streaming Channel records in the org. Streaming Channels allow publishing custom JSON events to subscribers.
      tags:
      - Streaming Channels
      responses:
        '200':
          description: List of Streaming Channels
          content:
            application/json:
              schema:
                type: object
                properties:
                  totalSize:
                    type: integer
                  done:
                    type: boolean
                  records:
                    type: array
                    items:
                      $ref: '#/components/schemas/StreamingChannel'
    post:
      operationId: createStreamingChannel
      summary: Create a Streaming Channel
      description: Creates a new generic Streaming Channel for publishing custom events. Events are delivered to subscribers on the /u/{channelName} CometD channel.
      tags:
      - Streaming Channels
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StreamingChannelInput'
      responses:
        '201':
          description: Streaming Channel created
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  success:
                    type: boolean
                  errors:
                    type: array
                    items:
                      type: object
  /sobjects/StreamingChannel/{channelId}:
    get:
      operationId: getStreamingChannel
      summary: Get a Streaming Channel
      description: Retrieves a specific Streaming Channel record by ID.
      tags:
      - Streaming Channels
      parameters:
      - name: channelId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Streaming Channel record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StreamingChannel'
    patch:
      operationId: updateStreamingChannel
      summary: Update a Streaming Channel
      description: Updates the properties of an existing Streaming Channel.
      tags:
      - Streaming Channels
      parameters:
      - name: channelId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StreamingChannelInput'
      responses:
        '204':
          description: Streaming Channel updated
    delete:
      operationId: deleteStreamingChannel
      summary: Delete a Streaming Channel
      description: Deletes a Streaming Channel. Active subscribers will be disconnected.
      tags:
      - Streaming Channels
      parameters:
      - name: channelId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Streaming Channel deleted
  /sobjects/StreamingChannel/{channelId}/push:
    post:
      operationId: pushEvent
      summary: Push an event to a Streaming Channel
      description: Publishes a custom event to all subscribers of the specified Streaming Channel. The event payload is a JSON string up to 8 KB.
      tags:
      - Streaming Channels
      parameters:
      - name: channelId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - pushEvents
              properties:
                pushEvents:
                  type: array
                  items:
                    type: object
                    required:
                    - payload
                    properties:
                      payload:
                        type: string
                        description: The JSON event payload (up to 8 KB)
                        maxLength: 8192
                      userIds:
                        type: array
                        items:
                          type: string
                        description: Optional list of user IDs to deliver the event to. If omitted, all subscribers receive the event.
      responses:
        '200':
          description: Push result
          content:
            application/json:
              schema:
                type: object
                properties:
                  fanoutCount:
                    type: integer
                    description: Number of subscribers who received the event
components:
  schemas:
    StreamingChannelInput:
      type: object
      properties:
        Name:
          type: string
          description: Must start with /u/ (e.g., /u/MyChannel)
        Description:
          type: string
    StreamingChannel:
      type: object
      properties:
        Id:
          type: string
        Name:
          type: string
          description: The channel name, which must start with /u/ (e.g., /u/MyChannel)
        Description:
          type:
          - string
          - 'null'
        IsDynamic:
          type: boolean
          description: Whether the channel was created dynamically via CometD subscription
        CreatedDate:
          type: string
          format: date-time
        LastModifiedDate:
          type: string
          format: date-time
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://login.salesforce.com/services/oauth2/authorize
          tokenUrl: https://login.salesforce.com/services/oauth2/token
          scopes:
            api: Access and manage your Salesforce data
    bearerAuth:
      type: http
      scheme: bearer