# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Forge Sites API version: 1.0.0 extends: openapi/laravel-sites-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 54 - target: $.paths['/sites'].get update: x-apievangelist-phrasing: intent: List every site my token can access effect: read questions: - Can I see every Forge site my API token has access to, across all organizations? - Which sites can this token reach without picking an organization first? instructions: - text: List all sites my token can access, across every organization. - text: Find sites named {name} among everything my token can access. slots: name: query.filter[name] method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/sites'].get update: x-apievangelist-phrasing: intent: List all sites in an organization effect: read questions: - What sites does one organization have across all of its servers? - Can I filter an organization's sites by name? instructions: - text: List every site in organization {organization}. slots: organization: path.organization - text: Find sites named {name} in organization {organization}. slots: name: query.filter[name] organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/sites/{site}'].get update: x-apievangelist-phrasing: intent: Get a site by organization and site ID effect: read questions: - Can I look up a site by its ID without knowing which server it lives on? - What are the details of one specific site in my organization? instructions: - text: Show site {site} in organization {organization}. slots: site: path.site organization: path.organization - text: Get the details of site {site} under {organization}, no server needed. slots: site: path.site organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites'].get update: x-apievangelist-phrasing: intent: List the sites hosted on a server effect: read questions: - Which sites are hosted on a particular server? - Can I sort the sites on one server and filter them by name? instructions: - text: List the sites hosted on server {server} in {organization}. slots: server: path.server organization: path.organization - text: Show sites on server {server} in {organization} sorted by {sort}. slots: server: path.server organization: path.organization sort: query.sort method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites'].post update: x-apievangelist-phrasing: intent: Create a site on a server effect: write questions: - How do I add a new site to one of my Forge servers? - Can I attach a Git repository and branch when creating a site? - Is it possible to enable zero-downtime deployments when setting up a new site? instructions: - text: Create a {type} site named {name} on server {server} in {organization}. slots: type: requestBody.type name: requestBody.name server: path.server organization: path.organization - text: Add a {type} site to server {server} in {organization} from repo {repository} on branch {branch}. slots: type: requestBody.type server: path.server organization: path.organization repository: requestBody.repository branch: requestBody.branch - text: Create a new {type} site on server {server} in {organization} running PHP {php_version}. slots: type: requestBody.type server: path.server organization: path.organization php_version: requestBody.php_version method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/balancer'].post update: x-apievangelist-phrasing: intent: Create a site on a load balancer effect: write questions: - Can I set up a site on a load balancer server rather than an app server? - Which balancing method can a new load-balanced site use? instructions: - text: Create a load-balanced site for {domain} on balancer server {server} in {organization}. slots: domain: requestBody.domain server: path.server organization: path.organization - text: Add {domain} to load balancer {server} in {organization} using the {balancer_method} method. slots: domain: requestBody.domain server: path.server organization: path.organization balancer_method: requestBody.balancer_method method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}'].put update: x-apievangelist-phrasing: intent: Update an existing site's settings effect: write questions: - Can I change the PHP version an existing site runs? - How do I switch the deploy branch or turn on push-to-deploy for a site I already have? instructions: - text: Switch site {site} on server {server} in {organization} to PHP {php_version}. slots: site: path.site server: path.server organization: path.organization php_version: requestBody.php_version - text: Change the deploy branch of site {site} on server {server} in {organization} to {repository_branch}. slots: site: path.site server: path.server organization: path.organization repository_branch: requestBody.repository_branch - text: Keep {deployment_retention} deployments for site {site} on server {server} in {organization}. slots: deployment_retention: requestBody.deployment_retention site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}'].delete update: x-apievangelist-phrasing: intent: Delete a site from a server effect: destructive questions: - How do I remove a site from a server entirely? - Does deleting a site happen right away or in the background? instructions: - text: Delete site {site} from server {server} in {organization}. slots: site: path.site server: path.server organization: path.organization - text: Remove the whole site {site} from server {server} in {organization}. slots: site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/certificates'].get update: x-apievangelist-phrasing: intent: List certificates across all of a site's domains effect: read questions: - Can I see every SSL certificate a site has, across all its domains at once? - Which certificates are installed for a site regardless of domain? instructions: - text: List all certificates for site {site} on server {server} in {organization}, across every domain. slots: site: path.site server: path.server organization: path.organization - text: Show every SSL certificate attached to any domain of site {site} on {server} in {organization}. slots: site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains'].get update: x-apievangelist-phrasing: intent: List a site's domains effect: read questions: - What domains are attached to a site? - Can I filter a site's domains by status or type? instructions: - text: List the domains on site {site} on server {server} in {organization}. slots: site: path.site server: path.server organization: path.organization - text: Show domains on site {site} on server {server} in {organization} with status {status}. slots: site: path.site server: path.server organization: path.organization status: query.filter[status] method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains'].post update: x-apievangelist-phrasing: intent: Add a domain to a site effect: write questions: - How do I point another domain name at an existing site? - Can a new domain on a site allow wildcard subdomains and a www redirect? instructions: - text: Add domain {name} to site {site} on server {server} in {organization} with www redirect {www_redirect_type} and wildcard subdomains {allow_wildcard_subdomains}. slots: name: requestBody.name site: path.site server: path.server organization: path.organization www_redirect_type: requestBody.www_redirect_type allow_wildcard_subdomains: requestBody.allow_wildcard_subdomains - text: Attach {name} to site {site} on {server} in {organization}, redirect {www_redirect_type}, wildcards {allow_wildcard_subdomains}. slots: name: requestBody.name site: path.site server: path.server organization: path.organization www_redirect_type: requestBody.www_redirect_type allow_wildcard_subdomains: requestBody.allow_wildcard_subdomains method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}'].get update: x-apievangelist-phrasing: intent: Get one domain on a site effect: read questions: - What is the current status and setup of one domain on my site? - Can I fetch a single domain record by its ID? instructions: - text: Show domain {domainRecord} on site {site} on server {server} in {organization}. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization - text: Get the details of domain record {domainRecord} for site {site} on {server} in {organization}. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}'].delete update: x-apievangelist-phrasing: intent: Remove a domain from a site effect: destructive questions: - How do I detach a domain name from a site? - Can I drop one domain without deleting the whole site? instructions: - text: Remove domain {domainRecord} from site {site} on server {server} in {organization}. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization - text: Delete domain record {domainRecord} from site {site} on {server} in {organization}, keeping the site. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}'].patch update: x-apievangelist-phrasing: intent: Change a domain's www redirect or wildcard setting effect: write questions: - Can I change the www redirect on a domain that is already attached to my site? - Is it possible to turn wildcard subdomains on for an existing domain? instructions: - text: Set the www redirect of domain {domainRecord} on site {site} on {server} in {organization} to {www_redirect_type}. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization www_redirect_type: requestBody.www_redirect_type - text: 'Update domain {domainRecord} on site {site} on {server} in {organization}: redirect {www_redirect_type}, wildcards {allow_wildcard_subdomains}.' slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization www_redirect_type: requestBody.www_redirect_type allow_wildcard_subdomains: requestBody.allow_wildcard_subdomains method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}/configurations'].get update: x-apievangelist-phrasing: intent: Get DNS setup instructions for a domain effect: read questions: - What DNS records do I need to create so my domain points at the site? - Where can I find the DNS configuration instructions for a domain I just added? instructions: - text: Show the DNS configuration instructions for domain {domainRecord} on site {site} on {server} in {organization}. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization - text: Tell me which DNS records to set for domain {domainRecord} of site {site} on {server} in {organization}. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}/actions'].post update: x-apievangelist-phrasing: intent: Run an action on a site domain effect: write questions: - Can I trigger an action against a domain on my site, such as re-checking it? - What kind of actions can be run on a domain record? instructions: - text: Run the {action} action on domain {domainRecord} of site {site} on {server} in {organization}. slots: action: requestBody.action domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization - text: Trigger domain action {action} for domain record {domainRecord} on site {site}, server {server}, org {organization}. slots: action: requestBody.action domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}/nginx'].get update: x-apievangelist-phrasing: intent: View the Nginx config for one domain effect: read questions: - Can I read the Nginx server block for a single domain rather than the whole site? - What does the per-domain Nginx configuration look like right now? instructions: - text: Show the Nginx configuration for domain {domainRecord} on site {site} on {server} in {organization}. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization - text: Fetch the domain-level Nginx config of {domainRecord} for site {site} on {server} in {organization}. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}/nginx'].put update: x-apievangelist-phrasing: intent: Replace the Nginx config for one domain effect: write questions: - How do I edit the Nginx configuration of just one domain on my site? - Can I push a custom Nginx server block for a specific domain? instructions: - text: Replace the Nginx config for domain {domainRecord} on site {site} on {server} in {organization} with {config}. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization config: requestBody.config - text: Update the domain-level Nginx block of {domainRecord} (site {site}, server {server}, org {organization}) to {config}. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization config: requestBody.config method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}/certificate'].get update: x-apievangelist-phrasing: intent: Get a domain's active certificate (singular path) effect: read questions: - Which certificate is currently active on a domain, via the single /certificate endpoint? - Can I fetch the live SSL certificate for a domain from the older singular certificate route? instructions: - text: Get the active certificate of domain {domainRecord} on site {site} on {server} in {organization} using the singular /certificate route. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization - text: Show which certificate domain {domainRecord} serves now, via the /certificate endpoint, for site {site} on {server} in {organization}. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}/certificates'].get update: x-apievangelist-phrasing: intent: List all certificates for one domain effect: read questions: - What certificates, active or not, exist for a single domain? - Can I see the certificate history of one domain on my site? instructions: - text: List all certificates for domain {domainRecord} on site {site} on {server} in {organization}. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization - text: Show every certificate issued for domain record {domainRecord} only, site {site}, server {server}, org {organization}. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}/certificates'].post update: x-apievangelist-phrasing: intent: Create or install a certificate for a domain effect: write questions: - How do I get a Let's Encrypt certificate for a domain on my site? - Can I install an existing certificate or generate a CSR for a domain instead? - Will a new certificate be activated as soon as it is installed? instructions: - text: Create a {type} certificate for domain {domainRecord} on site {site} on {server} in {organization}. slots: type: requestBody.type domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization - text: 'Issue a {type} certificate for domain {domainRecord} (site {site}, server {server}, org {organization}) and enable it: {enable}.' slots: type: requestBody.type domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization enable: requestBody.enable method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}/certificates/active'].get update: x-apievangelist-phrasing: intent: Get a domain's active certificate (certificates/active) effect: read questions: - Which of a domain's certificates is the active one, using the certificates/active endpoint? - Can I check the active certificate from the plural certificates collection of a domain? instructions: - text: Get the active entry from the certificates collection of domain {domainRecord}, site {site}, server {server}, org {organization}. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization - text: Call certificates/active for domain {domainRecord} on site {site} on {server} in {organization}. slots: domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}/certificates/{certificate}'].get update: x-apievangelist-phrasing: intent: Get a specific certificate on a domain effect: read questions: - Can I look up one certificate on a domain by its certificate ID? - What are the details of a particular certificate, not necessarily the active one? instructions: - text: Show certificate {certificate} on domain {domainRecord} of site {site} on {server} in {organization}. slots: certificate: path.certificate domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization - text: Get the details of certificate ID {certificate} for domain {domainRecord}, site {site}, server {server}, org {organization}. slots: certificate: path.certificate domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}/certificates/{certificate}'].delete update: x-apievangelist-phrasing: intent: Delete a certificate from a domain effect: destructive questions: - How do I remove an old SSL certificate from a domain? - Can I delete one specific certificate without touching the domain? instructions: - text: Delete certificate {certificate} from domain {domainRecord} on site {site} on {server} in {organization}. slots: certificate: path.certificate domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization - text: Remove certificate {certificate} of domain record {domainRecord}, site {site}, server {server}, org {organization}. slots: certificate: path.certificate domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}/certificates/{certificate}/actions'].post update: x-apievangelist-phrasing: intent: Run an action on a domain certificate effect: write questions: - Can I trigger an action, like activating, on a specific certificate of a domain? - What actions can be run against an installed domain certificate? instructions: - text: Run the {action} action on certificate {certificate} of domain {domainRecord}, site {site}, server {server}, org {organization}. slots: action: requestBody.action certificate: path.certificate domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization - text: Apply certificate action {action} to {certificate} on domain {domainRecord} of site {site} on {server} in {organization}. slots: action: requestBody.action certificate: path.certificate domainRecord: path.domainRecord site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/healthcheck'].get update: x-apievangelist-phrasing: intent: Get a site's healthcheck endpoint effect: read questions: - What healthcheck URL is configured for my site? - Has a healthcheck endpoint been set on this site yet? instructions: - text: Show the healthcheck endpoint for site {site} on server {server} in {organization}. slots: site: path.site server: path.server organization: path.organization - text: Tell me which healthcheck URL site {site} on {server} in {organization} uses. slots: site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/healthcheck'].put update: x-apievangelist-phrasing: intent: Set a site's healthcheck endpoint effect: write questions: - How do I change the healthcheck URL used for my site? - Can I point the site's healthcheck at a custom endpoint like /up? instructions: - text: Set the healthcheck endpoint of site {site} on server {server} in {organization} to {healthcheck_endpoint}. slots: site: path.site server: path.server organization: path.organization healthcheck_endpoint: requestBody.healthcheck_endpoint - text: Change site {site}'s healthcheck on {server} in {organization} to {healthcheck_endpoint}. slots: site: path.site server: path.server organization: path.organization healthcheck_endpoint: requestBody.healthcheck_endpoint method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/environment'].get update: x-apievangelist-phrasing: intent: Read a site's .env file effect: read questions: - Can I read the current .env file of a site? - What environment variables is my site configured with? instructions: - text: Show the .env contents of site {site} on server {server} in {organization}. slots: site: path.site server: path.server organization: path.organization - text: Fetch the environment file for site {site} on {server} in {organization}. slots: site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/environment'].put update: x-apievangelist-phrasing: intent: Replace a site's .env file effect: write questions: - How do I update the environment variables in a site's .env file? - Can I refresh the config cache or restart queues when saving a new .env? instructions: - text: Replace the .env of site {site} on server {server} in {organization} with {environment}. slots: site: path.site server: path.server organization: path.organization environment: requestBody.environment - text: 'Save new .env {environment} for site {site} on {server} in {organization} and restart queues: {queues}.' slots: environment: requestBody.environment site: path.site server: path.server organization: path.organization queues: requestBody.queues method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/nginx'].get update: x-apievangelist-phrasing: intent: View a site's Nginx configuration effect: read questions: - What does my site's main Nginx configuration file contain? - Can I read the site-wide Nginx config before editing it? instructions: - text: Show the site-wide Nginx configuration of site {site} on server {server} in {organization}. slots: site: path.site server: path.server organization: path.organization - text: Fetch the Nginx config file for the whole site {site} on {server} in {organization}. slots: site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/nginx'].put update: x-apievangelist-phrasing: intent: Replace a site's Nginx configuration effect: write questions: - How do I edit the Nginx configuration for a whole site? - Can I overwrite a site's Nginx file with my own server config? instructions: - text: Replace the site-wide Nginx config of site {site} on server {server} in {organization} with {config}. slots: site: path.site server: path.server organization: path.organization config: requestBody.config - text: Update the main Nginx file for site {site} on {server} in {organization} to {config}. slots: site: path.site server: path.server organization: path.organization config: requestBody.config method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/composer/credentials'].get update: x-apievangelist-phrasing: intent: List a site's Composer credentials effect: read questions: - Which private Composer repositories has my site been given credentials for? - Can I see all Composer auth entries configured on a site? instructions: - text: List the Composer credentials for site {site} on server {server} in {organization}. slots: site: path.site server: path.server organization: path.organization - text: Show all Composer repository logins configured on site {site} on {server} in {organization}. slots: site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/composer/credentials'].post update: x-apievangelist-phrasing: intent: Add Composer credentials to a site effect: write questions: - How do I let my site install packages from a private Composer repository? - Can I store a username and password for a Composer repo on a site? instructions: - text: Add Composer credentials for {repository} with user {username} and password {password} to site {site} on {server} in {organization}. slots: repository: requestBody.repository username: requestBody.username password: requestBody.password site: path.site server: path.server organization: path.organization - text: Give site {site} on {server} in {organization} access to Composer repo {repository} as {username} / {password}. slots: site: path.site server: path.server organization: path.organization repository: requestBody.repository username: requestBody.username password: requestBody.password method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/composer/credentials/{repository}'].get update: x-apievangelist-phrasing: intent: Get a site's Composer credential for a repository effect: read questions: - Can I check the Composer credential stored for one specific repository on my site? - What username is saved for a given private Composer repository? instructions: - text: Show the Composer credential for repository {repository} on site {site} on {server} in {organization}. slots: repository: path.repository site: path.site server: path.server organization: path.organization - text: Get the stored Composer login for {repository} on site {site}, server {server}, org {organization}. slots: repository: path.repository site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/composer/credentials/{repository}'].put update: x-apievangelist-phrasing: intent: Update a site's Composer credentials effect: write questions: - How do I rotate the password for a private Composer repository on my site? - Can I change the username saved for an existing Composer credential? instructions: - text: Update the Composer credential {repository} on site {site} on {server} in {organization} to user {username} and password {password}. slots: repository: path.repository site: path.site server: path.server organization: path.organization username: requestBody.username password: requestBody.password - text: Rotate the Composer password for existing repo {repository} on site {site}, server {server}, org {organization}, to {password} for {username}. slots: repository: path.repository site: path.site server: path.server organization: path.organization password: requestBody.password username: requestBody.username method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/composer/credentials/{repository}'].delete update: x-apievangelist-phrasing: intent: Delete a site's Composer credentials effect: destructive questions: - How do I remove access to a private Composer repository from a site? - Can I delete one Composer credential and keep the others? instructions: - text: Delete the Composer credential for {repository} from site {site} on {server} in {organization}. slots: repository: path.repository site: path.site server: path.server organization: path.organization - text: Remove Composer repo login {repository} on site {site}, server {server}, org {organization}. slots: repository: path.repository site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/npm/credentials'].get update: x-apievangelist-phrasing: intent: List a site's NPM registry credentials effect: read questions: - Which private NPM registries does my site have tokens for? - Can I list all NPM credentials on a site? instructions: - text: List the NPM credentials for site {site} on server {server} in {organization}. slots: site: path.site server: path.server organization: path.organization - text: Show every NPM registry token configured on site {site} on {server} in {organization}. slots: site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/npm/credentials'].post update: x-apievangelist-phrasing: intent: Add NPM registry credentials to a site effect: write questions: - How do I let a site's build install packages from a private NPM registry? - Can I limit a new NPM registry token to certain package scopes? instructions: - text: Add an NPM token {token} for registry {registry} to site {site} on {server} in {organization}. slots: token: requestBody.token registry: requestBody.registry site: path.site server: path.server organization: path.organization - text: Configure NPM registry {registry} with token {token} for scopes {scopes} on site {site}, server {server}, org {organization}. slots: registry: requestBody.registry token: requestBody.token scopes: requestBody.scopes site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/npm/credentials/{registry}'].get update: x-apievangelist-phrasing: intent: Get a site's NPM credential for a registry effect: read questions: - Can I look at the NPM credential saved for one particular registry? - Which scopes are attached to a site's NPM registry credential? instructions: - text: Show the NPM credential for registry {registry} on site {site} on {server} in {organization}. slots: registry: path.registry site: path.site server: path.server organization: path.organization - text: Get the saved NPM token entry for {registry} on site {site}, server {server}, org {organization}. slots: registry: path.registry site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/npm/credentials/{registry}'].put update: x-apievangelist-phrasing: intent: Update a site's NPM registry credentials effect: write questions: - How do I rotate the token for a private NPM registry on my site? - Can I change the scopes on an existing NPM credential? instructions: - text: Update NPM registry credential {registry} on site {site} on {server} in {organization} with new token {token}. slots: registry: path.registry site: path.site server: path.server organization: path.organization token: requestBody.token - text: Rotate the existing NPM token for {registry} on site {site}, server {server}, org {organization}, to {token} with scopes {scopes}. slots: registry: path.registry site: path.site server: path.server organization: path.organization token: requestBody.token scopes: requestBody.scopes method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/npm/credentials/{registry}'].delete update: x-apievangelist-phrasing: intent: Delete a site's NPM registry credentials effect: destructive questions: - How do I revoke a site's access to a private NPM registry? - Can I delete the NPM token for one registry only? instructions: - text: Delete the NPM credential for registry {registry} from site {site} on {server} in {organization}. slots: registry: path.registry site: path.site server: path.server organization: path.organization - text: Remove NPM registry token {registry} from site {site}, server {server}, org {organization}. slots: registry: path.registry site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/load-balancing-nodes'].get update: x-apievangelist-phrasing: intent: List a load-balanced site's backend nodes effect: read questions: - Which servers is my load balancer currently sending traffic to for this site? - Can I sort the load balancing nodes of a site? instructions: - text: List the load balancing nodes for site {site} on balancer {server} in {organization}. slots: site: path.site server: path.server organization: path.organization - text: Show the backend servers behind load-balanced site {site} on {server} in {organization}. slots: site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/load-balancing-nodes'].put update: x-apievangelist-phrasing: intent: Change a site's load balancing nodes and method effect: write questions: - How do I change which servers a load-balanced site sends traffic to? - Can I switch an existing load balancer to a different balancing method? instructions: - text: Set the nodes of load-balanced site {site} on {server} in {organization} to {balancing} using {balancer_method}. slots: site: path.site server: path.server organization: path.organization balancing: requestBody.balancing balancer_method: requestBody.balancer_method - text: Rebalance site {site} on balancer {server} in {organization} across {balancing} with method {balancer_method}. slots: site: path.site server: path.server organization: path.organization balancing: requestBody.balancing balancer_method: requestBody.balancer_method method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/logs/nginx-access'].get update: x-apievangelist-phrasing: intent: Read a site's Nginx access log effect: read questions: - Can I see which requests have hit my site in the Nginx access log? - Where do I read the access log for one site? instructions: - text: Show the Nginx access log for site {site} on server {server} in {organization}. slots: site: path.site server: path.server organization: path.organization - text: Fetch recent access log entries for site {site} on {server} in {organization}. slots: site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/logs/nginx-access'].delete update: x-apievangelist-phrasing: intent: Clear a site's Nginx access log effect: destructive questions: - How do I wipe the Nginx access log for a site? - Can I clear a site's access log to free up space? instructions: - text: Clear the Nginx access log of site {site} on server {server} in {organization}. slots: site: path.site server: path.server organization: path.organization - text: Empty the access log for site {site} on {server} in {organization}. slots: site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/logs/nginx-error'].get update: x-apievangelist-phrasing: intent: Read a site's Nginx error log effect: read questions: - Why is my site returning 502s? Can I read its Nginx error log? - Where can I view the web server error log for one site? instructions: - text: Show the Nginx error log for site {site} on server {server} in {organization}. slots: site: path.site server: path.server organization: path.organization - text: Fetch the web server error entries for site {site} on {server} in {organization}. slots: site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/logs/nginx-error'].delete update: x-apievangelist-phrasing: intent: Clear a site's Nginx error log effect: destructive questions: - How do I clear out the Nginx error log for a site after fixing an issue? - Can I reset a site's web server error log? instructions: - text: Clear the Nginx error log of site {site} on server {server} in {organization}. slots: site: path.site server: path.server organization: path.organization - text: Empty the web server error log for site {site} on {server} in {organization}. slots: site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/logs/application'].get update: x-apievangelist-phrasing: intent: Read a site's application log effect: read questions: - Can I read my Laravel app's own log file for a site? - Where do I see the application exceptions a site has logged? instructions: - text: Show the application log for site {site} on server {server} in {organization}. slots: site: path.site server: path.server organization: path.organization - text: Fetch the Laravel app log content of site {site} on {server} in {organization}. slots: site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/logs/application'].delete update: x-apievangelist-phrasing: intent: Clear a site's application log effect: destructive questions: - How do I truncate my site's application log? - Can I delete the Laravel log content for one site? instructions: - text: Clear the application log of site {site} on server {server} in {organization}. slots: site: path.site server: path.server organization: path.organization - text: Empty the Laravel app log for site {site} on {server} in {organization}. slots: site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/heartbeats'].get update: x-apievangelist-phrasing: intent: List a site's heartbeats effect: read questions: - What heartbeat checks are set up for my site? - Can I page through all the heartbeats on a site? instructions: - text: List the heartbeats for site {site} on server {server} in {organization}. slots: site: path.site server: path.server organization: path.organization - text: Show every heartbeat monitor configured on site {site} on {server} in {organization}. slots: site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/heartbeats'].post update: x-apievangelist-phrasing: intent: Create a heartbeat for a site effect: write questions: - How do I get alerted when a scheduled task on my site stops checking in? - Can a heartbeat use a custom frequency and grace period? instructions: - text: Create a heartbeat named {name} on site {site} on {server} in {organization}, every {frequency} with a {grace_period} grace period. slots: name: requestBody.name site: path.site server: path.server organization: path.organization frequency: requestBody.frequency grace_period: requestBody.grace_period - text: Add heartbeat {name} to site {site} on {server} in {organization} with frequency {frequency}, custom {custom_frequency}, grace {grace_period}. slots: name: requestBody.name site: path.site server: path.server organization: path.organization frequency: requestBody.frequency custom_frequency: requestBody.custom_frequency grace_period: requestBody.grace_period method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/heartbeats/{heartbeat}'].get update: x-apievangelist-phrasing: intent: Get one heartbeat on a site effect: read questions: - Is a particular heartbeat on my site currently healthy? - Can I fetch one heartbeat's settings by its ID? instructions: - text: Show heartbeat {heartbeat} on site {site} on server {server} in {organization}. slots: heartbeat: path.heartbeat site: path.site server: path.server organization: path.organization - text: Get the status of heartbeat {heartbeat} for site {site} on {server} in {organization}. slots: heartbeat: path.heartbeat site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/heartbeats/{heartbeat}'].put update: x-apievangelist-phrasing: intent: Update a site heartbeat effect: write questions: - Can I change how often an existing heartbeat expects a ping? - How do I lengthen the grace period on a heartbeat I already created? instructions: - text: 'Update heartbeat {heartbeat} on site {site} on {server} in {organization}: name {name}, frequency {frequency}, grace {grace_period}.' slots: heartbeat: path.heartbeat site: path.site server: path.server organization: path.organization name: requestBody.name frequency: requestBody.frequency grace_period: requestBody.grace_period - text: Change existing heartbeat {heartbeat} ({name}) on site {site}, server {server}, org {organization} to grace {grace_period} at {frequency}. slots: heartbeat: path.heartbeat name: requestBody.name site: path.site server: path.server organization: path.organization grace_period: requestBody.grace_period frequency: requestBody.frequency method: generated generated: '2026-10-01' - target: $.paths['/orgs/{organization}/servers/{server}/sites/{site}/heartbeats/{heartbeat}'].delete update: x-apievangelist-phrasing: intent: Delete a site heartbeat effect: destructive questions: - How do I stop monitoring a heartbeat I no longer need? - Can I delete a single heartbeat from a site? instructions: - text: Delete heartbeat {heartbeat} from site {site} on server {server} in {organization}. slots: heartbeat: path.heartbeat site: path.site server: path.server organization: path.organization - text: Remove the heartbeat check {heartbeat} on site {site}, server {server}, org {organization}. slots: heartbeat: path.heartbeat site: path.site server: path.server organization: path.organization method: generated generated: '2026-10-01'