Heroku · Capability

Heroku Platform API

The Heroku Platform API enables programmatic access to Heroku's deployment platform. Manage apps, dynos, add-ons, config vars, domains, pipelines, releases, and other platform resources.

Run with Naftiko HerokuAPI

What You Can Do

GET
Listapps — List apps
/apps
POST
Createapp — Create an app
/apps
GET
Getapp — Get app info
/apps/{app_id_or_name}
PATCH
Updateapp — Update an app
/apps/{app_id_or_name}
DELETE
Deleteapp — Delete an app
/apps/{app_id_or_name}
GET
Listdynos — List dynos
/apps/{app_id_or_name}/dynos
POST
Createdyno — Create a dyno
/apps/{app_id_or_name}/dynos
GET
Getdyno — Get dyno info
/apps/{app_id_or_name}/dynos/{dyno_id_or_name}
POST
Stopdyno — Stop a dyno
/apps/{app_id_or_name}/dynos/{dyno_id_or_name}/actions/stop
POST
Restartalldynos — Restart all dynos
/apps/{app_id_or_name}/dynos/actions/restart-all
GET
Getconfigvars — Get config vars
/apps/{app_id_or_name}/config-vars
PATCH
Updateconfigvars — Update config vars
/apps/{app_id_or_name}/config-vars
GET
Listaddons — List add-ons for an app
/apps/{app_id_or_name}/addons
POST
Createaddon — Create an add-on
/apps/{app_id_or_name}/addons
GET
Getaddon — Get add-on info
/apps/{app_id_or_name}/addons/{addon_id_or_name}
DELETE
Deleteaddon — Delete an add-on
/apps/{app_id_or_name}/addons/{addon_id_or_name}
GET
Listdomains — List domains
/apps/{app_id_or_name}/domains
POST
Createdomain — Create a domain
/apps/{app_id_or_name}/domains
GET
Getdomain — Get domain info
/apps/{app_id_or_name}/domains/{domain_id_or_hostname}
DELETE
Deletedomain — Delete a domain
/apps/{app_id_or_name}/domains/{domain_id_or_hostname}
GET
Listformation — List formation
/apps/{app_id_or_name}/formation
PATCH
Batchupdateformation — Batch update formation
/apps/{app_id_or_name}/formation
PATCH
Updateformation — Update a process type
/apps/{app_id_or_name}/formation/{formation_id_or_type}
GET
Listreleases — List releases
/apps/{app_id_or_name}/releases
POST
Createrelease — Create a release (rollback)
/apps/{app_id_or_name}/releases
GET
Getrelease — Get release info
/apps/{app_id_or_name}/releases/{release_id_or_version}
GET
Listbuilds — List builds
/apps/{app_id_or_name}/builds
POST
Createbuild — Create a build
/apps/{app_id_or_name}/builds
GET
Getbuild — Get build info
/apps/{app_id_or_name}/builds/{build_id}
POST
Createlogsession — Create a log session
/apps/{app_id_or_name}/log-sessions
GET
Listpipelines — List pipelines
/pipelines
POST
Createpipeline — Create a pipeline
/pipelines
GET
Getpipeline — Get pipeline info
/pipelines/{pipeline_id}
PATCH
Updatepipeline — Update a pipeline
/pipelines/{pipeline_id}
DELETE
Deletepipeline — Delete a pipeline
/pipelines/{pipeline_id}
GET
Listpipelinecouplings — List pipeline couplings
/pipelines/{pipeline_id}/pipeline-couplings
POST
Createpipelinecoupling — Create a pipeline coupling
/pipeline-couplings
GET
Getaccount — Get account info
/account
PATCH
Updateaccount — Update account
/account
GET
Listregions — List regions
/regions
GET
Liststacks — List stacks
/stacks
GET
Listcollaborators — List collaborators
/apps/{app_id_or_name}/collaborators
POST
Createcollaborator — Create a collaborator
/apps/{app_id_or_name}/collaborators
DELETE
Deletecollaborator — Delete a collaborator
/apps/{app_id_or_name}/collaborators/{collaborator_email_or_id}

