Hive Civilization · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Thehiveryiq Com Affordances API
29 actions
29 updates
phrasing
extends
openapi/thehiveryiq-com-affordances-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Hive Civilization's API. It is a proposal applied on top of the contract, not a document Hive Civilization publishes.
What the actions change
x-apievangelist-phrasing
Targets 29 · first 16 shown; the file carries all of them
$.info
$.paths['/v1/affordance/catalog'].get
$.paths['/v1/affordance/{supermodel}/catalog'].get
$.paths['/v1/affordance/{supermodel}/list'].get
$.paths['/v1/affordance/affordance/{aff_id}'].get
$.paths['/v1/affordance/{supermodel}/health'].get
$.paths['/v1/affordance/{supermodel}/pull'].post
$.paths['/v1/affordance/{supermodel}/light-fuse'].post
$.paths['/v1/affordance/{supermodel}/grab'].post
$.paths['/v1/affordance/{supermodel}/snip'].post
$.paths['/v1/affordance/{supermodel}/hook'].post
$.paths['/v1/affordance/{supermodel}/hooks'].get
$.paths['/v1/affordance/{supermodel}/ring'].post
$.paths['/v1/affordance/{supermodel}/trip'].post
$.paths['/v1/affordance/{supermodel}/top-off'].post
$.paths['/v1/affordance/top-off/{top_off_id}/fulfill'].post
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 Thehiveryiq Com Affordances API
version: 1.0.0
extends: openapi/thehiveryiq-com-affordances-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: 28
- target: $.paths['/v1/affordance/catalog'].get
update:
x-apievangelist-phrasing:
intent: List affordance catalogs across all supermodels
effect: read
questions:
- Which affordances are available across every hot supermodel?
- Can I include cold supermodels when browsing the full affordance catalog?
instructions:
- text: Show me the affordance catalog for every hot supermodel.
- text: 'List the affordance catalogs for all supermodels, include cold ones: {include_cold}.'
slots:
include_cold: query.include_cold
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/catalog'].get
update:
x-apievangelist-phrasing:
intent: Get one supermodel's affordance catalog
effect: read
questions:
- What affordance types does a single supermodel offer?
- Where can I see the catalog of affordances for just one supermodel?
instructions:
- text: Show the affordance catalog for supermodel {supermodel}.
slots:
supermodel: path.supermodel
- text: Fetch which affordance types {supermodel} supports.
slots:
supermodel: path.supermodel
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/list'].get
update:
x-apievangelist-phrasing:
intent: List a supermodel's open affordances
effect: read
questions:
- How do I see the individual affordances opened against a supermodel?
- Can I filter a supermodel's affordance instances by type or state?
instructions:
- text: List the affordances opened on supermodel {supermodel}.
slots:
supermodel: path.supermodel
- text: List {type} affordances on {supermodel} in state {state}, up to {limit}.
slots:
type: query.type
supermodel: path.supermodel
state: query.state
limit: query.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/affordance/{aff_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a single affordance by ID
effect: read
questions:
- How can I look up one specific affordance by its ID?
- What details are returned for a single affordance record?
instructions:
- text: Show affordance {aff_id}.
slots:
aff_id: path.aff_id
- text: Look up the current state of affordance {aff_id}.
slots:
aff_id: path.aff_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/health'].get
update:
x-apievangelist-phrasing:
intent: Check a supermodel's affordance health
effect: read
questions:
- Is the affordance service for a given supermodel healthy?
- Can I check affordance health for one supermodel before opening something on it?
instructions:
- text: Check affordance health for supermodel {supermodel}.
slots:
supermodel: path.supermodel
- text: Tell me whether {supermodel}'s affordances are up.
slots:
supermodel: path.supermodel
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/pull'].post
update:
x-apievangelist-phrasing:
intent: Pull a supermodel's cord with a reason
effect: write
questions:
- How do I pull the cord on a supermodel and say why?
- Can I add a tip to a pull so it jumps the queue?
instructions:
- text: Pull the cord on {supermodel} because {reason}.
slots:
supermodel: path.supermodel
reason: query.reason
- text: Pull {supermodel} for reason {reason} with a {bonus} bonus to jump the queue.
slots:
supermodel: path.supermodel
reason: query.reason
bonus: query.bonus
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/light-fuse'].post
update:
x-apievangelist-phrasing:
intent: Light a fuse on a supermodel
effect: write
questions:
- How do I light a fuse on a supermodel with a predicted daily USDC lift?
- Can a fuse ignition carry kit deltas and a rationale?
instructions:
- text: Light fuse {fuse_id} on {supermodel} as caller {caller_did}.
slots:
fuse_id: query.fuse_id
supermodel: path.supermodel
caller_did: requestBody.caller_did
- text: Light fuse {fuse_id} on {supermodel} for {caller_did}, predicting {predicted_lift_usdc_per_day} USDC/day lift.
slots:
fuse_id: query.fuse_id
supermodel: path.supermodel
caller_did: requestBody.caller_did
predicted_lift_usdc_per_day: requestBody.predicted_lift_usdc_per_day
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/grab'].post
update:
x-apievangelist-phrasing:
intent: Grab a supermodel's rope for a duration
effect: write
questions:
- How do I grab the rope on a supermodel for a set number of seconds?
- What does the grab-rope affordance need from the caller?
instructions:
- text: Grab the rope on {supermodel} for {duration_sec} seconds as {caller_did}.
slots:
supermodel: path.supermodel
duration_sec: query.duration_sec
caller_did: requestBody.caller_did
- text: Hold {supermodel}'s rope for {duration_sec} seconds on my behalf, {caller_did}.
slots:
supermodel: path.supermodel
duration_sec: query.duration_sec
caller_did: requestBody.caller_did
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/snip'].post
update:
x-apievangelist-phrasing:
intent: Snip a supermodel with a reason
effect: write
questions:
- How do I snip a supermodel and record why?
- Does the snip affordance require a reason and a caller DID?
instructions:
- text: Snip {supermodel} because {reason}, caller {caller_did}.
slots:
supermodel: path.supermodel
reason: query.reason
caller_did: requestBody.caller_did
- text: Use the snip affordance on {supermodel} with reason {reason} as {caller_did}.
slots:
supermodel: path.supermodel
reason: query.reason
caller_did: requestBody.caller_did
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/hook'].post
update:
x-apievangelist-phrasing:
intent: Set an event hook on a supermodel
effect: write
questions:
- How do I hook a supermodel so something fires on an event?
- Can I prepay USDC and cap the number of triggers on a hook?
instructions:
- text: Hook {supermodel} on event {event} for caller {caller_did}.
slots:
supermodel: path.supermodel
event: query.event
caller_did: requestBody.caller_did
- text: Set a hook on {supermodel} for {event}, {n_triggers} triggers, prepaying {prepay_usdc} USDC, as {caller_did}.
slots:
supermodel: path.supermodel
event: query.event
n_triggers: requestBody.n_triggers
prepay_usdc: requestBody.prepay_usdc
caller_did: requestBody.caller_did
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/hooks'].get
update:
x-apievangelist-phrasing:
intent: List hooks set on a supermodel
effect: read
questions:
- Which hooks are currently attached to a supermodel?
- Can I see only the hooks listening for one event?
instructions:
- text: List the hooks on supermodel {supermodel}.
slots:
supermodel: path.supermodel
- text: Show hooks on {supermodel} listening for event {event}.
slots:
supermodel: path.supermodel
event: query.event
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/ring'].post
update:
x-apievangelist-phrasing:
intent: Ring a supermodel's bell
effect: write
questions:
- How do I ring the bell on a supermodel?
- What does a caller need to supply to ring a supermodel's bell?
instructions:
- text: Ring the bell on {supermodel} as {caller_did}.
slots:
supermodel: path.supermodel
caller_did: requestBody.caller_did
- text: Ring {supermodel}'s bell for me.
slots:
supermodel: path.supermodel
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/trip'].post
update:
x-apievangelist-phrasing:
intent: Trip a supermodel's tripwire
effect: write
questions:
- How do I trip the tripwire on a supermodel?
- Is a caller DID all that's needed to trip a supermodel?
instructions:
- text: Trip the tripwire on {supermodel} as {caller_did}.
slots:
supermodel: path.supermodel
caller_did: requestBody.caller_did
- text: Trip {supermodel} now.
slots:
supermodel: path.supermodel
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/top-off'].post
update:
x-apievangelist-phrasing:
intent: Request a USDC top-off for a supermodel
effect: write
questions:
- How does an agent ask for a USDC top-off on a supermodel?
- Can a top-off request refund whatever isn't used?
- What comes back when I post a top-off ask?
instructions:
- text: Ask for a {needed_usdc} USDC top-off on {supermodel} because {reason}.
slots:
needed_usdc: requestBody.needed_usdc
supermodel: path.supermodel
reason: requestBody.reason
- text: 'Request {needed_usdc} USDC top-off on {supermodel} for {reason}, refund unused: {refund_unused}.'
slots:
needed_usdc: requestBody.needed_usdc
supermodel: path.supermodel
reason: requestBody.reason
refund_unused: requestBody.refund_unused
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/top-off/{top_off_id}/fulfill'].post
update:
x-apievangelist-phrasing:
intent: Fund someone's top-off request
effect: write
questions:
- How do I fulfill an open top-off request with USDC?
- Can a different caller fund a top-off another agent asked for?
instructions:
- text: Fulfill top-off {top_off_id} with {amount_usdc} USDC from {caller_did}.
slots:
top_off_id: path.top_off_id
amount_usdc: requestBody.amount_usdc
caller_did: requestBody.caller_did
- text: Fund top-off request {top_off_id} for {amount_usdc} USDC as {caller_did}.
slots:
top_off_id: path.top_off_id
amount_usdc: requestBody.amount_usdc
caller_did: requestBody.caller_did
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/top-off/{top_off_id}/complete'].post
update:
x-apievangelist-phrasing:
intent: Close out a top-off with actual burn
effect: write
questions:
- How do I report how much of a top-off was actually burned?
- What marks a funded top-off as complete?
instructions:
- text: Complete top-off {top_off_id} with an actual burn of {actual_burn_usdc} USDC.
slots:
top_off_id: path.top_off_id
actual_burn_usdc: requestBody.actual_burn_usdc
- text: Mark top-off {top_off_id} done; we used {actual_burn_usdc} USDC.
slots:
top_off_id: path.top_off_id
actual_burn_usdc: requestBody.actual_burn_usdc
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/tip'].post
update:
x-apievangelist-phrasing:
intent: Tip a supermodel's tip jar
effect: write
questions:
- How do I drop a USDC tip into a supermodel's tip jar?
- Does a tip have to reference a parent receipt?
instructions:
- text: Tip {supermodel} {amount_usdc} USDC from {caller_did} against receipt {parent_receipt_hash}.
slots:
supermodel: path.supermodel
amount_usdc: requestBody.amount_usdc
caller_did: requestBody.caller_did
parent_receipt_hash: requestBody.parent_receipt_hash
- text: Put {amount_usdc} USDC in {supermodel}'s tip jar for receipt {parent_receipt_hash}.
slots:
amount_usdc: requestBody.amount_usdc
supermodel: path.supermodel
parent_receipt_hash: requestBody.parent_receipt_hash
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/sos'].post
update:
x-apievangelist-phrasing:
intent: Raise an SOS funding request
effect: write
questions:
- How does a supermodel send an SOS asking for USDC by a deadline?
- Can I offer rescuers a reward share in basis points on an SOS?
instructions:
- text: Send an SOS for {supermodel} needing {needed_usdc} USDC within {deadline_sec} seconds, sharing {reward_share_bps} bps.
slots:
supermodel: path.supermodel
needed_usdc: requestBody.needed_usdc
deadline_sec: requestBody.deadline_sec
reward_share_bps: requestBody.reward_share_bps
- text: 'Raise an SOS on {supermodel}: {needed_usdc} USDC, {deadline_sec}s deadline, {reward_share_bps} bps reward.'
slots:
supermodel: path.supermodel
needed_usdc: requestBody.needed_usdc
deadline_sec: requestBody.deadline_sec
reward_share_bps: requestBody.reward_share_bps
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/sos/active'].get
update:
x-apievangelist-phrasing:
intent: List active SOS requests
effect: read
questions:
- Which SOS calls are open right now that I could answer?
- Where do I find supermodels currently asking for rescue funding?
instructions:
- text: List all active SOS requests.
- text: Show me the open SOS calls waiting for a rescuer.
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/sos/{sos_id}/fulfill'].post
update:
x-apievangelist-phrasing:
intent: Answer an SOS request
effect: write
questions:
- How do I respond to and fulfill an open SOS?
- What do I send to claim an SOS as the rescuer?
instructions:
- text: Fulfill SOS {sos_id} as {caller_did}.
slots:
sos_id: path.sos_id
caller_did: requestBody.caller_did
- text: Answer SOS request {sos_id} for me.
slots:
sos_id: path.sos_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/iou'].post
update:
x-apievangelist-phrasing:
intent: Borrow USDC via an IOU
effect: write
questions:
- Can a supermodel borrow USDC by writing an IOU with interest?
- How is interest expressed on an IOU request?
instructions:
- text: Open an IOU for {supermodel} borrowing {borrow_usdc} USDC at {interest_bps} bps.
slots:
supermodel: path.supermodel
borrow_usdc: requestBody.borrow_usdc
interest_bps: requestBody.interest_bps
- text: Borrow {borrow_usdc} USDC on {supermodel} at {interest_bps} bps interest.
slots:
borrow_usdc: requestBody.borrow_usdc
supermodel: path.supermodel
interest_bps: requestBody.interest_bps
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/iou/{iou_id}/repay'].post
update:
x-apievangelist-phrasing:
intent: Repay an IOU
effect: write
questions:
- How do I pay back an IOU?
- Can I repay part of an IOU by choosing the USDC amount?
instructions:
- text: Repay {repay_usdc} USDC on IOU {iou_id}.
slots:
repay_usdc: requestBody.repay_usdc
iou_id: path.iou_id
- text: Pay down IOU {iou_id} by {repay_usdc} USDC.
slots:
iou_id: path.iou_id
repay_usdc: requestBody.repay_usdc
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/bucket'].post
update:
x-apievangelist-phrasing:
intent: Open a prefilled USDC bucket
effect: write
questions:
- How do I set up a bucket of USDC for a supermodel to draw from?
- What amount does a new bucket fill to?
instructions:
- text: Open a bucket on {supermodel} filled to {fill_to} USDC for {caller_did}.
slots:
supermodel: path.supermodel
fill_to: query.fill_to
caller_did: requestBody.caller_did
- text: Fill a {fill_to} USDC bucket for {supermodel}.
slots:
fill_to: query.fill_to
supermodel: path.supermodel
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/bucket/{bucket_id}/burn'].post
update:
x-apievangelist-phrasing:
intent: Spend USDC out of a bucket
effect: write
questions:
- How do I burn USDC out of an existing bucket?
- Can I draw down just part of a bucket?
instructions:
- text: Burn {amount_usdc} USDC from bucket {bucket_id}.
slots:
amount_usdc: requestBody.amount_usdc
bucket_id: path.bucket_id
- text: Draw {amount_usdc} USDC out of bucket {bucket_id}.
slots:
amount_usdc: requestBody.amount_usdc
bucket_id: path.bucket_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/drip'].post
update:
x-apievangelist-phrasing:
intent: Start a USDC drip to a supermodel
effect: write
questions:
- Can I stream USDC to a supermodel at a per-second rate?
- How do I cap the total amount a drip will pay out?
instructions:
- text: Start a drip to {supermodel} at {rate_per_sec} per second, capped at {max_total}, from {caller_did}.
slots:
supermodel: path.supermodel
rate_per_sec: query.rate_per_sec
max_total: query.max_total
caller_did: requestBody.caller_did
- text: Drip {rate_per_sec}/sec into {supermodel} up to {max_total} total.
slots:
rate_per_sec: query.rate_per_sec
supermodel: path.supermodel
max_total: query.max_total
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/drip/{drip_id}/stop'].post
update:
x-apievangelist-phrasing:
intent: Stop a running drip
effect: destructive
questions:
- How do I stop a USDC drip that's already running?
- Can I shut off a drip before it reaches its max total?
instructions:
- text: Stop drip {drip_id}.
slots:
drip_id: path.drip_id
- text: Turn off the running drip line {drip_id} now.
slots:
drip_id: path.drip_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/phone-home'].post
update:
x-apievangelist-phrasing:
intent: Phone home for a decision
effect: write
questions:
- How does a supermodel phone home when it's waiting on something?
- Can a phone-home request state what it would cost to skip the wait?
instructions:
- text: 'Phone home from {supermodel}: waiting for {waiting_for}, skip costs {cost_to_skip_usdc} USDC.'
slots:
supermodel: path.supermodel
waiting_for: requestBody.waiting_for
cost_to_skip_usdc: requestBody.cost_to_skip_usdc
- text: Send a phone-home ask for {supermodel} about {waiting_for} with a {cost_to_skip_usdc} USDC skip price.
slots:
supermodel: path.supermodel
waiting_for: requestBody.waiting_for
cost_to_skip_usdc: requestBody.cost_to_skip_usdc
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/affordance/{supermodel}/phone-home/respond'].post
update:
x-apievangelist-phrasing:
intent: Answer a supermodel's phone-home
effect: write
questions:
- How do I reply to a phone-home request with a decision?
- Can I pay to skip the wait when answering a phone-home?
instructions:
- text: Respond to phone-home {ph_id} on {supermodel} with decision {decision}.
slots:
ph_id: query.ph_id
supermodel: path.supermodel
decision: requestBody.decision
- text: 'Answer phone-home {ph_id} for {supermodel}: {decision}, skip paid {skip_paid}.'
slots:
ph_id: query.ph_id
supermodel: path.supermodel
decision: requestBody.decision
skip_paid: requestBody.skip_paid
method: generated
generated: '2026-09-26'