Tabby · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Tabby API Reference Payments API
7 actions
7 updates
phrasing
extends
openapi/tabby-payments-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Tabby's API. It is a proposal applied on top of the contract, not a document Tabby publishes.
What the actions change
x-apievangelist-phrasing
Targets 7
$.info
$.paths['/api/v2/payments/{id}'].get
$.paths['/api/v2/payments/{id}'].put
$.paths['/api/v2/payments/{id}/captures'].post
$.paths['/api/v2/payments/{id}/refunds'].post
$.paths['/api/v2/payments/{id}/close'].post
$.paths['/api/v2/payments'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Tabby API Reference Payments API
version: 1.0.0
extends: openapi/tabby-payments-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: 6
- target: $.paths['/api/v2/payments/{id}'].get
update:
x-apievangelist-phrasing:
intent: Look up a payment with its captures and refunds
effect: read
questions:
- What is the current status of a specific Tabby payment?
- Can I see which captures and refunds have been made on one payment?
instructions:
- text: Retrieve payment {id}.
slots:
id: path.id
- text: Show the status, captures and refunds for payment {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/payments/{id}'].put
update:
x-apievangelist-phrasing:
intent: Change a payment's order reference ID
effect: write
questions:
- How do I change the order reference number attached to a payment?
- Which payment statuses allow me to update the reference ID?
instructions:
- text: Update the order reference on payment {id} to {order}.
slots:
id: path.id
order: requestBody.order
- text: Set a new reference ID on authorized payment {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/payments/{id}/captures'].post
update:
x-apievangelist-phrasing:
intent: Capture an authorized payment
effect: write
questions:
- How do I collect the money for an order once it ships?
- Can I capture only part of an authorized payment and the rest later?
- What happens to the payment after I capture the full amount?
instructions:
- text: Capture {amount} on payment {id} with reference {reference_id}.
slots:
amount: requestBody.amount
id: path.id
reference_id: requestBody.reference_id
- text: Capture {amount} for shipped items {items} on payment {id}, idempotency key {reference_id}.
slots:
amount: requestBody.amount
items: requestBody.items
id: path.id
reference_id: requestBody.reference_id
- text: Capture {amount} on payment {id} including {tax_amount} tax and {shipping_amount} shipping, reference {reference_id}.
slots:
amount: requestBody.amount
id: path.id
tax_amount: requestBody.tax_amount
shipping_amount: requestBody.shipping_amount
reference_id: requestBody.reference_id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/payments/{id}/refunds'].post
update:
x-apievangelist-phrasing:
intent: Refund a closed payment
effect: write
questions:
- How do I refund a customer who returned their order?
- Can I issue a partial refund instead of refunding the whole payment?
- Why can I only refund payments that are already closed?
instructions:
- text: Refund {amount} on payment {id} with reference {reference_id}.
slots:
amount: requestBody.amount
id: path.id
reference_id: requestBody.reference_id
- text: Refund {amount} of payment {id} for returned items {items} because {reason}, key {reference_id}.
slots:
amount: requestBody.amount
id: path.id
items: requestBody.items
reason: requestBody.reason
reference_id: requestBody.reference_id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/payments/{id}/close'].post
update:
x-apievangelist-phrasing:
intent: Close a payment as final
effect: destructive
questions:
- How do I cancel a whole order so the customer gets back everything they paid?
- What should I do with the undelivered remainder after a partial capture?
instructions:
- text: Close payment {id}.
slots:
id: path.id
- text: Close payment {id} without capturing because the order was fully cancelled.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/payments'].get
update:
x-apievangelist-phrasing:
intent: List my payments
effect: read
questions:
- Which payments have I taken, newest first?
- Can I filter my payments by creation date or status?
- How many payments can I pull back at a time, and how do I page through them?
instructions:
- text: List my recent payments.
- text: List payments created between {created_at__gte} and {created_at__lte}.
slots:
created_at__gte: query.created_at__gte
created_at__lte: query.created_at__lte
- text: Show {limit} payments with status {status} starting at offset {offset}.
slots:
limit: query.limit
status: query.status
offset: query.offset
method: generated
generated: '2026-09-26'