openapi: 3.1.0 info: title: Salesforce Analytics (CRM Analytics) REST Actions PushTopics API description: REST API for accessing and managing CRM Analytics (formerly Tableau CRM / Einstein Analytics) resources including datasets, lenses, dashboards, and dataflows. Enables programmatic access to analytics metadata, query execution, and dashboard management. Uses the Wave API resource at /services/data/vXX.0/wave. 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/wave 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 wave_api: Access CRM Analytics REST API resources bearerAuth: type: http scheme: bearer