naftiko: 1.0.0-alpha2 info: label: Suger API — Buyer description: 'Suger API — Buyer. 10 operations. Lead operation: List Buyers. Self-contained Naftiko capability covering one Suger business surface.' tags: - Suger - Buyer created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SUGER_API_KEY: SUGER_API_KEY capability: consumes: - type: http namespace: suger-buyer baseUri: https://api.suger.cloud description: Suger API — Buyer business capability. Self-contained, no shared references. resources: - name: org-orgId-buyer path: /org/{orgId}/buyer operations: - name: listbuyers method: GET description: List Buyers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Organization ID required: true - name: partner in: query type: string description: filter by partner - name: contactId in: query type: string description: filter by contactId - name: awsAccountId in: query type: string description: filter by awsAccountId - name: limit in: query type: integer description: List pagination size, default 1000, max value is 1000 - name: offset in: query type: integer description: List pagination offset, default 0 - name: createbuyer method: POST description: Create Buyer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Organization ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: org-orgId-buyer-buyerId path: /org/{orgId}/buyer/{buyerId} operations: - name: getbuyer method: GET description: Get Buyer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Organization ID required: true - name: buyerId in: path type: string description: Buyer ID required: true - name: updatebuyer method: PATCH description: Update Buyer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Organization ID required: true - name: buyerId in: path type: string description: Buyer ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: org-orgId-buyer-buyerId-wallet path: /org/{orgId}/buyer/{buyerId}/wallet operations: - name: listbuyerwallets method: GET description: List Buyer's Wallets outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Organization ID required: true - name: buyerId in: path type: string description: Buyer ID required: true - name: createcreditwallet method: POST description: Create Credit Wallet outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Organization ID required: true - name: buyerId in: path type: string description: Buyer ID required: true - name: org-orgId-buyer-buyerId-wallet-walletId path: /org/{orgId}/buyer/{buyerId}/wallet/{walletId} operations: - name: deletebuyerwallet method: DELETE description: Delete Buyer Wallet outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Organization ID required: true - name: buyerId in: path type: string description: Buyer ID required: true - name: walletId in: path type: string description: Wallet ID required: true - name: updatecreditwallet method: PATCH description: Update Credit Wallet outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Organization ID required: true - name: buyerId in: path type: string description: Buyer ID required: true - name: walletId in: path type: string description: Wallet ID required: true - name: org-orgId-buyer-buyerId-wallet-walletId-close path: /org/{orgId}/buyer/{buyerId}/wallet/{walletId}/close operations: - name: closecreditwallet method: PATCH description: Close Credit Wallet outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Organization ID required: true - name: buyerId in: path type: string description: Buyer ID required: true - name: walletId in: path type: string description: Wallet ID required: true - name: org-orgId-buyer-buyerId-wallet-walletId-default path: /org/{orgId}/buyer/{buyerId}/wallet/{walletId}/default operations: - name: setbuyerdefaultwallet method: PATCH description: Set Buyer Default Wallet outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Organization ID required: true - name: buyerId in: path type: string description: Buyer ID required: true - name: walletId in: path type: string description: Wallet ID required: true authentication: type: apikey key: Authorization value: '{{env.SUGER_API_KEY}}' placement: header exposes: - type: rest namespace: suger-buyer-rest port: 8080 description: REST adapter for Suger API — Buyer. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/org/{orgid}/buyer name: org-orgid-buyer description: REST surface for org-orgId-buyer. operations: - method: GET name: listbuyers description: List Buyers call: suger-buyer.listbuyers with: orgId: rest.orgId partner: rest.partner contactId: rest.contactId awsAccountId: rest.awsAccountId limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - method: POST name: createbuyer description: Create Buyer call: suger-buyer.createbuyer with: orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/org/{orgid}/buyer/{buyerid} name: org-orgid-buyer-buyerid description: REST surface for org-orgId-buyer-buyerId. operations: - method: GET name: getbuyer description: Get Buyer call: suger-buyer.getbuyer with: orgId: rest.orgId buyerId: rest.buyerId outputParameters: - type: object mapping: $. - method: PATCH name: updatebuyer description: Update Buyer call: suger-buyer.updatebuyer with: orgId: rest.orgId buyerId: rest.buyerId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/org/{orgid}/buyer/{buyerid}/wallet name: org-orgid-buyer-buyerid-wallet description: REST surface for org-orgId-buyer-buyerId-wallet. operations: - method: GET name: listbuyerwallets description: List Buyer's Wallets call: suger-buyer.listbuyerwallets with: orgId: rest.orgId buyerId: rest.buyerId outputParameters: - type: object mapping: $. - method: POST name: createcreditwallet description: Create Credit Wallet call: suger-buyer.createcreditwallet with: orgId: rest.orgId buyerId: rest.buyerId outputParameters: - type: object mapping: $. - path: /v1/org/{orgid}/buyer/{buyerid}/wallet/{walletid} name: org-orgid-buyer-buyerid-wallet-walletid description: REST surface for org-orgId-buyer-buyerId-wallet-walletId. operations: - method: DELETE name: deletebuyerwallet description: Delete Buyer Wallet call: suger-buyer.deletebuyerwallet with: orgId: rest.orgId buyerId: rest.buyerId walletId: rest.walletId outputParameters: - type: object mapping: $. - method: PATCH name: updatecreditwallet description: Update Credit Wallet call: suger-buyer.updatecreditwallet with: orgId: rest.orgId buyerId: rest.buyerId walletId: rest.walletId outputParameters: - type: object mapping: $. - path: /v1/org/{orgid}/buyer/{buyerid}/wallet/{walletid}/close name: org-orgid-buyer-buyerid-wallet-walletid-close description: REST surface for org-orgId-buyer-buyerId-wallet-walletId-close. operations: - method: PATCH name: closecreditwallet description: Close Credit Wallet call: suger-buyer.closecreditwallet with: orgId: rest.orgId buyerId: rest.buyerId walletId: rest.walletId outputParameters: - type: object mapping: $. - path: /v1/org/{orgid}/buyer/{buyerid}/wallet/{walletid}/default name: org-orgid-buyer-buyerid-wallet-walletid-default description: REST surface for org-orgId-buyer-buyerId-wallet-walletId-default. operations: - method: PATCH name: setbuyerdefaultwallet description: Set Buyer Default Wallet call: suger-buyer.setbuyerdefaultwallet with: orgId: rest.orgId buyerId: rest.buyerId walletId: rest.walletId outputParameters: - type: object mapping: $. - type: mcp namespace: suger-buyer-mcp port: 9090 transport: http description: MCP adapter for Suger API — Buyer. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-buyers description: List Buyers hints: readOnly: true destructive: false idempotent: true call: suger-buyer.listbuyers with: orgId: tools.orgId partner: tools.partner contactId: tools.contactId awsAccountId: tools.awsAccountId limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: create-buyer description: Create Buyer hints: readOnly: false destructive: false idempotent: false call: suger-buyer.createbuyer with: orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: get-buyer description: Get Buyer hints: readOnly: true destructive: false idempotent: true call: suger-buyer.getbuyer with: orgId: tools.orgId buyerId: tools.buyerId outputParameters: - type: object mapping: $. - name: update-buyer description: Update Buyer hints: readOnly: false destructive: false idempotent: true call: suger-buyer.updatebuyer with: orgId: tools.orgId buyerId: tools.buyerId body: tools.body outputParameters: - type: object mapping: $. - name: list-buyer-s-wallets description: List Buyer's Wallets hints: readOnly: true destructive: false idempotent: true call: suger-buyer.listbuyerwallets with: orgId: tools.orgId buyerId: tools.buyerId outputParameters: - type: object mapping: $. - name: create-credit-wallet description: Create Credit Wallet hints: readOnly: false destructive: false idempotent: false call: suger-buyer.createcreditwallet with: orgId: tools.orgId buyerId: tools.buyerId outputParameters: - type: object mapping: $. - name: delete-buyer-wallet description: Delete Buyer Wallet hints: readOnly: false destructive: true idempotent: true call: suger-buyer.deletebuyerwallet with: orgId: tools.orgId buyerId: tools.buyerId walletId: tools.walletId outputParameters: - type: object mapping: $. - name: update-credit-wallet description: Update Credit Wallet hints: readOnly: false destructive: false idempotent: true call: suger-buyer.updatecreditwallet with: orgId: tools.orgId buyerId: tools.buyerId walletId: tools.walletId outputParameters: - type: object mapping: $. - name: close-credit-wallet description: Close Credit Wallet hints: readOnly: false destructive: false idempotent: true call: suger-buyer.closecreditwallet with: orgId: tools.orgId buyerId: tools.buyerId walletId: tools.walletId outputParameters: - type: object mapping: $. - name: set-buyer-default-wallet description: Set Buyer Default Wallet hints: readOnly: false destructive: false idempotent: true call: suger-buyer.setbuyerdefaultwallet with: orgId: tools.orgId buyerId: tools.buyerId walletId: tools.walletId outputParameters: - type: object mapping: $.