Salesforce Sales Cloud Custom Endpoints API

Custom Apex REST endpoints defined by @RestResource annotated classes

Documentation

Specifications

Other Resources

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-sales-cloud-custom-endpoints-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 email required.

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

OpenAPI Specification

salesforce-sales-cloud-custom-endpoints-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Salesforce Sales Cloud Salesforce Analytics REST Change Events Custom Endpoints 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: Custom Endpoints
  description: Custom Apex REST endpoints defined by @RestResource annotated classes
paths:
  /{resourcePath}:
    get:
      operationId: getApexRestResource
      summary: Salesforce Sales Cloud GET request to a custom Apex REST endpoint
      description: Executes the @HttpGet annotated method on the Apex class mapped to the specified resource path. The resource path is defined by the urlMapping property of the @RestResource annotation on the Apex class. Response format depends on the Apex class implementation.
      tags:
      - Custom Endpoints
      parameters:
      - $ref: '#/components/parameters/resourcePath'
      responses:
        '200':
          description: Successful response from the custom endpoint
          content:
            application/json:
              schema:
                description: Response structure defined by the Apex REST class
            application/xml:
              schema:
                description: Response structure defined by the Apex REST class
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
    post:
      operationId: postApexRestResource
      summary: Salesforce Sales Cloud POST request to a custom Apex REST endpoint
      description: Executes the @HttpPost annotated method on the Apex class mapped to the specified resource path. The request body is deserialized into the method's parameters.
      tags:
      - Custom Endpoints
      parameters:
      - $ref: '#/components/parameters/resourcePath'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Request body defined by the Apex REST class
          application/xml:
            schema:
              description: Request body defined by the Apex REST class
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                description: Response structure defined by the Apex REST class
        '201':
          description: Resource created
          content:
            application/json:
              schema:
                description: Response structure defined by the Apex REST class
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
    patch:
      operationId: patchApexRestResource
      summary: Salesforce Sales Cloud PATCH request to a custom Apex REST endpoint
      description: Executes the @HttpPatch annotated method on the Apex class mapped to the specified resource path. Typically used for partial updates.
      tags:
      - Custom Endpoints
      parameters:
      - $ref: '#/components/parameters/resourcePath'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Request body defined by the Apex REST class
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                description: Response structure defined by the Apex REST class
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
    put:
      operationId: putApexRestResource
      summary: Salesforce Sales Cloud PUT request to a custom Apex REST endpoint
      description: Executes the @HttpPut annotated method on the Apex class mapped to the specified resource path. Typically used for full replacements or upserts.
      tags:
      - Custom Endpoints
      parameters:
      - $ref: '#/components/parameters/resourcePath'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Request body defined by the Apex REST class
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                description: Response structure defined by the Apex REST class
        '201':
          description: Resource created
          content:
            application/json:
              schema:
                description: Response structure defined by the Apex REST class
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
    delete:
      operationId: deleteApexRestResource
      summary: Salesforce Sales Cloud DELETE request to a custom Apex REST endpoint
      description: Executes the @HttpDelete annotated method on the Apex class mapped to the specified resource path. The record to delete is typically identified by a query parameter or path segment.
      tags:
      - Custom Endpoints
      parameters:
      - $ref: '#/components/parameters/resourcePath'
      responses:
        '200':
          description: Resource deleted successfully
        '204':
          description: Resource deleted, no content
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  responses:
    InternalError:
      description: Unhandled Apex exception or internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Authentication failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Invalid request parameters or body
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Resource or endpoint not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  parameters:
    resourcePath:
      name: resourcePath
      in: path
      required: true
      description: The resource path defined by the @RestResource urlMapping annotation on the Apex class (e.g., /MyCustomEndpoint/*)
      schema:
        type: string
  schemas:
    ErrorResponse:
      type: array
      items:
        $ref: '#/components/schemas/ApiError'
    ApiError:
      type: object
      properties:
        errorCode:
          type: string
        message:
          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