naftiko: 1.0.0-alpha2 info: label: Tabby Checkout API — Sessions description: 'Tabby Checkout API — Sessions. 2 operations covering session creation and retrieval. Lead operation: Tabby Create A Session. Self-contained Naftiko capability for the Tabby checkout business surface.' tags: - Tabby - BNPL - Checkout - Sessions created: '2026-05-24' modified: '2026-05-24' binds: - namespace: env keys: TABBY_SECRET_KEY: TABBY_SECRET_KEY capability: consumes: - type: http namespace: checkout-sessions baseUri: https://api.tabby.ai description: Tabby Checkout API — Sessions consume block. Posts buyer/order data to /api/v2/checkout and retrieves sessions by id. Switch baseUri to https://api.tabby.sa for KSA. resources: - name: checkout path: /api/v2/checkout operations: - name: createsession method: POST description: Tabby Create A Session — creates Session and Payment, returns pre-scoring result and hosted web_url. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Checkout creation payload — payment, lang (ar|en), merchant_code, optional merchant_urls. required: true - name: checkout-by-id path: /api/v2/checkout/{id} operations: - name: getsession method: GET description: Tabby Retrieve An Existing Checkout Session by id. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Checkout session UUID. required: true authentication: type: bearer value: '{{env.TABBY_SECRET_KEY}}' placement: header exposes: - type: rest namespace: checkout-sessions-rest port: 8080 description: REST adapter for Tabby Checkout — Sessions. One Spectral-compliant resource per consumed operation. resources: - path: /v1/checkout name: checkout description: REST surface for Tabby checkout session creation. operations: - method: POST name: createsession description: Create a Tabby checkout session. call: checkout-sessions.createsession with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/checkout/{id} name: checkout-by-id description: REST surface for retrieving an existing checkout session. operations: - method: GET name: getsession description: Retrieve a Tabby checkout session by id. call: checkout-sessions.getsession with: id: rest.path.id outputParameters: - type: object mapping: $. - type: mcp namespace: checkout-sessions-mcp port: 9090 transport: http description: MCP adapter for Tabby Checkout — Sessions. One tool per consumed operation. tools: - name: tabby-create-checkout-session description: Create a Tabby checkout session for a Pay-in-4 or monthly installment payment. hints: readOnly: false destructive: false idempotent: false call: checkout-sessions.createsession with: body: tools.body outputParameters: - type: object mapping: $. - name: tabby-get-checkout-session description: Retrieve a Tabby checkout session by id. hints: readOnly: true destructive: false idempotent: true call: checkout-sessions.getsession with: id: tools.id outputParameters: - type: object mapping: $.