naftiko: 1.0.0-alpha2 info: label: PlanetScale Platform API — Bouncers description: 'PlanetScale Platform API — Bouncers. 4 operations. Lead operation: List bouncers. Self-contained Naftiko capability covering one Planetscale business surface.' tags: - Planetscale - Bouncers created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PLANETSCALE_API_KEY: PLANETSCALE_API_KEY capability: consumes: - type: http namespace: platform-bouncers baseUri: https://api.planetscale.com/v1 description: PlanetScale Platform API — Bouncers business capability. Self-contained, no shared references. resources: - name: organizations-organization-databases-database-branches-branch-bouncers path: /organizations/{organization}/databases/{database}/branches/{branch}/bouncers operations: - name: listbouncers method: GET description: List bouncers outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createbouncer method: POST description: Create a bouncer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: organizations-organization-databases-database-branches-branch-bouncers-bouncer_n path: /organizations/{organization}/databases/{database}/branches/{branch}/bouncers/{bouncer_name} operations: - name: getbouncer method: GET description: Get a bouncer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletebouncer method: DELETE description: Delete a bouncer outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.PLANETSCALE_API_KEY}}' exposes: - type: rest namespace: platform-bouncers-rest port: 8080 description: REST adapter for PlanetScale Platform API — Bouncers. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/organizations/{organization}/databases/{database}/branches/{branch}/bouncers name: organizations-organization-databases-database-branches-branch-bouncers description: REST surface for organizations-organization-databases-database-branches-branch-bouncers. operations: - method: GET name: listbouncers description: List bouncers call: platform-bouncers.listbouncers outputParameters: - type: object mapping: $. - method: POST name: createbouncer description: Create a bouncer call: platform-bouncers.createbouncer with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organizations/{organization}/databases/{database}/branches/{branch}/bouncers/{bouncer-name} name: organizations-organization-databases-database-branches-branch-bouncers-bouncer-n description: REST surface for organizations-organization-databases-database-branches-branch-bouncers-bouncer_n. operations: - method: GET name: getbouncer description: Get a bouncer call: platform-bouncers.getbouncer outputParameters: - type: object mapping: $. - method: DELETE name: deletebouncer description: Delete a bouncer call: platform-bouncers.deletebouncer outputParameters: - type: object mapping: $. - type: mcp namespace: platform-bouncers-mcp port: 9090 transport: http description: MCP adapter for PlanetScale Platform API — Bouncers. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-bouncers description: List bouncers hints: readOnly: true destructive: false idempotent: true call: platform-bouncers.listbouncers outputParameters: - type: object mapping: $. - name: create-bouncer description: Create a bouncer hints: readOnly: false destructive: false idempotent: false call: platform-bouncers.createbouncer with: body: tools.body outputParameters: - type: object mapping: $. - name: get-bouncer description: Get a bouncer hints: readOnly: true destructive: false idempotent: true call: platform-bouncers.getbouncer outputParameters: - type: object mapping: $. - name: delete-bouncer description: Delete a bouncer hints: readOnly: false destructive: true idempotent: true call: platform-bouncers.deletebouncer outputParameters: - type: object mapping: $.