naftiko: 1.0.0-alpha2 info: label: Salesforce Experience Cloud Salesforce User Interface API — Records description: 'Salesforce Experience Cloud Salesforce User Interface API — Records. 5 operations. Lead operation: Salesforce Experience Cloud Get Record UI. Self-contained Naftiko capability covering one Salesforce Experience Cloud business surface.' tags: - Salesforce Experience Cloud - Records created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SALESFORCE_EXPERIENCE_CLOUD_API_KEY: SALESFORCE_EXPERIENCE_CLOUD_API_KEY capability: consumes: - type: http namespace: user-interface-records baseUri: https://{instance}.salesforce.com/services/data/v59.0/ui-api description: Salesforce Experience Cloud Salesforce User Interface API — Records business capability. Self-contained, no shared references. resources: - name: record-ui-recordIds path: /record-ui/{recordIds} operations: - name: getrecordui method: GET description: Salesforce Experience Cloud Get Record UI outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: recordIds in: path type: string description: One or more record IDs (comma-separated for multiple records, up to 200) required: true - name: childRelationships in: query type: string description: Comma-separated list of child relationship names to include - name: formFactor in: query type: string description: Form factor for the layout - name: layoutTypes in: query type: string description: Comma-separated layout types to return - name: modes in: query type: string description: Comma-separated modes for the layout - name: optionalFields in: query type: string description: Comma-separated list of optional fields to include - name: records path: /records operations: - name: createrecord method: POST description: Salesforce Experience Cloud Create a Record outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: records-recordId path: /records/{recordId} operations: - name: getrecord method: GET description: Salesforce Experience Cloud Get a Record outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fields in: query type: string description: Comma-separated list of field API names to return - name: layoutTypes in: query type: string description: Layout type whose fields to include - name: modes in: query type: string description: Layout mode - name: optionalFields in: query type: string description: Optional fields to include if accessible - name: updaterecord method: PATCH description: Salesforce Experience Cloud Update a Record outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleterecord method: DELETE description: Salesforce Experience Cloud Delete a Record outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.SALESFORCE_EXPERIENCE_CLOUD_API_KEY}}' exposes: - type: rest namespace: user-interface-records-rest port: 8080 description: REST adapter for Salesforce Experience Cloud Salesforce User Interface API — Records. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/record-ui/{recordids} name: record-ui-recordids description: REST surface for record-ui-recordIds. operations: - method: GET name: getrecordui description: Salesforce Experience Cloud Get Record UI call: user-interface-records.getrecordui with: recordIds: rest.recordIds childRelationships: rest.childRelationships formFactor: rest.formFactor layoutTypes: rest.layoutTypes modes: rest.modes optionalFields: rest.optionalFields outputParameters: - type: object mapping: $. - path: /v1/records name: records description: REST surface for records. operations: - method: POST name: createrecord description: Salesforce Experience Cloud Create a Record call: user-interface-records.createrecord with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/records/{recordid} name: records-recordid description: REST surface for records-recordId. operations: - method: GET name: getrecord description: Salesforce Experience Cloud Get a Record call: user-interface-records.getrecord with: fields: rest.fields layoutTypes: rest.layoutTypes modes: rest.modes optionalFields: rest.optionalFields outputParameters: - type: object mapping: $. - method: PATCH name: updaterecord description: Salesforce Experience Cloud Update a Record call: user-interface-records.updaterecord with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleterecord description: Salesforce Experience Cloud Delete a Record call: user-interface-records.deleterecord outputParameters: - type: object mapping: $. - type: mcp namespace: user-interface-records-mcp port: 9090 transport: http description: MCP adapter for Salesforce Experience Cloud Salesforce User Interface API — Records. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: salesforce-experience-cloud-get-record description: Salesforce Experience Cloud Get Record UI hints: readOnly: true destructive: false idempotent: true call: user-interface-records.getrecordui with: recordIds: tools.recordIds childRelationships: tools.childRelationships formFactor: tools.formFactor layoutTypes: tools.layoutTypes modes: tools.modes optionalFields: tools.optionalFields outputParameters: - type: object mapping: $. - name: salesforce-experience-cloud-create-record description: Salesforce Experience Cloud Create a Record hints: readOnly: false destructive: false idempotent: false call: user-interface-records.createrecord with: body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-experience-cloud-get-record-2 description: Salesforce Experience Cloud Get a Record hints: readOnly: true destructive: false idempotent: true call: user-interface-records.getrecord with: fields: tools.fields layoutTypes: tools.layoutTypes modes: tools.modes optionalFields: tools.optionalFields outputParameters: - type: object mapping: $. - name: salesforce-experience-cloud-update-record description: Salesforce Experience Cloud Update a Record hints: readOnly: false destructive: false idempotent: true call: user-interface-records.updaterecord with: body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-experience-cloud-delete-record description: Salesforce Experience Cloud Delete a Record hints: readOnly: false destructive: true idempotent: true call: user-interface-records.deleterecord outputParameters: - type: object mapping: $.