naftiko: 1.0.0-alpha2 info: label: Salesforce — Credential description: 'Salesforce — Credential. 13 operations. Lead operation: Salesforce Get Credential. Self-contained Naftiko capability covering one Salesforce business surface.' tags: - Salesforce - Credential created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SALESFORCE_API_KEY: SALESFORCE_API_KEY capability: consumes: - type: http namespace: salesforce-credential baseUri: https://login.salesforce.com description: Salesforce — Credential business capability. Self-contained, no shared references. resources: - name: data-v64.0-named-credentials-credential path: /data/v64.0/named-credentials/credential operations: - name: getcredential method: GET description: Salesforce Get Credential outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: externalCredential in: query type: string description: Fully qualified developer name of the external credential. required: true - name: principalName in: query type: string description: Name of the external credential named principal. required: true - name: principalType in: query type: string description: 'Type of credential principal. Values are:' required: true - name: createcredential method: POST description: Salesforce Create Credential outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: updatecredential method: PUT description: Salesforce Update Credential outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletecredential method: DELETE description: Salesforce Delete Credential 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-named-credentials-external-credentials path: /data/v64.0/named-credentials/external-credentials operations: - name: createexternalcredential method: POST description: Salesforce Create External Credential 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-named-credentials-external-credentials-DEVELOPER_NAME path: /data/v64.0/named-credentials/external-credentials/{DEVELOPER_NAME} operations: - name: updateexternalcredential method: PUT description: Salesforce Update External Credential outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: DEVELOPER_NAME in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteexternalcredential method: DELETE description: Salesforce Delete External Credential outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: DEVELOPER_NAME in: path type: string required: true - name: data-v64.0-named-credentials-named-credential-setup path: /data/v64.0/named-credentials/named-credential-setup operations: - name: createnamedcredential method: POST description: Salesforce Create Named Credential 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-named-credentials-named-credential-setup-DEVELOPER_NAME path: /data/v64.0/named-credentials/named-credential-setup/{DEVELOPER_NAME} operations: - name: getnamedcredentialbydevelopername method: GET description: Salesforce Get Named Credential by Developer Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: DEVELOPER_NAME in: path type: string required: true - name: updatenamedcredential method: PUT description: Salesforce Update Named Credential outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: DEVELOPER_NAME in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: data-v64.0-tooling-sobjects-NamedCredential-NAMED_CREDENTIAL_ID path: /data/v64.0/tooling/sobjects/NamedCredential/{NAMED_CREDENTIAL_ID} operations: - name: getnamedcredential method: GET description: Salesforce Get Named Credential outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: NAMED_CREDENTIAL_ID in: path type: string required: true - name: deletenamedcredential method: DELETE description: Salesforce Delete Named Credential outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: NAMED_CREDENTIAL_ID in: path type: string required: true - name: updatenamedcredential method: PATCH description: Salesforce Update Named Credential outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: NAMED_CREDENTIAL_ID in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.SALESFORCE_API_KEY}}' exposes: - type: rest namespace: salesforce-credential-rest port: 8080 description: REST adapter for Salesforce — Credential. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/data/v64-0/named-credentials/credential name: data-v64-0-named-credentials-credential description: REST surface for data-v64.0-named-credentials-credential. operations: - method: GET name: getcredential description: Salesforce Get Credential call: salesforce-credential.getcredential with: externalCredential: rest.externalCredential principalName: rest.principalName principalType: rest.principalType outputParameters: - type: object mapping: $. - method: POST name: createcredential description: Salesforce Create Credential call: salesforce-credential.createcredential with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: updatecredential description: Salesforce Update Credential call: salesforce-credential.updatecredential with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletecredential description: Salesforce Delete Credential call: salesforce-credential.deletecredential with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/named-credentials/external-credentials name: data-v64-0-named-credentials-external-credentials description: REST surface for data-v64.0-named-credentials-external-credentials. operations: - method: POST name: createexternalcredential description: Salesforce Create External Credential call: salesforce-credential.createexternalcredential with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/named-credentials/external-credentials/{developer-name} name: data-v64-0-named-credentials-external-credentials-developer-name description: REST surface for data-v64.0-named-credentials-external-credentials-DEVELOPER_NAME. operations: - method: PUT name: updateexternalcredential description: Salesforce Update External Credential call: salesforce-credential.updateexternalcredential with: DEVELOPER_NAME: rest.DEVELOPER_NAME body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteexternalcredential description: Salesforce Delete External Credential call: salesforce-credential.deleteexternalcredential with: DEVELOPER_NAME: rest.DEVELOPER_NAME outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/named-credentials/named-credential-setup name: data-v64-0-named-credentials-named-credential-setup description: REST surface for data-v64.0-named-credentials-named-credential-setup. operations: - method: POST name: createnamedcredential description: Salesforce Create Named Credential call: salesforce-credential.createnamedcredential with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/named-credentials/named-credential-setup/{developer-name} name: data-v64-0-named-credentials-named-credential-setup-developer-name description: REST surface for data-v64.0-named-credentials-named-credential-setup-DEVELOPER_NAME. operations: - method: GET name: getnamedcredentialbydevelopername description: Salesforce Get Named Credential by Developer Name call: salesforce-credential.getnamedcredentialbydevelopername with: DEVELOPER_NAME: rest.DEVELOPER_NAME outputParameters: - type: object mapping: $. - method: PUT name: updatenamedcredential description: Salesforce Update Named Credential call: salesforce-credential.updatenamedcredential with: DEVELOPER_NAME: rest.DEVELOPER_NAME body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/tooling/sobjects/namedcredential/{named-credential-id} name: data-v64-0-tooling-sobjects-namedcredential-named-credential-id description: REST surface for data-v64.0-tooling-sobjects-NamedCredential-NAMED_CREDENTIAL_ID. operations: - method: GET name: getnamedcredential description: Salesforce Get Named Credential call: salesforce-credential.getnamedcredential with: NAMED_CREDENTIAL_ID: rest.NAMED_CREDENTIAL_ID outputParameters: - type: object mapping: $. - method: DELETE name: deletenamedcredential description: Salesforce Delete Named Credential call: salesforce-credential.deletenamedcredential with: NAMED_CREDENTIAL_ID: rest.NAMED_CREDENTIAL_ID outputParameters: - type: object mapping: $. - method: PATCH name: updatenamedcredential description: Salesforce Update Named Credential call: salesforce-credential.updatenamedcredential with: NAMED_CREDENTIAL_ID: rest.NAMED_CREDENTIAL_ID body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: salesforce-credential-mcp port: 9090 transport: http description: MCP adapter for Salesforce — Credential. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: salesforce-get-credential description: Salesforce Get Credential hints: readOnly: true destructive: false idempotent: true call: salesforce-credential.getcredential with: externalCredential: tools.externalCredential principalName: tools.principalName principalType: tools.principalType outputParameters: - type: object mapping: $. - name: salesforce-create-credential description: Salesforce Create Credential hints: readOnly: false destructive: false idempotent: false call: salesforce-credential.createcredential with: body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-update-credential description: Salesforce Update Credential hints: readOnly: false destructive: false idempotent: true call: salesforce-credential.updatecredential with: body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-delete-credential description: Salesforce Delete Credential hints: readOnly: false destructive: true idempotent: true call: salesforce-credential.deletecredential with: body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-create-external-credential description: Salesforce Create External Credential hints: readOnly: false destructive: false idempotent: false call: salesforce-credential.createexternalcredential with: body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-update-external-credential description: Salesforce Update External Credential hints: readOnly: false destructive: false idempotent: true call: salesforce-credential.updateexternalcredential with: DEVELOPER_NAME: tools.DEVELOPER_NAME body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-delete-external-credential description: Salesforce Delete External Credential hints: readOnly: false destructive: true idempotent: true call: salesforce-credential.deleteexternalcredential with: DEVELOPER_NAME: tools.DEVELOPER_NAME outputParameters: - type: object mapping: $. - name: salesforce-create-named-credential description: Salesforce Create Named Credential hints: readOnly: false destructive: false idempotent: false call: salesforce-credential.createnamedcredential with: body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-get-named-credential-developer description: Salesforce Get Named Credential by Developer Name hints: readOnly: true destructive: false idempotent: true call: salesforce-credential.getnamedcredentialbydevelopername with: DEVELOPER_NAME: tools.DEVELOPER_NAME outputParameters: - type: object mapping: $. - name: salesforce-update-named-credential description: Salesforce Update Named Credential hints: readOnly: false destructive: false idempotent: true call: salesforce-credential.updatenamedcredential with: DEVELOPER_NAME: tools.DEVELOPER_NAME body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-get-named-credential description: Salesforce Get Named Credential hints: readOnly: true destructive: false idempotent: true call: salesforce-credential.getnamedcredential with: NAMED_CREDENTIAL_ID: tools.NAMED_CREDENTIAL_ID outputParameters: - type: object mapping: $. - name: salesforce-delete-named-credential description: Salesforce Delete Named Credential hints: readOnly: false destructive: true idempotent: true call: salesforce-credential.deletenamedcredential with: NAMED_CREDENTIAL_ID: tools.NAMED_CREDENTIAL_ID outputParameters: - type: object mapping: $. - name: salesforce-update-named-credential-2 description: Salesforce Update Named Credential hints: readOnly: false destructive: false idempotent: true call: salesforce-credential.updatenamedcredential with: NAMED_CREDENTIAL_ID: tools.NAMED_CREDENTIAL_ID body: tools.body outputParameters: - type: object mapping: $.