Netlify · Capability

Netlify Netlify's API documentation — Deploy

Netlify Netlify's API documentation — Deploy. 12 operations. Lead operation: Deploy. Self-contained Naftiko capability covering one Netlify business surface.

Run with Naftiko NetlifyDeploy

What You Can Do

GET
Getdeploy — getdeploy
/v1/deploys/{deploy-id}
DELETE
Deletedeploy — deletedeploy
/v1/deploys/{deploy-id}
POST
Cancelsitedeploy — cancelsitedeploy
/v1/deploys/{deploy-id}/cancel
POST
Lockdeploy — lockdeploy
/v1/deploys/{deploy-id}/lock
POST
Unlockdeploy — unlockdeploy
/v1/deploys/{deploy-id}/unlock
GET
Listsitedeploys — listsitedeploys
/v1/sites/{site-id}/deploys
POST
Createsitedeploy — createsitedeploy
/v1/sites/{site-id}/deploys
GET
Getsitedeploy — getsitedeploy
/v1/sites/{site-id}/deploys/{deploy-id}
PUT
Updatesitedeploy — updatesitedeploy
/v1/sites/{site-id}/deploys/{deploy-id}
DELETE
Deletesitedeploy — deletesitedeploy
/v1/sites/{site-id}/deploys/{deploy-id}
POST
Restoresitedeploy — restoresitedeploy
/v1/sites/{site-id}/deploys/{deploy-id}/restore
PUT
Rollbacksitedeploy — rollbacksitedeploy
/v1/sites/{site-id}/rollback

MCP Tools

getdeploy

getdeploy

read-only idempotent
deletedeploy

deletedeploy

idempotent
cancelsitedeploy

cancelsitedeploy

lockdeploy

lockdeploy

unlockdeploy

unlockdeploy

listsitedeploys

listsitedeploys

read-only idempotent
createsitedeploy

createsitedeploy

getsitedeploy

getsitedeploy

read-only idempotent
updatesitedeploy

updatesitedeploy

idempotent
deletesitedeploy

deletesitedeploy

idempotent
restoresitedeploy

restoresitedeploy

rollbacksitedeploy

rollbacksitedeploy

idempotent

Capability Spec

