Perigon · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Perigon Contact Points API

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

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/v1/api/contactPoints'].get
$.paths['/v1/api/contactPoints'].post
$.paths['/v1/api/contactPoints/{uuid}'].get
$.paths['/v1/api/contactPoints/{uuid}'].delete
$.paths['/v1/api/contactPoints/{uuid}'].patch

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 Perigon Contact Points API
  version: 1.0.0
extends: openapi/perigon-contact-points-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: 5
- target: $.paths['/v1/api/contactPoints'].get
  update:
    x-apievangelist-phrasing:
      intent: List notification contact points
      effect: read
      questions:
      - Which contact points does my organization have set up for alerts?
      - Can I see only my active webhook contact points?
      - How do I list the delivery destinations my monitors can notify?
      instructions:
      - text: List my contact points sorted by {sortBy} in {sortOrder} order.
        slots:
          sortBy: query.sortBy
          sortOrder: query.sortOrder
      - text: Show contact points of type {type} with status {status}, sorted by {sortBy} {sortOrder}.
        slots:
          type: query.type
          status: query.status
          sortBy: query.sortBy
          sortOrder: query.sortOrder
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/api/contactPoints'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a webhook contact point
      effect: write
      questions:
      - How do I register a webhook so Perigon can send me monitor notifications?
      - What kinds of contact points can be created through the API?
      instructions:
      - text: Create a {type} contact point named {name} pointing at {webhook}.
        slots:
          type: requestBody.type
          name: requestBody.name
          webhook: requestBody.webhook
      - text: Add a new contact point called {name} of type {type}.
        slots:
          name: requestBody.name
          type: requestBody.type
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/api/contactPoints/{uuid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a contact point's details
      effect: read
      questions:
      - What webhook URL is configured on a particular contact point?
      - Can I look up a single contact point by its UUID?
      instructions:
      - text: Show the details of contact point {uuid}.
        slots:
          uuid: path.uuid
      - text: Fetch contact point {uuid} and tell me its status.
        slots:
          uuid: path.uuid
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/api/contactPoints/{uuid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a contact point
      effect: destructive
      questions:
      - What happens to a contact point that already has notification history when I delete it?
      - How do I remove a contact point I no longer need?
      instructions:
      - text: Delete contact point {uuid}.
        slots:
          uuid: path.uuid
      - text: Remove the contact point {uuid} from my organization.
        slots:
          uuid: path.uuid
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/api/contactPoints/{uuid}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a contact point
      effect: write
      questions:
      - Can I change the webhook URL on an existing contact point?
      - Is it possible to disable a contact point without deleting it?
      instructions:
      - text: Rename contact point {uuid} to {name}.
        slots:
          uuid: path.uuid
          name: requestBody.name
      - text: Change the webhook on contact point {uuid} to {webhook}.
        slots:
          uuid: path.uuid
          webhook: requestBody.webhook
      - text: Set the status of contact point {uuid} to {status}.
        slots:
          uuid: path.uuid
          status: requestBody.status
      method: generated
      generated: '2026-10-01'