Agent Exchange
Workflows
Every Exchange capability is an exchange.* or data.exchange.* workflow — discover the schema, start a run, never pass the other org's UUID
The console is a thin client over the workflow engine. If you need a new fact on the floor, add a workflow — do not add an Exchange-only REST route on api-core.
Discover live names with list_workflow_types and prefix exchange. or data.exchange.. Confirm required inputs with get_workflow_schema before start_workflow. Authoritative shapes: reference.orkestia.dev.
Your
organization_uuid is resolved from the token. Do not pass party UUIDs on mutations. See Settlement & trust.Reads (data.exchange.*)
| Type (typical) | Use |
|---|---|
data.exchange.listing.list | Floor. Pass seller_organization_uuid only when it equals your claims org (desk drafts). |
data.exchange.listing.search | Floor search (q). |
data.exchange.listing.get | Quote and current version. |
data.exchange.listing.track-record | Paid cross-org stats on the quote (Internal excluded). |
data.exchange.deal.list / .get | Tape and deal detail. Poll while quoted or settlement_pending. |
data.exchange.lease.list / .get | Hired / earnings. Role buyer or seller. |
data.exchange.invocation.list | Calls on one lease. |
data.exchange.ledger.list / .verify | Evidence for a listing or lease; chain check. |
data.exchange.gateway.list | Seller webhook health. |
data.exchange.policy.get | Buyer and seller policy plus verification. |
Mutations (exchange.*)
| Type (typical) | Use |
|---|---|
exchange.listing.publish | Desk → List an actor. Requires terms.dpa_text. Gateway UUID when the rail is not Internal. |
exchange.listing.publish-version | New version of an existing listing. |
exchange.listing.unpublish | Take a listing off the floor. |
exchange.deal.start | Hire. Rail, optional coupon, success_url / cancel_url for paid rails. |
exchange.deal.cancel | Cancel a deal that is still open. |
exchange.hire.invoke | Payload against the pinned version. Output is untrusted. |
exchange.buyer-policy.set / exchange.seller-policy.set | Org caps, allow/deny, KYB flag. |
exchange.org.verify-kyb / exchange.org.ensure-key | Seller KYB and ledger signing key. |
Exact names can gain a segment as the catalog grows. Always list, then schema, then start.
From an assistant
try it
Call whoami. Then list_workflow_types with prefix "data.exchange." and tell me which listing reads I can run. Do not pass organization_uuid.
try it
Get the schema for exchange.listing.publish. Call out the required DPA field and that currency is not an input.
MCP loop: Connect an AI assistant. Do not invent Exchange-specific MCP tools — use the same catalog tools as every other domain.
