AlgoVoi · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Algovoi Co Uk Mpp API
14 actions
14 updates
phrasing
extends
openapi/algovoi-co-uk-mpp-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for AlgoVoi's API. It is a proposal applied on top of the contract, not a document AlgoVoi publishes.
What the actions change
x-apievangelist-phrasing
Targets 14
$.info
$.paths['/mpp/challenge'].post
$.paths['/mpp/probe'].get
$.paths['/mpp/probe'].put
$.paths['/mpp/probe'].post
$.paths['/mpp/probe'].delete
$.paths['/mpp/probe'].patch
$.paths['/mpp/probe'].head
$.paths['/mpp/probe'].options
$.paths['/mpp/{resource_id}'].get
$.paths['/mpp/sub/{resource_id}'].get
$.paths['/mpp/sub/{resource_id}'].post
$.paths['/mpp/verify/receipt'].post
$.paths['/mpp/verify/rfc9421'].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 Algovoi Co Uk Mpp API
version: 1.0.0
extends: openapi/algovoi-co-uk-mpp-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: 13
- target: $.paths['/mpp/challenge'].post
update:
x-apievangelist-phrasing:
intent: Pre-fetch an MPP payment challenge
effect: write
questions:
- Can my agent get the payment challenge before building its transaction instead of hitting the resource first?
- Which network will an MPP challenge ask me to pay on?
instructions:
- text: Get an MPP challenge for resource {resource_id}.
slots:
resource_id: requestBody.resource_id
- text: Pre-fetch the payment challenge for {resource_id} on {network}.
slots:
resource_id: requestBody.resource_id
network: requestBody.network
method: generated
generated: '2026-10-01'
- target: $.paths['/mpp/probe'].get
update:
x-apievangelist-phrasing:
intent: Probe the paid MPP resource with GET
effect: read
questions:
- What does a plain GET to the MPP probe return without payment?
- Does the operator's discovery probe answer with a 402 challenge on GET?
instructions:
- text: GET the MPP probe to read its payment challenge.
- text: Fetch the operator probe resource and show the WWW-Authenticate header.
method: generated
generated: '2026-10-01'
- target: $.paths['/mpp/probe'].put
update:
x-apievangelist-phrasing:
intent: Probe the paid MPP resource with PUT
effect: write
questions:
- Does the MPP probe accept a PUT request with a payment proof?
- Will a PUT to the operator probe also be payment-gated?
instructions:
- text: Send a PUT to the MPP probe with my payment proof.
- text: Test the PUT verb on the operator-level paid probe.
method: generated
generated: '2026-10-01'
- target: $.paths['/mpp/probe'].post
update:
x-apievangelist-phrasing:
intent: Probe the paid MPP resource with POST
effect: write
questions:
- Can I POST a Payment authorization to the MPP probe and get a receipt?
- Where does a payment to the MPP probe go, a tenant or the operator?
instructions:
- text: POST my payment proof to the MPP probe to get a receipt.
- text: Pay the operator probe via POST and log the receipt.
method: generated
generated: '2026-10-01'
- target: $.paths['/mpp/probe'].delete
update:
x-apievangelist-phrasing:
intent: Probe the paid MPP resource with DELETE
effect: destructive
questions:
- Is the DELETE method on the MPP probe also gated by a payment challenge?
- What happens when I call DELETE on the operator probe?
instructions:
- text: Call DELETE on the MPP probe and report the challenge.
- text: Exercise the DELETE verb against the paid operator probe.
method: generated
generated: '2026-10-01'
- target: $.paths['/mpp/probe'].patch
update:
x-apievangelist-phrasing:
intent: Probe the paid MPP resource with PATCH
effect: write
questions:
- Does a PATCH to the MPP probe behave like the other paid methods?
- Can my client verify payment handling on PATCH requests to the probe?
instructions:
- text: Send a PATCH request to the MPP probe.
- text: Check PATCH handling on the operator's payment-gated probe.
method: generated
generated: '2026-10-01'
- target: $.paths['/mpp/probe'].head
update:
x-apievangelist-phrasing:
intent: Probe the paid MPP resource with HEAD
effect: read
questions:
- Can I read the MPP probe's payment challenge headers with HEAD only?
- Does HEAD on the probe return the 402 status without a body?
instructions:
- text: Send HEAD to the MPP probe and show the response headers.
- text: Check headers only on the operator probe.
method: generated
generated: '2026-10-01'
- target: $.paths['/mpp/probe'].options
update:
x-apievangelist-phrasing:
intent: Probe the paid MPP resource with OPTIONS
effect: read
questions:
- Which methods does the MPP probe allow when asked with OPTIONS?
- Does a CORS preflight OPTIONS call to the probe succeed?
instructions:
- text: Send an OPTIONS request to the MPP probe.
- text: Run a preflight OPTIONS against the operator probe.
method: generated
generated: '2026-10-01'
- target: $.paths['/mpp/{resource_id}'].get
update:
x-apievangelist-phrasing:
intent: Access an MPP payment-gated resource
effect: read
questions:
- How do I unlock a resource behind an MPP payment challenge?
- What does a payment-gated MPP resource return before I pay, a 401 challenge?
instructions:
- text: Request MPP resource {resource_id} and return its payment challenge.
slots:
resource_id: path.resource_id
- text: Fetch paid resource {resource_id} with my Payment authorization proof.
slots:
resource_id: path.resource_id
method: generated
generated: '2026-10-01'
- target: $.paths['/mpp/sub/{resource_id}'].get
update:
x-apievangelist-phrasing:
intent: Get an MPP subscription challenge for a resource
effect: read
questions:
- What billing period does an MPP subscription challenge ask for?
- How do I see the subscription terms for a resource before subscribing?
instructions:
- text: Get the subscription challenge for resource {resource_id}.
slots:
resource_id: path.resource_id
- text: Show the period count and unit offered for subscribing to {resource_id}.
slots:
resource_id: path.resource_id
method: generated
generated: '2026-10-01'
- target: $.paths['/mpp/sub/{resource_id}'].post
update:
x-apievangelist-phrasing:
intent: Subscribe to a resource with an MPP credential
effect: write
questions:
- How do I create an MPP subscription once my standing authority transaction is on-chain?
- Can I make subscribing idempotent with an Idempotency-Key header?
instructions:
- text: Subscribe to resource {resource_id} with my authority credential.
slots:
resource_id: path.resource_id
- text: Create an MPP subscription for {resource_id} and return the subscription id.
slots:
resource_id: path.resource_id
method: generated
generated: '2026-10-01'
- target: $.paths['/mpp/verify/receipt'].post
update:
x-apievangelist-phrasing:
intent: Verify a JWS receipt via the MPP route
effect: read
questions:
- Can an MPP client verify a payment receipt JWS?
- Does MPP receipt verification support checking against my own JWKS?
instructions:
- text: Verify MPP receipt {jws}.
slots:
jws: requestBody.jws
- text: Check MPP receipt {jws} against keys {jwks}.
slots:
jws: requestBody.jws
jwks: requestBody.jwks
method: generated
generated: '2026-10-01'
- target: $.paths['/mpp/verify/rfc9421'].post
update:
x-apievangelist-phrasing:
intent: Verify an RFC 9421 signed request via MPP
effect: read
questions:
- How can an MPP client check an RFC 9421 HTTP message signature?
- Can MPP signature verification require a Content-Digest header?
instructions:
- text: Verify the RFC 9421 signature on {method} {authority}{path} using key {public_key_hex} and headers {headers}.
slots:
method: requestBody.method
authority: requestBody.authority
path: requestBody.path
public_key_hex: requestBody.public_key_hex
headers: requestBody.headers
- text: Check MPP message signature for path {path} with public key {public_key_hex}.
slots:
path: requestBody.path
public_key_hex: requestBody.public_key_hex
method: generated
generated: '2026-10-01'