Salesforce Automation Custom Endpoints API

Custom Apex REST web service endpoints defined with @RestResource annotation

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

Schemas & Data

Other Resources

🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/salesforce-automation/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
🔗
Code Samples
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_rest_code_samples.htm

OpenAPI Specification

salesforce-automation-custom-endpoints-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Salesforce Analytics (CRM Analytics) REST Actions Custom Endpoints 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: Custom Endpoints
  description: Custom Apex REST web service endpoints defined with @RestResource annotation
paths:
  /{urlMapping}:
    get:
      operationId: apexRestGet
      summary: Call a custom Apex REST GET endpoint
      description: Invokes the @HttpGet annotated method on the Apex class mapped to this URL. The response format depends on the Apex implementation. URL path parameters beyond the base mapping are available to the Apex code via RestContext.request.requestURI.
      tags:
      - Custom Endpoints
      parameters:
      - name: urlMapping
        in: path
        required: true
        description: The URL mapping defined in the @RestResource annotation (e.g., '/Accounts/*', '/Cases/*')
        schema:
          type: string
      responses:
        '200':
          description: Response from the Apex REST service. Format depends on the implementation.
          content:
            application/json:
              schema:
                description: Response varies based on the Apex REST service implementation
        '404':
          description: No Apex REST service found for the specified URL mapping
    post:
      operationId: apexRestPost
      summary: Call a custom Apex REST POST endpoint
      description: Invokes the @HttpPost annotated method on the Apex class mapped to this URL. The request body is deserialized and passed to the method. Supports JSON and XML request bodies.
      tags:
      - Custom Endpoints
      parameters:
      - name: urlMapping
        in: path
        required: true
        schema:
          type: string
      requestBody:
        description: Request body consumed by the Apex REST service. Structure depends on the implementation.
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Response from the Apex REST service
          content:
            application/json:
              schema:
                description: Response varies based on the Apex REST service implementation
        '201':
          description: Resource created by the Apex REST service
          content:
            application/json:
              schema:
                description: Response varies based on the Apex REST service implementation
    patch:
      operationId: apexRestPatch
      summary: Call a custom Apex REST PATCH endpoint
      description: Invokes the @HttpPatch annotated method on the Apex class mapped to this URL.
      tags:
      - Custom Endpoints
      parameters:
      - name: urlMapping
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Response from the Apex REST service
          content:
            application/json:
              schema:
                description: Response varies based on the Apex REST service implementation
    put:
      operationId: apexRestPut
      summary: Call a custom Apex REST PUT endpoint
      description: Invokes the @HttpPut annotated method on the Apex class mapped to this URL.
      tags:
      - Custom Endpoints
      parameters:
      - name: urlMapping
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Response from the Apex REST service
          content:
            application/json:
              schema:
                description: Response varies based on the Apex REST service implementation
    delete:
      operationId: apexRestDelete
      summary: Call a custom Apex REST DELETE endpoint
      description: Invokes the @HttpDelete annotated method on the Apex class mapped to this URL.
      tags:
      - Custom Endpoints
      parameters:
      - name: urlMapping
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response from the Apex REST service
        '204':
          description: Resource deleted successfully
components:
  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