Netlify · Capability

Netlify Netlify's API documentation

Netlify is a hosting service for the programmable web. It understands your documents and provides an API to handle atomic deploys of websites, manage form submissions, inject JavaScript snippets, and much more. This is a REST-style API that uses JSON for serialization and OAuth 2 for authentication. This document is an OpenAPI reference for the Netlify API that you can explore. For more detailed instructions for common uses, please visit the [online documentation](https://www.netlify.com/docs/api/). Visit our Community forum to join the conversation about [understanding and using Netlify’s API

Run with Naftiko NetlifyAPI

What You Can Do

GET
Listsites — **Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [getEnvVars](#tag/environmentVariables/operation/getEnvVars) to retrieve site environment variables.
/sites
POST
Createsite — **Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [createEnvVars](#tag/environmentVariables/operation/createEnvVars) to create environment variables for a site.
/sites
GET
Getsite — **Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [getEnvVars](#tag/environmentVariables/operation/getEnvVars) to retrieve site environment variables.
/sites/{site_id}
DELETE
Deletesite — DELETE /sites/{site_id}
/sites/{site_id}
PATCH
Updatesite — **Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [updateEnvVar](#tag/environmentVariables/operation/updateEnvVar) to update a site's environment variables.
/sites/{site_id}
GET
Showsitetlscertificate — GET /sites/{site_id}/ssl
/sites/{site_id}/ssl
POST
Provisionsitetlscertificate — POST /sites/{site_id}/ssl
/sites/{site_id}/ssl
GET
Getenvvars — Returns all environment variables for an account or site. An account corresponds to a team in the Netlify UI. To use this endpoint, your site must no longer be using the /accounts/{account_id}/env
POST
Createenvvars — Creates new environment variables. Granular scopes are available on Pro plans and above. To use this endpoint, your site must no longer be using the classic enviro
/accounts/{account_id}/env
GET
Getsiteenvvars — Returns all environment variables for a site. This convenience method behaves the same as `getEnvVars` but doesn't require an `account_id` as input.
/api/v1/sites/{site_id}/env
GET
Getenvvar — Returns an individual environment variable. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now w
/accounts/{account_id}/env/{key}
PUT
Updateenvvar — Updates an existing environment variable and all of its values. Existing values will be replaced by values provided. To use this endpoint, your site must no longer be using the /accounts/{account_id}/env/{key}
DELETE
Deleteenvvar — Deletes an environment variable. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Net
/accounts/{account_id}/env/{key}
PATCH
Setenvvarvalue — Updates or creates a new value for an existing environment variable. To use this endpoint, your site must no longer be using the classic environment variables expe
/accounts/{account_id}/env/{key}
DELETE
Deleteenvvarvalue — Deletes a specific environment variable value. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate no
/accounts/{account_id}/env/{key}/value/{id}
GET
Searchsitefunctions — GET /sites/{site_id}/functions
/sites/{site_id}/functions
GET
Listsiteforms — GET /sites/{site_id}/forms
/sites/{site_id}/forms
DELETE
Deletesiteform — DELETE /sites/{site_id}/forms/{form_id}
/sites/{site_id}/forms/{form_id}
GET
Listsitesubmissions — GET /sites/{site_id}/submissions
/sites/{site_id}/submissions
GET
Listsitefiles — GET /sites/{site_id}/files
/sites/{site_id}/files
GET
Listsiteassets — GET /sites/{site_id}/assets
/sites/{site_id}/assets
POST
Createsiteasset — POST /sites/{site_id}/assets
/sites/{site_id}/assets
GET
Getsiteassetinfo — GET /sites/{site_id}/assets/{asset_id}
/sites/{site_id}/assets/{asset_id}
PUT
Updatesiteasset — PUT /sites/{site_id}/assets/{asset_id}
/sites/{site_id}/assets/{asset_id}
DELETE
Deletesiteasset — DELETE /sites/{site_id}/assets/{asset_id}
/sites/{site_id}/assets/{asset_id}
GET
Getsiteassetpublicsignature — GET /sites/{site_id}/assets/{asset_id}/public_signature
/sites/{site_id}/assets/{asset_id}/public_signature
GET
Getsitefilebypathname — GET /sites/{site_id}/files/{file_path}
/sites/{site_id}/files/{file_path}
POST
Purgecache — Purges cached content from Netlify's CDN. Supports purging by Cache-Tag.
/purge
GET
Listsitesnippets — GET /sites/{site_id}/snippets
/sites/{site_id}/snippets
POST
Createsitesnippet — POST /sites/{site_id}/snippets
/sites/{site_id}/snippets
GET
Getsitesnippet — GET /sites/{site_id}/snippets/{snippet_id}
/sites/{site_id}/snippets/{snippet_id}
PUT
Updatesitesnippet — PUT /sites/{site_id}/snippets/{snippet_id}
/sites/{site_id}/snippets/{snippet_id}
DELETE
Deletesitesnippet — DELETE /sites/{site_id}/snippets/{snippet_id}
/sites/{site_id}/snippets/{snippet_id}
GET
Getsitemetadata — GET /sites/{site_id}/metadata
/sites/{site_id}/metadata
PUT
Updatesitemetadata — PUT /sites/{site_id}/metadata
/sites/{site_id}/metadata
GET
Listsitebuildhooks — GET /sites/{site_id}/build_hooks
/sites/{site_id}/build_hooks
POST
Createsitebuildhook — POST /sites/{site_id}/build_hooks
/sites/{site_id}/build_hooks
GET
Getsitebuildhook — GET /sites/{site_id}/build_hooks/{id}
/sites/{site_id}/build_hooks/{id}
PUT
Updatesitebuildhook — PUT /sites/{site_id}/build_hooks/{id}
/sites/{site_id}/build_hooks/{id}
DELETE
Deletesitebuildhook — DELETE /sites/{site_id}/build_hooks/{id}
/sites/{site_id}/build_hooks/{id}
GET
Listsitedeploys — GET /sites/{site_id}/deploys
/sites/{site_id}/deploys
POST
Createsitedeploy — POST /sites/{site_id}/deploys
/sites/{site_id}/deploys
GET
Getsitedeploy — GET /sites/{site_id}/deploys/{deploy_id}
/sites/{site_id}/deploys/{deploy_id}
PUT
Updatesitedeploy — PUT /sites/{site_id}/deploys/{deploy_id}
/sites/{site_id}/deploys/{deploy_id}
DELETE
Deletesitedeploy — DELETE /sites/{site_id}/deploys/{deploy_id}
/sites/{site_id}/deploys/{deploy_id}
POST
Cancelsitedeploy — POST /deploys/{deploy_id}/cancel
/deploys/{deploy_id}/cancel
POST
Restoresitedeploy — POST /sites/{site_id}/deploys/{deploy_id}/restore
/sites/{site_id}/deploys/{deploy_id}/restore
GET
Listsitebuilds — GET /sites/{site_id}/builds
/sites/{site_id}/builds
POST
Createsitebuild — POST /sites/{site_id}/builds
/sites/{site_id}/builds
GET
Listsitedeployedbranches — GET /sites/{site_id}/deployed-branches
/sites/{site_id}/deployed-branches
PUT
Unlinksiterepo — [Beta] Unlinks the repo from the site. This action will also: - Delete associated deploy keys - Delete outgoing webhooks for the repo - Delete the site's build hooks
/sites/{site_id}/unlink_repo
GET
Getsitebuild — GET /builds/{build_id}
/builds/{build_id}
POST
Updatesitebuildlog — POST /builds/{build_id}/log
/builds/{build_id}/log
POST
Notifybuildstart — POST /builds/{build_id}/start
/builds/{build_id}/start
GET
Getaccountbuildstatus — GET /{account_id}/builds/status
/{account_id}/builds/status
GET
Getdnsforsite — GET /sites/{site_id}/dns
/sites/{site_id}/dns
PUT
Configurednsforsite — PUT /sites/{site_id}/dns
/sites/{site_id}/dns
PUT
Rollbacksitedeploy — PUT /sites/{site_id}/rollback
/sites/{site_id}/rollback
GET
Getdeploy — GET /deploys/{deploy_id}
/deploys/{deploy_id}
DELETE
Deletedeploy — DELETE /deploys/{deploy_id}
/deploys/{deploy_id}

MCP Tools

listsites

**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [getEnvVars](#tag/environmentVariables/operation/getEnvVars) to retrieve site environment variables.

read-only idempotent
createsite

**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [createEnvVars](#tag/environmentVariables/operation/createEnvVars) to create environment variables for a site.

getsite

**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [getEnvVars](#tag/environmentVariables/operation/getEnvVars) to retrieve site environment variables.

read-only idempotent
deletesite

DELETE /sites/{site_id}

idempotent
updatesite

**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [updateEnvVar](#tag/environmentVariables/operation/updateEnvVar) to update a site's environment variables.

showsitetlscertificate

GET /sites/{site_id}/ssl

read-only idempotent
provisionsitetlscertificate

POST /sites/{site_id}/ssl

getenvvars

Returns all environment variables for an account or site. An account corresponds to a team in the Netlify UI. To use this endpoint, your site must no longer be using the read-only idempotent

createenvvars

Creates new environment variables. Granular scopes are available on Pro plans and above. To use this endpoint, your site must no longer be using the classic enviro

getsiteenvvars

Returns all environment variables for a site. This convenience method behaves the same as `getEnvVars` but doesn't require an `account_id` as input.

read-only idempotent
getenvvar

Returns an individual environment variable. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now w

read-only idempotent
updateenvvar

Updates an existing environment variable and all of its values. Existing values will be replaced by values provided. To use this endpoint, your site must no longer be using the idempotent

deleteenvvar

Deletes an environment variable. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate now with the Net

idempotent
setenvvarvalue

Updates or creates a new value for an existing environment variable. To use this endpoint, your site must no longer be using the classic environment variables expe

deleteenvvarvalue

Deletes a specific environment variable value. To use this endpoint, your site must no longer be using the classic environment variables experience. Migrate no

idempotent
searchsitefunctions

GET /sites/{site_id}/functions

read-only idempotent
listsiteforms

GET /sites/{site_id}/forms

read-only idempotent
deletesiteform

DELETE /sites/{site_id}/forms/{form_id}

idempotent
listsitesubmissions

GET /sites/{site_id}/submissions

read-only idempotent
listsitefiles

GET /sites/{site_id}/files

read-only idempotent
listsiteassets

GET /sites/{site_id}/assets

read-only idempotent
createsiteasset

POST /sites/{site_id}/assets

getsiteassetinfo

GET /sites/{site_id}/assets/{asset_id}

read-only idempotent
updatesiteasset

PUT /sites/{site_id}/assets/{asset_id}

idempotent
deletesiteasset

DELETE /sites/{site_id}/assets/{asset_id}

idempotent
getsiteassetpublicsignature

GET /sites/{site_id}/assets/{asset_id}/public_signature

read-only idempotent
getsitefilebypathname

GET /sites/{site_id}/files/{file_path}

read-only idempotent
purgecache

Purges cached content from Netlify's CDN. Supports purging by Cache-Tag.

listsitesnippets

GET /sites/{site_id}/snippets

read-only idempotent
createsitesnippet

POST /sites/{site_id}/snippets

getsitesnippet

GET /sites/{site_id}/snippets/{snippet_id}

read-only idempotent
updatesitesnippet

PUT /sites/{site_id}/snippets/{snippet_id}

idempotent
deletesitesnippet

DELETE /sites/{site_id}/snippets/{snippet_id}

idempotent
getsitemetadata

GET /sites/{site_id}/metadata

read-only idempotent
updatesitemetadata

PUT /sites/{site_id}/metadata

idempotent
listsitebuildhooks

GET /sites/{site_id}/build_hooks

read-only idempotent
createsitebuildhook

POST /sites/{site_id}/build_hooks

getsitebuildhook

GET /sites/{site_id}/build_hooks/{id}

read-only idempotent
updatesitebuildhook

PUT /sites/{site_id}/build_hooks/{id}

idempotent
deletesitebuildhook

DELETE /sites/{site_id}/build_hooks/{id}

idempotent
listsitedeploys

GET /sites/{site_id}/deploys

read-only idempotent
createsitedeploy

POST /sites/{site_id}/deploys

getsitedeploy

GET /sites/{site_id}/deploys/{deploy_id}

read-only idempotent
updatesitedeploy

PUT /sites/{site_id}/deploys/{deploy_id}

idempotent
deletesitedeploy

DELETE /sites/{site_id}/deploys/{deploy_id}

idempotent
cancelsitedeploy

POST /deploys/{deploy_id}/cancel

restoresitedeploy

POST /sites/{site_id}/deploys/{deploy_id}/restore

listsitebuilds

GET /sites/{site_id}/builds

read-only idempotent
createsitebuild

POST /sites/{site_id}/builds

listsitedeployedbranches

GET /sites/{site_id}/deployed-branches

read-only idempotent
unlinksiterepo

[Beta] Unlinks the repo from the site. This action will also: - Delete associated deploy keys - Delete outgoing webhooks for the repo - Delete the site's build hooks

idempotent
getsitebuild

GET /builds/{build_id}

read-only idempotent
updatesitebuildlog

POST /builds/{build_id}/log

notifybuildstart

POST /builds/{build_id}/start

getaccountbuildstatus

GET /{account_id}/builds/status

read-only idempotent
getdnsforsite

GET /sites/{site_id}/dns

read-only idempotent
configurednsforsite

PUT /sites/{site_id}/dns

idempotent
rollbacksitedeploy

PUT /sites/{site_id}/rollback

idempotent
getdeploy

GET /deploys/{deploy_id}

read-only idempotent
deletedeploy

DELETE /deploys/{deploy_id}

idempotent

Capability Spec

netlify-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Netlify Netlify's API documentation
  description: Netlify is a hosting service for the programmable web. It understands your documents and provides an API to
    handle atomic deploys of websites, manage form submissions, inject JavaScript snippets, and much more. This is a REST-style
    API that uses JSON for serialization and OAuth 2 for authentication. This document is an OpenAPI reference for the Netlify
    API that you can explore. For more detailed instructions for common uses, please visit the [online documentation](https://www.netlify.com/docs/api/).
    Visit our Community forum to join the conversation about [understanding and using Netlify’s API
  tags:
  - Netlify
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: netlify
    baseUri: https://api.netlify.com/api/v1
    description: Netlify Netlify's API documentation HTTP API.
    authentication:
      type: bearer
      token: '{{NETLIFY_TOKEN}}'
    resources:
    - name: sites
      path: /sites
      operations:
      - name: listsites
        method: GET
        description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to
          a new endpoint. Please use [getEnvVars](#tag/environmentVariables/operation/getEnvVars) to retrieve site environment
          variables.'
        inputParameters:
        - name: name
          in: query
          type: string
        - name: filter
          in: query
          type: string
        - name: page
          in: query
          type: integer
        - name: per_page
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createsite
        method: POST
        description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to
          a new endpoint. Please use [createEnvVars](#tag/environmentVariables/operation/createEnvVars) to create environment
          variables for a site.'
        inputParameters:
        - name: configure_dns
          in: query
          type: boolean
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id
      path: /sites/{site_id}
      operations:
      - name: getsite
        method: GET
        description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to
          a new endpoint. Please use [getEnvVars](#tag/environmentVariables/operation/getEnvVars) to retrieve site environment
          variables.'
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: feature_flags
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletesite
        method: DELETE
        description: DELETE /sites/{site_id}
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatesite
        method: PATCH
        description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to
          a new endpoint. Please use [updateEnvVar](#tag/environmentVariables/operation/updateEnvVar) to update a site''s
          environment variables.'
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-ssl
      path: /sites/{site_id}/ssl
      operations:
      - name: showsitetlscertificate
        method: GET
        description: GET /sites/{site_id}/ssl
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: provisionsitetlscertificate
        method: POST
        description: POST /sites/{site_id}/ssl
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: certificate
          in: query
          type: string
        - name: key
          in: query
          type: string
        - name: ca_certificates
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-account-id-env
      path: /accounts/{account_id}/env
      operations:
      - name: getenvvars
        method: GET
        description: Returns all environment variables for an account or site. An account corresponds to a team in the Netlify
          UI. To use this endpoint, your site must no longer be using the <a href="https://docs.netlify.com/environment-variables/classic-experi
        inputParameters:
        - name: account_id
          in: path
          type: string
          required: true
          description: Scope response to account_id
        - name: context_name
          in: query
          type: string
          description: Filter by deploy context
        - name: scope
          in: query
          type: string
          description: Filter by scope
        - name: site_id
          in: query
          type: string
          description: If specified, only return environment variables set on this site
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createenvvars
        method: POST
        description: Creates new environment variables. Granular scopes are available on Pro plans and above. To use this
          endpoint, your site must no longer be using the <a href="https://docs.netlify.com/environment-variables/classic-experience/">classic
          enviro
        inputParameters:
        - name: account_id
          in: path
          type: string
          required: true
          description: Scope response to account_id
        - name: site_id
          in: query
          type: string
          description: If provided, create an environment variable on the site level, not the account level
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v1-sites-site-id-env
      path: /api/v1/sites/{site_id}/env
      operations:
      - name: getsiteenvvars
        method: GET
        description: Returns all environment variables for a site. This convenience method behaves the same as `getEnvVars`
          but doesn't require an `account_id` as input.
        inputParameters:
        - name: context_name
          in: query
          type: string
          description: Filter by deploy context
        - name: scope
          in: query
          type: string
          description: Filter by scope
        - name: site_id
          in: path
          type: string
          required: true
          description: Scope response to site_id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-account-id-env-key
      path: /accounts/{account_id}/env/{key}
      operations:
      - name: getenvvar
        method: GET
        description: Returns an individual environment variable. To use this endpoint, your site must no longer be using the
          <a href="https://docs.netlify.com/environment-variables/classic-experience/">classic environment variables experience</a>.
          Migrate now w
        inputParameters:
        - name: account_id
          in: path
          type: string
          required: true
          description: Scope response to account_id
        - name: key
          in: path
          type: string
          required: true
          description: The environment variable key (case-sensitive)
        - name: site_id
          in: query
          type: string
          description: If provided, return the environment variable for a specific site (no merging is performed)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateenvvar
        method: PUT
        description: Updates an existing environment variable and all of its values. Existing values will be replaced by values
          provided. To use this endpoint, your site must no longer be using the <a href="https://docs.netlify.com/environment-variables/classic
        inputParameters:
        - name: account_id
          in: path
          type: string
          required: true
          description: Scope response to account_id
        - name: key
          in: path
          type: string
          required: true
          description: The existing environment variable key name (case-sensitive)
        - name: site_id
          in: query
          type: string
          description: If provided, update an environment variable set on this site
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteenvvar
        method: DELETE
        description: Deletes an environment variable. To use this endpoint, your site must no longer be using the <a href="https://docs.netlify.com/environment-variables/classic-experience/">classic
          environment variables experience</a>. Migrate now with the Net
        inputParameters:
        - name: account_id
          in: path
          type: string
          required: true
          description: Scope response to account_id
        - name: key
          in: path
          type: string
          required: true
          description: The environment variable key (case-sensitive)
        - name: site_id
          in: query
          type: string
          description: If provided, delete the environment variable from this site
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: setenvvarvalue
        method: PATCH
        description: Updates or creates a new value for an existing environment variable. To use this endpoint, your site
          must no longer be using the <a href="https://docs.netlify.com/environment-variables/classic-experience/">classic
          environment variables expe
        inputParameters:
        - name: account_id
          in: path
          type: string
          required: true
          description: Scope response to account_id
        - name: key
          in: path
          type: string
          required: true
          description: The existing environment variable key name (case-sensitive)
        - name: site_id
          in: query
          type: string
          description: If provided, update an environment variable set on this site
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-account-id-env-key-value-id
      path: /accounts/{account_id}/env/{key}/value/{id}
      operations:
      - name: deleteenvvarvalue
        method: DELETE
        description: Deletes a specific environment variable value. To use this endpoint, your site must no longer be using
          the <a href="https://docs.netlify.com/environment-variables/classic-experience/">classic environment variables experience</a>.
          Migrate no
        inputParameters:
        - name: account_id
          in: path
          type: string
          required: true
          description: Scope response to account_id
        - name: id
          in: path
          type: string
          required: true
          description: The environment variable value's ID
        - name: key
          in: path
          type: string
          required: true
          description: The environment variable key name (case-sensitive)
        - name: site_id
          in: query
          type: string
          description: If provided, delete the value from an environment variable on this site
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-functions
      path: /sites/{site_id}/functions
      operations:
      - name: searchsitefunctions
        method: GET
        description: GET /sites/{site_id}/functions
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: filter
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-forms
      path: /sites/{site_id}/forms
      operations:
      - name: listsiteforms
        method: GET
        description: GET /sites/{site_id}/forms
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-forms-form-id
      path: /sites/{site_id}/forms/{form_id}
      operations:
      - name: deletesiteform
        method: DELETE
        description: DELETE /sites/{site_id}/forms/{form_id}
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: form_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-submissions
      path: /sites/{site_id}/submissions
      operations:
      - name: listsitesubmissions
        method: GET
        description: GET /sites/{site_id}/submissions
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: page
          in: query
          type: integer
        - name: per_page
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-files
      path: /sites/{site_id}/files
      operations:
      - name: listsitefiles
        method: GET
        description: GET /sites/{site_id}/files
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-assets
      path: /sites/{site_id}/assets
      operations:
      - name: listsiteassets
        method: GET
        description: GET /sites/{site_id}/assets
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createsiteasset
        method: POST
        description: POST /sites/{site_id}/assets
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: name
          in: query
          type: string
          required: true
        - name: size
          in: query
          type: integer
          required: true
        - name: content_type
          in: query
          type: string
          required: true
        - name: visibility
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-assets-asset-id
      path: /sites/{site_id}/assets/{asset_id}
      operations:
      - name: getsiteassetinfo
        method: GET
        description: GET /sites/{site_id}/assets/{asset_id}
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: asset_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatesiteasset
        method: PUT
        description: PUT /sites/{site_id}/assets/{asset_id}
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: asset_id
          in: path
          type: string
          required: true
        - name: state
          in: query
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletesiteasset
        method: DELETE
        description: DELETE /sites/{site_id}/assets/{asset_id}
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: asset_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-assets-asset-id-public-signature
      path: /sites/{site_id}/assets/{asset_id}/public_signature
      operations:
      - name: getsiteassetpublicsignature
        method: GET
        description: GET /sites/{site_id}/assets/{asset_id}/public_signature
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: asset_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-files-file-path
      path: /sites/{site_id}/files/{file_path}
      operations:
      - name: getsitefilebypathname
        method: GET
        description: GET /sites/{site_id}/files/{file_path}
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: file_path
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: purge
      path: /purge
      operations:
      - name: purgecache
        method: POST
        description: Purges cached content from Netlify's CDN. Supports purging by Cache-Tag.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-snippets
      path: /sites/{site_id}/snippets
      operations:
      - name: listsitesnippets
        method: GET
        description: GET /sites/{site_id}/snippets
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createsitesnippet
        method: POST
        description: POST /sites/{site_id}/snippets
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-snippets-snippet-id
      path: /sites/{site_id}/snippets/{snippet_id}
      operations:
      - name: getsitesnippet
        method: GET
        description: GET /sites/{site_id}/snippets/{snippet_id}
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: snippet_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatesitesnippet
        method: PUT
        description: PUT /sites/{site_id}/snippets/{snippet_id}
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: snippet_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletesitesnippet
        method: DELETE
        description: DELETE /sites/{site_id}/snippets/{snippet_id}
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: snippet_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-metadata
      path: /sites/{site_id}/metadata
      operations:
      - name: getsitemetadata
        method: GET
        description: GET /sites/{site_id}/metadata
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatesitemetadata
        method: PUT
        description: PUT /sites/{site_id}/metadata
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-build-hooks
      path: /sites/{site_id}/build_hooks
      operations:
      - name: listsitebuildhooks
        method: GET
        description: GET /sites/{site_id}/build_hooks
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createsitebuildhook
        method: POST
        description: POST /sites/{site_id}/build_hooks
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-build-hooks-id
      path: /sites/{site_id}/build_hooks/{id}
      operations:
      - name: getsitebuildhook
        method: GET
        description: GET /sites/{site_id}/build_hooks/{id}
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatesitebuildhook
        method: PUT
        description: PUT /sites/{site_id}/build_hooks/{id}
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletesitebuildhook
        method: DELETE
        description: DELETE /sites/{site_id}/build_hooks/{id}
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-deploys
      path: /sites/{site_id}/deploys
      operations:
      - name: listsitedeploys
        method: GET
        description: GET /sites/{site_id}/deploys
        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
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createsitedeploy
        method: POST
        description: POST /sites/{site_id}/deploys
        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
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-deploys-deploy-id
      path: /sites/{site_id}/deploys/{deploy_id}
      operations:
      - name: getsitedeploy
        method: GET
        description: GET /sites/{site_id}/deploys/{deploy_id}
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: deploy_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatesitedeploy
        method: PUT
        description: PUT /sites/{site_id}/deploys/{deploy_id}
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: deploy_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletesitedeploy
        method: DELETE
        description: DELETE /sites/{site_id}/deploys/{deploy_id}
        inputParameters:
        - name: deploy_id
          in: path
          type: string
          required: true
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: deploys-deploy-id-cancel
      path: /deploys/{deploy_id}/cancel
      operations:
      - name: cancelsitedeploy
        method: POST
        description: POST /deploys/{deploy_id}/cancel
        inputParameters:
        - name: deploy_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-deploys-deploy-id-restore
      path: /sites/{site_id}/deploys/{deploy_id}/restore
      operations:
      - name: restoresitedeploy
        method: POST
        description: POST /sites/{site_id}/deploys/{deploy_id}/restore
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: deploy_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-builds
      path: /sites/{site_id}/builds
      operations:
      - name: listsitebuilds
        method: GET
        description: GET /sites/{site_id}/builds
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: page
          in: query
          type: integer
        - name: per_page
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createsitebuild
        method: POST
        description: POST /sites/{site_id}/builds
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-deployed-branches
      path: /sites/{site_id}/deployed-branches
      operations:
      - name: listsitedeployedbranches
        method: GET
        description: GET /sites/{site_id}/deployed-branches
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-unlink-repo
      path: /sites/{site_id}/unlink_repo
      operations:
      - name: unlinksiterepo
        method: PUT
        description: '[Beta] Unlinks the repo from the site. This action will also: - Delete associated deploy keys - Delete
          outgoing webhooks for the repo - Delete the site''s build hooks'
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: builds-build-id
      path: /builds/{build_id}
      operations:
      - name: getsitebuild
        method: GET
        description: GET /builds/{build_id}
        inputParameters:
        - name: build_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: builds-build-id-log
      path: /builds/{build_id}/log
      operations:
      - name: updatesitebuildlog
        method: POST
        description: POST /builds/{build_id}/log
        inputParameters:
        - name: build_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: builds-build-id-start
      path: /builds/{build_id}/start
      operations:
      - name: notifybuildstart
        method: POST
        description: POST /builds/{build_id}/start
        inputParameters:
        - name: build_id
          in: path
          type: string
          required: true
        - name: buildbot_version
          in: query
          type: string
        - name: build_version
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: account-id-builds-status
      path: /{account_id}/builds/status
      operations:
      - name: getaccountbuildstatus
        method: GET
        description: GET /{account_id}/builds/status
        inputParameters:
        - name: account_id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site-id-dns
      path: /sites/{site_id}/dns
      operations:
      - name: getdnsforsite
        method: GET
        description: GET /sites/{site_id}/dns
        inputParameters:
        - name: site_id
          in: path
          type: string
          requ

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