Swetrix · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Swetrix Admin Projects API

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

What the actions change

x-apievangelist-phrasing

Targets 8

$.info
$.paths['/v1/project'].get
$.paths['/v1/project'].post
$.paths['/v1/project/{id}'].get
$.paths['/v1/project/{id}'].put
$.paths['/v1/project/{id}'].delete
$.paths['/v1/project/{id}/pin'].post
$.paths['/v1/project/{id}/pin'].delete

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 Swetrix Admin Projects API
  version: 1.0.0
extends: openapi/swetrix-projects-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: 7
- target: $.paths['/v1/project'].get
  update:
    x-apievangelist-phrasing:
      intent: List my analytics projects
      effect: read
      questions:
      - Which analytics projects do I have?
      - Can I get all my Swetrix projects in one call?
      instructions:
      - text: List all my analytics projects.
      - text: Show every project on my account.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/project'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new analytics project
      effect: write
      questions:
      - How do I start tracking a new website as an analytics project?
      - Can I password-protect a project's dashboard when I create it?
      - Is it possible to put a new project straight into an organisation?
      instructions:
      - text: Create an analytics project named {name}.
        slots:
          name: requestBody.name
      - text: Create project {name} under organisation {organisationId}.
        slots:
          name: requestBody.name
          organisationId: requestBody.organisationId
      - text: Create project {name} with its dashboard protected by password {password}.
        slots:
          name: requestBody.name
          password: requestBody.password
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/project/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: View one analytics project's details
      effect: read
      questions:
      - What settings does a particular project currently have?
      - Can I fetch a single project by its ID?
      instructions:
      - text: Get the details of project {id}.
        slots:
          id: path.id
      - text: Show me the configuration of project {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/project/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a project's settings
      effect: write
      questions:
      - How do I restrict which origins can send data to my project?
      - Can I block certain IP addresses or raise bot protection on an existing project?
      - What's needed to make a project's dashboard public?
      instructions:
      - text: Rename project {id} to {name}.
        slots:
          id: path.id
          name: requestBody.name
      - text: Allow only origins {origins} to report to project {id}.
        slots:
          origins: requestBody.origins
          id: path.id
      - text: Block IPs {ipBlacklist} on project {id}.
        slots:
          ipBlacklist: requestBody.ipBlacklist
          id: path.id
      - text: Set bot protection on project {id} to {botsProtectionLevel}.
        slots:
          id: path.id
          botsProtectionLevel: requestBody.botsProtectionLevel
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/project/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Permanently delete a project and its data
      effect: destructive
      questions:
      - Does deleting a project also wipe all of its collected analytics data?
      - Can I permanently remove a site I no longer track?
      instructions:
      - text: Permanently delete project {id} and all its data.
        slots:
          id: path.id
      - text: Remove analytics project {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/project/{id}/pin'].post
  update:
    x-apievangelist-phrasing:
      intent: Pin a project to the top of the dashboard
      effect: write
      questions:
      - How do I keep my most important project at the top of the dashboard?
      - Can I pin a project so it shows first?
      instructions:
      - text: Pin project {id} to the top of my dashboard.
        slots:
          id: path.id
      - text: Pin project {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/project/{id}/pin'].delete
  update:
    x-apievangelist-phrasing:
      intent: Unpin a project from the dashboard
      effect: destructive
      questions:
      - Can I take a project out of the pinned section?
      - What's the way to stop a project from staying pinned at the top?
      instructions:
      - text: Unpin project {id}.
        slots:
          id: path.id
      - text: Remove project {id} from my pinned projects.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'