MCP Tools

listapps

List apps

read-only idempotent
createapp

Create an app

getapp

Get app info

read-only idempotent
updateapp

Update an app

deleteapp

Delete an app

idempotent
listdynos

List dynos

read-only idempotent
createdyno

Create a dyno

getdyno

Get dyno info

read-only idempotent
stopdyno

Stop a dyno

restartalldynos

Restart all dynos

getconfigvars

Get config vars

read-only idempotent
updateconfigvars

Update config vars

listaddons

List add-ons for an app

read-only idempotent
createaddon

Create an add-on

getaddon

Get add-on info

read-only idempotent
deleteaddon

Delete an add-on

idempotent
listdomains

List domains

read-only idempotent
createdomain

Create a domain

getdomain

Get domain info

read-only idempotent
deletedomain

Delete a domain

idempotent
listformation

List formation

read-only idempotent
batchupdateformation

Batch update formation

updateformation

Update a process type

listreleases

List releases

read-only idempotent
createrelease

Create a release (rollback)

getrelease

Get release info

read-only idempotent
listbuilds

List builds

read-only idempotent
createbuild

Create a build

getbuild

Get build info

read-only idempotent
createlogsession

Create a log session

listpipelines

List pipelines

read-only idempotent
createpipeline

Create a pipeline

getpipeline

Get pipeline info

read-only idempotent
updatepipeline

Update a pipeline

deletepipeline

Delete a pipeline

idempotent
listpipelinecouplings

List pipeline couplings

read-only idempotent
createpipelinecoupling

Create a pipeline coupling

getaccount

Get account info

read-only idempotent
updateaccount

Update account

listregions

List regions

read-only idempotent
liststacks

List stacks

read-only idempotent
listcollaborators

List collaborators

read-only idempotent
createcollaborator

Create a collaborator

deletecollaborator

Delete a collaborator

idempotent

Capability Spec

