naftiko: 1.0.0-alpha2 info: label: Zendit API — Mobile Top-Up description: 'Zendit API — Mobile Top-Up. 5 operations. Lead operation: Zendit List Topup Offers. Self-contained Naftiko capability covering one Zendit business surface.' tags: - Zendit - Mobile Top-Up created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ZENDIT_API_KEY: ZENDIT_API_KEY capability: consumes: - type: http namespace: zendit-mobile-top-up baseUri: https://api.zendit.io/v1 description: Zendit API — Mobile Top-Up business capability. Self-contained, no shared references. resources: - name: topups-offers path: /topups/offers operations: - name: listtopupoffers method: GET description: Zendit List Topup Offers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: brand in: query type: string - name: subType in: query type: string - name: topups-offers-offerId path: /topups/offers/{offerId} operations: - name: gettopupoffer method: GET description: Zendit Get Topup Offer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: topups-purchases path: /topups/purchases operations: - name: listtopuppurchases method: GET description: Zendit List Topup Purchases outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createtopuppurchase method: POST description: Zendit Create Topup Purchase outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: topups-purchases-transactionId path: /topups/purchases/{transactionId} operations: - name: gettopuppurchase method: GET description: Zendit Get Topup Purchase outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.ZENDIT_API_KEY}}' exposes: - type: rest namespace: zendit-mobile-top-up-rest port: 8080 description: REST adapter for Zendit API — Mobile Top-Up. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/topups/offers name: topups-offers description: REST surface for topups-offers. operations: - method: GET name: listtopupoffers description: Zendit List Topup Offers call: zendit-mobile-top-up.listtopupoffers with: brand: rest.brand subType: rest.subType outputParameters: - type: object mapping: $. - path: /v1/topups/offers/{offerid} name: topups-offers-offerid description: REST surface for topups-offers-offerId. operations: - method: GET name: gettopupoffer description: Zendit Get Topup Offer call: zendit-mobile-top-up.gettopupoffer outputParameters: - type: object mapping: $. - path: /v1/topups/purchases name: topups-purchases description: REST surface for topups-purchases. operations: - method: GET name: listtopuppurchases description: Zendit List Topup Purchases call: zendit-mobile-top-up.listtopuppurchases outputParameters: - type: object mapping: $. - method: POST name: createtopuppurchase description: Zendit Create Topup Purchase call: zendit-mobile-top-up.createtopuppurchase with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/topups/purchases/{transactionid} name: topups-purchases-transactionid description: REST surface for topups-purchases-transactionId. operations: - method: GET name: gettopuppurchase description: Zendit Get Topup Purchase call: zendit-mobile-top-up.gettopuppurchase outputParameters: - type: object mapping: $. - type: mcp namespace: zendit-mobile-top-up-mcp port: 9090 transport: http description: MCP adapter for Zendit API — Mobile Top-Up. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: zendit-list-topup-offers description: Zendit List Topup Offers hints: readOnly: true destructive: false idempotent: true call: zendit-mobile-top-up.listtopupoffers with: brand: tools.brand subType: tools.subType outputParameters: - type: object mapping: $. - name: zendit-get-topup-offer description: Zendit Get Topup Offer hints: readOnly: true destructive: false idempotent: true call: zendit-mobile-top-up.gettopupoffer outputParameters: - type: object mapping: $. - name: zendit-list-topup-purchases description: Zendit List Topup Purchases hints: readOnly: true destructive: false idempotent: true call: zendit-mobile-top-up.listtopuppurchases outputParameters: - type: object mapping: $. - name: zendit-create-topup-purchase description: Zendit Create Topup Purchase hints: readOnly: false destructive: false idempotent: false call: zendit-mobile-top-up.createtopuppurchase with: body: tools.body outputParameters: - type: object mapping: $. - name: zendit-get-topup-purchase description: Zendit Get Topup Purchase hints: readOnly: true destructive: false idempotent: true call: zendit-mobile-top-up.gettopuppurchase outputParameters: - type: object mapping: $.