Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Salesforce Data API
description: 'Find the resources you need to start building. '
contact: {}
version: '1.0'
servers:
- url: https://login.salesforce.com
variables: {}
- url: https://id
variables: {}
- url: https://services
variables: {}
- url: '{{url}}{{site}}/services/oauth2'
variables:
url:
default: DefaultParameterValue
site:
default: DefaultParameterValue
security:
- oauth2:
- api
tags:
- name: Data
paths:
/data/v64.0/jobs/ingest//batches:
parameters: []
put:
tags:
- Data
summary: Salesforce Upload Job Data
operationId: UploadJobData
parameters:
- name: Content-Type
in: header
description: ''
required: true
schema:
const: text/csv
type: string
examples:
- text/csv
example: example_value
requestBody:
content:
multipart/form-data:
encoding: {}
schema:
required:
- File
type: object
properties:
File:
type: string
contentEncoding: base64
contentMediaType: multipart/form-data
examples:
UploadjobdataRequestExample:
summary: Default UploadJobData request
x-microcks-default: true
value:
File: example_value
required: false
responses:
'201':
description: Created
headers:
Date:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Mon, 20 Nov 2023 14:59:59 GMT
Strict-Transport-Security:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: max-age=63072000; includeSubDomains
X-Content-Type-Options:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: nosniff
X-XSS-Protection:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: 1; mode=block
Content-Security-Policy:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: upgrade-insecure-requests
X-Robots-Tag:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: none
Cache-Control:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: no-cache,must-revalidate,max-age=0,no-store,private
Sforce-Limit-Info:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: api-usage=2/15000
Transfer-Encoding:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: chunked
content: {}
deprecated: false
servers:
- url: https://services
variables: {}
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/data/v64.0/actions/custom/runExpressionSet/{expressionSetAPIName}:
parameters: []
post:
tags:
- Data
summary: Salesforce Runexpressionset
description: "# Expression Set Actions\n\nInvoke an active expression set. An expression set is a user-defined rule that accepts an input and returns the output based on the configured function.\n\nThe configured function of an expression set can be a simple decision matrix lookup, a calculation based on a mathematical formula, a condition, or another expression set.\n\nThese actions are available in API version 55.0 and later.\n\n## Supported REST HTTP Methods\n\nURI/services/data/v55.0/actions/custom/runExpressionSet/{ApiName}\n\n> `Note` \n \n> `The API name of an expression set is unique within your Salesforce instance.` \n \n\nFormats\n\nJSON\n\nHTTP Methods\n\nPOST\n\nAuthentication\n\nAuthorization: Bearer token\n\n## Inputs\n\nVary depending on the selected expression set.\n\n## Outputs\n\nVary depending on the inputs of the selected expression set.\n\n## Usage\n\nThis section has the sample request and response for invoking an expression set that does the following:\n\n1. Find the tax percentage and the premium corresponding to specific age and salary using a decision matrix lookup.\n \n2. Check the age criterion to calculate the total tax.\n \n3. Calculate the total tax to be paid based on the age group, salary, and the tax percentage.\n \n\nSample request\n\nHere’s an example POST request that has the inputs, such as, age and salary:\n\n```\n{\n \"inputs\":[\n {\n \"Age\":\"25.00\",\n \"Salary\":\"50000.00\"\n }\n ]\n}\n\n ```\n\nSample response\n\nHere’s an example response that has the premium and tax values based on the inputs provided in the example request:\n\n```\n[\n {\n \"actionName\":\"TaxPremiumES\",\n \"errors\":null,\n \"isSuccess\":true,\n \"outputValues\":{\n \"TaxPremium__Premium\":1000,\n \"TaxPremium__Tax\":10,\n \"TaxToBePaid\":1050,\n \"condition_output__2\":\"false\",\n \"condition_output__1\":\"true\"\n }\n }\n]\n\n ```"
operationId: runExpressionSet
parameters:
- name: expressionSetAPIName
in: path
description: The API name of an expression set is unique within your Salesforce instance.
required: true
schema:
type: string
examples:
- myExpressionSet
example: example_value
requestBody:
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/runExpressionSetRequest'
- examples:
- inputs:
- {}
contentMediaType: application/json
example:
inputs:
- {}
required: true
responses:
'200':
description: OK
headers:
Date:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Thu, 07 Sep 2023 09:08:00 GMT
Strict-Transport-Security:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: max-age=63072000; includeSubDomains
X-Content-Type-Options:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: nosniff
X-XSS-Protection:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: 1; mode=block
X-Robots-Tag:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: none
Cache-Control:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: no-cache,must-revalidate,max-age=0,no-store,private
Sforce-Limit-Info:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: api-usage=5/15000
Vary:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Accept-Encoding
Content-Encoding:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: gzip
Transfer-Encoding:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: chunked
content:
application/json;charset=UTF-8:
schema:
type: array
items:
$ref: '#/components/schemas/Status200-Successfull'
description: ''
examples:
- - actionName: myExpressionSet
errors: null
isSuccess: true
outputValues:
output: 1
version: 1
contentMediaType: application/json;charset=UTF-8
example:
- actionName: myExpressionSet
errors: null
isSuccess: true
outputValues:
output: 1
version: 1
'400':
description: Bad Request
headers:
Date:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Thu, 07 Sep 2023 09:04:01 GMT
Strict-Transport-Security:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: max-age=63072000; includeSubDomains
X-Content-Type-Options:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: nosniff
X-XSS-Protection:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: 1; mode=block
X-Robots-Tag:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: none
Cache-Control:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: no-cache,must-revalidate,max-age=0,no-store,private
Sforce-Limit-Info:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: api-usage=1/15000
Transfer-Encoding:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: chunked
content:
application/json;charset=UTF-8:
schema:
type: array
items:
$ref: '#/components/schemas/Status400-EmptyExpressionSetAPIName1'
description: ''
examples:
- - actionName: :expressionSetAPIName
errors:
- statusCode: MISSING_RECORD
message: 'Action name not found: :expressionSetAPIName'
fields: []
isSuccess: false
outputValues: null
version: 1
contentMediaType: application/json;charset=UTF-8
example:
- actionName: :expressionSetAPIName
errors:
- statusCode: MISSING_RECORD
message: 'Action name not found: :expressionSetAPIName'
fields: []
isSuccess: false
outputValues: null
version: 1
deprecated: false
servers:
- url: https://services
variables: {}
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/data/v64.0/actions/custom/runDecisionMatrix/{UniqueName}:
parameters: []
post:
tags:
- Data
summary: Salesforce Rundecisionmatrix
description: "# Decision Matrix Actions\n\nInvoke a decision matrix in a flow with the Decision Matrix Actions. A decision matrix is a user-defined table where you can look up an output based on the inputs you provide.\n\nFor example, you can look up a candidate’s eligibility to avail medical insurance in a decision matrix based on the candidate’s age and gender.\n\nThese actions are available in API version 55.0 and later.\n\n## Supported REST HTTP Methods\n\nURI/services/data/v55.0/actions/custom/runDecisionMatrix/{UniqueName}\n\nNote\n\nThe value of UniqueName is the unique identifier of the record, which is sourced from the name of a decision matrix.\n\nFormatsJSONHTTP MethodsPOSTAuthenticationAuthorization: Bearer token\n\n## Inputs\n\nVary depending on the selected decision matrix.\n\n## Outputs\n\nVary depending on the inputs of the selected decision matrix.\n\n## Usage\n\nSample Request\n\nHere’s an example POST request that has the inputs, such as, age and state:\n\n```\n{\n \"inputs\":[\n {\n \"age\":\"25\",\n \"state\":\"NY\"\n },\n {\n \"age\":\"25\",\n \"state\":\"CA\"\n },\n {\n \"age\":\"\",\n \"state\":\"WA\"\n }\n ]\n}\n\n ```\n\nSample Response\n\nHere’s an example response that has the premium and tax values based on the inputs provided in the example request.\n\n```\n[\n {\n \"actionName\":\"premiumTaxLookup\",\n \"errors\":null,\n \"isSuccess\":true,\n \"outputValues\":{\n \"premium\":2400.0,\n \"tax\":200.0\n }\n },\n {\n \"actionName\":\"premiumTaxLookup\",\n \"errors\":null,\n \"isSuccess\":true,\n \"outputValues\":{\n \"premium\":2400.0,\n \"tax\":200.0\n }\n },\n {\n \"actionName\":\"premiumTaxLookup\",\n \"errors\":[\n {\n \"statusCode\":\"REQUIRED_FIELD_MISSING\",\n \"message\":\"Missing required input parameter: age\",\n \"fields\":[\n ]\n }\n ],\n \"isSuccess\":false,\n \"outputValues\":null\n }\n]\n\n ```"
operationId: runDecisionMatrix
parameters:
- name: UniqueName
in: path
description: The value of UniqueName is the unique identifier of the record, which is sourced from the name of a decision matrix.
required: true
schema:
type: string
examples:
- myDecisionMatrix
example: example_value
requestBody:
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/runDecisionMatrixRequest'
- examples:
- inputs:
- myColumnInput: One
contentMediaType: application/json
example:
inputs:
- myColumnInput: One
required: true
responses:
'200':
description: OK
headers:
Date:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Thu, 07 Sep 2023 13:00:30 GMT
Strict-Transport-Security:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: max-age=63072000; includeSubDomains
X-Content-Type-Options:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: nosniff
X-XSS-Protection:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: 1; mode=block
X-Robots-Tag:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: none
Cache-Control:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: no-cache,must-revalidate,max-age=0,no-store,private
Sforce-Limit-Info:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: api-usage=15/15000
Vary:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Accept-Encoding
Content-Encoding:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: gzip
Transfer-Encoding:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: chunked
content:
application/json;charset=UTF-8:
schema:
type: array
items:
$ref: '#/components/schemas/runDecisionMatrix'
description: ''
examples:
- - actionName: myDecisionMatrix
errors: null
isSuccess: true
outputValues:
myColumnOutput: '1'
version: 1
contentMediaType: application/json;charset=UTF-8
example:
- actionName: myDecisionMatrix
errors: null
isSuccess: true
outputValues:
myColumnOutput: '1'
version: 1
deprecated: false
servers:
- url: https://services
variables: {}
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/data/v64.0/sobjects/{SOBJECT_API_NAME}/describe/approvalLayouts/{APPROVAL_PROCESS_NAME}:
parameters: []
get:
tags:
- Data
summary: Salesforce Sobject Approvallayouts
description: 'Returns a list of approval layouts for a specified object. Specify a particular approval process name to limit the return value to one specific approval layout. This resource is available in REST API version 30.0 and later.
approvalProcessName parameter is optional'
operationId: SObjectApprovalLayouts
parameters:
- name: SOBJECT_API_NAME
in: path
description: ''
required: true
schema:
type: string
example: example_value
- name: APPROVAL_PROCESS_NAME
in: path
description: ''
required: true
schema:
type: string
example: example_value
- name: Content-Type
in: header
description: ''
required: true
schema:
const: application/json
type: string
examples:
- application/json
example: example_value
responses:
'200':
description: ''
headers: {}
deprecated: false
servers:
- url: https://services
variables: {}
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/data/v64.0/sobjects/{SOBJECT_API_NAME}/describe/describe/compactLayouts:
parameters: []
get:
tags:
- Data
summary: Salesforce Sobject Compactlayouts
description: Returns a list of compact layouts for a specific object. This resource is available in REST API version 29.0 and later.
operationId: SObjectCompactLayouts
parameters:
- name: SOBJECT_API_NAME
in: path
description: ''
required: true
schema:
type: string
example: example_value
- name: Content-Type
in: header
description: ''
required: true
schema:
const: application/json
type: string
examples:
- application/json
example: example_value
responses:
'200':
description: ''
headers: {}
deprecated: false
servers:
- url: https://services
variables: {}
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/data/v64.0/sobjects/PlatformAction:
parameters: []
get:
tags:
- Data
summary: Salesforce Sobject Platformaction
description: 'PlatformAction is a virtual read-only object. It enables you to query for actions displayed in the UI, given a user, a context, device format, and a record ID. Examples include standard and custom buttons, quick actions, and productivity actions.
Returns the description of the PlatformAction.'
operationId: SObjectPlatformAction
parameters:
- name: Content-Type
in: header
description: ''
required: true
schema:
const: application/json
type: string
examples:
- application/json
example: example_value
responses:
'200':
description: ''
headers: {}
deprecated: false
servers:
- url: https://services
variables: {}
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/data/v64.0/support/dataCategoryGroups:
parameters: []
get:
tags:
- Data
summary: Salesforce Data Category Groups
description: Returns the list of list views for the specified sObject, including the ID and other basic information about each list view. You can also get basic information for a specific list view by ID.
operationId: DataCategoryGroups
parameters:
- name: sObjectName
in: query
description: ''
required: true
style: form
explode: true
schema:
type: string
example: example_value
- name: Content-Type
in: header
description: ''
required: true
schema:
const: application/json
type: string
examples:
- application/json
example: example_value
responses:
'200':
description: ''
headers: {}
deprecated: false
servers:
- url: https://services
variables: {}
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/data/v64.0/support/dataCategoryGroups/{GROUP}/dataCategories/{CATEGORY}:
parameters: []
get:
tags:
- Data
summary: Salesforce Data Category Detail
description: Get data category details and the child categories by a given category.
operationId: DataCategoryDetail
parameters:
- name: GROUP
in: path
description: ''
required: true
schema:
type: string
example: example_value
- name: CATEGORY
in: path
description: ''
required: true
schema:
type: string
example: example_value
- name: Content-Type
in: header
description: ''
required: true
schema:
const: application/json
type: string
examples:
- application/json
example: example_value
responses:
'200':
description: ''
headers: {}
deprecated: false
servers:
- url: https://services
variables: {}
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/data/v64.0/support/knowledgeArticles/{ARTICLE_ID}:
parameters: []
get:
tags:
- Data
summary: Salesforce Articles Details
description: Get all online article fields, accessible to the user.
operationId: ArticlesDetails
parameters:
- name: ARTICLE_ID
in: path
description: ''
required: true
schema:
type: string
example: '500123'
- name: Content-Type
in: header
description: ''
required: true
schema:
const: application/json
type: string
examples:
- application/json
example: example_value
responses:
'200':
description: ''
headers: {}
deprecated: false
servers:
- url: https://services
variables: {}
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/data/v64.0/limits:
parameters: []
get:
tags:
- Data
summary: Salesforce Limits
description: Lists information about limits in your org. For each limit, this resource returns the maximum allocation and the remaining allocation based on usage. This resource is available in REST API version 29.0 and later for API users with the View Setup and Configuration permission
operationId: Limits
parameters: []
responses:
'200':
description: OK
headers:
Date:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Tue, 26 Sep 2023 13:19:11 GMT
Strict-Transport-Security:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: max-age=63072000; includeSubDomains
X-Content-Type-Options:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: nosniff
X-XSS-Protection:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: 1; mode=block
X-Robots-Tag:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: none
Cache-Control:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: no-cache,must-revalidate,max-age=0,no-store,private
Sforce-Limit-Info:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: api-usage=1/15000
Vary:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Accept-Encoding
Content-Encoding:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: gzip
Transfer-Encoding:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: chunked
content:
application/json;charset=UTF-8:
schema:
allOf:
- $ref: '#/components/schemas/Limits'
- examples:
- ActiveScratchOrgs:
Max: 3
Remaining: 3
AnalyticsExternalDataSizeMB:
Max: 40960
Remaining: 40960
ConcurrentAsyncGetReportInstances:
Max: 200
Remaining: 200
ConcurrentEinsteinDataInsightsStoryCreation:
Max: 5
Remaining: 5
ConcurrentEinsteinDiscoveryStoryCreation:
Max: 2
Remaining: 2
ConcurrentSyncReportRuns:
Max: 20
Remaining: 20
DailyAnalyticsDataflowJobExecutions:
Max: 60
Remaining: 60
DailyAnalyticsUploadedFilesSizeMB:
Max: 51200
Remaining: 51200
DailyApiRequests:
Max: 15000
Remaining: 14999
DailyAsyncApexExecutions:
Max: 250000
Remaining: 250000
DailyAsyncApexTests:
Max: 540
Remaining: 540
DailyBulkApiBatches:
Max: 15000
Remaining: 15000
DailyBulkV2QueryFileStorageMB:
Max: 976562
Remaining: 976562
DailyBulkV2QueryJobs:
Max: 10000
Remaining: 10000
DailyDeliveredPlatformEvents:
Max: 10000
Remaining: 10000
DailyDurableGenericStreamingApiEvents:
Max: 10000
Remaining: 10000
DailyDurableStreamingApiEvents:
Max: 10000
Remaining: 10000
DailyEinsteinDataInsightsStoryCreation:
Max: 1000
Remaining: 1000
DailyEinsteinDiscoveryOptimizationJobRuns:
Max: 25
Remaining: 25
DailyEinsteinDiscoveryPredictAPICalls:
Max: 50000
Remaining: 50000
DailyEinsteinDiscoveryPredictionsByCDC:
Max: 500000
Remaining: 500000
# --- truncated at 32 KB (2154 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/salesforce/refs/heads/main/openapi/salesforce-data-api-openapi.yml