SendPulse · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for SendPulse CRM Public Deals API

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

What the actions change

x-apievangelist-phrasing

Targets 7

$.info
$.paths['/deals/get-list'].post
$.paths['/deals'].post
$.paths['/deals/{dealId}'].get
$.paths['/deals/{dealId}'].put
$.paths['/deals/{dealId}'].delete
$.paths['/deals/{dealId}/change-pipeline'].post

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 SendPulse CRM Public Deals API
  version: 1.0.0
extends: openapi/sendpulse-deals-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: 6
- target: $.paths['/deals/get-list'].post
  update:
    x-apievangelist-phrasing:
      intent: Search and filter deals in the CRM
      effect: read
      questions:
      - Which deals in my CRM are still active?
      - Can I find deals by contact email, phone or pipeline?
      - What deals are due to close within a date range?
      instructions:
      - text: Find deals for contact email {email}.
        slots:
          email: requestBody.email
      - text: List deals in pipelines {pipelineIds} closing between {completionDateFrom} and {completionDateTo}.
        slots:
          pipelineIds: requestBody.pipelineIds
          completionDateFrom: requestBody.completionDateFrom
          completionDateTo: requestBody.completionDateTo
      - text: Show my deals sorted by most recent.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/deals'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new deal in a pipeline
      effect: write
      questions:
      - How do I add a new deal to a sales pipeline?
      - Can I set an amount and currency when creating a deal?
      instructions:
      - text: Create a deal in pipeline {pipelineId} at step {stepId}.
        slots:
          pipelineId: requestBody.pipelineId
          stepId: requestBody.stepId
      - text: Open deal {name} worth {price} {currency} in pipeline {pipelineId}, stage {stepId}.
        slots:
          name: requestBody.name
          price: requestBody.price
          currency: requestBody.currency
          pipelineId: requestBody.pipelineId
          stepId: requestBody.stepId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/deals/{dealId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the details of a deal
      effect: read
      questions:
      - What stage is a particular deal at and who owns it?
      - Can I look up a deal's amount and source by its ID?
      instructions:
      - text: Show deal {dealId}.
        slots:
          dealId: path.dealId
      - text: Get the stage, owner and amount of deal {dealId}.
        slots:
          dealId: path.dealId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/deals/{dealId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a deal's details
      effect: write
      questions:
      - Can I change the amount, status or stage of an existing deal?
      - Does updating a deal overwrite the values I send?
      instructions:
      - text: 'Update deal {dealId}: name {name}, price {price}, status {status}, pipeline {pipelineId}, step {stepId}.'
        slots:
          dealId: path.dealId
          name: requestBody.name
          price: requestBody.price
          status: requestBody.status
          pipelineId: requestBody.pipelineId
          stepId: requestBody.stepId
      - text: Mark deal {dealId} as status {status} at price {price}, keeping name {name}, pipeline {pipelineId} and step {stepId}.
        slots:
          dealId: path.dealId
          status: requestBody.status
          price: requestBody.price
          name: requestBody.name
          pipelineId: requestBody.pipelineId
          stepId: requestBody.stepId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/deals/{dealId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a deal
      effect: destructive
      questions:
      - Can I permanently delete a deal from my CRM?
      - What's the way to remove a deal I created by mistake?
      instructions:
      - text: Delete deal {dealId}.
        slots:
          dealId: path.dealId
      - text: Remove deal {dealId} from the CRM.
        slots:
          dealId: path.dealId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/deals/{dealId}/change-pipeline'].post
  update:
    x-apievangelist-phrasing:
      intent: Move a deal to another pipeline
      effect: write
      questions:
      - Can I move a deal from one sales pipeline to another?
      - How do I transfer a deal to a different pipeline and stage?
      instructions:
      - text: Move deal {dealId} to pipeline {pipelineId}.
        slots:
          dealId: path.dealId
          pipelineId: requestBody.pipelineId
      - text: Transfer deal {dealId} to pipeline {pipelineId} at step {stepId}.
        slots:
          dealId: path.dealId
          pipelineId: requestBody.pipelineId
          stepId: requestBody.stepId
      method: generated
      generated: '2026-10-01'