naftiko: 1.0.0-alpha2 info: label: "Paystack Products and Payment Pages API \u2014 Page" description: 'Paystack Products and Payment Pages API. 11 operations. Lead operation: Paystack Create Product. Self-contained Naftiko capability covering one Paystack business surface.' tags: - Paystack - Page - Product created: '2026-05-24' modified: '2026-05-24' binds: - namespace: env keys: PAYSTACK_SECRET_KEY: PAYSTACK_SECRET_KEY capability: consumes: - type: http namespace: products-pages-product baseUri: https://api.paystack.co description: Paystack Products and Payment Pages API business capability. Self-contained, no shared references. resources: - name: product path: /product operations: - name: productcreate method: POST description: Paystack Create Product outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body. required: true - name: productlist method: GET description: Paystack List Products outputRawFormat: json outputParameters: - name: result type: object value: $. - name: product path: /product/{id} operations: - name: productfetch method: GET description: Paystack Fetch Product outputRawFormat: json outputParameters: - name: result type: object value: $. - name: productupdate method: PUT description: Paystack Update Product outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body. required: true - name: productdelete method: DELETE description: Paystack Delete Product outputRawFormat: json outputParameters: - name: result type: object value: $. - name: page path: /page operations: - name: pagecreate method: POST description: Paystack Create Page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body. required: true - name: pagelist method: GET description: Paystack List Pages outputRawFormat: json outputParameters: - name: result type: object value: $. - name: page path: /page/{id} operations: - name: pagefetch method: GET description: Paystack Fetch Page outputRawFormat: json outputParameters: - name: result type: object value: $. - name: pageupdate method: PUT description: Paystack Update Page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body. required: true - name: page-check-slug-availability path: /page/check_slug_availability/{slug} operations: - name: pagecheckslugavailability method: GET description: Paystack Check Slug Availability outputRawFormat: json outputParameters: - name: result type: object value: $. - name: page-product path: /page/{id}/product operations: - name: pageaddproducts method: POST description: Paystack Add Products outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body. required: true authentication: type: bearer value: '{{env.PAYSTACK_SECRET_KEY}}' placement: header exposes: - type: rest namespace: products-pages-product-rest port: 8080 description: REST adapter for Paystack Products and Payment Pages API. One resource per consumed operation, prefixed with /v1. resources: - path: /v1/product name: product description: REST surface for product. operations: - method: POST name: productcreate description: Paystack Create Product call: products-pages-product.productcreate outputParameters: - type: object mapping: $. with: body: rest.body - method: GET name: productlist description: Paystack List Products call: products-pages-product.productlist outputParameters: - type: object mapping: $. - path: /v1/product/{id} name: product description: REST surface for product. operations: - method: GET name: productfetch description: Paystack Fetch Product call: products-pages-product.productfetch outputParameters: - type: object mapping: $. - method: PUT name: productupdate description: Paystack Update Product call: products-pages-product.productupdate outputParameters: - type: object mapping: $. with: body: rest.body - method: DELETE name: productdelete description: Paystack Delete Product call: products-pages-product.productdelete outputParameters: - type: object mapping: $. - path: /v1/page name: page description: REST surface for page. operations: - method: POST name: pagecreate description: Paystack Create Page call: products-pages-product.pagecreate outputParameters: - type: object mapping: $. with: body: rest.body - method: GET name: pagelist description: Paystack List Pages call: products-pages-product.pagelist outputParameters: - type: object mapping: $. - path: /v1/page/{id} name: page description: REST surface for page. operations: - method: GET name: pagefetch description: Paystack Fetch Page call: products-pages-product.pagefetch outputParameters: - type: object mapping: $. - method: PUT name: pageupdate description: Paystack Update Page call: products-pages-product.pageupdate outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/page/check_slug_availability/{slug} name: page-check-slug-availability description: REST surface for page-check-slug-availability. operations: - method: GET name: pagecheckslugavailability description: Paystack Check Slug Availability call: products-pages-product.pagecheckslugavailability outputParameters: - type: object mapping: $. - path: /v1/page/{id}/product name: page-product description: REST surface for page-product. operations: - method: POST name: pageaddproducts description: Paystack Add Products call: products-pages-product.pageaddproducts outputParameters: - type: object mapping: $. with: body: rest.body - type: mcp namespace: products-pages-product-mcp port: 9090 transport: http description: MCP adapter for Paystack Products and Payment Pages API. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: paystack-create-product description: Paystack Create Product hints: readOnly: false destructive: false idempotent: false call: products-pages-product.productcreate outputParameters: - type: object mapping: $. with: body: tools.body - name: paystack-list-products description: Paystack List Products hints: readOnly: true destructive: false idempotent: true call: products-pages-product.productlist outputParameters: - type: object mapping: $. - name: paystack-fetch-product description: Paystack Fetch Product hints: readOnly: true destructive: false idempotent: true call: products-pages-product.productfetch outputParameters: - type: object mapping: $. - name: paystack-update-product description: Paystack Update Product hints: readOnly: false destructive: false idempotent: true call: products-pages-product.productupdate outputParameters: - type: object mapping: $. with: body: tools.body - name: paystack-delete-product description: Paystack Delete Product hints: readOnly: false destructive: true idempotent: true call: products-pages-product.productdelete outputParameters: - type: object mapping: $. - name: paystack-create-page description: Paystack Create Page hints: readOnly: false destructive: false idempotent: false call: products-pages-product.pagecreate outputParameters: - type: object mapping: $. with: body: tools.body - name: paystack-list-pages description: Paystack List Pages hints: readOnly: true destructive: false idempotent: true call: products-pages-product.pagelist outputParameters: - type: object mapping: $. - name: paystack-fetch-page description: Paystack Fetch Page hints: readOnly: true destructive: false idempotent: true call: products-pages-product.pagefetch outputParameters: - type: object mapping: $. - name: paystack-update-page description: Paystack Update Page hints: readOnly: false destructive: false idempotent: true call: products-pages-product.pageupdate outputParameters: - type: object mapping: $. with: body: tools.body - name: paystack-check-slug-availability description: Paystack Check Slug Availability hints: readOnly: true destructive: false idempotent: true call: products-pages-product.pagecheckslugavailability outputParameters: - type: object mapping: $. - name: paystack-add-products description: Paystack Add Products hints: readOnly: false destructive: false idempotent: false call: products-pages-product.pageaddproducts outputParameters: - type: object mapping: $. with: body: tools.body