naftiko: 1.0.0-alpha2 info: label: Salesforce — Batch description: 'Salesforce — Batch. 8 operations. Lead operation: Salesforce Bulk Create Batch. Self-contained Naftiko capability covering one Salesforce business surface.' tags: - Salesforce - Batch created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SALESFORCE_API_KEY: SALESFORCE_API_KEY capability: consumes: - type: http namespace: salesforce-batch baseUri: https://login.salesforce.com description: Salesforce — Batch business capability. Self-contained, no shared references. resources: - name: async-64.0-job-batch path: /async/64.0/job//batch operations: - name: bulkcreatebatch method: POST description: Salesforce Bulk Create Batch outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-SFDC-Session in: header type: string required: true - name: Content-Type in: header type: string required: true - name: charset in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: bulkcheckbatchstatus method: GET description: Salesforce Bulk Check Batch Status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-SFDC-Session in: header type: string required: true - name: Accept-Encoding in: header type: string required: true - name: Content-Encoding in: header type: string required: true - name: async-64.0-job-batch-_batchId-result path: /async/64.0/job//batch/{_batchId}/result operations: - name: bulkretrievebatchresult method: GET description: Salesforce Bulk Retrieve Batch Result outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-SFDC-Session in: header type: string required: true - name: Accept-Encoding in: header type: string required: true - name: Content-Encoding in: header type: string required: true - name: _batchId in: path type: string required: true - name: async-64.0-job-batch-_batchId-result-batchResultId path: /async/64.0/job//batch/{_batchId}/result/{batchResultId} operations: - name: bulkretrievebatchresultdata method: GET description: Salesforce Bulk Retrieve Batch Result Data outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: batchResultId in: path type: string required: true - name: X-SFDC-Session in: header type: string required: true - name: Accept-Encoding in: header type: string required: true - name: Content-Encoding in: header type: string required: true - name: _batchId in: path type: string required: true - name: data-v64.0-chatter-feed-elements-batch path: /data/v64.0/chatter/feed-elements/batch operations: - name: feedelementsbatchpost method: POST description: Salesforce Feed Elements, Batch Post outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: data-v64.0-composite-batch path: /data/v64.0/composite/batch operations: - name: compositebatch method: POST description: Salesforce Composite Batch outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: data-v64.0-ui-api-favorites-batch path: /data/v64.0/ui-api/favorites/batch operations: - name: updateabatchoffavorites method: PUT description: Salesforce Update a Batch of Favorites outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: data-v64.0-ui-api-records-batch-RECORD_IDS path: /data/v64.0/ui-api/records/batch/{RECORD_IDS} operations: - name: getabatchofrecords method: GET description: Salesforce Get a Batch of Records outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: RECORD_IDS in: path type: string description: Comma-separated list of record IDs required: true authentication: type: bearer token: '{{env.SALESFORCE_API_KEY}}' exposes: - type: rest namespace: salesforce-batch-rest port: 8080 description: REST adapter for Salesforce — Batch. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/async/64-0/job/batch name: async-64-0-job-batch description: REST surface for async-64.0-job-batch. operations: - method: POST name: bulkcreatebatch description: Salesforce Bulk Create Batch call: salesforce-batch.bulkcreatebatch with: X-SFDC-Session: rest.X-SFDC-Session Content-Type: rest.Content-Type charset: rest.charset body: rest.body outputParameters: - type: object mapping: $. - method: GET name: bulkcheckbatchstatus description: Salesforce Bulk Check Batch Status call: salesforce-batch.bulkcheckbatchstatus with: X-SFDC-Session: rest.X-SFDC-Session Accept-Encoding: rest.Accept-Encoding Content-Encoding: rest.Content-Encoding outputParameters: - type: object mapping: $. - path: /v1/async/64-0/job/batch/{batchid}/result name: async-64-0-job-batch-batchid-result description: REST surface for async-64.0-job-batch-_batchId-result. operations: - method: GET name: bulkretrievebatchresult description: Salesforce Bulk Retrieve Batch Result call: salesforce-batch.bulkretrievebatchresult with: X-SFDC-Session: rest.X-SFDC-Session Accept-Encoding: rest.Accept-Encoding Content-Encoding: rest.Content-Encoding _batchId: rest._batchId outputParameters: - type: object mapping: $. - path: /v1/async/64-0/job/batch/{batchid}/result/{batchresultid} name: async-64-0-job-batch-batchid-result-batchresultid description: REST surface for async-64.0-job-batch-_batchId-result-batchResultId. operations: - method: GET name: bulkretrievebatchresultdata description: Salesforce Bulk Retrieve Batch Result Data call: salesforce-batch.bulkretrievebatchresultdata with: batchResultId: rest.batchResultId X-SFDC-Session: rest.X-SFDC-Session Accept-Encoding: rest.Accept-Encoding Content-Encoding: rest.Content-Encoding _batchId: rest._batchId outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/chatter/feed-elements/batch name: data-v64-0-chatter-feed-elements-batch description: REST surface for data-v64.0-chatter-feed-elements-batch. operations: - method: POST name: feedelementsbatchpost description: Salesforce Feed Elements, Batch Post call: salesforce-batch.feedelementsbatchpost with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/composite/batch name: data-v64-0-composite-batch description: REST surface for data-v64.0-composite-batch. operations: - method: POST name: compositebatch description: Salesforce Composite Batch call: salesforce-batch.compositebatch with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/ui-api/favorites/batch name: data-v64-0-ui-api-favorites-batch description: REST surface for data-v64.0-ui-api-favorites-batch. operations: - method: PUT name: updateabatchoffavorites description: Salesforce Update a Batch of Favorites call: salesforce-batch.updateabatchoffavorites with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/ui-api/records/batch/{record-ids} name: data-v64-0-ui-api-records-batch-record-ids description: REST surface for data-v64.0-ui-api-records-batch-RECORD_IDS. operations: - method: GET name: getabatchofrecords description: Salesforce Get a Batch of Records call: salesforce-batch.getabatchofrecords with: RECORD_IDS: rest.RECORD_IDS outputParameters: - type: object mapping: $. - type: mcp namespace: salesforce-batch-mcp port: 9090 transport: http description: MCP adapter for Salesforce — Batch. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: salesforce-bulk-create-batch description: Salesforce Bulk Create Batch hints: readOnly: false destructive: false idempotent: false call: salesforce-batch.bulkcreatebatch with: X-SFDC-Session: tools.X-SFDC-Session Content-Type: tools.Content-Type charset: tools.charset body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-bulk-check-batch-status description: Salesforce Bulk Check Batch Status hints: readOnly: true destructive: false idempotent: true call: salesforce-batch.bulkcheckbatchstatus with: X-SFDC-Session: tools.X-SFDC-Session Accept-Encoding: tools.Accept-Encoding Content-Encoding: tools.Content-Encoding outputParameters: - type: object mapping: $. - name: salesforce-bulk-retrieve-batch-result description: Salesforce Bulk Retrieve Batch Result hints: readOnly: true destructive: false idempotent: true call: salesforce-batch.bulkretrievebatchresult with: X-SFDC-Session: tools.X-SFDC-Session Accept-Encoding: tools.Accept-Encoding Content-Encoding: tools.Content-Encoding _batchId: tools._batchId outputParameters: - type: object mapping: $. - name: salesforce-bulk-retrieve-batch-result-2 description: Salesforce Bulk Retrieve Batch Result Data hints: readOnly: true destructive: false idempotent: true call: salesforce-batch.bulkretrievebatchresultdata with: batchResultId: tools.batchResultId X-SFDC-Session: tools.X-SFDC-Session Accept-Encoding: tools.Accept-Encoding Content-Encoding: tools.Content-Encoding _batchId: tools._batchId outputParameters: - type: object mapping: $. - name: salesforce-feed-elements-batch-post description: Salesforce Feed Elements, Batch Post hints: readOnly: false destructive: false idempotent: false call: salesforce-batch.feedelementsbatchpost with: body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-composite-batch description: Salesforce Composite Batch hints: readOnly: false destructive: false idempotent: false call: salesforce-batch.compositebatch with: body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-update-batch-favorites description: Salesforce Update a Batch of Favorites hints: readOnly: false destructive: false idempotent: true call: salesforce-batch.updateabatchoffavorites with: body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-get-batch-records description: Salesforce Get a Batch of Records hints: readOnly: true destructive: false idempotent: true call: salesforce-batch.getabatchofrecords with: RECORD_IDS: tools.RECORD_IDS outputParameters: - type: object mapping: $.