Netlify · Capability

Netlify Netlify's API documentation — dnsZone

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

Run with Naftiko NetlifydnsZone

What You Can Do

GET
Getdnszones — getdnszones
/v1/dns-zones
POST
Creatednszone — creatednszone
/v1/dns-zones
GET
Getdnszone — getdnszone
/v1/dns-zones/{zone-id}
DELETE
Deletednszone — deletednszone
/v1/dns-zones/{zone-id}
GET
Getdnsrecords — getdnsrecords
/v1/dns-zones/{zone-id}/dns-records
POST
Creatednsrecord — creatednsrecord
/v1/dns-zones/{zone-id}/dns-records
GET
Getindividualdnsrecord — getindividualdnsrecord
/v1/dns-zones/{zone-id}/dns-records/{dns-record-id}
DELETE
Deletednsrecord — deletednsrecord
/v1/dns-zones/{zone-id}/dns-records/{dns-record-id}
PUT
Transferdnszone — transferdnszone
/v1/dns-zones/{zone-id}/transfer
GET
Getdnsforsite — getdnsforsite
/v1/sites/{site-id}/dns
PUT
Configurednsforsite — configurednsforsite
/v1/sites/{site-id}/dns

MCP Tools

getdnszones

getdnszones

read-only idempotent
creatednszone

creatednszone

getdnszone

getdnszone

read-only idempotent
deletednszone

deletednszone

idempotent
getdnsrecords

getdnsrecords

read-only idempotent
creatednsrecord

creatednsrecord

getindividualdnsrecord

getindividualdnsrecord

read-only idempotent
deletednsrecord

deletednsrecord

idempotent
transferdnszone

transferdnszone

idempotent
getdnsforsite

getdnsforsite

read-only idempotent
configurednsforsite

configurednsforsite

idempotent

Capability Spec

