Adobe Suite · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for AJO Customer Loyalty Metadata Challenges API

12 actions 12 updates phrasing extends openapi/adobe-suite-challenges-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 12

$.info
$.paths['/loyalty/metadata/challenges/{challengeId}'].get
$.paths['/loyalty/metadata/challenges/{challengeId}'].put
$.paths['/loyalty/metadata/challenges/{challengeId}'].delete
$.paths['/loyalty/metadata/challenges/{challengeId}'].patch
$.paths['/loyalty/metadata/challenges'].get
$.paths['/loyalty/metadata/challenges'].post
$.paths['/loyalty/metadata/challenges/{challengeId}/unpublish'].post
$.paths['/loyalty/metadata/challenges/{challengeId}/publish'].post
$.paths['/loyalty/metadata/challenges/{challengeId}/duplicate'].post
$.paths['/loyalty/metadata/challenges/{challengeId}/archive'].post
$.paths['/loyalty/metadata/challenges/initialize'].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 AJO Customer Loyalty Metadata Challenges API
  version: 1.0.0
extends: openapi/adobe-suite-challenges-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: 11
- target: $.paths['/loyalty/metadata/challenges/{challengeId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a loyalty challenge
      effect: read
      questions:
      - What tasks and rewards are set up on one particular loyalty challenge?
      - Can I look up a loyalty challenge by its ID to check its state?
      instructions:
      - text: Show loyalty challenge {challengeId}.
        slots:
          challengeId: path.challengeId
      - text: Get the configuration of challenge {challengeId}.
        slots:
          challengeId: path.challengeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/metadata/challenges/{challengeId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a loyalty challenge entirely
      effect: write
      questions:
      - How do I overwrite a whole loyalty challenge definition with a new one?
      - Can I change a challenge's start and end dates by replacing it?
      instructions:
      - text: Replace challenge {challengeId} with name {name}, running {startDate} to {endDate}.
        slots:
          challengeId: path.challengeId
          name: requestBody.name
          startDate: requestBody.startDate
          endDate: requestBody.endDate
      - text: Overwrite challenge {challengeId} with tasks {tasks} and reward {reward}.
        slots:
          challengeId: path.challengeId
          tasks: requestBody.tasks
          reward: requestBody.reward
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/metadata/challenges/{challengeId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a loyalty challenge and its journey
      effect: destructive
      questions:
      - What happens to the linked journey when I delete a loyalty challenge?
      - How do I permanently remove a loyalty challenge?
      instructions:
      - text: Delete loyalty challenge {challengeId} along with its journey.
        slots:
          challengeId: path.challengeId
      - text: Remove challenge {challengeId} for good.
        slots:
          challengeId: path.challengeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/metadata/challenges/{challengeId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Partially update a loyalty challenge
      effect: write
      questions:
      - Can I change only a few top-level fields of a challenge without resending the whole thing?
      - Is there a way to patch a loyalty challenge instead of replacing it?
      instructions:
      - text: Patch just the changed fields on challenge {challengeId}.
        slots:
          challengeId: path.challengeId
      - text: Partially update loyalty challenge {challengeId}.
        slots:
          challengeId: path.challengeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/metadata/challenges'].get
  update:
    x-apievangelist-phrasing:
      intent: List loyalty challenges
      effect: read
      questions:
      - Which loyalty challenges have we set up in this sandbox?
      - Can I filter and sort the list of loyalty challenges by property?
      instructions:
      - text: List all loyalty challenges.
      - text: Show {limit} challenges matching {property}, ordered by {orderby}.
        slots:
          limit: query.limit
          property: query.property
          orderby: query.orderby
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/metadata/challenges'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a loyalty challenge
      effect: write
      questions:
      - How do I set up a new loyalty challenge for customers to complete?
      - Can a new challenge require only some of its tasks to be completed?
      instructions:
      - text: Create a loyalty challenge named {name} from {startDate} to {endDate}.
        slots:
          name: requestBody.name
          startDate: requestBody.startDate
          endDate: requestBody.endDate
      - text: Create challenge {name} with tasks {tasks}, needing {tasksToComplete} completed, reward {reward}.
        slots:
          name: requestBody.name
          tasks: requestBody.tasks
          tasksToComplete: requestBody.tasksToComplete
          reward: requestBody.reward
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/metadata/challenges/{challengeId}/unpublish'].post
  update:
    x-apievangelist-phrasing:
      intent: Unpublish a loyalty challenge
      effect: write
      questions:
      - How can I take a live loyalty challenge away from customers?
      - Can I pull a published challenge without deleting it?
      instructions:
      - text: Unpublish challenge {challengeId}.
        slots:
          challengeId: path.challengeId
      - text: Make challenge {challengeId} unavailable to customers.
        slots:
          challengeId: path.challengeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/metadata/challenges/{challengeId}/publish'].post
  update:
    x-apievangelist-phrasing:
      intent: Publish a loyalty challenge to customers
      effect: write
      questions:
      - What makes a loyalty challenge go live for customers?
      - Can I dry-run publishing a challenge just to check it for errors?
      instructions:
      - text: Publish challenge {challengeId}.
        slots:
          challengeId: path.challengeId
      - text: Validate challenge {challengeId} for publishing with dry-run {dryRun}.
        slots:
          challengeId: path.challengeId
          dryRun: query.dry-run
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/metadata/challenges/{challengeId}/duplicate'].post
  update:
    x-apievangelist-phrasing:
      intent: Duplicate a loyalty challenge
      effect: write
      questions:
      - Can I clone an existing loyalty challenge including its journey and campaigns?
      - What's the fastest way to make a copy of a challenge as a starting point?
      instructions:
      - text: Duplicate challenge {challengeId}.
        slots:
          challengeId: path.challengeId
      - text: Make a copy of loyalty challenge {challengeId} with its journey metadata.
        slots:
          challengeId: path.challengeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/metadata/challenges/{challengeId}/archive'].post
  update:
    x-apievangelist-phrasing:
      intent: Archive a loyalty challenge
      effect: destructive
      questions:
      - What can I still do with a loyalty challenge after it's archived?
      - Can I retire a challenge without deleting it right away?
      instructions:
      - text: Archive challenge {challengeId}.
        slots:
          challengeId: path.challengeId
      - text: Retire loyalty challenge {challengeId} into the archived state.
        slots:
          challengeId: path.challengeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/metadata/challenges/initialize'].post
  update:
    x-apievangelist-phrasing:
      intent: Initialize shell journeys and challenges
      effect: write
      questions:
      - How do I bootstrap the shell journey and challenges for loyalty in a new sandbox?
      - Is there a setup call that initializes loyalty challenges before I create any?
      instructions:
      - text: Initialize the shell journey and challenges for loyalty.
      - text: Set up the starter loyalty challenge shells in sandbox {sandboxId}.
        slots:
          sandboxId: header.x-sandbox-id
      method: generated
      generated: '2026-09-26'