Pirsch · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Pirsch Members API

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

What the actions change

x-apievangelist-phrasing

Targets 8

$.info
$.paths['/member'].get
$.paths['/member'].put
$.paths['/member'].post
$.paths['/member'].delete
$.paths['/invitation'].get
$.paths['/invitation'].post
$.paths['/invitation'].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 Pirsch Members API
  version: 1.0.0
extends: openapi/pirsch-members-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: 7
- target: $.paths['/member'].get
  update:
    x-apievangelist-phrasing:
      intent: List members of a domain or organization
      effect: read
      questions:
      - Who has access to my site's analytics?
      - Can I see all members of an organization and their roles?
      instructions:
      - text: List the members of domain {id}.
        slots:
          id: query.id
      - text: Show everyone in organization {organization_id}.
        slots:
          organization_id: query.organization_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/member'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a member's role
      effect: write
      questions:
      - How do I make a teammate an admin on my site?
      - Can I downgrade an existing member to view-only?
      instructions:
      - text: Change member {id} to role {role}.
        slots:
          id: requestBody.id
          role: requestBody.role
      - text: Give member {id} the {role} role.
        slots:
          id: requestBody.id
          role: requestBody.role
      method: generated
      generated: '2026-10-01'
- target: $.paths['/member'].post
  update:
    x-apievangelist-phrasing:
      intent: Invite people by email to a domain
      effect: write
      questions:
      - How do I invite my colleagues to view my site's statistics?
      - Can I send invitations to several email addresses at once?
      instructions:
      - text: Invite {emails} to domain {id}.
        slots:
          emails: requestBody.emails
          id: requestBody.id
      - text: Send organization {organization_id} invitations to {emails}.
        slots:
          organization_id: requestBody.organization_id
          emails: requestBody.emails
      method: generated
      generated: '2026-10-01'
- target: $.paths['/member'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a member's access
      effect: destructive
      questions:
      - How do I take away a former employee's access to my dashboard?
      - Can I remove a single member from a site?
      instructions:
      - text: Remove member {id}.
        slots:
          id: query.id
      - text: Revoke dashboard access for member {id}.
        slots:
          id: query.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/invitation'].get
  update:
    x-apievangelist-phrasing:
      intent: List pending invitations
      effect: read
      questions:
      - Which invitations are still pending for my site?
      - Can I see outstanding invites for an organization?
      instructions:
      - text: List pending invitations for domain {domain_id}.
        slots:
          domain_id: query.domain_id
      - text: Show open invites to organization {organization_id}.
        slots:
          organization_id: query.organization_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/invitation'].post
  update:
    x-apievangelist-phrasing:
      intent: Accept an invitation
      effect: write
      questions:
      - How do I accept an invitation someone sent me to their site?
      - What's needed to join a domain I've been invited to?
      instructions:
      - text: Accept invitation {id}.
        slots:
          id: requestBody.id
      - text: Join the site by accepting invite {id}.
        slots:
          id: requestBody.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/invitation'].delete
  update:
    x-apievangelist-phrasing:
      intent: Withdraw a pending invitation
      effect: destructive
      questions:
      - How do I cancel an invitation I sent to the wrong email?
      - Can I withdraw a pending invite before it's accepted?
      instructions:
      - text: Delete invitation {id}.
        slots:
          id: requestBody.id
      - text: Withdraw pending invite {id} for domain {domain_id}.
        slots:
          id: requestBody.id
          domain_id: requestBody.domain_id
      method: generated
      generated: '2026-10-01'