naftiko: 1.0.0-alpha2 info: label: Heroku Platform API — Dynos description: 'Heroku Platform API — Dynos. 5 operations. Lead operation: List dynos. Self-contained Naftiko capability covering one Heroku business surface.' tags: - Heroku - Dynos created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: HEROKU_API_KEY: HEROKU_API_KEY capability: consumes: - type: http namespace: platform-dynos baseUri: https://api.heroku.com description: Heroku Platform API — Dynos business capability. Self-contained, no shared references. resources: - name: apps-app_id_or_name-dynos path: /apps/{app_id_or_name}/dynos operations: - name: listdynos method: GET description: List dynos outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createdyno method: POST description: Create a dyno outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: apps-app_id_or_name-dynos-actions-restart-all path: /apps/{app_id_or_name}/dynos/actions/restart-all operations: - name: restartalldynos method: POST description: Restart all dynos outputRawFormat: json outputParameters: - name: result type: object value: $. - name: apps-app_id_or_name-dynos-dyno_id_or_name path: /apps/{app_id_or_name}/dynos/{dyno_id_or_name} operations: - name: getdyno method: GET description: Get dyno info outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: dyno_id_or_name in: path type: string required: true - name: apps-app_id_or_name-dynos-dyno_id_or_name-actions-stop path: /apps/{app_id_or_name}/dynos/{dyno_id_or_name}/actions/stop operations: - name: stopdyno method: POST description: Stop a dyno outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: dyno_id_or_name in: path type: string required: true authentication: type: bearer token: '{{env.HEROKU_API_KEY}}' exposes: - type: rest namespace: platform-dynos-rest port: 8080 description: REST adapter for Heroku Platform API — Dynos. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/apps/{app-id-or-name}/dynos name: apps-app-id-or-name-dynos description: REST surface for apps-app_id_or_name-dynos. operations: - method: GET name: listdynos description: List dynos call: platform-dynos.listdynos outputParameters: - type: object mapping: $. - method: POST name: createdyno description: Create a dyno call: platform-dynos.createdyno with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/apps/{app-id-or-name}/dynos/actions/restart-all name: apps-app-id-or-name-dynos-actions-restart-all description: REST surface for apps-app_id_or_name-dynos-actions-restart-all. operations: - method: POST name: restartalldynos description: Restart all dynos call: platform-dynos.restartalldynos outputParameters: - type: object mapping: $. - path: /v1/apps/{app-id-or-name}/dynos/{dyno-id-or-name} name: apps-app-id-or-name-dynos-dyno-id-or-name description: REST surface for apps-app_id_or_name-dynos-dyno_id_or_name. operations: - method: GET name: getdyno description: Get dyno info call: platform-dynos.getdyno with: dyno_id_or_name: rest.dyno_id_or_name outputParameters: - type: object mapping: $. - path: /v1/apps/{app-id-or-name}/dynos/{dyno-id-or-name}/actions/stop name: apps-app-id-or-name-dynos-dyno-id-or-name-actions-stop description: REST surface for apps-app_id_or_name-dynos-dyno_id_or_name-actions-stop. operations: - method: POST name: stopdyno description: Stop a dyno call: platform-dynos.stopdyno with: dyno_id_or_name: rest.dyno_id_or_name outputParameters: - type: object mapping: $. - type: mcp namespace: platform-dynos-mcp port: 9090 transport: http description: MCP adapter for Heroku Platform API — Dynos. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-dynos description: List dynos hints: readOnly: true destructive: false idempotent: true call: platform-dynos.listdynos outputParameters: - type: object mapping: $. - name: create-dyno description: Create a dyno hints: readOnly: false destructive: false idempotent: false call: platform-dynos.createdyno with: body: tools.body outputParameters: - type: object mapping: $. - name: restart-all-dynos description: Restart all dynos hints: readOnly: false destructive: false idempotent: false call: platform-dynos.restartalldynos outputParameters: - type: object mapping: $. - name: get-dyno-info description: Get dyno info hints: readOnly: true destructive: false idempotent: true call: platform-dynos.getdyno with: dyno_id_or_name: tools.dyno_id_or_name outputParameters: - type: object mapping: $. - name: stop-dyno description: Stop a dyno hints: readOnly: false destructive: false idempotent: false call: platform-dynos.stopdyno with: dyno_id_or_name: tools.dyno_id_or_name outputParameters: - type: object mapping: $.