naftiko: 1.0.0-alpha2 info: label: Upvest Investment API — Mandates description: 'Upvest Investment API — Mandates. 2 operations. Lead operation: Upvest List mandates. Self-contained Naftiko capability covering one Upvest business surface.' tags: - Upvest - Mandates created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: UPVEST_API_KEY: UPVEST_API_KEY capability: consumes: - type: http namespace: investment-mandates baseUri: https://api.upvest.co description: Upvest Investment API — Mandates business capability. Self-contained, no shared references. resources: - name: mandates path: /mandates operations: - name: listmandates method: GET description: Upvest List mandates outputRawFormat: json outputParameters: - name: result type: object value: $. - name: mandates-mandate_id path: /mandates/{mandate_id} operations: - name: retrievemandate method: GET description: Upvest Retrieve a mandate outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.UPVEST_API_KEY}}' exposes: - type: rest namespace: investment-mandates-rest port: 8080 description: REST adapter for Upvest Investment API — Mandates. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/mandates name: mandates description: REST surface for mandates. operations: - method: GET name: listmandates description: Upvest List mandates call: investment-mandates.listmandates outputParameters: - type: object mapping: $. - path: /v1/mandates/{mandate-id} name: mandates-mandate-id description: REST surface for mandates-mandate_id. operations: - method: GET name: retrievemandate description: Upvest Retrieve a mandate call: investment-mandates.retrievemandate outputParameters: - type: object mapping: $. - type: mcp namespace: investment-mandates-mcp port: 9090 transport: http description: MCP adapter for Upvest Investment API — Mandates. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: upvest-list-mandates description: Upvest List mandates hints: readOnly: true destructive: false idempotent: true call: investment-mandates.listmandates outputParameters: - type: object mapping: $. - name: upvest-retrieve-mandate description: Upvest Retrieve a mandate hints: readOnly: true destructive: false idempotent: true call: investment-mandates.retrievemandate outputParameters: - type: object mapping: $.