Showpad · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Showpad Mutual Action Plan API

16 actions 16 updates phrasing extends openapi/showpad-mutual-action-plan-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Showpad's API. It is a proposal applied on top of the contract, not a document Showpad publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 16

$.info
$.paths['/mutual-action-plan'].get
$.paths['/mutual-action-plan'].post
$.paths['/mutual-action-plan/{mutualActionPlanId}'].delete
$.paths['/mutual-action-plan/{mutualActionPlanId}/participants'].get
$.paths['/mutual-action-plan/{mutualActionPlanId}/participants/self'].get
$.paths['/mutual-action-plan/{mutualActionPlanId}/participants/self/settings'].get
$.paths['/mutual-action-plan/{mutualActionPlanId}/participants/self/settings'].patch
$.paths['/mutual-action-plan/{mutualActionPlanId}/milestones'].post
$.paths['/mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}'].delete
$.paths['/mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}'].patch
$.paths['/mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}/actions'].post
$.paths['/mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}/actions/{actionId}'].delete
$.paths['/mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}/actions/{actionId}'].patch
$.paths['/mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}/actions/{actionId}/assignees'].post
$.paths['/mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}/actions/{actionId}/assignees/{assigneeId}'].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 Showpad Mutual Action Plan API
  version: 1.0.0
