Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Salesforce Table 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: Table
paths:
/data/v64.0/connect/business-rules/decision-matrices/{matrixUniqueName}:
parameters: []
post:
tags:
- Table
summary: Salesforce Lookup Table
description: "# Decision Matrix (Lookup Table)\n\nPerforms a lookup on decision matrix rows based on the input values provided, and returns the row’s output.Resource\n\n```\n/connect/business-rules/decision-matrices/${matrixName}\n\n ```\n\nResource Example\n\n```\nhttps://yourInstance.salesforce.com/services/data/vXX.X/connect\n/business-rules/decision-matrices/InsurancePremium\n\n ```\n\nAvailable version\n\n55.0\n\nRequires Chatter\n\nNo\n\nHTTP methods\n\nPOST\n\nRequest body for POST\n\nJSON example\n\n```\n{\n \"inputs\": [\n {\n \"input\": [\n {\n \"name\": \"premium\",\n \"value\": \"2400\"\n }\n ]\n }\n ],\n \"options\": {\n \"effectiveDate\": \"2022-12-03T10:15:30Z\"\n }\n}\n\n ```\n\nHere, premium is a column header in the matrix, and 2400 is a value of a cell in the column.Properties\n\n| Name | Type | Description | Required or Optional | Available Version |\n| --- | --- | --- | --- | --- |\n| inputs | [Decision Matrix Input](https://developer.salesforce.com/docs/atlas.en-us.industries_reference.meta/industries_reference/connect_requests_decision_matrix_input.htm) | List of inputs passed to a decision matrix. An input may contain multiple variables. | Required | 55.0 |\n| options | [Decision Matrix Options Input](https://developer.salesforce.com/docs/atlas.en-us.industries_reference.meta/industries_reference/connect_requests_decision_matrix_options.htm) | The lookup options for a decision matrix. | Optional | 55.0 |\n\nResponse body for POST\n\n[Decision Matrix Lookup Result](https://developer.salesforce.com/docs/atlas.en-us.industries_reference.meta/industries_reference/connect_responses_bre_decision_matrix_lookup_result.htm)"
operationId: LookupTable
parameters:
- name: matrixUniqueName
in: path
description: The value of Unique Name 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/LookupTableRequest'
- examples:
- inputs:
- input:
- name: myColumnInput
value: One
options: {}
contentMediaType: application/json
example:
inputs:
- input:
- name: myColumnInput
value: One
options: {}
required: true
responses:
'201':
description: Created
headers:
Date:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Thu, 07 Sep 2023 12:12:26 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
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/Status201-AcceptedButWarning'
- examples:
- outputs:
- error: Looks like there isn’t any output for the specified input parameters in the lookup table.
results: []
contentMediaType: application/json;charset=UTF-8
example:
outputs:
- error: Looks like there isn’t any output for the specified input parameters in the lookup table.
results: []
'400':
description: Bad Request
headers:
Date:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Thu, 07 Sep 2023 11:50:19 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
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-MatrixNotFound1'
description: ''
examples:
- - errorCode: INVALID_INPUT
message: Specify a valid matrixName and try again.
contentMediaType: application/json;charset=UTF-8
example:
- errorCode: INVALID_INPUT
message: Specify a valid matrixName and try again.
'401':
description: Unauthorized
headers:
Date:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Thu, 07 Sep 2023 11:49:04 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
WWW-Authenticate:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Token
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/Status401-Unauthorized1'
description: ''
examples:
- - message: Session expired or invalid
errorCode: INVALID_SESSION_ID
contentMediaType: application/json;charset=UTF-8
example:
- message: Session expired or invalid
errorCode: INVALID_SESSION_ID
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/connect/business-rules/decision-table/definitions/{decisionTableId}:
parameters: []
patch:
tags:
- Table
summary: Salesforce Update Table
description: "# Decision Table Definitions ( DELETE)\n\nDelete a decision table definition associated with a decision table.\n\nResource\n\n```\n/connect/business-rules/decision-table/definitions/${decisionTableId}\n\n ```\n\nResource Example\n\n```\nhttps://yourInstance.salesforce.com/services/data/v59.0/connect/business-rules/decision-table/definitions/0lDxx00000002Ur\n\n ```\n\nAvailable version\n\n58.0\n\nRequires Chatter\n\nNo\n\nHTTP methods\n\nDELETE\n\nResponse body for DELETE\n\n[Decision Table Output](https://developer.salesforce.com/docs/atlas.en-us.industries_reference.meta/industries_reference/connect_responses_decision_table_output.htm)\n\n# Decision Table Output\n\nOutput representation of the decision table details.JSON example for GET, POST, and PATCH\n\n```\n{\n \"code\":\"200\",\n \"decisionTable\":{\n \"collectOperator\":\"Count\",\n \"conditionCriteria\":\"1 OR 2 OR 3\",\n \"conditionType\":\"Any\",\n \"decisionResultPolicy\":\"UniqueValues\",\n \"description\":\"Eligiblity of Products using Qualification Rules\",\n \"id\":\"0lDxx00000000BJ\",\n \"parameters\":[\n {\n \"fieldName\":\"IsDeleted\",\n \"isGroupByField\":false,\n \"isPriority\":false,\n \"operator\":\"Equals\",\n \"sequence\":1,\n \"usage\":\"Input\"\n },\n {\n \"fieldName\":\"CreatedById\",\n \"isGroupByField\":false,\n \"isPriority\":false,\n \"usage\":\"Output\"\n },\n {\n \"fieldName\":\"Title\",\n \"isGroupByField\":false,\n \"isPriority\":false,\n \"operator\":\"Equals\",\n \"sequence\":3,\n \"usage\":\"Input\"\n },\n {\n \"fieldName\":\"Id\",\n \"isGroupByField\":false,\n \"isPriority\":false,\n \"operator\":\"Equals\",\n \"sequence\":2,\n \"usage\":\"Input\"\n }\n ],\n \"setupName\":\"Product Qualificiation eligibility3\",\n \"sourceCriteria\":[\n \n ],\n \"sourceObject\":\"AccountFeed\",\n \"sourceType\":\"SingleSobject\",\n \"sourceconditionLogic\":\"1 AND 2 AND 3\",\n \"status\":\"Draft\"\n },\n \"isSuccess\":true,\n \"message\":\"\"\n}\n\n ```\n\nJSON example for DELETE\n\n```\n{\n \"code\":\"200\",\n \"isSuccess\":true,\n \"message\":\"\"\n}\n\n ```\n\n| Property Name | Type | Description | Filter Group and Version | Available Version |\n| --- | --- | --- | --- | --- |\n| code | String | Response code from the API request. | Small, 58.0 | 58.0 |\n| decisionTable | [Decision Table Definition Output](https://developer.salesforce.com/docs/atlas.en-us.industries_reference.meta/industries_reference/connect_responses_decision_table_definition_output.htm) | Details of the decision table definition associated with the decision table. | Small, 58.0 | 58.0 |\n| isSuccess | Boolean | Indicates whether the API request is successful (true) or not (false). | Small, 58.0 | 58.0 |\n| message | String | Error message when the API request fails. | Small, 58.0 | 58.0 |"
operationId: UpdateTable
parameters:
- name: decisionTableId
in: path
description: Decision Table Id
required: true
schema:
type: string
examples:
- 0lDHo0000008Po3
example: '500123'
requestBody:
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/UpdateTableRequest'
- examples:
- setupName: Product Qualificiation eligibility
fullName: ProductQualificationEligibility
description: Eligiblity of Products using Qualification Rules
usageType: ProductEligibility
sourceType: SingleSobject
sourceObject: AccountFeed
status: Draft
decisionResultPolicy: UniqueValues
collectOperator: Count
conditionType: Any
conditionCriteria: 1 OR 2 OR 3
parameters:
- fieldName: IsDeleted
usage: INPUT
operator: Equals
sequence: '1'
- fieldName: Id
usage: INPUT
operator: Equals
sequence: '2'
- fieldName: Title
usage: INPUT
operator: Equals
sequence: '3'
- fieldName: CreatedById
usage: OUTPUT
contentMediaType: application/json
example:
setupName: Product Qualificiation eligibility
fullName: ProductQualificationEligibility
description: Eligiblity of Products using Qualification Rules
usageType: ProductEligibility
sourceType: SingleSobject
sourceObject: AccountFeed
status: Draft
decisionResultPolicy: UniqueValues
collectOperator: Count
conditionType: Any
conditionCriteria: 1 OR 2 OR 3
parameters:
- fieldName: IsDeleted
usage: INPUT
operator: Equals
sequence: '1'
- fieldName: Id
usage: INPUT
operator: Equals
sequence: '2'
- fieldName: Title
usage: INPUT
operator: Equals
sequence: '3'
- fieldName: CreatedById
usage: OUTPUT
required: true
responses:
'200':
description: OK
headers:
Date:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Tue, 19 Sep 2023 14:02: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
Transfer-Encoding:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: chunked
content:
application/json;charset=UTF-8:
schema:
allOf:
- $ref: '#/components/schemas/Status200-Success2'
- examples:
- code: '200'
isSuccess: true
message: ''
contentMediaType: application/json;charset=UTF-8
example:
code: '200'
isSuccess: true
message: ''
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/connect/business-rules/decision-table/{decisionTableId}:
parameters: []
post:
tags:
- Table
summary: Salesforce Lookup Table
description: "# Decision Table (Lookup Table)\n\nPerforms a lookup on a decision table.Resource\n\n```\n/connect/business-rules/decision-table/${decisionTableId}\n\n ```\n\nResource Example\n\n```\nhttps://yourInstance.salesforce.com/services/data/v55.0/connect\n/decision-table/0lDB0000000TNQzMAO\n\n ```\n\nAvailable version\n\n55.0\n\nRequires Chatter\n\nNo\n\nHTTP methods\n\nPOST\n\nRequest body for POST\n\nJSON example\n\n```\n{\n \"conditions\" : {\n \"conditionsList\" : [\n {\n \"fieldName\": \"state__c\",\n \"value\": \"MH\"\n },\n {\n \"fieldName\": \"validity__c\",\n \"value\": 30\n }\n ]\n }\n}\n\n ```\n\nProperties\n\n| Name | Type | Description | Required or Optional | Available Version |\n| --- | --- | --- | --- | --- |\n| conditions | [Decision Table Condition](https://developer.salesforce.com/docs/atlas.en-us.industries_reference.meta/industries_reference/connect_requests_decision_table_condition.htm)\\[\\] | The list of decision table conditions on which the decision table executes and provides outcomes. | Required | 55.0 |\n| datasetLinkName | String | The API name of the dataset link provided as an input for the decision table execution. | Optional | 55.0 |\n\nResponse body for POST\n\n[Decision Table Outcome](https://developer.salesforce.com/docs/atlas.en-us.industries_reference.meta/industries_reference/connect_responses_decision_table_outcome.htm)\n\n# Decision Table Outcome\n\nOutput representation of the decision table execution.JSON example\n\n```\n{\n \"errorCode\" : null,\n \"errorMessage\" : null,\n \"outcomeList\" : [ {\n \"values\" : {\n \"amount__c\" : \"399\",\n \"Name\" : \"MH 005\"\n }\n }, {\n \"values\" : {\n \"amount__c\" : \"499\",\n \"Name\" : \"MH 006\"\n }\n }, {\n \"values\" : {\n \"amount__c\" : \"379\",\n \"Name\" : \"MH 007\"\n }\n }, {\n \"values\" : {\n \"amount__c\" : \"1498\",\n \"Name\" : \"MH 008\"\n }\n }, {\n \"values\" : {\n \"amount__c\" : \"98\",\n \"Name\" : \"MH 009\"\n }\n }, {\n \"values\" : {\n \"amount__c\" : \"251\",\n \"Name\" : \"MH 010\"\n }\n } ],\n \"outcomeType\" : \"Multiple Matches\",\n \"successStatus\" : true\n}\n\n ```\n\n| Property Name | Type | Description | Filter Group and Version | Available Version |\n| --- | --- | --- | --- | --- |\n| errorCode | Integer | The error code if transaction fails for any reason. | Small, 55.0 | 55.0 |\n| errorMessage | String | The error message if transaction fails for any reason. | Small, 55.0 | 55.0 |\n| outcomeList | [Decision Table Outcome Item](https://developer.salesforce.com/docs/atlas.en-us.industries_reference.meta/industries_reference/connect_responses_decision_table_outcome_item.htm)\\[\\] | Outcome list that stores two or more outcomes provided by the decision table. | Small, 55.0 | 55.0 |\n| outcomeType | String | The outcome type after the request is successful. | Small, 55.0 | 55.0 |\n| successStatus | Boolean | Indicates the status of the decision table execution. | Small, 55.0 | 55.0 |"
operationId: PostLookupTable
parameters:
- name: decisionTableId
in: path
description: Decision Table Id
required: true
schema:
type: string
examples:
- 0lDHo0000008Pnt
example: '500123'
requestBody:
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/LookupTableRequest1'
- examples:
- conditions:
conditionsList:
- fieldName: IsDeleted
value: true
contentMediaType: application/json
example:
conditions:
conditionsList:
- fieldName: IsDeleted
value: true
required: true
responses:
'201':
description: Created
headers:
Date:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Tue, 19 Sep 2023 13:22:05 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
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/Status201-Success5'
- examples:
- errorCode: null
errorMessage: null
outcomeList: []
outcomeType: No Match
successStatus: true
contentMediaType: application/json;charset=UTF-8
example:
errorCode: null
errorMessage: null
outcomeList: []
outcomeType: No Match
successStatus: true
'400':
description: Bad Request
headers:
Date:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Tue, 19 Sep 2023 12:16:33 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
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-BadRequest1'
description: ''
examples:
- - errorCode: INVALID_ID_FIELD
message: 'Invalid identifier: 0lIHo000000LFC6MAO'
contentMediaType: application/json;charset=UTF-8
example:
- errorCode: INVALID_ID_FIELD
message: 'Invalid identifier: 0lIHo000000LFC6MAO'
'500':
description: Server Error
headers:
Date:
content:
text/plain:
schema:
type: string
contentMediaType: text/plain
example: Tue, 19 Sep 2023 12:31: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
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/Status500-UnknownException1'
description: ''
examples:
- - message: 'An unexpected error occurred. Please include this ErrorId if you contact support: 1716762391-743375 (1633993601)'
errorCode: UNKNOWN_EXCEPTION
contentMediaType: application/json;charset=UTF-8
example:
- message: 'An unexpected error occurred. Please include this ErrorId if you contact support: 1716762391-743375 (1633993601)'
errorCode: UNKNOWN_EXCEPTION
deprecated: false
servers:
- url: https://services
variables: {}
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
Input1:
title: Input1
required:
- input
type: object
properties:
input:
type: array
items:
$ref: '#/components/schemas/Input2'
description: ''
example: []
examples:
- input:
- name: myColumnInput
value: One
Conditions:
title: Conditions
required:
- conditionsList
type: object
properties:
conditionsList:
type: array
items:
$ref: '#/components/schemas/ConditionsList1'
description: ''
example: []
examples:
- conditionsList:
- fieldName: IsDeleted
value: true
Status201-AcceptedButWarning:
title: Status201-AcceptedButWarning
required:
- outputs
type: object
properties:
# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/salesforce/refs/heads/main/openapi/salesforce-table-api-openapi.yml