Hive Civilization · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Thehiveryiq Com R4 Firewall API
10 actions
10 updates
phrasing
extends
openapi/thehiveryiq-com-r4-firewall-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 10
$.info
$.paths['/v1/firewall/policy'].get
$.paths['/v1/firewall/enforce/preview'].post
$.paths['/v1/firewall/sandbox/run'].post
$.paths['/v1/firewall/cosign/challenge'].post
$.paths['/v1/firewall/cosign/challenge/{challenge_id}'].get
$.paths['/v1/firewall/cosign/challenge/{challenge_id}/sign'].post
$.paths['/v1/firewall/approval/request'].post
$.paths['/v1/firewall/approval/{ticket_id}'].get
$.paths['/v1/firewall/approval/{ticket_id}/decide'].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 R4 Firewall API
version: 1.0.0
extends: openapi/thehiveryiq-com-r4-firewall-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: 9
- target: $.paths['/v1/firewall/policy'].get
update:
x-apievangelist-phrasing:
intent: Get the tool firewall enforcement policy
effect: read
questions:
- How does the Hive Tool Firewall decide what to allow, block or escalate?
- Is there a machine-readable contract describing firewall enforcement behaviour?
instructions:
- text: Fetch the firewall enforcement policy contract.
- text: Show me how the tool firewall behaves so I can build delegation envelopes against it.
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/firewall/enforce/preview'].post
update:
x-apievangelist-phrasing:
intent: Dry-run firewall enforcement on an envelope
effect: read
questions:
- Can I preview what HTTP status the firewall would return for a request without persisting anything?
- Can I dry-run enforcement against a stored envelope by its jti?
instructions:
- text: Preview firewall enforcement for the stored envelope {jti}.
slots:
jti: requestBody.jti
- text: Dry-run envelope {envelope} against request {request} and show the enforcement result.
slots:
envelope: requestBody.envelope
request: requestBody.request
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/firewall/sandbox/run'].post
update:
x-apievangelist-phrasing:
intent: Run a request in firewall sandbox mode
effect: write
questions:
- How do I test that an envelope authorizes a request without any settlement happening?
- What does the firewall sandbox return instead of a real result?
instructions:
- text: Run a sandbox request under envelope {jti}.
slots:
jti: requestBody.jti
- text: Sandbox-run {request} with payload {payload} under envelope {jti}, no settlement.
slots:
request: requestBody.request
payload: requestBody.payload
jti: requestBody.jti
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/firewall/cosign/challenge'].post
update:
x-apievangelist-phrasing:
intent: Open a threshold cosign challenge
effect: write
questions:
- How do I require several cosigners before a blocked agent request can proceed?
- Can I set the signing threshold and expiry on a cosign challenge?
instructions:
- text: Create a cosign challenge for envelope {jti}.
slots:
jti: requestBody.jti
- text: Open a cosign challenge on {jti} needing {threshold} signatures, expiring in {ttl_seconds} seconds.
slots:
jti: requestBody.jti
threshold: requestBody.threshold
ttl_seconds: requestBody.ttl_seconds
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/firewall/cosign/challenge/{challenge_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a cosign challenge's status
effect: read
questions:
- How many cosignatures has a challenge collected so far?
- Has a particular cosign challenge reached its threshold yet?
instructions:
- text: Show cosign challenge {challenge_id}.
slots:
challenge_id: path.challenge_id
- text: Check whether challenge {challenge_id} has enough cosigners.
slots:
challenge_id: path.challenge_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/firewall/cosign/challenge/{challenge_id}/sign'].post
update:
x-apievangelist-phrasing:
intent: Add a cosignature to a challenge
effect: write
questions:
- How do I submit my signature toward a cosign challenge?
- What happens once a challenge reaches its signature threshold?
instructions:
- text: Cosign challenge {challenge_id} as {signer_did} with signature {signature}.
slots:
challenge_id: path.challenge_id
signer_did: requestBody.signer_did
signature: requestBody.signature
- text: Record {signer_did}'s cosignature {signature} on challenge {challenge_id}.
slots:
signer_did: requestBody.signer_did
signature: requestBody.signature
challenge_id: path.challenge_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/firewall/approval/request'].post
update:
x-apievangelist-phrasing:
intent: Request human approval for an agent action
effect: write
questions:
- How do I escalate a blocked agent request to a human for approval?
- Can an approval ticket describe the violation and expire after a set time?
instructions:
- text: Open a human-approval ticket for envelope {jti}.
slots:
jti: requestBody.jti
- text: 'Ask a human to approve {jti}: {request_summary}, expiring in {ttl_seconds} seconds.'
slots:
jti: requestBody.jti
request_summary: requestBody.request_summary
ttl_seconds: requestBody.ttl_seconds
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/firewall/approval/{ticket_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a human-approval ticket
effect: read
questions:
- Has my approval ticket been approved or denied yet?
- Where can I see who decided an approval ticket?
instructions:
- text: Show approval ticket {ticket_id}.
slots:
ticket_id: path.ticket_id
- text: Check the decision status of ticket {ticket_id}.
slots:
ticket_id: path.ticket_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/firewall/approval/{ticket_id}/decide'].post
update:
x-apievangelist-phrasing:
intent: Approve or deny an approval ticket
effect: write
questions:
- How do I approve or deny a pending approval ticket?
- Can I leave a note explaining why I denied a ticket?
instructions:
- text: Mark ticket {ticket_id} {decision}, decided by {decided_by}.
slots:
ticket_id: path.ticket_id
decision: requestBody.decision
decided_by: requestBody.decided_by
- text: Deny ticket {ticket_id} as {decided_by} with note {note}.
slots:
ticket_id: path.ticket_id
decided_by: requestBody.decided_by
note: requestBody.note
method: generated
generated: '2026-09-26'