netlify-deploy.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Netlify Netlify's API documentation — Deploy
  description: 'Netlify Netlify''s API documentation — Deploy. 12 operations. Lead operation: Deploy. Self-contained Naftiko
    capability covering one Netlify business surface.'
  tags:
  - Netlify
  - Deploy
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    NETLIFY_API_KEY: NETLIFY_API_KEY
capability:
  consumes:
  - type: http
    namespace: netlify-deploy
    baseUri: https://api.netlify.com/api/v1
    description: Netlify Netlify's API documentation — Deploy business capability. Self-contained, no shared references.
    resources:
    - name: deploys-deploy_id
      path: /deploys/{deploy_id}
      operations:
      - name: getdeploy
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: deploy_id
          in: path
          type: string
          required: true
      - name: deletedeploy
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: deploy_id
          in: path
          type: string
          required: true
    - name: deploys-deploy_id-cancel
      path: /deploys/{deploy_id}/cancel
      operations:
      - name: cancelsitedeploy
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: deploy_id
          in: path
          type: string
          required: true
    - name: deploys-deploy_id-lock
      path: /deploys/{deploy_id}/lock
      operations:
      - name: lockdeploy
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: deploy_id
          in: path
          type: string
          required: true
    - name: deploys-deploy_id-unlock
      path: /deploys/{deploy_id}/unlock
      operations:
      - name: unlockdeploy
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: deploy_id
          in: path
          type: string
          required: true
    - name: sites-site_id-deploys
      path: /sites/{site_id}/deploys
      operations:
      - name: listsitedeploys
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: deploy-previews
          in: query
          type: boolean
        - name: production
          in: query
          type: boolean
        - name: state
          in: query
          type: string
        - name: branch
          in: query
          type: string
        - name: latest-published
          in: query
          type: boolean
        - name: page
          in: query
          type: integer
        - name: per_page
          in: query
          type: integer
      - name: createsitedeploy
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: deploy-previews
          in: query
          type: boolean
        - name: production
          in: query
          type: boolean
        - name: state
          in: query
          type: string
        - name: branch
          in: query
          type: string
        - name: latest-published
          in: query
          type: boolean
        - name: title
          in: query
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: sites-site_id-deploys-deploy_id
      path: /sites/{site_id}/deploys/{deploy_id}
      operations:
      - name: getsitedeploy
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: deploy_id
          in: path
          type: string
          required: true
      - name: updatesitedeploy
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: deploy_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletesitedeploy
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: deploy_id
          in: path
          type: string
          required: true
        - name: site_id
          in: path
          type: string
          required: true
    - name: sites-site_id-deploys-deploy_id-restore
      path: /sites/{site_id}/deploys/{deploy_id}/restore
      operations:
      - name: restoresitedeploy
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: deploy_id
          in: path
          type: string
          required: true
    - name: sites-site_id-rollback
      path: /sites/{site_id}/rollback
      operations:
      - name: rollbacksitedeploy
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
    authentication:
      type: bearer
      token: '{{env.NETLIFY_API_KEY}}'
  exposes:
  - type: rest
    namespace: netlify-deploy-rest
    port: 8080
    description: REST adapter for Netlify Netlify's API documentation — Deploy. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/deploys/{deploy-id}
      name: deploys-deploy-id
      description: REST surface for deploys-deploy_id.
      operations:
      - method: GET
        name: getdeploy
        description: getdeploy
        call: netlify-deploy.getdeploy
        with:
          deploy_id: rest.deploy_id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletedeploy
        description: deletedeploy
        call: netlify-deploy.deletedeploy
        with:
          deploy_id: rest.deploy_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/deploys/{deploy-id}/cancel
      name: deploys-deploy-id-cancel
      description: REST surface for deploys-deploy_id-cancel.
      operations:
      - method: POST
        name: cancelsitedeploy
        description: cancelsitedeploy
        call: netlify-deploy.cancelsitedeploy
        with:
          deploy_id: rest.deploy_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/deploys/{deploy-id}/lock
      name: deploys-deploy-id-lock
      description: REST surface for deploys-deploy_id-lock.
      operations:
      - method: POST
        name: lockdeploy
        description: lockdeploy
        call: netlify-deploy.lockdeploy
        with:
          deploy_id: rest.deploy_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/deploys/{deploy-id}/unlock
      name: deploys-deploy-id-unlock
      description: REST surface for deploys-deploy_id-unlock.
      operations:
      - method: POST
        name: unlockdeploy
        description: unlockdeploy
        call: netlify-deploy.unlockdeploy
        with:
          deploy_id: rest.deploy_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sites/{site-id}/deploys
      name: sites-site-id-deploys
      description: REST surface for sites-site_id-deploys.
      operations:
      - method: GET
        name: listsitedeploys
        description: listsitedeploys
        call: netlify-deploy.listsitedeploys
        with:
          site_id: rest.site_id
          deploy-previews: rest.deploy-previews
          production: rest.production
          state: rest.state
          branch: rest.branch
          latest-published: rest.latest-published
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createsitedeploy
        description: createsitedeploy
        call: netlify-deploy.createsitedeploy
        with:
          site_id: rest.site_id
          deploy-previews: rest.deploy-previews
          production: rest.production
          state: rest.state
          branch: rest.branch
          latest-published: rest.latest-published
          title: rest.title
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sites/{site-id}/deploys/{deploy-id}
      name: sites-site-id-deploys-deploy-id
      description: REST surface for sites-site_id-deploys-deploy_id.
      operations:
      - method: GET
        name: getsitedeploy
        description: getsitedeploy
        call: netlify-deploy.getsitedeploy
        with:
          site_id: rest.site_id
          deploy_id: rest.deploy_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatesitedeploy
        description: updatesitedeploy
        call: netlify-deploy.updatesitedeploy
        with:
          site_id: rest.site_id
          deploy_id: rest.deploy_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletesitedeploy
        description: deletesitedeploy
        call: netlify-deploy.deletesitedeploy
        with:
          deploy_id: rest.deploy_id
          site_id: rest.site_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sites/{site-id}/deploys/{deploy-id}/restore
      name: sites-site-id-deploys-deploy-id-restore
      description: REST surface for sites-site_id-deploys-deploy_id-restore.
      operations:
      - method: POST
        name: restoresitedeploy
        description: restoresitedeploy
        call: netlify-deploy.restoresitedeploy
        with:
          site_id: rest.site_id
          deploy_id: rest.deploy_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sites/{site-id}/rollback
      name: sites-site-id-rollback
      description: REST surface for sites-site_id-rollback.
      operations:
      - method: PUT
        name: rollbacksitedeploy
        description: rollbacksitedeploy
        call: netlify-deploy.rollbacksitedeploy
        with:
          site_id: rest.site_id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: netlify-deploy-mcp
    port: 9090
    transport: http
    description: MCP adapter for Netlify Netlify's API documentation — Deploy. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: getdeploy
      description: getdeploy
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: netlify-deploy.getdeploy
      with:
        deploy_id: tools.deploy_id
      outputParameters:
      - type: object
        mapping: $.
    - name: deletedeploy
      description: deletedeploy
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: netlify-deploy.deletedeploy
      with:
        deploy_id: tools.deploy_id
      outputParameters:
      - type: object
        mapping: $.
    - name: cancelsitedeploy
      description: cancelsitedeploy
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: netlify-deploy.cancelsitedeploy
      with:
        deploy_id: tools.deploy_id
      outputParameters:
      - type: object
        mapping: $.
    - name: lockdeploy
      description: lockdeploy
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: netlify-deploy.lockdeploy
      with:
        deploy_id: tools.deploy_id
      outputParameters:
      - type: object
        mapping: $.
    - name: unlockdeploy
      description: unlockdeploy
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: netlify-deploy.unlockdeploy
      with:
        deploy_id: tools.deploy_id
      outputParameters:
      - type: object
        mapping: $.
    - name: listsitedeploys
      description: listsitedeploys
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: netlify-deploy.listsitedeploys
      with:
        site_id: tools.site_id
        deploy-previews: tools.deploy-previews
        production: tools.production
        state: tools.state
        branch: tools.branch
        latest-published: tools.latest-published
        page: tools.page
        per_page: tools.per_page
      outputParameters:
      - type: object
        mapping: $.
    - name: createsitedeploy
      description: createsitedeploy
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: netlify-deploy.createsitedeploy
      with:
        site_id: tools.site_id
        deploy-previews: tools.deploy-previews
        production: tools.production
        state: tools.state
        branch: tools.branch
        latest-published: tools.latest-published
        title: tools.title
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: getsitedeploy
      description: getsitedeploy
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: netlify-deploy.getsitedeploy
      with:
        site_id: tools.site_id
        deploy_id: tools.deploy_id
      outputParameters:
      - type: object
        mapping: $.
    - name: updatesitedeploy
      description: updatesitedeploy
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: netlify-deploy.updatesitedeploy
      with:
        site_id: tools.site_id
        deploy_id: tools.deploy_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: deletesitedeploy
      description: deletesitedeploy
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: netlify-deploy.deletesitedeploy
      with:
        deploy_id: tools.deploy_id
        site_id: tools.site_id
      outputParameters:
      - type: object
        mapping: $.
    - name: restoresitedeploy
      description: restoresitedeploy
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: netlify-deploy.restoresitedeploy
      with:
        site_id: tools.site_id
        deploy_id: tools.deploy_id
      outputParameters:
      - type: object
        mapping: $.
    - name: rollbacksitedeploy
      description: rollbacksitedeploy
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: netlify-deploy.rollbacksitedeploy
      with:
        site_id: tools.site_id
      outputParameters:
      - type: object
        mapping: $.