Salesforce SObjects API

Operations for listing, describing, creating, reading, updating, and deleting Salesforce SObject records and metadata.

Documentation

Specifications

Schemas & Data

OpenAPI Specification

salesforce-sobjects-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Salesforce Bulk API 2.0 Abort SObjects API
  description: 'Salesforce Bulk API 2.0 is a simplified, REST-based interface for bulk data operations that improves on the original Bulk API. It uses a straightforward job model and supports CSV format for ingest and query jobs, enabling processing of millions of records asynchronously.

    '
  version: v63.0
  contact:
    name: Salesforce Developers
    url: https://developer.salesforce.com/
  license:
    name: Salesforce Developer Terms
    url: https://www.salesforce.com/company/legal/agreements/
servers:
- url: https://{instance}.salesforce.com/services/data/v{version}/jobs
  description: Salesforce Bulk API 2.0 jobs endpoint
  variables:
    instance:
      default: yourInstance
      description: 'The Salesforce instance identifier (e.g., na1, eu3, or a My Domain subdomain like mycompany).

        '
    version:
      default: '63.0'
      description: 'The Salesforce API version number (e.g., 63.0). Use the latest supported version for new integrations.

        '
security:
- BearerAuth: []
tags:
- name: SObjects
  description: 'Operations for listing, describing, creating, reading, updating, and deleting Salesforce SObject records and metadata.

    '
