naftiko: 1.0.0-alpha2 info: label: Salesforce — Data description: 'Salesforce — Data. 16 operations. Lead operation: Salesforce Bulk Retrieve Batch Result Data. Self-contained Naftiko capability covering one Salesforce business surface.' tags: - Salesforce - Data created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SALESFORCE_API_KEY: SALESFORCE_API_KEY capability: consumes: - type: http namespace: salesforce-data baseUri: https://login.salesforce.com description: Salesforce — Data business capability. Self-contained, no shared references. resources: - 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-actions-custom-runDecisionMatrix-UniqueName path: /data/v64.0/actions/custom/runDecisionMatrix/{UniqueName} operations: - name: rundecisionmatrix method: POST description: Salesforce Rundecisionmatrix outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: UniqueName in: path type: string description: The value of UniqueName is the unique identifier of the record, which is sourced from the name of a decision matrix. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: data-v64.0-actions-custom-runExpressionSet-expressionSetAPIName path: /data/v64.0/actions/custom/runExpressionSet/{expressionSetAPIName} operations: - name: runexpressionset method: POST description: Salesforce Runexpressionset outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: expressionSetAPIName in: path type: string description: The API name of an expression set is unique within your Salesforce instance. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: data-v64.0-actions-standard-createOrUpdateAssetFromOrder path: /data/v64.0/actions/standard/createOrUpdateAssetFromOrder operations: - name: createassetfromorder method: POST description: Salesforce Createassetfromorder 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-appMenu path: /data/v64.0/appMenu operations: - name: appmenu method: GET description: Salesforce Appmenu outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string required: true - name: data-v64.0-jobs-ingest-batches path: /data/v64.0/jobs/ingest//batches operations: - name: uploadjobdata method: PUT description: Salesforce Upload Job Data outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: data-v64.0-limits path: /data/v64.0/limits operations: - name: limits method: GET description: Salesforce Limits outputRawFormat: json outputParameters: - name: result type: object value: $. - name: data-v64.0-queryAll path: /data/v64.0/queryAll operations: - name: queryall method: GET description: Salesforce Queryall outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: q in: query type: string required: true - name: Content-Type in: header type: string required: true - name: data-v64.0-sobjects-PlatformAction path: /data/v64.0/sobjects/PlatformAction operations: - name: sobjectplatformaction method: GET description: Salesforce Sobject Platformaction outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string required: true - name: data-v64.0-sobjects-SOBJECT_API_NAME-describe-approvalLayouts-APPROVAL_PROCESS_N path: /data/v64.0/sobjects/{SOBJECT_API_NAME}/describe/approvalLayouts/{APPROVAL_PROCESS_NAME} operations: - name: sobjectapprovallayouts method: GET description: Salesforce Sobject Approvallayouts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: SOBJECT_API_NAME in: path type: string required: true - name: APPROVAL_PROCESS_NAME in: path type: string required: true - name: Content-Type in: header type: string required: true - name: data-v64.0-sobjects-SOBJECT_API_NAME-describe-describe-compactLayouts path: /data/v64.0/sobjects/{SOBJECT_API_NAME}/describe/describe/compactLayouts operations: - name: sobjectcompactlayouts method: GET description: Salesforce Sobject Compactlayouts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: SOBJECT_API_NAME in: path type: string required: true - name: Content-Type in: header type: string required: true - name: data-v64.0-support-dataCategoryGroups path: /data/v64.0/support/dataCategoryGroups operations: - name: datacategorygroups method: GET description: Salesforce Data Category Groups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sObjectName in: query type: string required: true - name: Content-Type in: header type: string required: true - name: data-v64.0-support-dataCategoryGroups-GROUP-dataCategories-CATEGORY path: /data/v64.0/support/dataCategoryGroups/{GROUP}/dataCategories/{CATEGORY} operations: - name: datacategorydetail method: GET description: Salesforce Data Category Detail outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: GROUP in: path type: string required: true - name: CATEGORY in: path type: string required: true - name: Content-Type in: header type: string required: true - name: data-v64.0-support-knowledgeArticles-ARTICLE_ID path: /data/v64.0/support/knowledgeArticles/{ARTICLE_ID} operations: - name: articlesdetails method: GET description: Salesforce Articles Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: ARTICLE_ID in: path type: string required: true - name: Content-Type in: header type: string required: true - name: data-v64.0-tooling-executeAnonymous path: /data/v64.0/tooling/executeAnonymous operations: - name: toolingexecuteanonymous method: GET description: Salesforce Tooling Executeanonymous outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: anonymousBody in: query type: string required: true - name: data-v64.0-ui-api-record-ui-RECORD_IDS path: /data/v64.0/ui-api/record-ui/{RECORD_IDS} operations: - name: getrecorddataandobjectmetadata method: GET description: Salesforce Get Record Data and Object Metadata 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-data-rest port: 8080 description: REST adapter for Salesforce — Data. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - 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-data.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/actions/custom/rundecisionmatrix/{uniquename} name: data-v64-0-actions-custom-rundecisionmatrix-uniquename description: REST surface for data-v64.0-actions-custom-runDecisionMatrix-UniqueName. operations: - method: POST name: rundecisionmatrix description: Salesforce Rundecisionmatrix call: salesforce-data.rundecisionmatrix with: UniqueName: rest.UniqueName body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/actions/custom/runexpressionset/{expressionsetapiname} name: data-v64-0-actions-custom-runexpressionset-expressionsetapiname description: REST surface for data-v64.0-actions-custom-runExpressionSet-expressionSetAPIName. operations: - method: POST name: runexpressionset description: Salesforce Runexpressionset call: salesforce-data.runexpressionset with: expressionSetAPIName: rest.expressionSetAPIName body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/actions/standard/createorupdateassetfromorder name: data-v64-0-actions-standard-createorupdateassetfromorder description: REST surface for data-v64.0-actions-standard-createOrUpdateAssetFromOrder. operations: - method: POST name: createassetfromorder description: Salesforce Createassetfromorder call: salesforce-data.createassetfromorder with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/appmenu name: data-v64-0-appmenu description: REST surface for data-v64.0-appMenu. operations: - method: GET name: appmenu description: Salesforce Appmenu call: salesforce-data.appmenu with: Content-Type: rest.Content-Type outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/jobs/ingest/batches name: data-v64-0-jobs-ingest-batches description: REST surface for data-v64.0-jobs-ingest-batches. operations: - method: PUT name: uploadjobdata description: Salesforce Upload Job Data call: salesforce-data.uploadjobdata with: Content-Type: rest.Content-Type body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/limits name: data-v64-0-limits description: REST surface for data-v64.0-limits. operations: - method: GET name: limits description: Salesforce Limits call: salesforce-data.limits outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/queryall name: data-v64-0-queryall description: REST surface for data-v64.0-queryAll. operations: - method: GET name: queryall description: Salesforce Queryall call: salesforce-data.queryall with: q: rest.q Content-Type: rest.Content-Type outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/sobjects/platformaction name: data-v64-0-sobjects-platformaction description: REST surface for data-v64.0-sobjects-PlatformAction. operations: - method: GET name: sobjectplatformaction description: Salesforce Sobject Platformaction call: salesforce-data.sobjectplatformaction with: Content-Type: rest.Content-Type outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/sobjects/{sobject-api-name}/describe/approvallayouts/{approval-process-name} name: data-v64-0-sobjects-sobject-api-name-describe-approvallayouts-approval-process-n description: REST surface for data-v64.0-sobjects-SOBJECT_API_NAME-describe-approvalLayouts-APPROVAL_PROCESS_N. operations: - method: GET name: sobjectapprovallayouts description: Salesforce Sobject Approvallayouts call: salesforce-data.sobjectapprovallayouts with: SOBJECT_API_NAME: rest.SOBJECT_API_NAME APPROVAL_PROCESS_NAME: rest.APPROVAL_PROCESS_NAME Content-Type: rest.Content-Type outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/sobjects/{sobject-api-name}/describe/describe/compactlayouts name: data-v64-0-sobjects-sobject-api-name-describe-describe-compactlayouts description: REST surface for data-v64.0-sobjects-SOBJECT_API_NAME-describe-describe-compactLayouts. operations: - method: GET name: sobjectcompactlayouts description: Salesforce Sobject Compactlayouts call: salesforce-data.sobjectcompactlayouts with: SOBJECT_API_NAME: rest.SOBJECT_API_NAME Content-Type: rest.Content-Type outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/support/datacategorygroups name: data-v64-0-support-datacategorygroups description: REST surface for data-v64.0-support-dataCategoryGroups. operations: - method: GET name: datacategorygroups description: Salesforce Data Category Groups call: salesforce-data.datacategorygroups with: sObjectName: rest.sObjectName Content-Type: rest.Content-Type outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/support/datacategorygroups/{group}/datacategories/{category} name: data-v64-0-support-datacategorygroups-group-datacategories-category description: REST surface for data-v64.0-support-dataCategoryGroups-GROUP-dataCategories-CATEGORY. operations: - method: GET name: datacategorydetail description: Salesforce Data Category Detail call: salesforce-data.datacategorydetail with: GROUP: rest.GROUP CATEGORY: rest.CATEGORY Content-Type: rest.Content-Type outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/support/knowledgearticles/{article-id} name: data-v64-0-support-knowledgearticles-article-id description: REST surface for data-v64.0-support-knowledgeArticles-ARTICLE_ID. operations: - method: GET name: articlesdetails description: Salesforce Articles Details call: salesforce-data.articlesdetails with: ARTICLE_ID: rest.ARTICLE_ID Content-Type: rest.Content-Type outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/tooling/executeanonymous name: data-v64-0-tooling-executeanonymous description: REST surface for data-v64.0-tooling-executeAnonymous. operations: - method: GET name: toolingexecuteanonymous description: Salesforce Tooling Executeanonymous call: salesforce-data.toolingexecuteanonymous with: anonymousBody: rest.anonymousBody outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/ui-api/record-ui/{record-ids} name: data-v64-0-ui-api-record-ui-record-ids description: REST surface for data-v64.0-ui-api-record-ui-RECORD_IDS. operations: - method: GET name: getrecorddataandobjectmetadata description: Salesforce Get Record Data and Object Metadata call: salesforce-data.getrecorddataandobjectmetadata with: RECORD_IDS: rest.RECORD_IDS outputParameters: - type: object mapping: $. - type: mcp namespace: salesforce-data-mcp port: 9090 transport: http description: MCP adapter for Salesforce — Data. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: salesforce-bulk-retrieve-batch-result description: Salesforce Bulk Retrieve Batch Result Data hints: readOnly: true destructive: false idempotent: true call: salesforce-data.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-rundecisionmatrix description: Salesforce Rundecisionmatrix hints: readOnly: false destructive: false idempotent: false call: salesforce-data.rundecisionmatrix with: UniqueName: tools.UniqueName body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-runexpressionset description: Salesforce Runexpressionset hints: readOnly: false destructive: false idempotent: false call: salesforce-data.runexpressionset with: expressionSetAPIName: tools.expressionSetAPIName body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-createassetfromorder description: Salesforce Createassetfromorder hints: readOnly: false destructive: false idempotent: false call: salesforce-data.createassetfromorder with: body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-appmenu description: Salesforce Appmenu hints: readOnly: true destructive: false idempotent: true call: salesforce-data.appmenu with: Content-Type: tools.Content-Type outputParameters: - type: object mapping: $. - name: salesforce-upload-job-data description: Salesforce Upload Job Data hints: readOnly: false destructive: false idempotent: true call: salesforce-data.uploadjobdata with: Content-Type: tools.Content-Type body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-limits description: Salesforce Limits hints: readOnly: true destructive: false idempotent: true call: salesforce-data.limits outputParameters: - type: object mapping: $. - name: salesforce-queryall description: Salesforce Queryall hints: readOnly: true destructive: false idempotent: true call: salesforce-data.queryall with: q: tools.q Content-Type: tools.Content-Type outputParameters: - type: object mapping: $. - name: salesforce-sobject-platformaction description: Salesforce Sobject Platformaction hints: readOnly: true destructive: false idempotent: true call: salesforce-data.sobjectplatformaction with: Content-Type: tools.Content-Type outputParameters: - type: object mapping: $. - name: salesforce-sobject-approvallayouts description: Salesforce Sobject Approvallayouts hints: readOnly: true destructive: false idempotent: true call: salesforce-data.sobjectapprovallayouts with: SOBJECT_API_NAME: tools.SOBJECT_API_NAME APPROVAL_PROCESS_NAME: tools.APPROVAL_PROCESS_NAME Content-Type: tools.Content-Type outputParameters: - type: object mapping: $. - name: salesforce-sobject-compactlayouts description: Salesforce Sobject Compactlayouts hints: readOnly: true destructive: false idempotent: true call: salesforce-data.sobjectcompactlayouts with: SOBJECT_API_NAME: tools.SOBJECT_API_NAME Content-Type: tools.Content-Type outputParameters: - type: object mapping: $. - name: salesforce-data-category-groups description: Salesforce Data Category Groups hints: readOnly: true destructive: false idempotent: true call: salesforce-data.datacategorygroups with: sObjectName: tools.sObjectName Content-Type: tools.Content-Type outputParameters: - type: object mapping: $. - name: salesforce-data-category-detail description: Salesforce Data Category Detail hints: readOnly: true destructive: false idempotent: true call: salesforce-data.datacategorydetail with: GROUP: tools.GROUP CATEGORY: tools.CATEGORY Content-Type: tools.Content-Type outputParameters: - type: object mapping: $. - name: salesforce-articles-details description: Salesforce Articles Details hints: readOnly: true destructive: false idempotent: true call: salesforce-data.articlesdetails with: ARTICLE_ID: tools.ARTICLE_ID Content-Type: tools.Content-Type outputParameters: - type: object mapping: $. - name: salesforce-tooling-executeanonymous description: Salesforce Tooling Executeanonymous hints: readOnly: true destructive: false idempotent: true call: salesforce-data.toolingexecuteanonymous with: anonymousBody: tools.anonymousBody outputParameters: - type: object mapping: $. - name: salesforce-get-record-data-and description: Salesforce Get Record Data and Object Metadata hints: readOnly: true destructive: false idempotent: true call: salesforce-data.getrecorddataandobjectmetadata with: RECORD_IDS: tools.RECORD_IDS outputParameters: - type: object mapping: $.