Adobe Suite · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for AJO Customer Loyalty Challenge State API

9 actions 9 updates phrasing extends openapi/adobe-suite-challenge-state-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Adobe Suite's API. It is a proposal applied on top of the contract, not a document Adobe Suite publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 9

$.info
$.paths['/loyalty/challenges/{profileId}/withdraw/{challengeId}'].post
$.paths['/loyalty/challenges/state'].get
$.paths['/loyalty/challenges/signup/{challengeId}'].post
$.paths['/loyalty/challenges/events'].post
$.paths['/loyalty/challenges/{profileId}'].get
$.paths['/loyalty/challenges/org'].get
$.paths['/loyalty/challenges/health'].get
$.paths['/loyalty/challenges/challenge'].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 AJO Customer Loyalty Challenge State API
  version: 1.0.0
extends: openapi/adobe-suite-challenge-state-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: 8
- target: $.paths['/loyalty/challenges/{profileId}/withdraw/{challengeId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Withdraw a profile from a loyalty challenge
      effect: destructive
      questions:
      - How do I pull a customer out of a loyalty challenge they joined?
      - Can a profile withdraw from a challenge after signing up?
      instructions:
      - text: Withdraw profile {profileId} from challenge {challengeId}.
        slots:
          profileId: path.profileId
          challengeId: path.challengeId
      - text: Remove customer {profileId} from loyalty challenge {challengeId} in sandbox {sandbox}.
        slots:
          profileId: path.profileId
          challengeId: path.challengeId
          sandbox: header.x-sandbox-name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/challenges/state'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a profile's challenge state
      effect: read
      questions:
      - What is a customer's current progress state across loyalty challenges?
      - Can I check the state of one challenge for a given profile?
      instructions:
      - text: Get the challenge state for profile {pid}.
        slots:
          pid: query.pid
      - text: Show profile {pid} state in challenge {cid}.
        slots:
          pid: query.pid
          cid: query.cid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/challenges/signup/{challengeId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Sign a profile up for a loyalty challenge
      effect: write
      questions:
      - How do I enroll a customer in a loyalty challenge?
      - Can I pick a task when signing a profile up for a challenge?
      instructions:
      - text: Sign profile {profileId} up for challenge {challengeId}.
        slots:
          profileId: requestBody.profileId
          challengeId: path.challengeId
      - text: Enroll {profileId} in challenge {challengeId} with task {taskPicked}.
        slots:
          profileId: requestBody.profileId
          challengeId: path.challengeId
          taskPicked: requestBody.taskPicked
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/challenges/events'].post
  update:
    x-apievangelist-phrasing:
      intent: Send a loyalty event to challenges
      effect: write
      questions:
      - How do I feed a customer event into loyalty challenges so progress updates?
      - Can I send a test loyalty event?
      instructions:
      - text: Send a loyalty event for challenge {cid}.
        slots:
          cid: query.cid
      - text: Post a test loyalty event with test mode {test}.
        slots:
          test: query.test
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/challenges/{profileId}'].get
  update:
    x-apievangelist-phrasing:
      intent: List active challenges for a profile
      effect: read
      questions:
      - Which loyalty challenges is this customer currently in?
      - Can I filter a profile's challenges by state?
      instructions:
      - text: List active challenges for profile {profileId}.
        slots:
          profileId: path.profileId
      - text: Show challenges for profile {profileId} in state {state}.
        slots:
          profileId: path.profileId
          state: query.state
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/challenges/org'].get
  update:
    x-apievangelist-phrasing:
      intent: List all active challenges in the org
      effect: read
      questions:
      - What loyalty challenges are running across my organization right now?
      - Can I see every active challenge in a sandbox?
      instructions:
      - text: List all active loyalty challenges.
      - text: Show active challenges in sandbox {sandbox}.
        slots:
          sandbox: header.x-sandbox-name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/challenges/health'].get
  update:
    x-apievangelist-phrasing:
      intent: Check the loyalty challenge service health
      effect: read
      questions:
      - Is the loyalty challenge service up?
      - How can I verify the challenge API is healthy before sending events?
      instructions:
      - text: Run a health check on the loyalty challenge service.
      - text: Check whether the challenge API is healthy.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/challenges/challenge'].get
  update:
    x-apievangelist-phrasing:
      intent: Get challenge details for a profile
      effect: read
      questions:
      - How do I see the full details of a challenge for a particular customer?
      - Can I fetch the challenge definition along with a profile's participation?
      instructions:
      - text: Get challenge details for profile {pid}.
        slots:
          pid: query.pid
      - text: Show details of challenge {cid} for profile {pid}.
        slots:
          cid: query.cid
          pid: query.pid
      method: generated
      generated: '2026-09-26'