naftiko: 1.0.0-alpha2 info: label: Heroku Platform API — Pipelines description: 'Heroku Platform API — Pipelines. 7 operations. Lead operation: Create a pipeline coupling. Self-contained Naftiko capability covering one Heroku business surface.' tags: - Heroku - Pipelines created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: HEROKU_API_KEY: HEROKU_API_KEY capability: consumes: - type: http namespace: platform-pipelines baseUri: https://api.heroku.com description: Heroku Platform API — Pipelines business capability. Self-contained, no shared references. resources: - name: pipeline-couplings path: /pipeline-couplings operations: - name: createpipelinecoupling method: POST description: Create a pipeline coupling outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: pipelines path: /pipelines operations: - name: listpipelines method: GET description: List pipelines outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createpipeline method: POST description: Create a pipeline outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: pipelines-pipeline_id path: /pipelines/{pipeline_id} operations: - name: getpipeline method: GET description: Get pipeline info outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: pipeline_id in: path type: string required: true - name: updatepipeline method: PATCH description: Update a pipeline outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: pipeline_id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deletepipeline method: DELETE description: Delete a pipeline outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: pipeline_id in: path type: string required: true - name: pipelines-pipeline_id-pipeline-couplings path: /pipelines/{pipeline_id}/pipeline-couplings operations: - name: listpipelinecouplings method: GET description: List pipeline couplings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: pipeline_id in: path type: string required: true authentication: type: bearer token: '{{env.HEROKU_API_KEY}}' exposes: - type: rest namespace: platform-pipelines-rest port: 8080 description: REST adapter for Heroku Platform API — Pipelines. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/pipeline-couplings name: pipeline-couplings description: REST surface for pipeline-couplings. operations: - method: POST name: createpipelinecoupling description: Create a pipeline coupling call: platform-pipelines.createpipelinecoupling with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/pipelines name: pipelines description: REST surface for pipelines. operations: - method: GET name: listpipelines description: List pipelines call: platform-pipelines.listpipelines outputParameters: - type: object mapping: $. - method: POST name: createpipeline description: Create a pipeline call: platform-pipelines.createpipeline with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/pipelines/{pipeline-id} name: pipelines-pipeline-id description: REST surface for pipelines-pipeline_id. operations: - method: GET name: getpipeline description: Get pipeline info call: platform-pipelines.getpipeline with: pipeline_id: rest.pipeline_id outputParameters: - type: object mapping: $. - method: PATCH name: updatepipeline description: Update a pipeline call: platform-pipelines.updatepipeline with: pipeline_id: rest.pipeline_id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletepipeline description: Delete a pipeline call: platform-pipelines.deletepipeline with: pipeline_id: rest.pipeline_id outputParameters: - type: object mapping: $. - path: /v1/pipelines/{pipeline-id}/pipeline-couplings name: pipelines-pipeline-id-pipeline-couplings description: REST surface for pipelines-pipeline_id-pipeline-couplings. operations: - method: GET name: listpipelinecouplings description: List pipeline couplings call: platform-pipelines.listpipelinecouplings with: pipeline_id: rest.pipeline_id outputParameters: - type: object mapping: $. - type: mcp namespace: platform-pipelines-mcp port: 9090 transport: http description: MCP adapter for Heroku Platform API — Pipelines. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-pipeline-coupling description: Create a pipeline coupling hints: readOnly: false destructive: false idempotent: false call: platform-pipelines.createpipelinecoupling with: body: tools.body outputParameters: - type: object mapping: $. - name: list-pipelines description: List pipelines hints: readOnly: true destructive: false idempotent: true call: platform-pipelines.listpipelines outputParameters: - type: object mapping: $. - name: create-pipeline description: Create a pipeline hints: readOnly: false destructive: false idempotent: false call: platform-pipelines.createpipeline with: body: tools.body outputParameters: - type: object mapping: $. - name: get-pipeline-info description: Get pipeline info hints: readOnly: true destructive: false idempotent: true call: platform-pipelines.getpipeline with: pipeline_id: tools.pipeline_id outputParameters: - type: object mapping: $. - name: update-pipeline description: Update a pipeline hints: readOnly: false destructive: false idempotent: true call: platform-pipelines.updatepipeline with: pipeline_id: tools.pipeline_id body: tools.body outputParameters: - type: object mapping: $. - name: delete-pipeline description: Delete a pipeline hints: readOnly: false destructive: true idempotent: true call: platform-pipelines.deletepipeline with: pipeline_id: tools.pipeline_id outputParameters: - type: object mapping: $. - name: list-pipeline-couplings description: List pipeline couplings hints: readOnly: true destructive: false idempotent: true call: platform-pipelines.listpipelinecouplings with: pipeline_id: tools.pipeline_id outputParameters: - type: object mapping: $.