paths:
  /sobjects:
    get:
      operationId: listSObjects
      summary: Salesforce List All Sobjects
      description: 'Returns a list of all available SObject types in the org, including both standard and custom objects. Each entry includes the object name, label, key prefix, and whether the object is queryable, searchable, and retrievable.

        '
      tags:
      - SObjects
      responses:
        '200':
          description: A list of all SObject types available in the org.
          content:
            application/json:
              schema:
                type: object
                properties:
                  encoding:
                    type: string
                    description: Character encoding used in the response.
                  maxBatchSize:
                    type: integer
                    description: Maximum number of records returned in a batch.
                  sobjects:
                    type: array
                    description: Array of SObject summary descriptors.
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: API name of the SObject type.
                        label:
                          type: string
                          description: User-facing label for the SObject type.
                        keyPrefix:
                          type: string
                          description: 'Three-character prefix used in Salesforce record IDs to identify the object type.

                            '
                        queryable:
                          type: boolean
                          description: Whether the object supports SOQL queries.
                        searchable:
                          type: boolean
                          description: Whether the object supports SOSL searches.
                        retrieveable:
                          type: boolean
                          description: Whether individual records can be retrieved.
                        urls:
                          type: object
                          description: 'Map of REST endpoint URLs for this object (sobject, describe, rowTemplate).

                            '
              examples:
                Listsobjects200Example:
                  summary: Default listSObjects 200 response
                  x-microcks-default: true
                  value:
                    encoding: example_value
                    maxBatchSize: 10
                    sobjects:
                    - name: Example Title
                      label: Example Title
                      keyPrefix: example_value
                      queryable: true
                      searchable: true
                      retrieveable: true
                      urls: https://www.example.com
        '401':
          description: Unauthorized. Invalid or expired OAuth token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Listsobjects401Example:
                  summary: Default listSObjects 401 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sobjects/{sobjectType}:
    get:
      operationId: describeSObject
      summary: Salesforce Describe an Sobject
      description: 'Returns metadata about a specific SObject type, including field definitions, relationships, and available REST endpoints. This is equivalent to calling the describe endpoint but returns a shorter summary. For the full field list use /sobjects/{sobjectType}/describe.

        '
      tags:
      - SObjects
      parameters:
      - $ref: '#/components/parameters/sobjectType'
      responses:
        '200':
          description: Metadata describing the specified SObject type.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SObjectDescribe'
              examples:
                Describesobject200Example:
                  summary: Default describeSObject 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    label: Example Title
                    labelPlural: example_value
                    keyPrefix: example_value
                    queryable: true
                    searchable: true
                    createable: true
                    updateable: true
                    deletable: true
                    fields:
                    - name: Example Title
                      label: Example Title
                      type: example_value
                      nillable: true
                      updateable: true
                      createable: true
                      length: 10
                    urls: https://www.example.com
        '401':
          description: Unauthorized. Invalid or expired OAuth token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Describesobject401Example:
                  summary: Default describeSObject 401 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
        '404':
          description: The specified SObject type was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Describesobject404Example:
                  summary: Default describeSObject 404 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createRecord
      summary: Salesforce Create a New Record
      description: 'Creates a new record of the specified SObject type. The request body must contain the field values for the new record in JSON format. Returns the ID of the newly created record on success.

        '
      tags:
      - SObjects
      parameters:
      - $ref: '#/components/parameters/sobjectType'
      requestBody:
        required: true
        description: 'Field values for the new SObject record. Required fields depend on the object type.

          '
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SObjectRecord'
            examples:
              CreaterecordRequestExample:
                summary: Default createRecord request
                x-microcks-default: true
                value:
                  attributes:
                    type: example_value
                    url: https://www.example.com
                  Id: abc123
      responses:
        '201':
          description: Record created successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: The 18-character ID of the newly created record.
                  success:
                    type: boolean
                    description: Whether the record was created successfully.
                  errors:
                    type: array
                    description: List of errors if the creation partially failed.
                    items:
                      $ref: '#/components/schemas/Error'
              examples:
                Createrecord201Example:
                  summary: Default createRecord 201 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    success: true
                    errors:
                    - message: example_value
                      errorCode: example_value
                      fields:
                      - {}
        '400':
          description: Bad request. Missing required fields or invalid field values.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Createrecord400Example:
                  summary: Default createRecord 400 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
        '401':
          description: Unauthorized. Invalid or expired OAuth token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Createrecord401Example:
                  summary: Default createRecord 401 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sobjects/{sobjectType}/{id}:
    get:
      operationId: getRecord
      summary: Salesforce Get a Record by Id
      description: 'Retrieves a single SObject record by its 18-character ID. Returns all accessible fields for the record. To retrieve only specific fields, use a SOQL query via the /query endpoint instead.

        '
      tags:
      - SObjects
      parameters:
      - $ref: '#/components/parameters/sobjectType'
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: The requested SObject record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SObjectRecord'
              examples:
                Getrecord200Example:
                  summary: Default getRecord 200 response
                  x-microcks-default: true
                  value:
                    attributes:
                      type: example_value
                      url: https://www.example.com
                    Id: abc123
        '401':
          description: Unauthorized. Invalid or expired OAuth token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Getrecord401Example:
                  summary: Default getRecord 401 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
        '404':
          description: Record not found for the given ID and SObject type.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Getrecord404Example:
                  summary: Default getRecord 404 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: updateRecord
      summary: Salesforce Update a Record
      description: 'Updates an existing SObject record identified by its 18-character ID. Only the fields included in the request body are updated; omitted fields retain their current values. Returns no body on success.

        '
      tags:
      - SObjects
      parameters:
      - $ref: '#/components/parameters/sobjectType'
      - $ref: '#/components/parameters/id'
      requestBody:
        required: true
        description: 'Field values to update on the SObject record. Only include fields that should change.

          '
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SObjectRecord'
            examples:
              UpdaterecordRequestExample:
                summary: Default updateRecord request
                x-microcks-default: true
                value:
                  attributes:
                    type: example_value
                    url: https://www.example.com
                  Id: abc123
      responses:
        '204':
          description: Record updated successfully. No body is returned.
        '400':
          description: Bad request. Invalid field values or field not updateable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Updaterecord400Example:
                  summary: Default updateRecord 400 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
        '401':
          description: Unauthorized. Invalid or expired OAuth token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Updaterecord401Example:
                  summary: Default updateRecord 401 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
        '404':
          description: Record not found for the given ID and SObject type.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Updaterecord404Example:
                  summary: Default updateRecord 404 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteRecord
      summary: Salesforce Delete a Record
      description: 'Deletes an existing SObject record by its 18-character ID. The record is moved to the Recycle Bin unless the object does not support soft delete, in which case it is permanently removed.

        '
      tags:
      - SObjects
      parameters:
      - $ref: '#/components/parameters/sobjectType'
      - $ref: '#/components/parameters/id'
      responses:
        '204':
          description: Record deleted successfully. No body is returned.
        '401':
          description: Unauthorized. Invalid or expired OAuth token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Deleterecord401Example:
                  summary: Default deleteRecord 401 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
        '404':
          description: Record not found for the given ID and SObject type.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Deleterecord404Example:
                  summary: Default deleteRecord 404 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sobjects/{sobjectType}/{id}/{blobField}:
    get:
      operationId: getBlobField
      summary: Salesforce Get a Blob Field Value
      description: 'Retrieves the binary content of a blob (binary large object) field on an SObject record. Examples include the Body field on Attachment or VersionData on ContentVersion. Returns the raw binary content with the appropriate MIME type.

        '
      tags:
      - SObjects
      parameters:
      - $ref: '#/components/parameters/sobjectType'
      - $ref: '#/components/parameters/id'
      - name: blobField
        in: path
        required: true
        description: 'The API name of the blob field to retrieve (e.g., Body, VersionData, Photo).

          '
        schema:
          type: string
        example: example_value
      responses:
        '200':
          description: The raw binary content of the blob field.
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
                description: Raw binary content of the blob field.
              examples:
                Getblobfield200Example:
                  summary: Default getBlobField 200 response
                  x-microcks-default: true
                  value: example_value
        '401':
          description: Unauthorized. Invalid or expired OAuth token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Getblobfield401Example:
                  summary: Default getBlobField 401 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
        '404':
          description: Record or blob field not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Getblobfield404Example:
                  summary: Default getBlobField 404 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sobjects/{sobjectType}/describe:
    get:
      operationId: fullDescribeSObject
      summary: Salesforce Full Describe of an Sobject
      description: 'Returns a complete description of the specified SObject type, including all field definitions with their data types, labels, picklist values, relationship metadata, and child relationships. Use this endpoint when you need detailed schema information for a specific object type.

        '
      tags:
      - SObjects
      parameters:
      - $ref: '#/components/parameters/sobjectType'
      responses:
        '200':
          description: Full metadata describing the SObject type and all its fields.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SObjectDescribe'
              examples:
                Fulldescribesobject200Example:
                  summary: Default fullDescribeSObject 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    label: Example Title
                    labelPlural: example_value
                    keyPrefix: example_value
                    queryable: true
                    searchable: true
                    createable: true
                    updateable: true
                    deletable: true
                    fields:
                    - name: Example Title
                      label: Example Title
                      type: example_value
                      nillable: true
                      updateable: true
                      createable: true
                      length: 10
                    urls: https://www.example.com
        '401':
          description: Unauthorized. Invalid or expired OAuth token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Fulldescribesobject401Example:
                  summary: Default fullDescribeSObject 401 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
        '404':
          description: The specified SObject type was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Fulldescribesobject404Example:
                  summary: Default fullDescribeSObject 404 response
                  x-microcks-default: true
                  value:
                    message: example_value
                    errorCode: example_value
                    fields:
                    - example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    SObjectDescribe:
      type: object
      description: 'Metadata describing a Salesforce SObject type, including its fields, relationships, and capabilities.

        '
      properties:
        name:
          type: string
          description: The API name of the SObject type.
          example: Example Title
        label:
          type: string
          description: The user-facing singular label for this object type.
          example: Example Title
        labelPlural:
          type: string
          description: The user-facing plural label for this object type.
          example: example_value
        keyPrefix:
          type: string
          description: The three-character key prefix used in record IDs for this type.
          example: example_value
        queryable:
          type: boolean
          description: Whether records of this type can be queried with SOQL.
          example: true
        searchable:
          type: boolean
          description: Whether records of this type can be searched with SOSL.
          example: true
        createable:
          type: boolean
          description: Whether new records of this type can be created via the API.
          example: true
        updateable:
          type: boolean
          description: Whether existing records of this type can be updated via the API.
          example: true
        deletable:
          type: boolean
          description: Whether records of this type can be deleted via the API.
          example: true
        fields:
          type: array
          description: Detailed metadata for each field on this SObject type.
          items:
            type: object
            properties:
              name:
                type: string
                description: The API name of the field.
              label:
                type: string
                description: The user-facing label for this field.
              type:
                type: string
                description: 'The data type of the field (e.g., string, boolean, date, reference, picklist).

                  '
              nillable:
                type: boolean
                description: Whether this field can be set to null.
              updateable:
                type: boolean
                description: Whether this field can be updated via the API.
              createable:
                type: boolean
                description: Whether this field can be set when creating a record.
              length:
                type: integer
                description: 'Maximum character length for string fields. Zero for non-string fields.

                  '
          example: []
        urls:
          type: object
          description: Map of REST endpoint URLs for this SObject type.
          example: https://www.example.com
    SObjectRecord:
      type: object
      description: 'A Salesforce SObject record. Contains an attributes object describing the record type and URL, plus any number of field name/value pairs depending on the object type.

        '
      required:
      - attributes
      properties:
        attributes:
          type: object
          description: 'Metadata attributes for this SObject record, including its type and REST API URL.

            '
          required:
          - type
          properties:
            type:
              type: string
              description: The API name of the SObject type (e.g., Account, Contact).
            url:
              type: string
              format: uri
              description: The REST API URL for this specific record.
          example: example_value
        Id:
          type: string
          description: The 18-character globally unique Salesforce record ID.
          minLength: 15
          maxLength: 18
          example: abc123
      additionalProperties: true
    Error:
      type: object
      description: 'An error response from the Salesforce REST API, describing the problem with the request.

        '
      properties:
        message:
          type: string
          description: Human-readable description of the error.
          example: example_value
        errorCode:
          type: string
          description: 'Salesforce error code (e.g., MALFORMED_QUERY, INVALID_FIELD, REQUIRED_FIELD_MISSING).

            '
          example: example_value
        fields:
          type: array
          description: 'List of field names related to the error, if applicable (e.g., for field validation errors).

            '
          items:
            type: string
          example: []
  parameters:
    sobjectType:
      name: sobjectType
      in: path
      required: true
      description: 'The API name of the Salesforce SObject type (e.g., Account, Contact, Opportunity, MyCustomObject__c).

        '
      schema:
        type: string
    id:
      name: id
      in: path
      required: true
      description: The 18-character Salesforce record ID.
      schema:
        type: string
        minLength: 15
        maxLength: 18
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: 'OAuth 2.0 Bearer token obtained from the Salesforce OAuth 2.0 token endpoint. Include this token in the Authorization header as "Bearer {access_token}".

        '