Impact · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for impact.com Reward API

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

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/{tenant_alias}/reward'].get
$.paths['/{tenant_alias}/reward/{id}'].get
$.paths['/{tenant_alias}/credit/{id}/redeem'].post
$.paths['/{tenant_alias}/reward/{id}/cancel'].post
$.paths['/{tenant_alias}/rewards/account/{accountId}/user/{userId}'].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 impact.com Reward API
  version: 1.0.0
extends: openapi/impact-reward-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: 5
- target: $.paths['/{tenant_alias}/reward'].get
  update:
    x-apievangelist-phrasing:
      intent: List an account's referral rewards
      effect: read
      questions:
      - What rewards has a customer account earned from referrals?
      - Can I filter an account's rewards down to one user or reward type?
      instructions:
      - text: List rewards for account {account} in tenant {tenant}.
        slots:
          tenant: path.tenant_alias
          account: query.accountId
      - text: Show {type} rewards for user {user} on account {account}.
        slots:
          account: query.accountId
          user: query.userId
          type: query.rewardTypeFilter
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{tenant_alias}/reward/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up a single reward
      effect: read
      questions:
      - How do I check the details of one specific reward?
      - Does reward lookup work for percent discounts and fuel tank codes?
      instructions:
      - text: Look up reward {id} in tenant {tenant}.
        slots:
          tenant: path.tenant_alias
          id: path.id
      - text: Show the current state of reward {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{tenant_alias}/credit/{id}/redeem'].post
  update:
    x-apievangelist-phrasing:
      intent: Redeem referral credit
      effect: write
      questions:
      - How do I redeem part of a user's referral credit?
      - Which reward types can be redeemed through the credit endpoint?
      instructions:
      - text: Redeem {amount} {unit} from credit reward {id} in tenant {tenant}.
        slots:
          tenant: path.tenant_alias
          id: path.id
          amount: requestBody.amount
          unit: requestBody.unit
      - text: Debit {amount} {unit} of referral credit {id}.
        slots:
          id: path.id
          amount: requestBody.amount
          unit: requestBody.unit
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{tenant_alias}/reward/{id}/cancel'].post
  update:
    x-apievangelist-phrasing:
      intent: Cancel a referral reward
      effect: destructive
      questions:
      - Can I cancel a reward someone earned through a referral?
      - Which reward types support cancellation?
      instructions:
      - text: Cancel reward {id} in tenant {tenant}.
        slots:
          tenant: path.tenant_alias
          id: path.id
      - text: Void referral reward {id} so it can't be used.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{tenant_alias}/rewards/account/{accountId}/user/{userId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Give a user a reward
      effect: write
      questions:
      - How do I manually grant a reward to a user?
      - Can I schedule a reward for later or set when it expires?
      instructions:
      - text: Create a reward for user {user} on account {account} in tenant {tenant}.
        slots:
          tenant: path.tenant_alias
          account: path.accountId
          user: path.userId
      - text: Give user {user} on account {account} a {type} reward expiring {expires}.
        slots:
          account: path.accountId
          user: path.userId
          type: requestBody.type
          expires: requestBody.dateExpires
      - text: Grant {pct} percent off to user {user} of account {account}.
        slots:
          account: path.accountId
          user: path.userId
          pct: requestBody.discountPercent
      method: generated
      generated: '2026-09-26'