extends: openapi/showpad-mutual-action-plan-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-02'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 15
- target: $.paths['/mutual-action-plan'].get
  update:
    x-apievangelist-phrasing:
      intent: List mutual action plans
      effect: read
      questions:
      - Which mutual action plans can I access for a shared space?
      - Can I list MAPs for one specific context ID?
      instructions:
      - text: List mutual action plans for context type {contextType}.
        slots:
          contextType: query.contextType
      - text: Show the MAPs attached to {contextType} {contextId}.
        slots:
          contextType: query.contextType
          contextId: query.contextId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/mutual-action-plan'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a mutual action plan
      effect: write
      questions:
      - How do I start a mutual action plan for a deal's shared space?
      - Can I create a new MAP by copying an existing one?
      instructions:
      - text: Create a mutual action plan on {contextType} {contextId}.
        slots:
          contextType: requestBody.contextType
          contextId: requestBody.contextId
      - text: Create a MAP for {contextType} {contextId} copied from plan {sourceMapId}.
        slots:
          contextType: requestBody.contextType
          contextId: requestBody.contextId
          sourceMapId: requestBody.sourceMapId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/mutual-action-plan/{mutualActionPlanId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a mutual action plan
      effect: destructive
      questions:
      - How do I permanently delete a mutual action plan?
      - Are milestones and actions removed when a MAP is deleted?
      instructions:
      - text: Delete mutual action plan {mapId}.
        slots:
          mapId: path.mapId
      - text: Permanently remove MAP {mutualActionPlanId} with all its milestones.
        slots:
          mutualActionPlanId: path.mutualActionPlanId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/mutual-action-plan/{mutualActionPlanId}/participants'].get
  update:
    x-apievangelist-phrasing:
      intent: List a plan's participants
      effect: read
      questions:
      - Who is collaborating on a given mutual action plan?
      - Which participants can I assign actions to in a MAP?
      instructions:
      - text: List participants of MAP {mapId}.
        slots:
          mapId: path.mapId
      - text: Show everyone with access to mutual action plan {mutualActionPlanId}.
        slots:
          mutualActionPlanId: path.mutualActionPlanId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/mutual-action-plan/{mutualActionPlanId}/participants/self'].get
  update:
    x-apievangelist-phrasing:
      intent: Get my participant profile in a plan
      effect: read
      questions:
      - What is my own participant record inside a mutual action plan?
      - How do I find my participant ID for a MAP?
      instructions:
      - text: Get my participant details in MAP {mapId}.
        slots:
          mapId: path.mapId
      - text: Show my own participant profile for plan {mutualActionPlanId}.
        slots:
          mutualActionPlanId: path.mutualActionPlanId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/mutual-action-plan/{mutualActionPlanId}/participants/self/settings'].get
  update:
    x-apievangelist-phrasing:
      intent: Get my notification settings for a plan
      effect: read
      questions:
      - Am I being notified when actions are assigned to me in a MAP?
      - What are my current notification preferences for a mutual action plan?
      instructions:
      - text: Show my notification settings for MAP {mapId}.
        slots:
          mapId: path.mapId
      - text: Get my alert preferences on mutual action plan {mutualActionPlanId}.
        slots:
          mutualActionPlanId: path.mutualActionPlanId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/mutual-action-plan/{mutualActionPlanId}/participants/self/settings'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change my notification settings for a plan
      effect: write
      questions:
      - How do I stop getting notified when actions are completed in a MAP?
      - Can I turn on alerts for actions assigned to me?
      instructions:
      - text: Set assigned-action notifications to {assignedActionNotifications} on MAP {mapId}.
        slots:
          assignedActionNotifications: requestBody.assignedActionNotifications
          mapId: path.mapId
      - text: Turn completed-action notifications {completedActionNotifications} for me in plan {mutualActionPlanId}.
        slots:
          completedActionNotifications: requestBody.completedActionNotifications
          mutualActionPlanId: path.mutualActionPlanId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/mutual-action-plan/{mutualActionPlanId}/milestones'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a milestone to a plan
      effect: write
      questions:
      - How do I add a new phase or milestone to a mutual action plan?
      - What do I need to create a milestone in a MAP?
      instructions:
      - text: Add milestone {title} to MAP {mapId}.
        slots:
          title: requestBody.title
          mapId: path.mapId
      - text: Create a milestone called {title} in mutual action plan {mutualActionPlanId}.
        slots:
          title: requestBody.title
          mutualActionPlanId: path.mutualActionPlanId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a milestone from a plan
      effect: destructive
      questions:
      - How do I remove a milestone from a mutual action plan?
      - Does deleting a milestone also delete its actions?
      instructions:
      - text: Delete milestone {milestoneId} from MAP {mapId}.
        slots:
          milestoneId: path.milestoneId
          mapId: path.mapId
      - text: Remove milestone {milestoneId} and its actions from plan {mutualActionPlanId}.
        slots:
          milestoneId: path.milestoneId
          mutualActionPlanId: path.mutualActionPlanId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Rename or reorder a milestone
      effect: write
      questions:
      - How do I rename a milestone in a mutual action plan?
      - Can I move a milestone to a different position in the plan?
      instructions:
      - text: Rename milestone {milestoneId} in MAP {mapId} to {title}.
        slots:
          milestoneId: path.milestoneId
          mapId: path.mapId
          title: requestBody.title
      - text: Move milestone {milestoneId} of plan {mutualActionPlanId} to position {position}.
        slots:
          milestoneId: path.milestoneId
          mutualActionPlanId: path.mutualActionPlanId
          position: requestBody.position
      method: generated
      generated: '2026-10-02'
- target: $.paths['/mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}/actions'].post
  update:
    x-apievangelist-phrasing:
      intent: Add an action to a milestone
      effect: write
      questions:
      - How do I add a task under a milestone in a mutual action plan?
      - Can I set a due date when creating an action?
      instructions:
      - text: Add action {title} to milestone {milestoneId} in MAP {mapId}.
        slots:
          title: requestBody.title
          milestoneId: path.milestoneId
          mapId: path.mapId
      - text: Create action {title} due {dueAt} under milestone {milestoneId} of plan {mutualActionPlanId}.
        slots:
          title: requestBody.title
          dueAt: requestBody.dueAt
          milestoneId: path.milestoneId
          mutualActionPlanId: path.mutualActionPlanId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}/actions/{actionId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an action from a milestone
      effect: destructive
      questions:
      - How do I remove a task from a milestone in a MAP?
      - Are an action's assignees removed when I delete the action?
      instructions:
      - text: Delete action {actionId} from milestone {milestoneId} in MAP {mapId}.
        slots:
          actionId: path.actionId
          milestoneId: path.milestoneId
          mapId: path.mapId
      - text: Permanently remove task {actionId} under milestone {milestoneId} of plan {mutualActionPlanId}.
        slots:
          actionId: path.actionId
          milestoneId: path.milestoneId
          mutualActionPlanId: path.mutualActionPlanId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}/actions/{actionId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update an action's title, due date or status
      effect: write
      questions:
      - How do I mark an action as done in a mutual action plan?
      - Can I move an action to another milestone or change its due date?
      instructions:
      - text: Set action {actionId} in milestone {milestoneId} of MAP {mapId} to status {status}.
        slots:
          actionId: path.actionId
          milestoneId: path.milestoneId
          mapId: path.mapId
          status: requestBody.status
      - text: Change the due date of action {actionId} (milestone {milestoneId}, plan {mutualActionPlanId}) to {dueAt}.
        slots:
          actionId: path.actionId
          milestoneId: path.milestoneId
          mutualActionPlanId: path.mutualActionPlanId
          dueAt: requestBody.dueAt
      method: generated
      generated: '2026-10-02'
- target: $.paths['/mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}/actions/{actionId}/assignees'].post
  update:
    x-apievangelist-phrasing:
      intent: Assign a participant to an action
      effect: write
      questions:
      - How do I assign a buyer or teammate to an action in a MAP?
      - Who can be made responsible for an action?
      instructions:
      - text: Assign participant {participantId} to action {actionId} in milestone {milestoneId} of MAP {mapId}.
        slots:
          participantId: requestBody.participantId
          actionId: path.actionId
          milestoneId: path.milestoneId
          mapId: path.mapId
      - text: Make {participantId} responsible for task {actionId} under milestone {milestoneId}, plan {mutualActionPlanId}.
        slots:
          participantId: requestBody.participantId
          actionId: path.actionId
          milestoneId: path.milestoneId
          mutualActionPlanId: path.mutualActionPlanId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}/actions/{actionId}/assignees/{assigneeId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Unassign a participant from an action
      effect: destructive
      questions:
      - How do I take someone off an action in a mutual action plan?
      - Can I remove one assignee while keeping the action?
      instructions:
      - text: Remove assignee {assigneeId} from action {actionId} in milestone {milestoneId} of MAP {mapId}.
        slots:
          assigneeId: path.assigneeId
          actionId: path.actionId
          milestoneId: path.milestoneId
          mapId: path.mapId
      - text: Unassign {assigneeId} from task {actionId}, milestone {milestoneId}, plan {mutualActionPlanId}.
        slots:
          assigneeId: path.assigneeId
          actionId: path.actionId
          milestoneId: path.milestoneId
          mutualActionPlanId: path.mutualActionPlanId
      method: generated
      generated: '2026-10-02'