Netlify · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Netlify's API documentation Site API

11 actions 11 updates phrasing extends openapi/netlify-site-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Netlify's API. It is a proposal applied on top of the contract, not a document Netlify publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 11

$.info
$.paths['/sites'].get
$.paths['/sites'].post
$.paths['/sites/{site_id}'].get
$.paths['/sites/{site_id}'].delete
$.paths['/sites/{site_id}'].patch
$.paths['/sites/{site_id}/unlink_repo'].put
$.paths['/sites/{site_id}/enable'].put
$.paths['/sites/{site_id}/disable'].put
$.paths['/{account_slug}/sites'].get
$.paths['/{account_slug}/sites'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Netlify's API documentation Site API
  version: 1.0.0
extends: openapi/netlify-site-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 10
- target: $.paths['/sites'].get
  update:
    x-apievangelist-phrasing:
      intent: List my sites
      effect: read
      questions:
      - What sites do I have access to?
      - Can I search my sites by name?
      - How do I page through a long list of sites?
      instructions:
      - text: List all my sites.
      - text: Find my sites whose name matches {name}.
        slots:
          name: query.name
      - text: List sites using filter {filter}.
        slots:
          filter: query.filter
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sites'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new site
      effect: write
      questions:
      - How do I create a new Netlify site through the API?
      - Can I set a custom domain when I create a site?
      instructions:
      - text: Create a new site named {name}.
        slots:
          name: requestBody.name
      - text: Create site {name} with custom domain {domain}.
        slots:
          name: requestBody.name
          domain: requestBody.custom_domain
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sites/{site_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a site's details
      effect: read
      questions:
      - Can I see a site's settings, URL and published deploy?
      - What feature flags are enabled for my site?
      instructions:
      - text: Get details for site {site}.
        slots:
          site: path.site_id
      - text: Show site {site} including feature flags {flags}.
        slots:
          site: path.site_id
          flags: query.feature_flags
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sites/{site_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a site
      effect: destructive
      questions:
      - How do I permanently delete a site?
      - Is deleting a site reversible?
      instructions:
      - text: Delete site {site}.
        slots:
          site: path.site_id
      - text: Permanently remove site {site} from my account.
        slots:
          site: path.site_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sites/{site_id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a site's settings
      effect: write
      questions:
      - Can I rename a site or change its custom domain?
      - How do I force HTTPS on an existing site?
      - Is it possible to password-protect my site?
      instructions:
      - text: Rename site {site} to {name}.
        slots:
          site: path.site_id
          name: requestBody.name
      - text: Set custom domain {domain} on site {site}.
        slots:
          domain: requestBody.custom_domain
          site: path.site_id
      - text: Force HTTPS on site {site}.
        slots:
          site: path.site_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sites/{site_id}/unlink_repo'].put
  update:
    x-apievangelist-phrasing:
      intent: Unlink a site's Git repository
      effect: destructive
      questions:
      - How do I disconnect my site from its Git repo?
      - What gets deleted when I unlink a repository from a site?
      instructions:
      - text: Unlink the repository from site {site}.
        slots:
          site: path.site_id
      - text: Disconnect site {site} from Git, removing its deploy keys and build hooks.
        slots:
          site: path.site_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sites/{site_id}/enable'].put
  update:
    x-apievangelist-phrasing:
      intent: Re-enable a disabled site
      effect: write
      questions:
      - Can I turn a site back on after I disabled it?
      - Why can't I re-enable a site that was disabled for exceeding usage?
      instructions:
      - text: Re-enable site {site}.
        slots:
          site: path.site_id
      - text: Turn site {site} back on so it serves content again.
        slots:
          site: path.site_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/sites/{site_id}/disable'].put
  update:
    x-apievangelist-phrasing:
      intent: Disable a site
      effect: write
      questions:
      - How do I take a site offline temporarily without deleting it?
      - Do I need to give a reason when disabling a site?
      instructions:
      - text: Disable site {site} because {reason}.
        slots:
          site: path.site_id
          reason: query.reason
      - text: Take site {site} offline with reason {reason}.
        slots:
          site: path.site_id
          reason: query.reason
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{account_slug}/sites'].get
  update:
    x-apievangelist-phrasing:
      intent: List a team's sites
      effect: read
      questions:
      - Which sites belong to a particular team?
      - Can I search a team's sites by name?
      instructions:
      - text: List all sites in team {team}.
        slots:
          team: path.account_slug
      - text: Find sites named {name} in team {team}.
        slots:
          name: query.name
          team: path.account_slug
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{account_slug}/sites'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a site in a team
      effect: write
      questions:
      - How do I create a site under a specific team rather than my personal account?
      - Can I create a team site with a custom domain?
      instructions:
      - text: Create site {name} in team {team}.
        slots:
          name: requestBody.name
          team: path.account_slug
      - text: Create a site in team {team} with custom domain {domain}.
        slots:
          team: path.account_slug
          domain: requestBody.custom_domain
      method: generated
      generated: '2026-09-26'