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