Antavo · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Antavo Clubs API

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

What the actions change

x-apievangelist-phrasing

Targets 23 · first 16 shown; the file carries all of them

$.info
$.paths['/v1/clubs/{club_id}/history'].get
$.paths['/v1/clubs/{club_id}/members/{customer_id}'].get
$.paths['/v1/clubs/{club_id}/members'].get
$.paths['/v1/clubs/{club_id}/point-expiry'].get
$.paths['/v1/clubs/{club_id}'].get
$.paths['/v1/clubs/templates'].get
$.paths['/v1/clubs'].get
$.paths['/v1/clubs'].post
$.paths['/v1/clubs/{club_id}/applicants/{customer_id}/accept'].post
$.paths['/v1/clubs/{club_id}/applicants/{customer_id}/ban'].post
$.paths['/v1/clubs/{club_id}/applicants/{customer_id}/refuse'].post
$.paths['/v1/clubs/{club_id}/disband'].post
$.paths['/v1/clubs/{club_id}/invitations'].post
$.paths['/v1/clubs/{club_id}/members/{customer_id}/ban'].post
$.paths['/v1/clubs/{club_id}/members/{customer_id}/club-update'].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 Antavo Clubs API
  version: 1.0.0
extends: openapi/antavo-clubs-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: 22
- target: $.paths['/v1/clubs/{club_id}/history'].get
  update:
    x-apievangelist-phrasing:
      intent: Show a club's action history
      effect: read
      questions:
      - What actions have happened in a club over time?
      - Can I filter a club's history by event type or member?
      instructions:
      - text: Show the history of club {club_id}.
        slots:
          club_id: path.club_id
      - text: List {type} actions in club {club_id} by customer {customer_id}.
        slots:
          type: query.type
          club_id: path.club_id
          customer_id: query.customer_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/members/{customer_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one club member's details
      effect: read
      questions:
      - What role, balance and spending limit does a specific club member have?
      - Can I check one person's status inside a club?
      instructions:
      - text: Get member {customer_id}'s details in club {club_id}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
      - text: Show the role and balance of customer {customer_id} within club {club_id}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/members'].get
  update:
    x-apievangelist-phrasing:
      intent: List a club's members
      effect: read
      questions:
      - Who belongs to a given club?
      - Can I list only club members with a certain role or status?
      instructions:
      - text: List the members of club {club_id}.
        slots:
          club_id: path.club_id
      - text: Show {status} members with role {role} in club {club_id}.
        slots:
          status: query.status
          role: query.role
          club_id: path.club_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/point-expiry'].get
  update:
    x-apievangelist-phrasing:
      intent: List a club's expiring points by date
      effect: read
      questions:
      - Which club points will expire within a date range?
      - Can I see when a club's points are due to lapse?
      instructions:
      - text: List points expiring in club {club_id} between {from} and {to}.
        slots:
          club_id: path.club_id
          from: query.from
          to: query.to
      - text: Find the dates club {club_id}'s points lapse from {from} through {to}.
        slots:
          club_id: path.club_id
          from: query.from
          to: query.to
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a club's details
      effect: read
      questions:
      - What are the details of one particular club?
      - Can I look up a club by its ID?
      instructions:
      - text: Get the details of club {club_id}.
        slots:
          club_id: path.club_id
      - text: Look up club {club_id}.
        slots:
          club_id: path.club_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/templates'].get
  update:
    x-apievangelist-phrasing:
      intent: List club templates
      effect: read
      questions:
      - Which club templates are configured?
      - Can I filter club templates by contribution or expiration type?
      instructions:
      - text: List all club templates.
      - text: Show club templates with status {status} and contribution type {contribution_type}.
        slots:
          status: query.status
          contribution_type: query.contribution_type
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs'].get
  update:
    x-apievangelist-phrasing:
      intent: List clubs
      effect: read
      questions:
      - Which clubs exist in my loyalty program?
      - Can I find clubs created from a specific template?
      instructions:
      - text: List all clubs.
      - text: Find clubs named {name} built on template {template_id}.
        slots:
          name: query.name
          template_id: query.template_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a club
      effect: write
      questions:
      - Can I create a new club for members to join?
      - Who becomes the owner when a new club is created?
      instructions:
      - text: Create a club named {name} from template {template_id} owned by {owner_id}.
        slots:
          name: requestBody.name
          template_id: requestBody.template_id
          owner_id: requestBody.owner_id
      - text: Start a new club {name} with template {template_id}.
        slots:
          name: requestBody.name
          template_id: requestBody.template_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/applicants/{customer_id}/accept'].post
  update:
    x-apievangelist-phrasing:
      intent: Accept a club applicant
      effect: write
      questions:
      - How does a club owner accept someone's request to join?
      - Is an event recorded when a club applicant is accepted?
      instructions:
      - text: Accept applicant {customer_id} into club {club_id}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
      - text: Approve customer {customer_id}'s membership request for club {club_id} with reason {reason}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
          reason: requestBody.reason
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/applicants/{customer_id}/ban'].post
  update:
    x-apievangelist-phrasing:
      intent: Ban a club applicant
      effect: destructive
      questions:
      - Can I stop an applicant from ever applying to a club again?
      - What does banning a pending club applicant do?
      instructions:
      - text: Ban applicant {customer_id} from club {club_id}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
      - text: Block customer {customer_id}'s application to club {club_id} for good, reason {reason}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
          reason: requestBody.reason
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/applicants/{customer_id}/refuse'].post
  update:
    x-apievangelist-phrasing:
      intent: Refuse a club applicant
      effect: write
      questions:
      - Can I turn down a club application but let them reapply later?
      - What happens to an applicant whose club request is declined?
      instructions:
      - text: Refuse applicant {customer_id} for club {club_id}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
      - text: Decline customer {customer_id}'s request to join club {club_id}, leaving them free to reapply.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/disband'].post
  update:
    x-apievangelist-phrasing:
      intent: Disband a club
      effect: destructive
      questions:
      - Can a club owner shut down a club entirely?
      - What events are recorded when a club is disbanded?
      instructions:
      - text: Disband club {club_id} as actor {actor}.
        slots:
          club_id: path.club_id
          actor: requestBody.actor
      - text: Dissolve club {club_id} on behalf of {actor} with reason {reason}.
        slots:
          club_id: path.club_id
          actor: requestBody.actor
          reason: requestBody.reason
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/invitations'].post
  update:
    x-apievangelist-phrasing:
      intent: Invite a member to a club
      effect: write
      questions:
      - Can one club member invite another customer to join?
      - Who has to be named when sending a club invitation?
      instructions:
      - text: Invite customer {invitee_customer_id} to club {club_id} on behalf of {inviter_customer_id}.
        slots:
          invitee_customer_id: requestBody.invitee_customer_id
          club_id: path.club_id
          inviter_customer_id: requestBody.inviter_customer_id
      - text: Create a club {club_id} invitation from {inviter_customer_id} to {invitee_customer_id}.
        slots:
          club_id: path.club_id
          inviter_customer_id: requestBody.inviter_customer_id
          invitee_customer_id: requestBody.invitee_customer_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/members/{customer_id}/ban'].post
  update:
    x-apievangelist-phrasing:
      intent: Ban a club member
      effect: destructive
      questions:
      - Can I remove a current club member and prevent them from rejoining?
      - What is recorded when an existing member is banned from a club?
      instructions:
      - text: Ban member {customer_id} from club {club_id} as {actor}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
          actor: requestBody.actor
      - text: Kick customer {customer_id} out of club {club_id} permanently, actor {actor}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
          actor: requestBody.actor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/members/{customer_id}/club-update'].post
  update:
    x-apievangelist-phrasing:
      intent: Rename a club
      effect: write
      questions:
      - Can a club member change the club's name?
      - Is a reason stored when a club's details are edited?
      instructions:
      - text: Rename club {club_id} to {name} as member {customer_id}.
        slots:
          club_id: path.club_id
          name: requestBody.name
          customer_id: path.customer_id
      - text: Change club {club_id}'s name to {name} on behalf of {customer_id}, reason {reason}.
        slots:
          club_id: path.club_id
          name: requestBody.name
          customer_id: path.customer_id
          reason: requestBody.reason
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/members/{customer_id}/ownership'].post
  update:
    x-apievangelist-phrasing:
      intent: Transfer club ownership
      effect: write
      questions:
      - Can I hand club ownership over to another member?
      - What happens to the previous owner when a new club owner is assigned?
      instructions:
      - text: Make member {customer_id} the owner of club {club_id}, actor {actor}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
          actor: requestBody.actor
      - text: Transfer ownership of club {club_id} to customer {customer_id} as {actor}.
        slots:
          club_id: path.club_id
          customer_id: path.customer_id
          actor: requestBody.actor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/members/{customer_id}/point-adjustment'].post
  update:
    x-apievangelist-phrasing:
      intent: Adjust a club member's points
      effect: write
      questions:
      - Can I correct a club member's point contribution up or down?
      - Can club point adjustments be negative?
      instructions:
      - text: Adjust member {customer_id}'s points in club {club_id} by {points}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
          points: requestBody.points
      - text: Change customer {customer_id}'s point contribution to club {club_id} by {points}, reason {reason}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
          points: requestBody.points
          reason: requestBody.reason
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/members/{customer_id}/point-donation'].post
  update:
    x-apievangelist-phrasing:
      intent: Donate account points to a club
      effect: write
      questions:
      - Can a member donate their own loyalty points to a club?
      - Do club cycle limits apply to point donations?
      instructions:
      - text: Donate {donated_account_points} account points from member {customer_id} to club {club_id}.
        slots:
          donated_account_points: requestBody.donated_account_points
          customer_id: path.customer_id
          club_id: path.club_id
      - text: Have customer {customer_id} give {donated_account_points} points from account {account} to club {club_id}.
        slots:
          customer_id: path.customer_id
          donated_account_points: requestBody.donated_account_points
          account: requestBody.account
          club_id: path.club_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/members/{customer_id}/remove'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove a member from a club
      effect: destructive
      questions:
      - Can I remove someone from a club but still let them rejoin later?
      - Which event is logged when a member is removed without a ban?
      instructions:
      - text: Remove member {customer_id} from club {club_id} as {actor}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
          actor: requestBody.actor
      - text: Take customer {customer_id} out of club {club_id} without banning them, actor {actor}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
          actor: requestBody.actor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/members/{customer_id}/unban'].post
  update:
    x-apievangelist-phrasing:
      intent: Unban a club member
      effect: write
      questions:
      - Can a banned club member be allowed back in?
      - Is lifting a club ban recorded in the member's history?
      instructions:
      - text: Unban customer {customer_id} from club {club_id} as {actor}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
          actor: requestBody.actor
      - text: Lift the ban on member {customer_id} in club {club_id}, reason {reason}, actor {actor}.
        slots:
          customer_id: path.customer_id
          club_id: path.club_id
          reason: requestBody.reason
          actor: requestBody.actor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/{club_id}/members/join-public'].post
  update:
    x-apievangelist-phrasing:
      intent: Join a customer to a public club
      effect: write
      questions:
      - Can a loyalty member join a public club directly without an invitation?
      - Can I record which channel a member used to join an open club?
      instructions:
      - text: Add customer {customer_id} to public club {club_id}.
        slots:
          customer_id: requestBody.customer_id
          club_id: path.club_id
      - text: Join customer {customer_id} to open club {club_id} via channel {channel}.
        slots:
          customer_id: requestBody.customer_id
          club_id: path.club_id
          channel: requestBody.channel
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/clubs/invitations/{invitation_id}'].post
  update:
    x-apievangelist-phrasing:
      intent: Join a private club with an invitation
      effect: write
      questions:
      - How does a member join a private club they were invited to?
      - What do I need to accept a private club invitation?
      instructions:
      - text: Accept invitation {invitation_id} to join the private club.
        slots:
          invitation_id: path.invitation_id
      - text: Join the private club using invitation {invitation_id} via channel {channel}.
        slots:
          invitation_id: path.invitation_id
          channel: requestBody.channel
      method: generated
      generated: '2026-10-01'