netlify-dnszone.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Netlify Netlify's API documentation — dnsZone
  description: 'Netlify Netlify''s API documentation — dnsZone. 11 operations. Lead operation: dnsZone. Self-contained Naftiko
    capability covering one Netlify business surface.'
  tags:
  - Netlify
  - dnsZone
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    NETLIFY_API_KEY: NETLIFY_API_KEY
capability:
  consumes:
  - type: http
    namespace: netlify-dnszone
    baseUri: https://api.netlify.com/api/v1
    description: Netlify Netlify's API documentation — dnsZone business capability. Self-contained, no shared references.
    resources:
    - name: dns_zones
      path: /dns_zones
      operations:
      - name: getdnszones
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: account_slug
          in: query
          type: string
      - name: creatednszone
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: dns_zones-zone_id
      path: /dns_zones/{zone_id}
      operations:
      - name: getdnszone
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: zone_id
          in: path
          type: string
          required: true
      - name: deletednszone
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: zone_id
          in: path
          type: string
          required: true
    - name: dns_zones-zone_id-dns_records
      path: /dns_zones/{zone_id}/dns_records
      operations:
      - name: getdnsrecords
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: zone_id
          in: path
          type: string
          required: true
      - name: creatednsrecord
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: zone_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: dns_zones-zone_id-dns_records-dns_record_id
      path: /dns_zones/{zone_id}/dns_records/{dns_record_id}
      operations:
      - name: getindividualdnsrecord
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: zone_id
          in: path
          type: string
          required: true
        - name: dns_record_id
          in: path
          type: string
          required: true
      - name: deletednsrecord
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: zone_id
          in: path
          type: string
          required: true
        - name: dns_record_id
          in: path
          type: string
          required: true
    - name: dns_zones-zone_id-transfer
      path: /dns_zones/{zone_id}/transfer
      operations:
      - name: transferdnszone
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: zone_id
          in: path
          type: string
          required: true
        - name: account_id
          in: query
          type: string
          description: the account of the dns zone
          required: true
        - name: transfer_account_id
          in: query
          type: string
          description: the account you want to transfer the dns zone to
          required: true
        - name: transfer_user_id
          in: query
          type: string
          description: the user you want to transfer the dns zone to
          required: true
    - name: sites-site_id-dns
      path: /sites/{site_id}/dns
      operations:
      - name: getdnsforsite
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          required: true
      - name: configurednsforsite
        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-dnszone-rest
    port: 8080
    description: REST adapter for Netlify Netlify's API documentation — dnsZone. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/dns-zones
      name: dns-zones
      description: REST surface for dns_zones.
      operations:
      - method: GET
        name: getdnszones
        description: getdnszones
        call: netlify-dnszone.getdnszones
        with:
          account_slug: rest.account_slug
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: creatednszone
        description: creatednszone
        call: netlify-dnszone.creatednszone
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/dns-zones/{zone-id}
      name: dns-zones-zone-id
      description: REST surface for dns_zones-zone_id.
      operations:
      - method: GET
        name: getdnszone
        description: getdnszone
        call: netlify-dnszone.getdnszone
        with:
          zone_id: rest.zone_id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletednszone
        description: deletednszone
        call: netlify-dnszone.deletednszone
        with:
          zone_id: rest.zone_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/dns-zones/{zone-id}/dns-records
      name: dns-zones-zone-id-dns-records
      description: REST surface for dns_zones-zone_id-dns_records.
      operations:
      - method: GET
        name: getdnsrecords
        description: getdnsrecords
        call: netlify-dnszone.getdnsrecords
        with:
          zone_id: rest.zone_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: creatednsrecord
        description: creatednsrecord
        call: netlify-dnszone.creatednsrecord
        with:
          zone_id: rest.zone_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/dns-zones/{zone-id}/dns-records/{dns-record-id}
      name: dns-zones-zone-id-dns-records-dns-record-id
      description: REST surface for dns_zones-zone_id-dns_records-dns_record_id.
      operations:
      - method: GET
        name: getindividualdnsrecord
        description: getindividualdnsrecord
        call: netlify-dnszone.getindividualdnsrecord
        with:
          zone_id: rest.zone_id
          dns_record_id: rest.dns_record_id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletednsrecord
        description: deletednsrecord
        call: netlify-dnszone.deletednsrecord
        with:
          zone_id: rest.zone_id
          dns_record_id: rest.dns_record_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/dns-zones/{zone-id}/transfer
      name: dns-zones-zone-id-transfer
      description: REST surface for dns_zones-zone_id-transfer.
      operations:
      - method: PUT
        name: transferdnszone
        description: transferdnszone
        call: netlify-dnszone.transferdnszone
        with:
          zone_id: rest.zone_id
          account_id: rest.account_id
          transfer_account_id: rest.transfer_account_id
          transfer_user_id: rest.transfer_user_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sites/{site-id}/dns
      name: sites-site-id-dns
      description: REST surface for sites-site_id-dns.
      operations:
      - method: GET
        name: getdnsforsite
        description: getdnsforsite
        call: netlify-dnszone.getdnsforsite
        with:
          site_id: rest.site_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: configurednsforsite
        description: configurednsforsite
        call: netlify-dnszone.configurednsforsite
        with:
          site_id: rest.site_id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: netlify-dnszone-mcp
    port: 9090
    transport: http
    description: MCP adapter for Netlify Netlify's API documentation — dnsZone. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: getdnszones
      description: getdnszones
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: netlify-dnszone.getdnszones
      with:
        account_slug: tools.account_slug
      outputParameters:
      - type: object
        mapping: $.
    - name: creatednszone
      description: creatednszone
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: netlify-dnszone.creatednszone
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: getdnszone
      description: getdnszone
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: netlify-dnszone.getdnszone
      with:
        zone_id: tools.zone_id
      outputParameters:
      - type: object
        mapping: $.
    - name: deletednszone
      description: deletednszone
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: netlify-dnszone.deletednszone
      with:
        zone_id: tools.zone_id
      outputParameters:
      - type: object
        mapping: $.
    - name: getdnsrecords
      description: getdnsrecords
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: netlify-dnszone.getdnsrecords
      with:
        zone_id: tools.zone_id
      outputParameters:
      - type: object
        mapping: $.
    - name: creatednsrecord
      description: creatednsrecord
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: netlify-dnszone.creatednsrecord
      with:
        zone_id: tools.zone_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: getindividualdnsrecord
      description: getindividualdnsrecord
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: netlify-dnszone.getindividualdnsrecord
      with:
        zone_id: tools.zone_id
        dns_record_id: tools.dns_record_id
      outputParameters:
      - type: object
        mapping: $.
    - name: deletednsrecord
      description: deletednsrecord
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: netlify-dnszone.deletednsrecord
      with:
        zone_id: tools.zone_id
        dns_record_id: tools.dns_record_id
      outputParameters:
      - type: object
        mapping: $.
    - name: transferdnszone
      description: transferdnszone
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: netlify-dnszone.transferdnszone
      with:
        zone_id: tools.zone_id
        account_id: tools.account_id
        transfer_account_id: tools.transfer_account_id
        transfer_user_id: tools.transfer_user_id
      outputParameters:
      - type: object
        mapping: $.
    - name: getdnsforsite
      description: getdnsforsite
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: netlify-dnszone.getdnsforsite
      with:
        site_id: tools.site_id
      outputParameters:
      - type: object
        mapping: $.
    - name: configurednsforsite
      description: configurednsforsite
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: netlify-dnszone.configurednsforsite
      with:
        site_id: tools.site_id
      outputParameters:
      - type: object
        mapping: $.