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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'