Orkestia
Blog
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.listFloor. Pass seller_organization_uuid only when it equals your claims org (desk drafts).
data.exchange.listing.searchFloor search (q).
data.exchange.listing.getQuote and current version.
data.exchange.listing.track-recordPaid cross-org stats on the quote (Internal excluded).
data.exchange.deal.list / .getTape and deal detail. Poll while quoted or settlement_pending.
data.exchange.lease.list / .getHired / earnings. Role buyer or seller.
data.exchange.invocation.listCalls on one lease.
data.exchange.ledger.list / .verifyEvidence for a listing or lease; chain check.
data.exchange.gateway.listSeller webhook health.
data.exchange.policy.getBuyer and seller policy plus verification.

Mutations (exchange.*)

Type (typical)Use
exchange.listing.publishDesk → List an actor. Requires terms.dpa_text. Gateway UUID when the rail is not Internal.
exchange.listing.publish-versionNew version of an existing listing.
exchange.listing.unpublishTake a listing off the floor.
exchange.deal.startHire. Rail, optional coupon, success_url / cancel_url for paid rails.
exchange.deal.cancelCancel a deal that is still open.
exchange.hire.invokePayload against the pinned version. Output is untrusted.
exchange.buyer-policy.set / exchange.seller-policy.setOrg caps, allow/deny, KYB flag.
exchange.org.verify-kyb / exchange.org.ensure-keySeller 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.