naftiko: 1.0.0-alpha2 info: label: "Paystack Splits and Subaccounts API \u2014 Split" description: 'Paystack Splits and Subaccounts API. 10 operations. Lead operation: Paystack Create Split. Self-contained Naftiko capability covering one Paystack business surface.' tags: - Paystack - Split - Subaccount created: '2026-05-24' modified: '2026-05-24' binds: - namespace: env keys: PAYSTACK_SECRET_KEY: PAYSTACK_SECRET_KEY capability: consumes: - type: http namespace: splits-subaccounts-split baseUri: https://api.paystack.co description: Paystack Splits and Subaccounts API business capability. Self-contained, no shared references. resources: - name: split path: /split operations: - name: splitcreate method: POST description: Paystack Create Split outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body. required: true - name: splitlist method: GET description: Paystack List Splits outputRawFormat: json outputParameters: - name: result type: object value: $. - name: split path: /split/{id} operations: - name: splitfetch method: GET description: Paystack Fetch Split outputRawFormat: json outputParameters: - name: result type: object value: $. - name: splitupdate method: PUT description: Paystack Update Split outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body. required: true - name: split-subaccount-add path: /split/{id}/subaccount/add operations: - name: splitaddsubaccount method: POST description: Paystack Add Subaccount to Split outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body. required: true - name: split-subaccount-remove path: /split/{id}/subaccount/remove operations: - name: splitremovesubaccount method: POST description: Paystack Remove Subaccount From Split outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body. required: true - name: subaccount path: /subaccount operations: - name: subaccountcreate method: POST description: Paystack Create Subaccount outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body. required: true - name: subaccountlist method: GET description: Paystack List Subaccounts outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subaccount path: /subaccount/{code} operations: - name: subaccountfetch method: GET description: Paystack Fetch Subaccount outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subaccountupdate method: PUT description: Paystack Update Subaccount 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: splits-subaccounts-split-rest port: 8080 description: REST adapter for Paystack Splits and Subaccounts API. One resource per consumed operation, prefixed with /v1. resources: - path: /v1/split name: split description: REST surface for split. operations: - method: POST name: splitcreate description: Paystack Create Split call: splits-subaccounts-split.splitcreate outputParameters: - type: object mapping: $. with: body: rest.body - method: GET name: splitlist description: Paystack List Splits call: splits-subaccounts-split.splitlist outputParameters: - type: object mapping: $. - path: /v1/split/{id} name: split description: REST surface for split. operations: - method: GET name: splitfetch description: Paystack Fetch Split call: splits-subaccounts-split.splitfetch outputParameters: - type: object mapping: $. - method: PUT name: splitupdate description: Paystack Update Split call: splits-subaccounts-split.splitupdate outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/split/{id}/subaccount/add name: split-subaccount-add description: REST surface for split-subaccount-add. operations: - method: POST name: splitaddsubaccount description: Paystack Add Subaccount to Split call: splits-subaccounts-split.splitaddsubaccount outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/split/{id}/subaccount/remove name: split-subaccount-remove description: REST surface for split-subaccount-remove. operations: - method: POST name: splitremovesubaccount description: Paystack Remove Subaccount From Split call: splits-subaccounts-split.splitremovesubaccount outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/subaccount name: subaccount description: REST surface for subaccount. operations: - method: POST name: subaccountcreate description: Paystack Create Subaccount call: splits-subaccounts-split.subaccountcreate outputParameters: - type: object mapping: $. with: body: rest.body - method: GET name: subaccountlist description: Paystack List Subaccounts call: splits-subaccounts-split.subaccountlist outputParameters: - type: object mapping: $. - path: /v1/subaccount/{code} name: subaccount description: REST surface for subaccount. operations: - method: GET name: subaccountfetch description: Paystack Fetch Subaccount call: splits-subaccounts-split.subaccountfetch outputParameters: - type: object mapping: $. - method: PUT name: subaccountupdate description: Paystack Update Subaccount call: splits-subaccounts-split.subaccountupdate outputParameters: - type: object mapping: $. with: body: rest.body - type: mcp namespace: splits-subaccounts-split-mcp port: 9090 transport: http description: MCP adapter for Paystack Splits and Subaccounts API. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: paystack-create-split description: Paystack Create Split hints: readOnly: false destructive: false idempotent: false call: splits-subaccounts-split.splitcreate outputParameters: - type: object mapping: $. with: body: tools.body - name: paystack-list-splits description: Paystack List Splits hints: readOnly: true destructive: false idempotent: true call: splits-subaccounts-split.splitlist outputParameters: - type: object mapping: $. - name: paystack-fetch-split description: Paystack Fetch Split hints: readOnly: true destructive: false idempotent: true call: splits-subaccounts-split.splitfetch outputParameters: - type: object mapping: $. - name: paystack-update-split description: Paystack Update Split hints: readOnly: false destructive: false idempotent: true call: splits-subaccounts-split.splitupdate outputParameters: - type: object mapping: $. with: body: tools.body - name: paystack-add-subaccount-to-split description: Paystack Add Subaccount to Split hints: readOnly: false destructive: false idempotent: false call: splits-subaccounts-split.splitaddsubaccount outputParameters: - type: object mapping: $. with: body: tools.body - name: paystack-remove-subaccount-from-split description: Paystack Remove Subaccount From Split hints: readOnly: false destructive: false idempotent: false call: splits-subaccounts-split.splitremovesubaccount outputParameters: - type: object mapping: $. with: body: tools.body - name: paystack-create-subaccount description: Paystack Create Subaccount hints: readOnly: false destructive: false idempotent: false call: splits-subaccounts-split.subaccountcreate outputParameters: - type: object mapping: $. with: body: tools.body - name: paystack-list-subaccounts description: Paystack List Subaccounts hints: readOnly: true destructive: false idempotent: true call: splits-subaccounts-split.subaccountlist outputParameters: - type: object mapping: $. - name: paystack-fetch-subaccount description: Paystack Fetch Subaccount hints: readOnly: true destructive: false idempotent: true call: splits-subaccounts-split.subaccountfetch outputParameters: - type: object mapping: $. - name: paystack-update-subaccount description: Paystack Update Subaccount hints: readOnly: false destructive: false idempotent: true call: splits-subaccounts-split.subaccountupdate outputParameters: - type: object mapping: $. with: body: tools.body