Salesforce · Capability
Salesforce REST API — Records
Salesforce REST API — Records. 4 operations. Lead operation: Create sObject Record. Self-contained Naftiko capability covering one Salesforcecom business surface.
What You Can Do
POST
Createsobjectrecord
— Create sObject Record
/v1/services/data/v-version/sobjects/{sobjectname}
GET
Getsobjectrecord
— Get sObject Record
/v1/services/data/v-version/sobjects/{sobjectname}/{id}
PATCH
Updatesobjectrecord
— Update sObject Record
/v1/services/data/v-version/sobjects/{sobjectname}/{id}
DELETE
Deletesobjectrecord
— Delete sObject Record
/v1/services/data/v-version/sobjects/{sobjectname}/{id}
MCP Tools
create-sobject-record
Create sObject Record
get-sobject-record
Get sObject Record
read-only
idempotent
update-sobject-record
Update sObject Record
idempotent
delete-sobject-record
Delete sObject Record
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Salesforce REST API — Records
description: 'Salesforce REST API — Records. 4 operations. Lead operation: Create sObject Record. Self-contained Naftiko
capability covering one Salesforcecom business surface.'
tags:
- Salesforcecom
- Records
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SALESFORCECOM_API_KEY: SALESFORCECOM_API_KEY
capability:
consumes:
- type: http
namespace: rest-records
baseUri: https://{instance}.salesforce.com
description: Salesforce REST API — Records business capability. Self-contained, no shared references.
resources:
- name: services-data-v{version}-sobjects-sObjectName
path: /services/data/v{version}/sobjects/{sObjectName}
operations:
- name: createsobjectrecord
method: POST
description: Create sObject Record
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: version
in: path
type: string
description: Salesforce API version
required: true
- name: sObjectName
in: path
type: string
description: API name of the sObject (e.g., Account, Contact)
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: services-data-v{version}-sobjects-sObjectName-id
path: /services/data/v{version}/sobjects/{sObjectName}/{id}
operations:
- name: getsobjectrecord
method: GET
description: Get sObject Record
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: version
in: path
type: string
description: Salesforce API version
required: true
- name: sObjectName
in: path
type: string
description: API name of the sObject (e.g., Account, Contact)
required: true
- name: id
in: path
type: string
description: 18-character Salesforce record ID
required: true
- name: fields
in: query
type: string
description: Comma-separated list of fields to return
- name: updatesobjectrecord
method: PATCH
description: Update sObject Record
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: version
in: path
type: string
description: Salesforce API version
required: true
- name: sObjectName
in: path
type: string
description: API name of the sObject (e.g., Account, Contact)
required: true
- name: id
in: path
type: string
description: 18-character Salesforce record ID
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: deletesobjectrecord
method: DELETE
description: Delete sObject Record
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: version
in: path
type: string
description: Salesforce API version
required: true
- name: sObjectName
in: path
type: string
description: API name of the sObject (e.g., Account, Contact)
required: true
- name: id
in: path
type: string
description: 18-character Salesforce record ID
required: true
authentication:
type: bearer
token: '{{env.SALESFORCECOM_API_KEY}}'
exposes:
- type: rest
namespace: rest-records-rest
port: 8080
description: REST adapter for Salesforce REST API — Records. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/services/data/v-version/sobjects/{sobjectname}
name: services-data-v-version-sobjects-sobjectname
description: REST surface for services-data-v{version}-sobjects-sObjectName.
operations:
- method: POST
name: createsobjectrecord
description: Create sObject Record
call: rest-records.createsobjectrecord
with:
version: rest.version
sObjectName: rest.sObjectName
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/services/data/v-version/sobjects/{sobjectname}/{id}
name: services-data-v-version-sobjects-sobjectname-id
description: REST surface for services-data-v{version}-sobjects-sObjectName-id.
operations:
- method: GET
name: getsobjectrecord
description: Get sObject Record
call: rest-records.getsobjectrecord
with:
version: rest.version
sObjectName: rest.sObjectName
id: rest.id
fields: rest.fields
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updatesobjectrecord
description: Update sObject Record
call: rest-records.updatesobjectrecord
with:
version: rest.version
sObjectName: rest.sObjectName
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletesobjectrecord
description: Delete sObject Record
call: rest-records.deletesobjectrecord
with:
version: rest.version
sObjectName: rest.sObjectName
id: rest.id
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: rest-records-mcp
port: 9090
transport: http
description: MCP adapter for Salesforce REST API — Records. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: create-sobject-record
description: Create sObject Record
hints:
readOnly: false
destructive: false
idempotent: false
call: rest-records.createsobjectrecord
with:
version: tools.version
sObjectName: tools.sObjectName
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-sobject-record
description: Get sObject Record
hints:
readOnly: true
destructive: false
idempotent: true
call: rest-records.getsobjectrecord
with:
version: tools.version
sObjectName: tools.sObjectName
id: tools.id
fields: tools.fields
outputParameters:
- type: object
mapping: $.
- name: update-sobject-record
description: Update sObject Record
hints:
readOnly: false
destructive: false
idempotent: true
call: rest-records.updatesobjectrecord
with:
version: tools.version
sObjectName: tools.sObjectName
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-sobject-record
description: Delete sObject Record
hints:
readOnly: false
destructive: true
idempotent: true
call: rest-records.deletesobjectrecord
with:
version: tools.version
sObjectName: tools.sObjectName
id: tools.id
outputParameters:
- type: object
mapping: $.