Common Room · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Common Room Tags API

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

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/tags'].get
$.paths['/tags'].post
$.paths['/tags/{id}'].get
$.paths['/tags/{id}'].post
$.paths['/tags/{id}'].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 Common Room Tags API
  version: 1.0.0
extends: openapi/common-room-tags-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['/tags'].get
  update:
    x-apievangelist-phrasing:
      intent: List all user-defined tags
      effect: read
      questions:
      - What tags have we defined in our Common Room workspace?
      - Can I see every custom tag we use to label contacts and activities?
      instructions:
      - text: List all of our user-defined tags.
      - text: Show me every tag we've created so far.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tags'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new tag
      effect: write
      questions:
      - How do I create a new tag for labeling contacts?
      - What happens if I add a tag whose name already exists?
      - Can I restrict which entity types a new tag can be assigned to?
      instructions:
      - text: Create a tag named {name}.
        slots:
          name: requestBody.name
      - text: Add a new tag {name} described as {description}.
        slots:
          name: requestBody.name
          description: requestBody.description
      - text: Create tag {name} usable only on {entityTypes}.
        slots:
          name: requestBody.name
          entityTypes: requestBody.entityTypes
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tags/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up a single tag by ID
      effect: read
      questions:
      - Which name and description belong to a specific tag ID?
      - Can I fetch the details of one tag if I know its ID?
      instructions:
      - text: Get the details of tag {id}.
        slots:
          id: path.id
      - text: Look up what tag {id} is called.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tags/{id}'].post
  update:
    x-apievangelist-phrasing:
      intent: Rename or redescribe an existing tag
      effect: write
      questions:
      - How do I rename a tag that already exists?
      - Can I restore a deleted tag by updating it?
      instructions:
      - text: Rename tag {id} to {name}.
        slots:
          id: path.id
          name: requestBody.name
      - text: Change tag {id} to name {name} with description {description}.
        slots:
          id: path.id
          name: requestBody.name
          description: requestBody.description
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tags/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a tag everywhere it is used
      effect: destructive
      questions:
      - Will deleting a tag remove it from every contact and activity it was added to?
      - Could removing a tag break alerts or workflows that rely on it?
      instructions:
      - text: Delete tag {id}.
        slots:
          id: path.id
      - text: Remove tag {id} from everywhere it's applied.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'