Salesforce Sales Cloud Tooling SObjects API

CRUD operations on Tooling API sObjects

Operations 6

GET /sobjects Salesforce Sales Cloud List available Tooling API sObjects #
GET /sobjects/{sObjectName} Salesforce Sales Cloud Get Tooling sObject basic information #
POST /sobjects/{sObjectName} Salesforce Sales Cloud Create a Tooling sObject record #
GET /sobjects/{sObjectName}/{recordId} Salesforce Sales Cloud Get a Tooling sObject record #
PATCH /sobjects/{sObjectName}/{recordId} Salesforce Sales Cloud Update a Tooling sObject record #
DELETE /sobjects/{sObjectName}/{recordId} Salesforce Sales Cloud Delete a Tooling sObject record #

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-tooling-sobjects-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-sales-cloud-tooling-sobjects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Salesforce Sales Cloud Salesforce Tooling Tooling SObjects API
  description: Build custom development tools for Salesforce applications by accessing metadata about Apex classes, triggers, Visualforce pages, and other development artifacts. Provides REST endpoints for querying, creating, updating, and deleting tooling objects such as ApexClass, ApexTrigger, ApexLog, ApexTestQueueItem, and MetadataContainer.
  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/tooling
  description: Salesforce Production or Developer Edition
  variables:
    instance:
      default: yourInstance
      description: Your Salesforce instance identifier
security:
- oauth2: []
- bearerAuth: []
tags:
- name: Tooling SObjects
  description: CRUD operations on Tooling API sObjects
paths:
  /sobjects:
    get:
      operationId: listToolingSObjects
      summary: Salesforce Sales Cloud List available Tooling API sObjects
      description: Lists all available Tooling API sObjects and their metadata, including ApexClass, ApexTrigger, ApexComponent, ApexPage, ApexLog, MetadataContainer, and other developer-focused objects.
      tags:
      - Tooling SObjects
      responses:
        '200':
          description: Successfully retrieved list of Tooling sObjects
          content:
            application/json:
              schema:
                type: object
                properties:
                  encoding:
                    type: string
                  maxBatchSize:
                    type: integer
                  sobjects:
                    type: array
                    items:
                      type: object
                      properties:
                        activateable:
                          type: boolean
                        custom:
                          type: boolean
                        label:
                          type: string
                        name:
                          type: string
                        queryable:
                          type: boolean
                        urls:
                          type: object
                          additionalProperties:
                            type: string
        '401':
          $ref: '#/components/responses/Unauthorized'
  /sobjects/{sObjectName}:
    get:
      operationId: getToolingSObjectBasicInfo
      summary: Salesforce Sales Cloud Get Tooling sObject basic information
      description: Retrieves basic metadata for the specified Tooling API sObject, including default field values and recently accessed records.
      tags:
      - Tooling SObjects
      parameters:
      - $ref: '#/components/parameters/sObjectName'
      responses:
        '200':
          description: Successfully retrieved sObject info
          content:
            application/json:
              schema:
                type: object
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: createToolingSObjectRecord
      summary: Salesforce Sales Cloud Create a Tooling sObject record
      description: Creates a new record for the specified Tooling API sObject. For example, creating an ApexClass record will create and compile a new Apex class in the org.
      tags:
      - Tooling SObjects
      parameters:
      - $ref: '#/components/parameters/sObjectName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '201':
          description: Record created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SaveResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /sobjects/{sObjectName}/{recordId}:
    get:
      operationId: getToolingSObjectRecord
      summary: Salesforce Sales Cloud Get a Tooling sObject record
      description: Retrieves a Tooling API record by its ID. For example, retrieve an ApexClass record to get its source code, metadata, and compilation status.
      tags:
      - Tooling SObjects
      parameters:
      - $ref: '#/components/parameters/sObjectName'
      - $ref: '#/components/parameters/recordId'
      responses:
        '200':
          description: Successfully retrieved record
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateToolingSObjectRecord
      summary: Salesforce Sales Cloud Update a Tooling sObject record
      description: Updates an existing Tooling API record. For example, updating an ApexClass record will update and recompile the Apex class.
      tags:
      - Tooling SObjects
      parameters:
      - $ref: '#/components/parameters/sObjectName'
      - $ref: '#/components/parameters/recordId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '204':
          description: Record updated successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteToolingSObjectRecord
      summary: Salesforce Sales Cloud Delete a Tooling sObject record
      description: Deletes a Tooling API record by its ID.
      tags:
      - Tooling SObjects
      parameters:
      - $ref: '#/components/parameters/sObjectName'
      - $ref: '#/components/parameters/recordId'
      responses:
        '204':
          description: Record deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Authentication failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    ErrorResponse:
      type: array
      items:
        $ref: '#/components/schemas/ApiError'
    SaveResult:
      type: object
      properties:
        id:
          type: string
        success:
          type: boolean
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ApiError'
    ApiError:
      type: object
      properties:
        statusCode:
          type: string
        message:
          type: string
        fields:
          type: array
          items:
            type: string
  parameters:
    recordId:
      name: recordId
      in: path
      required: true
      description: The Salesforce record ID
      schema:
        type: string
    sObjectName:
      name: sObjectName
      in: path
      required: true
      description: The API name of the Tooling sObject (e.g., ApexClass, ApexTrigger)
      schema:
        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: Tooling API Developer Guide
  url: https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_overview.htm