Merge · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for CRM Subpackage Opportunities API

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

What the actions change

x-apievangelist-phrasing

Targets 8

$.info
$.paths['/crm/v1/opportunities'].get
$.paths['/crm/v1/opportunities'].post
$.paths['/crm/v1/opportunities/{id}'].get
$.paths['/crm/v1/opportunities/{id}'].patch
$.paths['/crm/v1/opportunities/meta/patch/{id}'].get
$.paths['/crm/v1/opportunities/meta/post'].get
$.paths['/crm/v1/opportunities/remote-field-classes'].get

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 CRM Subpackage Opportunities API
  version: 1.0.0
extends: openapi/merge-subpackage-opportunities-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 7
- target: $.paths['/crm/v1/opportunities'].get
  update:
    x-apievangelist-phrasing:
      intent: List CRM opportunities
      effect: read
      questions:
      - Can I pull every open deal from a customer's CRM?
      - Which opportunities belong to a given owner or pipeline stage?
      instructions:
      - text: List opportunities with status {status}.
        slots:
          status: query.status
      - text: Show opportunities owned by {owner_id} in stage {stage_id}.
        slots:
          owner_id: query.owner_id
          stage_id: query.stage_id
      - text: List deals for account {account_id}.
        slots:
          account_id: query.account_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crm/v1/opportunities'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a CRM opportunity
      effect: write
      questions:
      - How do I add a new deal to a customer's CRM?
      - Can I create an opportunity and get debug logs back?
      instructions:
      - text: Create opportunity {opportunity}.
        slots:
          opportunity: requestBody.model
      - text: Add deal {opportunity} to the CRM with debug mode {is_debug_mode}.
        slots:
          opportunity: requestBody.model
          is_debug_mode: query.is_debug_mode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crm/v1/opportunities/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a CRM opportunity
      effect: read
      questions:
      - Can I look up one deal by its ID?
      - What details are stored on a single opportunity?
      instructions:
      - text: Get opportunity {id}.
        slots:
          id: path.id
      - text: Show me the deal {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crm/v1/opportunities/{id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a CRM opportunity
      effect: write
      questions:
      - Can I move a deal to a new stage or change its amount?
      - How do I edit an opportunity that's already in the CRM?
      instructions:
      - text: Update opportunity {id} with {changes}.
        slots:
          id: path.id
          changes: requestBody.model
      - text: Patch deal {id} to {changes} asynchronously {run_async}.
        slots:
          id: path.id
          changes: requestBody.model
          run_async: query.run_async
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crm/v1/opportunities/meta/patch/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get fields allowed when updating an opportunity
      effect: read
      questions:
      - Which fields can I edit on a particular opportunity?
      - What does the CRM allow me to change on an existing deal?
      instructions:
      - text: Show editable fields for opportunity {id}.
        slots:
          id: path.id
      - text: Get update metadata for deal {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crm/v1/opportunities/meta/post'].get
  update:
    x-apievangelist-phrasing:
      intent: Get fields required to create an opportunity
      effect: read
      questions:
      - Which fields are required to create a deal in this CRM?
      - What does the CRM accept when posting a new opportunity?
      instructions:
      - text: Show opportunity creation fields for account token {account_token}.
        slots:
          account_token: header.X-Account-Token
      - text: Get the create metadata for opportunities.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crm/v1/opportunities/remote-field-classes'].get
  update:
    x-apievangelist-phrasing:
      intent: List custom field definitions on opportunities
      effect: read
      questions:
      - What custom deal fields does this CRM define?
      - Can I list only custom opportunity field classes?
      instructions:
      - text: List opportunity field classes where custom is {is_custom}.
        slots:
          is_custom: query.is_custom
      - text: Show deal field classes that are common model fields {is_common_model_field}.
        slots:
          is_common_model_field: query.is_common_model_field
      method: generated
      generated: '2026-09-26'