Netlify · Capability

Netlify Netlify's API documentation — Site

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

Run with Naftiko NetlifySite

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.
/v1/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.
/v1/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.
/v1/sites/{site-id}
DELETE
Deletesite — deletesite
/v1/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.
/v1/sites/{site-id}
PUT
Unlinksiterepo — [Beta] Unlinks the repo from the site.
/v1/sites/{site-id}/unlink-repo
GET
Listsitesforaccount — **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.
/v1/{account-slug}/sites
POST
Createsiteinteam — **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.
/v1/{account-slug}/sites

MCP Tools

note-environment-variable-keys-and

**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
note-environment-variable-keys-and-2

**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.

note-environment-variable-keys-and-3

**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

deletesite

idempotent
note-environment-variable-keys-and-4

**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.

idempotent
beta-unlinks-repo-site

[Beta] Unlinks the repo from the site.

idempotent
note-environment-variable-keys-and-5

**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
note-environment-variable-keys-and-6

**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.

Capability Spec

netlify-site.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Netlify Netlify's API documentation — Site
  description: 'Netlify Netlify''s API documentation — Site. 8 operations. Lead operation: Site. Self-contained Naftiko capability
    covering one Netlify business surface.'
  tags:
  - Netlify
  - Site
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    NETLIFY_API_KEY: NETLIFY_API_KEY
capability:
  consumes:
  - type: http
    namespace: netlify-site
    baseUri: https://api.netlify.com/api/v1
    description: Netlify Netlify's API documentation — Site business capability. Self-contained, no shared references.
    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.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        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
      - 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.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: configure_dns
          in: query
          type: boolean
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - 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.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: feature_flags
          in: query
          type: string
      - name: deletesite
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
      - 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.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - 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.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
    - name: account_slug-sites
      path: /{account_slug}/sites
      operations:
      - name: listsitesforaccount
        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.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
        - name: account_slug
          in: path
          type: string
          required: true
        - name: page
          in: query
          type: integer
        - name: per_page
          in: query
          type: integer
      - name: createsiteinteam
        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.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: configure_dns
          in: query
          type: boolean
        - name: account_slug
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: bearer
      token: '{{env.NETLIFY_API_KEY}}'
  exposes:
  - type: rest
    namespace: netlify-site-rest
    port: 8080
    description: REST adapter for Netlify Netlify's API documentation — Site. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/sites
      name: sites
      description: REST surface for sites.
      operations:
      - method: GET
        name: listsites
        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.'
        call: netlify-site.listsites
        with:
          name: rest.name
          filter: rest.filter
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createsite
        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.'
        call: netlify-site.createsite
        with:
          configure_dns: rest.configure_dns
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sites/{site-id}
      name: sites-site-id
      description: REST surface for sites-site_id.
      operations:
      - method: GET
        name: getsite
        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.'
        call: netlify-site.getsite
        with:
          site_id: rest.site_id
          feature_flags: rest.feature_flags
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletesite
        description: deletesite
        call: netlify-site.deletesite
        with:
          site_id: rest.site_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatesite
        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.'
        call: netlify-site.updatesite
        with:
          site_id: rest.site_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sites/{site-id}/unlink-repo
      name: sites-site-id-unlink-repo
      description: REST surface for sites-site_id-unlink_repo.
      operations:
      - method: PUT
        name: unlinksiterepo
        description: '[Beta] Unlinks the repo from the site.'
        call: netlify-site.unlinksiterepo
        with:
          site_id: rest.site_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{account-slug}/sites
      name: account-slug-sites
      description: REST surface for account_slug-sites.
      operations:
      - method: GET
        name: listsitesforaccount
        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.'
        call: netlify-site.listsitesforaccount
        with:
          name: rest.name
          account_slug: rest.account_slug
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createsiteinteam
        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.'
        call: netlify-site.createsiteinteam
        with:
          configure_dns: rest.configure_dns
          account_slug: rest.account_slug
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: netlify-site-mcp
    port: 9090
    transport: http
    description: MCP adapter for Netlify Netlify's API documentation — Site. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: note-environment-variable-keys-and
      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.'
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: netlify-site.listsites
      with:
        name: tools.name
        filter: tools.filter
        page: tools.page
        per_page: tools.per_page
      outputParameters:
      - type: object
        mapping: $.
    - name: note-environment-variable-keys-and-2
      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.'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: netlify-site.createsite
      with:
        configure_dns: tools.configure_dns
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: note-environment-variable-keys-and-3
      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.'
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: netlify-site.getsite
      with:
        site_id: tools.site_id
        feature_flags: tools.feature_flags
      outputParameters:
      - type: object
        mapping: $.
    - name: deletesite
      description: deletesite
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: netlify-site.deletesite
      with:
        site_id: tools.site_id
      outputParameters:
      - type: object
        mapping: $.
    - name: note-environment-variable-keys-and-4
      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.'
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: netlify-site.updatesite
      with:
        site_id: tools.site_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: beta-unlinks-repo-site
      description: '[Beta] Unlinks the repo from the site.'
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: netlify-site.unlinksiterepo
      with:
        site_id: tools.site_id
      outputParameters:
      - type: object
        mapping: $.
    - name: note-environment-variable-keys-and-5
      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.'
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: netlify-site.listsitesforaccount
      with:
        name: tools.name
        account_slug: tools.account_slug
        page: tools.page
        per_page: tools.per_page
      outputParameters:
      - type: object
        mapping: $.
    - name: note-environment-variable-keys-and-6
      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.'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: netlify-site.createsiteinteam
      with:
        configure_dns: tools.configure_dns
        account_slug: tools.account_slug
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.