naftiko: 1.0.0-alpha2 info: label: SAP Concur Expense Report API — Comments description: 'SAP Concur Expense Report API — Comments. 6 operations. Lead operation: Sap Concur Retrieve Report-level Comments. Self-contained Naftiko capability covering one Sap Concur business surface.' tags: - Sap Concur - Comments created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SAP_CONCUR_API_KEY: SAP_CONCUR_API_KEY capability: consumes: - type: http namespace: expense-comments baseUri: https://us.api.concursolutions.com description: SAP Concur Expense Report API — Comments business capability. Self-contained, no shared references. resources: - name: expensereports-v4-users-userID-context-contextType-reports-reportId-comments path: /expensereports/v4/users/{userID}/context/{contextType}/reports/{reportId}/comments operations: - name: getreportcomments method: GET description: Sap Concur Retrieve Report-level Comments outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: includeAllComments in: query type: boolean description: Whether to return comments from all report levels - name: createreportcomment method: POST description: Sap Concur Create a Report-level Comment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: updatereportcomment method: PUT description: Sap Concur Update the Latest Report-level Comment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletereportcomment method: DELETE description: Sap Concur Delete the Latest Report-level Comment outputRawFormat: json outputParameters: - name: result type: object value: $. - name: expensereports-v4-users-userID-context-contextType-reports-reportId-expenses-exp path: /expensereports/v4/users/{userID}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/comments operations: - name: getexpensecomments method: GET description: Sap Concur Retrieve Expense-level Comments outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createexpensecomment method: POST description: Sap Concur Create an Expense-level Comment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.SAP_CONCUR_API_KEY}}' exposes: - type: rest namespace: expense-comments-rest port: 8080 description: REST adapter for SAP Concur Expense Report API — Comments. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/expensereports/v4/users/{userid}/context/{contexttype}/reports/{reportid}/comments name: expensereports-v4-users-userid-context-contexttype-reports-reportid-comments description: REST surface for expensereports-v4-users-userID-context-contextType-reports-reportId-comments. operations: - method: GET name: getreportcomments description: Sap Concur Retrieve Report-level Comments call: expense-comments.getreportcomments with: includeAllComments: rest.includeAllComments outputParameters: - type: object mapping: $. - method: POST name: createreportcomment description: Sap Concur Create a Report-level Comment call: expense-comments.createreportcomment with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: updatereportcomment description: Sap Concur Update the Latest Report-level Comment call: expense-comments.updatereportcomment with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletereportcomment description: Sap Concur Delete the Latest Report-level Comment call: expense-comments.deletereportcomment outputParameters: - type: object mapping: $. - path: /v1/expensereports/v4/users/{userid}/context/{contexttype}/reports/{reportid}/expenses/{expenseid}/comments name: expensereports-v4-users-userid-context-contexttype-reports-reportid-expenses-exp description: REST surface for expensereports-v4-users-userID-context-contextType-reports-reportId-expenses-exp. operations: - method: GET name: getexpensecomments description: Sap Concur Retrieve Expense-level Comments call: expense-comments.getexpensecomments outputParameters: - type: object mapping: $. - method: POST name: createexpensecomment description: Sap Concur Create an Expense-level Comment call: expense-comments.createexpensecomment with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: expense-comments-mcp port: 9090 transport: http description: MCP adapter for SAP Concur Expense Report API — Comments. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: sap-concur-retrieve-report-level description: Sap Concur Retrieve Report-level Comments hints: readOnly: true destructive: false idempotent: true call: expense-comments.getreportcomments with: includeAllComments: tools.includeAllComments outputParameters: - type: object mapping: $. - name: sap-concur-create-report-level description: Sap Concur Create a Report-level Comment hints: readOnly: false destructive: false idempotent: false call: expense-comments.createreportcomment with: body: tools.body outputParameters: - type: object mapping: $. - name: sap-concur-update-latest-report description: Sap Concur Update the Latest Report-level Comment hints: readOnly: false destructive: false idempotent: true call: expense-comments.updatereportcomment with: body: tools.body outputParameters: - type: object mapping: $. - name: sap-concur-delete-latest-report description: Sap Concur Delete the Latest Report-level Comment hints: readOnly: false destructive: true idempotent: true call: expense-comments.deletereportcomment outputParameters: - type: object mapping: $. - name: sap-concur-retrieve-expense-level description: Sap Concur Retrieve Expense-level Comments hints: readOnly: true destructive: false idempotent: true call: expense-comments.getexpensecomments outputParameters: - type: object mapping: $. - name: sap-concur-create-expense-level description: Sap Concur Create an Expense-level Comment hints: readOnly: false destructive: false idempotent: false call: expense-comments.createexpensecomment with: body: tools.body outputParameters: - type: object mapping: $.