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}".
'