Salesforce PushTopics API

SOQL-based streaming event topics (deprecated; use Platform Events or CDC)

Operations 5

GET /sobjects/PushTopic List PushTopics #
POST /sobjects/PushTopic Create a PushTopic #
GET /sobjects/PushTopic/{pushTopicId} Get a PushTopic #
PATCH /sobjects/PushTopic/{pushTopicId} Update a PushTopic #
DELETE /sobjects/PushTopic/{pushTopicId} Delete a PushTopic #

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-pushtopics-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-pushtopics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Salesforce Streaming Push Topics 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: PushTopics
  description: SOQL-based streaming event topics (deprecated; use Platform Events or CDC)
paths:
  /sobjects/PushTopic:
    get:
      operationId: listPushTopics
      summary: List PushTopics
      description: 'Returns all PushTopic records in the org. PushTopics define SOQL queries that determine which record changes generate streaming events. Note: PushTopics are deprecated in favor of Platform Events and Change Data Capture.'
      tags:
      - PushTopics
      responses:
        '200':
          description: List of PushTopics
          content:
            application/json:
              schema:
                type: object
                properties:
                  totalSize:
                    type: integer
                  done:
                    type: boolean
                  records:
                    type: array
                    items:
                      $ref: '#/components/schemas/PushTopic'
    post:
      operationId: createPushTopic
      summary: Create a PushTopic
      description: Creates a new PushTopic that defines a SOQL query to monitor for record changes. When records matching the query change, events are delivered to subscribers on the /topic/{pushTopicName} CometD channel.
      tags:
      - PushTopics
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PushTopicInput'
      responses:
        '201':
          description: PushTopic created
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  success:
                    type: boolean
                  errors:
                    type: array
                    items:
                      type: object
  /sobjects/PushTopic/{pushTopicId}:
    get:
      operationId: getPushTopic
      summary: Get a PushTopic
      description: Retrieves a specific PushTopic record by ID.
      tags:
      - PushTopics
      parameters:
      - name: pushTopicId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: PushTopic record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PushTopic'
    patch:
      operationId: updatePushTopic
      summary: Update a PushTopic
      description: Updates the SOQL query, notification settings, or other properties of an existing PushTopic.
      tags:
      - PushTopics
      parameters:
      - name: pushTopicId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PushTopicInput'
      responses:
        '204':
          description: PushTopic updated
    delete:
      operationId: deletePushTopic
      summary: Delete a PushTopic
      description: Deletes a PushTopic. Active subscribers will be disconnected.
      tags:
      - PushTopics
      parameters:
      - name: pushTopicId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: PushTopic deleted
components:
  schemas:
    PushTopic:
      type: object
      properties:
        Id:
          type: string
        Name:
          type: string
          description: The name of the PushTopic, used as the CometD channel name (/topic/{Name})
        Query:
          type: string
          description: The SOQL query that defines which records to monitor. Must be a SELECT query on a single SObject.
        ApiVersion:
          type: number
          description: The API version for this PushTopic
        IsActive:
          type: boolean
          description: Whether this PushTopic is actively generating events
        NotifyForFields:
          type: string
          enum:
          - Select
          - Where
          - Referenced
          - All
          description: 'Which field changes trigger notifications: Select (fields in SELECT), Where (fields in WHERE), Referenced (both), All (any field)'
        NotifyForOperationCreate:
          type: boolean
          description: Whether to generate events when matching records are created
        NotifyForOperationUpdate:
          type: boolean
          description: Whether to generate events when matching records are updated
        NotifyForOperationDelete:
          type: boolean
          description: Whether to generate events when matching records are deleted
        NotifyForOperationUndelete:
          type: boolean
          description: Whether to generate events when matching records are undeleted
        Description:
          type:
          - string
          - 'null'
        CreatedDate:
          type: string
          format: date-time
        LastModifiedDate:
          type: string
          format: date-time
    PushTopicInput:
      type: object
      properties:
        Name:
          type: string
          maxLength: 25
        Query:
          type: string
        ApiVersion:
          type: number
        IsActive:
          type: boolean
        NotifyForFields:
          type: string
          enum:
          - Select
          - Where
          - Referenced
          - All
        NotifyForOperationCreate:
          type: boolean
        NotifyForOperationUpdate:
          type: boolean
        NotifyForOperationDelete:
          type: boolean
        NotifyForOperationUndelete:
          type: boolean
        Description:
          type: string
  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