Salesforce Composite API

Executes a series of REST API requests in a single call, reducing round trips between client and server. Supports composite batches, composite requests, and composite graphs for complex multi-step operations.

OpenAPI Specification

salesforce-sales-cloud-composite-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Salesforce Sales Cloud Salesforce Analytics REST Change Events Composite API
  description: Access Salesforce reports, dashboards, and analytics data programmatically. Enables embedding analytics into custom applications, automating report generation, running reports synchronously or asynchronously, and managing dashboard components and filters.
  version: 59.0.0
  termsOfService: https://www.salesforce.com/company/legal/agreements/
  contact:
    name: Salesforce Developer Support
    url: https://developer.salesforce.com/
  license:
    name: Salesforce Master Subscription Agreement
    url: https://www.salesforce.com/company/legal/agreements/
servers:
- url: https://{instance}.salesforce.com/services/data/v59.0/analytics
  description: Salesforce Production or Developer Edition
  variables:
    instance:
      default: yourInstance
      description: Your Salesforce instance identifier
security:
- oauth2: []
- bearerAuth: []
tags:
- name: Composite
  description: Composite requests with inter-request references
paths:
  /composite:
    post:
      operationId: executeCompositeRequest
      summary: Salesforce Sales Cloud Execute a composite request
      description: Executes a series of REST API requests in a single call. Each request can reference the results of previous requests via referenceId, enabling dependent operations. Supports up to 25 subrequests per composite call. If allOrNone is true, all subrequests are rolled back on any failure.
      tags:
      - Composite
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompositeRequest'
      responses:
        '200':
          description: Composite request executed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompositeResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Unauthorized:
      description: Authentication failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    ErrorResponse:
      type: array
      items:
        $ref: '#/components/schemas/ApiError'
    CompositeRequest:
      type: object
      description: A composite request containing multiple subrequests
      required:
      - compositeRequest
      properties:
        allOrNone:
          type: boolean
          default: false
          description: If true, all subrequests are rolled back on any failure
        collateSubrequests:
          type: boolean
          default: false
          description: If true, subrequests with no dependencies are executed in parallel
        compositeRequest:
          type: array
          maxItems: 25
          items:
            type: object
            required:
            - method
            - url
            - referenceId
            properties:
              body:
                description: The request body for the subrequest
              httpHeaders:
                type: object
                additionalProperties:
                  type: string
              method:
                type: string
                enum:
                - GET
                - POST
                - PATCH
                - PUT
                - DELETE
              referenceId:
                type: string
                description: Unique identifier for this subrequest, used to reference results
              url:
                type: string
                description: The resource URL relative to the API version
    ApiError:
      type: object
      properties:
        statusCode:
          type: string
        message:
          type: string
        fields:
          type: array
          items:
            type: string
    CompositeResponse:
      type: object
      description: Response from a composite request
      properties:
        compositeResponse:
          type: array
          items:
            type: object
            properties:
              body:
                description: The response body
              httpHeaders:
                type: object
                additionalProperties:
                  type: string
              httpStatusCode:
                type: integer
              referenceId:
                type: string
  securitySchemes:
    oauth2:
      type: oauth2
      description: Salesforce OAuth 2.0 authentication
      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
      bearerFormat: OAuth 2.0 Access Token
externalDocs:
  description: Salesforce Reports and Dashboards REST API Developer Guide
  url: https://developer.salesforce.com/docs/atlas.en-us.api_analytics.meta/api_analytics/sforce_analytics_rest_api_intro.htm