heroku-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Heroku Platform API
  description: The Heroku Platform API enables programmatic access to Heroku's deployment platform. Manage apps, dynos, add-ons,
    config vars, domains, pipelines, releases, and other platform resources.
  tags:
  - Heroku
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: heroku
    baseUri: https://api.heroku.com
    description: Heroku Platform API HTTP API.
    authentication:
      type: bearer
      token: '{{HEROKU_TOKEN}}'
    resources:
    - name: apps
      path: /apps
      operations:
      - name: listapps
        method: GET
        description: List apps
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createapp
        method: POST
        description: Create an app
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apps-app-id-or-name
      path: /apps/{app_id_or_name}
      operations:
      - name: getapp
        method: GET
        description: Get app info
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateapp
        method: PATCH
        description: Update an app
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteapp
        method: DELETE
        description: Delete an app
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - 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: $.
    - 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
        inputParameters:
        - name: dyno_id_or_name
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apps-app-id-or-name-dynos-dyno-id-or-name-action
      path: /apps/{app_id_or_name}/dynos/{dyno_id_or_name}/actions/stop
      operations:
      - name: stopdyno
        method: POST
        description: Stop a dyno
        inputParameters:
        - name: dyno_id_or_name
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - 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-config-vars
      path: /apps/{app_id_or_name}/config-vars
      operations:
      - name: getconfigvars
        method: GET
        description: Get config vars
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateconfigvars
        method: PATCH
        description: Update config vars
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apps-app-id-or-name-addons
      path: /apps/{app_id_or_name}/addons
      operations:
      - name: listaddons
        method: GET
        description: List add-ons for an app
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createaddon
        method: POST
        description: Create an add-on
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apps-app-id-or-name-addons-addon-id-or-name
      path: /apps/{app_id_or_name}/addons/{addon_id_or_name}
      operations:
      - name: getaddon
        method: GET
        description: Get add-on info
        inputParameters:
        - name: addon_id_or_name
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteaddon
        method: DELETE
        description: Delete an add-on
        inputParameters:
        - name: addon_id_or_name
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apps-app-id-or-name-domains
      path: /apps/{app_id_or_name}/domains
      operations:
      - name: listdomains
        method: GET
        description: List domains
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createdomain
        method: POST
        description: Create a domain
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apps-app-id-or-name-domains-domain-id-or-hostnam
      path: /apps/{app_id_or_name}/domains/{domain_id_or_hostname}
      operations:
      - name: getdomain
        method: GET
        description: Get domain info
        inputParameters:
        - name: domain_id_or_hostname
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletedomain
        method: DELETE
        description: Delete a domain
        inputParameters:
        - name: domain_id_or_hostname
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apps-app-id-or-name-formation
      path: /apps/{app_id_or_name}/formation
      operations:
      - name: listformation
        method: GET
        description: List formation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: batchupdateformation
        method: PATCH
        description: Batch update formation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apps-app-id-or-name-formation-formation-id-or-ty
      path: /apps/{app_id_or_name}/formation/{formation_id_or_type}
      operations:
      - name: updateformation
        method: PATCH
        description: Update a process type
        inputParameters:
        - name: formation_id_or_type
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apps-app-id-or-name-releases
      path: /apps/{app_id_or_name}/releases
      operations:
      - name: listreleases
        method: GET
        description: List releases
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createrelease
        method: POST
        description: Create a release (rollback)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apps-app-id-or-name-releases-release-id-or-versi
      path: /apps/{app_id_or_name}/releases/{release_id_or_version}
      operations:
      - name: getrelease
        method: GET
        description: Get release info
        inputParameters:
        - name: release_id_or_version
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apps-app-id-or-name-builds
      path: /apps/{app_id_or_name}/builds
      operations:
      - name: listbuilds
        method: GET
        description: List builds
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createbuild
        method: POST
        description: Create a build
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apps-app-id-or-name-builds-build-id
      path: /apps/{app_id_or_name}/builds/{build_id}
      operations:
      - name: getbuild
        method: GET
        description: Get build info
        inputParameters:
        - name: build_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apps-app-id-or-name-log-sessions
      path: /apps/{app_id_or_name}/log-sessions
      operations:
      - name: createlogsession
        method: POST
        description: Create a log session
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - 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: $.
    - name: pipelines-pipeline-id
      path: /pipelines/{pipeline_id}
      operations:
      - name: getpipeline
        method: GET
        description: Get pipeline info
        inputParameters:
        - name: pipeline_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatepipeline
        method: PATCH
        description: Update a pipeline
        inputParameters:
        - name: pipeline_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletepipeline
        method: DELETE
        description: Delete a pipeline
        inputParameters:
        - name: pipeline_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: pipelines-pipeline-id-pipeline-couplings
      path: /pipelines/{pipeline_id}/pipeline-couplings
      operations:
      - name: listpipelinecouplings
        method: GET
        description: List pipeline couplings
        inputParameters:
        - name: pipeline_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: pipeline-couplings
      path: /pipeline-couplings
      operations:
      - name: createpipelinecoupling
        method: POST
        description: Create a pipeline coupling
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: account
      path: /account
      operations:
      - name: getaccount
        method: GET
        description: Get account info
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateaccount
        method: PATCH
        description: Update account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: regions
      path: /regions
      operations:
      - name: listregions
        method: GET
        description: List regions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: stacks
      path: /stacks
      operations:
      - name: liststacks
        method: GET
        description: List stacks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apps-app-id-or-name-collaborators
      path: /apps/{app_id_or_name}/collaborators
      operations:
      - name: listcollaborators
        method: GET
        description: List collaborators
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcollaborator
        method: POST
        description: Create a collaborator
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apps-app-id-or-name-collaborators-collaborator-e
      path: /apps/{app_id_or_name}/collaborators/{collaborator_email_or_id}
      operations:
      - name: deletecollaborator
        method: DELETE
        description: Delete a collaborator
        inputParameters:
        - name: collaborator_email_or_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: heroku-rest
    description: REST adapter for Heroku Platform API.
    resources:
    - path: /apps
      name: listapps
      operations:
      - method: GET
        name: listapps
        description: List apps
        call: heroku.listapps
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps
      name: createapp
      operations:
      - method: POST
        name: createapp
        description: Create an app
        call: heroku.createapp
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}
      name: getapp
      operations:
      - method: GET
        name: getapp
        description: Get app info
        call: heroku.getapp
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}
      name: updateapp
      operations:
      - method: PATCH
        name: updateapp
        description: Update an app
        call: heroku.updateapp
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}
      name: deleteapp
      operations:
      - method: DELETE
        name: deleteapp
        description: Delete an app
        call: heroku.deleteapp
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/dynos
      name: listdynos
      operations:
      - method: GET
        name: listdynos
        description: List dynos
        call: heroku.listdynos
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/dynos
      name: createdyno
      operations:
      - method: POST
        name: createdyno
        description: Create a dyno
        call: heroku.createdyno
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/dynos/{dyno_id_or_name}
      name: getdyno
      operations:
      - method: GET
        name: getdyno
        description: Get dyno info
        call: heroku.getdyno
        with:
          dyno_id_or_name: rest.dyno_id_or_name
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/dynos/{dyno_id_or_name}/actions/stop
      name: stopdyno
      operations:
      - method: POST
        name: stopdyno
        description: Stop a dyno
        call: heroku.stopdyno
        with:
          dyno_id_or_name: rest.dyno_id_or_name
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/dynos/actions/restart-all
      name: restartalldynos
      operations:
      - method: POST
        name: restartalldynos
        description: Restart all dynos
        call: heroku.restartalldynos
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/config-vars
      name: getconfigvars
      operations:
      - method: GET
        name: getconfigvars
        description: Get config vars
        call: heroku.getconfigvars
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/config-vars
      name: updateconfigvars
      operations:
      - method: PATCH
        name: updateconfigvars
        description: Update config vars
        call: heroku.updateconfigvars
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/addons
      name: listaddons
      operations:
      - method: GET
        name: listaddons
        description: List add-ons for an app
        call: heroku.listaddons
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/addons
      name: createaddon
      operations:
      - method: POST
        name: createaddon
        description: Create an add-on
        call: heroku.createaddon
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/addons/{addon_id_or_name}
      name: getaddon
      operations:
      - method: GET
        name: getaddon
        description: Get add-on info
        call: heroku.getaddon
        with:
          addon_id_or_name: rest.addon_id_or_name
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/addons/{addon_id_or_name}
      name: deleteaddon
      operations:
      - method: DELETE
        name: deleteaddon
        description: Delete an add-on
        call: heroku.deleteaddon
        with:
          addon_id_or_name: rest.addon_id_or_name
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/domains
      name: listdomains
      operations:
      - method: GET
        name: listdomains
        description: List domains
        call: heroku.listdomains
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/domains
      name: createdomain
      operations:
      - method: POST
        name: createdomain
        description: Create a domain
        call: heroku.createdomain
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/domains/{domain_id_or_hostname}
      name: getdomain
      operations:
      - method: GET
        name: getdomain
        description: Get domain info
        call: heroku.getdomain
        with:
          domain_id_or_hostname: rest.domain_id_or_hostname
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/domains/{domain_id_or_hostname}
      name: deletedomain
      operations:
      - method: DELETE
        name: deletedomain
        description: Delete a domain
        call: heroku.deletedomain
        with:
          domain_id_or_hostname: rest.domain_id_or_hostname
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/formation
      name: listformation
      operations:
      - method: GET
        name: listformation
        description: List formation
        call: heroku.listformation
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/formation
      name: batchupdateformation
      operations:
      - method: PATCH
        name: batchupdateformation
        description: Batch update formation
        call: heroku.batchupdateformation
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/formation/{formation_id_or_type}
      name: updateformation
      operations:
      - method: PATCH
        name: updateformation
        description: Update a process type
        call: heroku.updateformation
        with:
          formation_id_or_type: rest.formation_id_or_type
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/releases
      name: listreleases
      operations:
      - method: GET
        name: listreleases
        description: List releases
        call: heroku.listreleases
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/releases
      name: createrelease
      operations:
      - method: POST
        name: createrelease
        description: Create a release (rollback)
        call: heroku.createrelease
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/releases/{release_id_or_version}
      name: getrelease
      operations:
      - method: GET
        name: getrelease
        description: Get release info
        call: heroku.getrelease
        with:
          release_id_or_version: rest.release_id_or_version
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/builds
      name: listbuilds
      operations:
      - method: GET
        name: listbuilds
        description: List builds
        call: heroku.listbuilds
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/builds
      name: createbuild
      operations:
      - method: POST
        name: createbuild
        description: Create a build
        call: heroku.createbuild
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/builds/{build_id}
      name: getbuild
      operations:
      - method: GET
        name: getbuild
        description: Get build info
        call: heroku.getbuild
        with:
          build_id: rest.build_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/log-sessions
      name: createlogsession
      operations:
      - method: POST
        name: createlogsession
        description: Create a log session
        call: heroku.createlogsession
        outputParameters:
        - type: object
          mapping: $.
    - path: /pipelines
      name: listpipelines
      operations:
      - method: GET
        name: listpipelines
        description: List pipelines
        call: heroku.listpipelines
        outputParameters:
        - type: object
          mapping: $.
    - path: /pipelines
      name: createpipeline
      operations:
      - method: POST
        name: createpipeline
        description: Create a pipeline
        call: heroku.createpipeline
        outputParameters:
        - type: object
          mapping: $.
    - path: /pipelines/{pipeline_id}
      name: getpipeline
      operations:
      - method: GET
        name: getpipeline
        description: Get pipeline info
        call: heroku.getpipeline
        with:
          pipeline_id: rest.pipeline_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /pipelines/{pipeline_id}
      name: updatepipeline
      operations:
      - method: PATCH
        name: updatepipeline
        description: Update a pipeline
        call: heroku.updatepipeline
        with:
          pipeline_id: rest.pipeline_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /pipelines/{pipeline_id}
      name: deletepipeline
      operations:
      - method: DELETE
        name: deletepipeline
        description: Delete a pipeline
        call: heroku.deletepipeline
        with:
          pipeline_id: rest.pipeline_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /pipelines/{pipeline_id}/pipeline-couplings
      name: listpipelinecouplings
      operations:
      - method: GET
        name: listpipelinecouplings
        description: List pipeline couplings
        call: heroku.listpipelinecouplings
        with:
          pipeline_id: rest.pipeline_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /pipeline-couplings
      name: createpipelinecoupling
      operations:
      - method: POST
        name: createpipelinecoupling
        description: Create a pipeline coupling
        call: heroku.createpipelinecoupling
        outputParameters:
        - type: object
          mapping: $.
    - path: /account
      name: getaccount
      operations:
      - method: GET
        name: getaccount
        description: Get account info
        call: heroku.getaccount
        outputParameters:
        - type: object
          mapping: $.
    - path: /account
      name: updateaccount
      operations:
      - method: PATCH
        name: updateaccount
        description: Update account
        call: heroku.updateaccount
        outputParameters:
        - type: object
          mapping: $.
    - path: /regions
      name: listregions
      operations:
      - method: GET
        name: listregions
        description: List regions
        call: heroku.listregions
        outputParameters:
        - type: object
          mapping: $.
    - path: /stacks
      name: liststacks
      operations:
      - method: GET
        name: liststacks
        description: List stacks
        call: heroku.liststacks
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/collaborators
      name: listcollaborators
      operations:
      - method: GET
        name: listcollaborators
        description: List collaborators
        call: heroku.listcollaborators
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/collaborators
      name: createcollaborator
      operations:
      - method: POST
        name: createcollaborator
        description: Create a collaborator
        call: heroku.createcollaborator
        outputParameters:
        - type: object
          mapping: $.
    - path: /apps/{app_id_or_name}/collaborators/{collaborator_email_or_id}
      name: deletecollaborator
      operations:
      - method: DELETE
        name: deletecollaborator
        description: Delete a collaborator
        call: heroku.deletecollaborator
        with:
          collaborator_email_or_id: rest.collaborator_email_or_id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: heroku-mcp
    transport: http
    description: MCP adapter for Heroku Platform API for AI agent use.
    tools:
    - name: listapps
      description: List apps
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: heroku.listapps
      outputParameters:
      - type: object
        mapping: $.
    - name: createapp
      description: Create an app
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: heroku.createapp
      outputParameters:
      - type: object
        mapping: $.
    - name: getapp
      description: Get app info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: heroku.getapp
      outputParameters:
      - type: object
        mapping: $.
    - name: updateapp
      description: Update an app
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: heroku.updateapp
      outputParameters:
      - type: object
        mapping: $.
    - name: deleteapp
      description: Delete an app
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: heroku.deleteapp
      outputParameters:
      - type: object
        mapping: $.
    - name: listdynos
      description: List dynos
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: heroku.listdynos
      outputParameters:
      - type: object
        mapping: $.
    - name: createdyno
      description: Create a dyno
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: heroku.createdyno
      outputParameters:
      - type: object
        mapping: $.
    - name: getdyno
      description: Get dyno info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: heroku.getdyno
      with:
        dyno_id_or_name: tools.dyno_id_or_name
      inputParameters:
      - name: dyno_id_or_name
        type: string
        description: dyno_id_or_name
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: stopdyno
      description: Stop a dyno
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: heroku.stopdyno
      with:
        dyno_id_or_name: tools.dyno_id_or_name
      inputParameters:
      - name: dyno_id_or_name
        type: string
        description: dyno_id_or_name
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: restartalldynos
      description: Restart all dynos
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: heroku.restartalldynos
      outputParameters:
      - type: object
        mapping: $.
    - name: getconfigvars
      description: Get config vars
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: heroku.getconfigvars
      outputParameters:
      - type: object
        mapping: $.
    - name: updateconfigvars
      description: Update config vars
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: heroku.updateconfigvars
      outputParameters:
      - type: object
        mapping: $.
    - name: listaddons
      description: List add-ons for an app
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: heroku.listaddons
      outputParameters:
      - type: object
        mapping: $.
    - name: createaddon
      description: Create an add-on
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: heroku.createaddon
      outputParameters:
      - type: object
        mapping: $.
    - name: getaddon
      description: Get add-on info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: heroku.getaddon
      with:
        addon_id_or_name: tools.addon_id_or_name
      inputParameters:
      - name: addon_id_or_name
        type: string
        description: addon_id_or_name
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: deleteaddon
      description: Delete an add-on
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: heroku.deleteaddon
      with:
        addon_id_or_name: tools.addon_id_or_name
      inputParameters:
      - name: addon_id_or_name
        type: string
        description: addon_id_or_name
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listdomains
      description: List domains
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: heroku.listdomains
      outputParameters:
      - type: object
        mapping: $.
    - name: createdomain
      description: Create a domain
      hints:
        readOnly: false
        destruc

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/heroku/refs/heads/main/capabilities/heroku-capability.yaml