{"@context":{"patchr":"https://schemas.patchr.co/","name":"https://schema.org/name","description":"https://schema.org/description","version":"patchr:version","source":"patchr:source","digest":"patchr:digest","domain":"patchr:domain","surface":"patchr:surface","route":"patchr:route","schemaId":"patchr:schemaId","mcpTool":"patchr:mcpTool","sdkHelper":"patchr:sdkHelper","guide":"patchr:guide","policy":"patchr:policy","required":"patchr:required","actions":"patchr:actions","resource":"patchr:resource","painPoint":"patchr:painPoint","outcome":"patchr:outcome","adoptionBlocker":"patchr:adoptionBlocker","enhancement":"patchr:enhancement","proofPack":"patchr:proofPack","reviewProtocol":"patchr:reviewProtocol"},"@id":"https://schemas.patchr.co/protocol","@type":"patchr:Protocol","name":"Patchr Protocol","description":"Agentic economy infrastructure for external apps, services, and agents.","version":"0.1.0","source":{"name":"manifest","route":"/v1/manifest"},"surface":[{"name":"api","route":"/openapi.json"},{"name":"status","route":"/v1/status"},{"name":"manifest","route":"/v1/manifest"},{"name":"protocolMap","route":"/v1/protocol-map"},{"name":"schemas","route":"/v1/schemas"},{"name":"mcp","route":"/mcp"},{"name":"a2a","route":"/v1/a2a/contract"},{"name":"benchmarks","route":"/v1/benchmarks/local"}],"domain":[{"name":"hunt","description":"Signal discovery, source attribution, monitoring, and launchable public signals.","route":[{"method":"POST","path":"/v1/hunt/discover","opId":"huntDiscover","tag":"hunt","desc":"Discover and rank HUNT telemetry.","mcpTool":"picux.huntDiscover"}],"schemaId":["communitySignal","communitySignalRecord","proofPack","proofCard","workflowTemplate"],"mcpTool":["picux.huntDiscover"],"sdkHelper":["PicuxClient.huntDiscover","ExternalAppClient.publishSignal","PicuxClient.createProofPack","PicuxClient.runWorkflowTemplate"],"guide":"docs/developers/domain-reference.md#hunt","policy":{"required":false,"actions":[],"resource":""},"painPoint":["Fragmented discovery across markets, people, leads, opportunities, and evidence sources.","Continuous scam-pattern monitoring across public discussion channels and web signals.","Public-signal entity collisions and misinformation risk before launch."],"outcome":["Ranked discoveries with source attribution.","Human-review queue for low-confidence claims."],"adoptionBlocker":["Opaque multi-agent discovery outputs."],"enhancement":["Misinformation escalation protocol routes low-confidence claims to PROXY review."],"proofPack":"Completed HUNT monitoring runs can emit source snapshots and decision logs as a portable case file.","reviewProtocol":"Claims below the confidence threshold are routed to PROXY instead of surfaced as answers."},{"name":"resolve","description":"Dispute, audit, chronology, evidence integrity, and deterministic decision support.","route":[{"method":"GET","path":"/v1/resolve/recovery/templates","opId":"listRecoveryTemplates","tag":"resolve","desc":"List Resolve recovery templates for crypto and bank-transfer cases.","mcpTool":"picux.listRecoveryTemplates"},{"method":"GET","path":"/v1/resolve/recovery/templates/{templateId}","opId":"getRecoveryTemplate","tag":"resolve","desc":"Fetch a Resolve recovery template.","mcpTool":"picux.getRecoveryTemplate"},{"method":"POST","path":"/v1/resolve/scamTriage","opId":"resolveScamTriage","tag":"resolve","desc":"Run Resolve scam and dispute triage.","mcpTool":"picux.resolveScamTriage"},{"method":"POST","path":"/v1/tasks/{taskId}/resolve","opId":"resolveTask","tag":"resolve","desc":"Resolve evidence for a Picux task.","mcpTool":"picux.resolveTask"}],"schemaId":["proofValue","evidenceArtifact","vaultEvidence","fraudSourceTaxonomy","proofPack","proofCard","workflowTemplate"],"mcpTool":["picux.listRecoveryTemplates","picux.getRecoveryTemplate","picux.resolveScamTriage","picux.resolveTask"],"sdkHelper":["ExternalAppClient.requestResolve","PicuxClient.resolveTask","PicuxClient.resolveScamTriage","PicuxClient.resolveRecovery","PicuxClient.listRecoveryTemplates","PicuxClient.getRecoveryTemplate","PicuxClient.chainTraceTool","PicuxClient.createProofPack","PicuxClient.runWorkflowTemplate"],"guide":"docs/developers/domain-reference.md#resolve","policy":{"required":false,"actions":[],"resource":""},"painPoint":["Disputes, audits, and contested claims where chronology and evidence integrity matter.","Agent complaints or document inconsistencies that need defensible outcomes.","Trust-sensitive decisions where automation must remain auditable and human-readable."],"outcome":["Chronology-aware claim drafts and decisions.","Portable proof pack for defending outcomes later."],"adoptionBlocker":["Multi-agent systems can feel opaque unless outputs are tightly audited."],"enhancement":["Auto-Audit Vault stores source snapshots, decision logs, complaint evidence, source classes, and fraud indicators."],"proofPack":"RESOLVE outcomes should close with a shareable proof pack: from opaque workflow to portable case file.","reviewProtocol":"Low-confidence or regulated-life-decision claims can suspend into PROXY for human review."},{"name":"bridge","description":"External connector registry, scoped credentials, preflight, MCP, and A2A handoffs.","route":[{"method":"GET","path":"/v1/bridge/connectors","opId":"listConnectors","tag":"bridge","desc":"List registered BRIDGE connectors.","mcpTool":"picux.listConnectors"},{"method":"GET","path":"/v1/bridge/connectors/ready","opId":"listReadyConnectors","tag":"bridge","desc":"List Picux ready-made BRIDGE connector templates.","mcpTool":"picux.listReadyConnectors"},{"method":"GET","path":"/v1/bridge/connectors/{connectorId}","opId":"getConnector","tag":"bridge","desc":"Fetch a registered BRIDGE connector.","mcpTool":"picux.getConnector"},{"method":"POST","path":"/v1/bridge/connectors","opId":"registerConnector","tag":"bridge","desc":"Register a BRIDGE connector with scoped credential references.","mcpTool":"picux.registerConnector"},{"method":"POST","path":"/v1/bridge/connectors/ready/install","opId":"installReadyConnectors","tag":"bridge","desc":"Install Picux ready-made BRIDGE connector templates into the active connector registry.","mcpTool":"picux.installReadyConnectors"},{"method":"POST","path":"/v1/bridge/connection-sessions","opId":"createBridgeConnectionSession","tag":"bridge","desc":"Create a scoped BRIDGE connection session for client-owned adapter credentials and callbacks.","mcpTool":"picux.createBridgeConnectionSession"},{"method":"GET","path":"/v1/bridge/connection-sessions","opId":"listBridgeConnectionSessions","tag":"bridge","desc":"List scoped BRIDGE connection sessions.","mcpTool":"picux.listBridgeConnectionSessions"},{"method":"GET","path":"/v1/bridge/connection-sessions/{sessionId}","opId":"getBridgeConnectionSession","tag":"bridge","desc":"Fetch a scoped BRIDGE connection session.","mcpTool":"picux.getBridgeConnectionSession"},{"method":"POST","path":"/v1/bridge/connection-sessions/{sessionId}/revoke","opId":"revokeBridgeConnectionSession","tag":"bridge","desc":"Revoke a scoped BRIDGE connection session.","mcpTool":"picux.revokeBridgeConnectionSession"},{"method":"POST","path":"/v1/bridge/actions","opId":"createBridgeAction","tag":"bridge","desc":"Queue an adapter-neutral BRIDGE provider action and attach it to channel state.","mcpTool":"picux.createBridgeAction"},{"method":"GET","path":"/v1/bridge/actions","opId":"listBridgeActions","tag":"bridge","desc":"List adapter-neutral BRIDGE provider actions.","mcpTool":"picux.listBridgeActions"},{"method":"GET","path":"/v1/bridge/actions/{actionId}","opId":"getBridgeAction","tag":"bridge","desc":"Fetch an adapter-neutral BRIDGE provider action.","mcpTool":"picux.getBridgeAction"},{"method":"POST","path":"/v1/bridge/actions/{actionId}/update","opId":"updateBridgeAction","tag":"bridge","desc":"Update BRIDGE provider action status, response, proof, or error state.","mcpTool":"picux.updateBridgeAction"},{"method":"POST","path":"/v1/bridge/actions/{actionId}/run","opId":"runBridgeAction","tag":"bridge","desc":"Run a BRIDGE provider action through a Picux-hosted adapter or dispatch it to a client-hosted adapter.","mcpTool":"picux.runBridgeAction"},{"method":"POST","path":"/v1/bridge/portal/sessions","opId":"createPortalSession","tag":"bridge","desc":"Create a credential-reference-backed authenticated portal session.","mcpTool":"picux.createPortalSession"},{"method":"GET","path":"/v1/bridge/portal/sessions","opId":"listPortalSessions","tag":"bridge","desc":"List authenticated portal sessions.","mcpTool":"picux.listPortalSessions"},{"method":"GET","path":"/v1/bridge/portal/sessions/{portalSessionId}","opId":"getPortalSession","tag":"bridge","desc":"Fetch an authenticated portal session.","mcpTool":"picux.getPortalSession"},{"method":"POST","path":"/v1/bridge/portal/sessions/{portalSessionId}/preflight","opId":"preflightPortalSession","tag":"bridge","desc":"Check portal session credential, MFA, and target-scope readiness before authenticated browser work starts.","mcpTool":"picux.preflightPortalSession"},{"method":"POST","path":"/v1/bridge/portal/actions","opId":"createPortalAction","tag":"bridge","desc":"Create an authenticated portal action for record retrieval, form submission, or recovery steps.","mcpTool":"picux.createPortalAction"},{"method":"GET","path":"/v1/bridge/portal/actions","opId":"listPortalActions","tag":"bridge","desc":"List authenticated portal actions.","mcpTool":"picux.listPortalActions"},{"method":"GET","path":"/v1/bridge/portal/actions/{portalActionId}","opId":"getPortalAction","tag":"bridge","desc":"Fetch an authenticated portal action.","mcpTool":"picux.getPortalAction"},{"method":"GET","path":"/v1/bridge/portal/templates","opId":"listPortalActionTemplates","tag":"bridge","desc":"List reusable authenticated portal action templates.","mcpTool":"picux.listPortalActionTemplates"},{"method":"GET","path":"/v1/bridge/portal/templates/{templateId}","opId":"getPortalActionTemplate","tag":"bridge","desc":"Fetch a reusable authenticated portal action template.","mcpTool":"picux.getPortalActionTemplate"},{"method":"GET","path":"/v1/bridge/portal/playbooks","opId":"listPortalPlaybooks","tag":"bridge","desc":"List merchant, carrier, and utility portal recovery playbooks.","mcpTool":"picux.listPortalPlaybooks"},{"method":"GET","path":"/v1/bridge/portal/playbooks/{playbookId}","opId":"getPortalPlaybook","tag":"bridge","desc":"Fetch a portal recovery playbook.","mcpTool":"picux.getPortalPlaybook"},{"method":"POST","path":"/v1/bridge/portal/playbooks/{playbookId}/instantiate","opId":"instantiatePortalPlaybook","tag":"bridge","desc":"Instantiate a portal recovery playbook into queued portal actions.","mcpTool":"picux.instantiatePortalPlaybook"},{"method":"POST","path":"/v1/bridge/portal/actions/{portalActionId}/run","opId":"runPortalAction","tag":"bridge","desc":"Run an authenticated portal action through the PortalBrowser tool.","mcpTool":"picux.runPortalAction"},{"method":"POST","path":"/v1/bridge/connectors/match","opId":"matchConnectors","tag":"bridge","desc":"Match BRIDGE connectors by capability and credential scope.","mcpTool":"picux.matchConnectors"},{"method":"POST","path":"/v1/bridge/connectors/{connectorId}/preflight","opId":"preflightConnector","tag":"bridge","desc":"Preflight a BRIDGE connector action with policy, scope, and secret checks.","mcpTool":"picux.preflightConnector"},{"method":"POST","path":"/v1/bridge/connectors/{connectorId}/update","opId":"updateConnector","tag":"bridge","desc":"Update BRIDGE connector status or scope metadata.","mcpTool":"picux.updateConnector"}],"schemaId":["bridgeConnector","bridgeConnectionSession","bridgePreflight","credentialScope","providerAction","providerCallback","portalSession","portalSessionPreflight","portalAction","portalActionTemplate","portalPlaybook","portalStep","portalProof","a2aEnvelope","a2aEnvelopeRecord"],"mcpTool":["picux.listConnectors","picux.listReadyConnectors","picux.getConnector","picux.registerConnector","picux.installReadyConnectors","picux.createBridgeConnectionSession","picux.listBridgeConnectionSessions","picux.getBridgeConnectionSession","picux.revokeBridgeConnectionSession","picux.createBridgeAction","picux.listBridgeActions","picux.getBridgeAction","picux.updateBridgeAction","picux.runBridgeAction","picux.createPortalSession","picux.listPortalSessions","picux.getPortalSession","picux.preflightPortalSession","picux.createPortalAction","picux.listPortalActions","picux.getPortalAction","picux.listPortalActionTemplates","picux.getPortalActionTemplate","picux.listPortalPlaybooks","picux.getPortalPlaybook","picux.instantiatePortalPlaybook","picux.runPortalAction","picux.matchConnectors","picux.preflightConnector","picux.updateConnector"],"sdkHelper":["PicuxClient.registerConnector","PicuxClient.createBridgeConnectionSession","PicuxClient.matchConnectors","PicuxClient.preflightConnector","PicuxClient.preflightConnectorPaid","PicuxClient.createBridgeAction","PicuxClient.runBridgeAction","PicuxClient.updateBridgeAction","PicuxClient.createPortalSession","PicuxClient.preflightPortalSession","PicuxClient.listPortalActionTemplates","PicuxClient.getPortalActionTemplate","PicuxClient.listPortalPlaybooks","PicuxClient.getPortalPlaybook","PicuxClient.instantiatePortalPlaybook","PicuxClient.runPortalAction"],"guide":"docs/developers/bridge-connectors.md","policy":{"required":true,"actions":["bridge.<action>"],"resource":"payload.resource or connector scope resource"},"painPoint":[],"outcome":[],"adoptionBlocker":[],"enhancement":[],"proofPack":"","reviewProtocol":""},{"name":"channels","description":"Durable conversation state across email, chat, messaging apps, telephony, CRM callbacks, and adapter actions.","route":[{"method":"POST","path":"/v1/channels/threads","opId":"createChannelThread","tag":"channels","desc":"Create or upsert a durable cross-channel conversation thread.","mcpTool":"picux.createChannelThread"},{"method":"GET","path":"/v1/channels/threads","opId":"listChannelThreads","tag":"channels","desc":"List durable cross-channel conversation threads.","mcpTool":"picux.listChannelThreads"},{"method":"GET","path":"/v1/channels/threads/{threadId}","opId":"getChannelThread","tag":"channels","desc":"Fetch a durable cross-channel conversation thread.","mcpTool":"picux.getChannelThread"},{"method":"GET","path":"/v1/channels/threads/{threadId}/timeline","opId":"channelThreadTimeline","tag":"channels","desc":"Fetch a unified channel thread timeline across touchpoints, provider actions, and callbacks.","mcpTool":"picux.channelThreadTimeline"},{"method":"POST","path":"/v1/channels/touchpoints","opId":"recordTouchpoint","tag":"channels","desc":"Record an inbound, outbound, or internal touchpoint on a channel thread.","mcpTool":"picux.recordTouchpoint"},{"method":"GET","path":"/v1/channels/touchpoints","opId":"listTouchpoints","tag":"channels","desc":"List channel touchpoints by thread, case, conversation, provider, or status.","mcpTool":"picux.listTouchpoints"},{"method":"GET","path":"/v1/channels/touchpoints/{touchpointId}","opId":"getTouchpoint","tag":"channels","desc":"Fetch a channel touchpoint.","mcpTool":"picux.getTouchpoint"},{"method":"POST","path":"/v1/channels/callbacks","opId":"ingestProviderCallback","tag":"channels","desc":"Ingest a provider callback and reconcile it into channel state.","mcpTool":"picux.ingestProviderCallback"},{"method":"GET","path":"/v1/channels/callbacks","opId":"listProviderCallbacks","tag":"channels","desc":"List normalized provider callbacks.","mcpTool":"picux.listProviderCallbacks"}],"schemaId":["channelThread","channelTimeline","touchpoint","providerAction","providerCallback","providerCaseSync","channelState"],"mcpTool":["picux.createChannelThread","picux.listChannelThreads","picux.getChannelThread","picux.channelThreadTimeline","picux.recordTouchpoint","picux.listTouchpoints","picux.getTouchpoint","picux.ingestProviderCallback","picux.listProviderCallbacks"],"sdkHelper":["PicuxClient.createChannelThread","PicuxClient.channelThreadTimeline","PicuxClient.recordTouchpoint","PicuxClient.ingestProviderCallback","PicuxClient.listTouchpoints"],"guide":"docs/developers/channelGuide.md","policy":{"required":false,"actions":[],"resource":""},"painPoint":["Conversation state fragmented across email, chat, calls, CRM records, and webhooks.","Provider callbacks need to resume the correct Picux conversation and case.","Developers need inspectable inbound/outbound traces for every channel touchpoint."],"outcome":["Provider callbacks reconcile into one channel thread.","Touchpoints can be exported into case evidence bundles."],"adoptionBlocker":["Deep integrations become hard to trust when provider IDs are not source-bound."],"enhancement":["C","h","a","n","n","e","l"," ","t","h","r","e","a","d","s"," ","b","i","n","d"," ","p","r","o","v","i","d","e","r"," ","t","h","r","e","a","d"," ","I","D","s",","," ","P","i","c","u","x"," ","c","o","n","v","e","r","s","a","t","i","o","n"," ","I","D","s",","," ","c","a","s","e"," ","I","D","s",","," ","a","n","d"," ","p","r","o","o","f"," ","a","r","t","i","f","a","c","t","s","."],"proofPack":"Touchpoints become evidence-ready source records for Resolve and Proxy case workspaces.","reviewProtocol":""},{"name":"cases","description":"Formal dispute and audit workspaces with stakeholders, deadlines, timelines, evidence refs, collaboration, and portable bundle exports.","route":[{"method":"GET","path":"/v1/cases","opId":"listCases","tag":"cases","desc":"List formal Picux case workspaces.","mcpTool":"picux.listCases"},{"method":"POST","path":"/v1/cases","opId":"createCase","tag":"cases","desc":"Create or upsert a formal Picux case workspace.","mcpTool":"picux.createCase"},{"method":"GET","path":"/v1/cases/{caseId}","opId":"getCase","tag":"cases","desc":"Fetch a formal Picux case workspace.","mcpTool":"picux.getCase"},{"method":"POST","path":"/v1/cases/{caseId}/update","opId":"updateCase","tag":"cases","desc":"Update case workspace status, metadata, or collaboration state.","mcpTool":"picux.updateCase"},{"method":"POST","path":"/v1/cases/{caseId}/stakeholders","opId":"addCaseStakeholder","tag":"cases","desc":"Add a stakeholder to a case workspace.","mcpTool":"picux.addCaseStakeholder"},{"method":"POST","path":"/v1/cases/{caseId}/deadlines","opId":"addCaseDeadline","tag":"cases","desc":"Add a deadline to a case workspace.","mcpTool":"picux.addCaseDeadline"},{"method":"POST","path":"/v1/cases/{caseId}/deadlines/review","opId":"reviewCaseDeadlines","tag":"cases","desc":"Review case deadlines and mark overdue open deadlines as missed.","mcpTool":"picux.reviewCaseDeadlines"},{"method":"POST","path":"/v1/cases/{caseId}/actions","opId":"addCaseAction","tag":"cases","desc":"Add a stakeholder-oriented action item to a case workspace.","mcpTool":"picux.addCaseAction"},{"method":"GET","path":"/v1/cases/{caseId}/actions","opId":"listCaseActions","tag":"cases","desc":"List stakeholder-oriented action items for a case workspace.","mcpTool":"picux.listCaseActions"},{"method":"POST","path":"/v1/cases/{caseId}/actions/{actionId}/update","opId":"updateCaseAction","tag":"cases","desc":"Update a case action item status, owner, due date, or refs.","mcpTool":"picux.updateCaseAction"},{"method":"POST","path":"/v1/cases/{caseId}/events","opId":"addCaseEvent","tag":"cases","desc":"Append a status timeline event to a case workspace.","mcpTool":"picux.addCaseEvent"},{"method":"GET","path":"/v1/cases/{caseId}/timeline","opId":"caseTimeline","tag":"cases","desc":"Fetch a case workspace status timeline.","mcpTool":"picux.caseTimeline"},{"method":"POST","path":"/v1/cases/{caseId}/evidence","opId":"addCaseEvidence","tag":"cases","desc":"Attach evidence references to a case workspace.","mcpTool":"picux.addCaseEvidence"},{"method":"POST","path":"/v1/cases/{caseId}/notes","opId":"addCaseNote","tag":"cases","desc":"Add a collaboration note to a case workspace.","mcpTool":"picux.addCaseNote"},{"method":"GET","path":"/v1/cases/{caseId}/notes","opId":"listCaseNotes","tag":"cases","desc":"List collaboration notes for a case workspace.","mcpTool":"picux.listCaseNotes"},{"method":"POST","path":"/v1/cases/{caseId}/export","opId":"exportCaseBundle","tag":"cases","desc":"Export a portable evidence bundle for a case workspace.","mcpTool":"picux.exportCaseBundle"},{"method":"POST","path":"/v1/cases/ops/review","opId":"reviewCaseOps","tag":"cases","desc":"Review team work queues, SLA risk, and enterprise admin controls across cases.","mcpTool":"picux.reviewCaseOps"}],"schemaId":["caseWorkspace","caseStakeholder","caseDeadline","caseAction","caseEvent","caseNote","caseBundleDocument","evidenceBundle","proofPack","touchpoint"],"mcpTool":["picux.listCases","picux.createCase","picux.getCase","picux.updateCase","picux.addCaseStakeholder","picux.addCaseDeadline","picux.reviewCaseDeadlines","picux.addCaseAction","picux.listCaseActions","picux.updateCaseAction","picux.addCaseEvent","picux.caseTimeline","picux.addCaseEvidence","picux.addCaseNote","picux.listCaseNotes","picux.exportCaseBundle","picux.reviewCaseOps"],"sdkHelper":["PicuxClient.createCase","PicuxClient.addCaseStakeholder","PicuxClient.addCaseDeadline","PicuxClient.reviewCaseDeadlines","PicuxClient.addCaseAction","PicuxClient.listCaseActions","PicuxClient.updateCaseAction","PicuxClient.addCaseNote","PicuxClient.listCaseNotes","PicuxClient.addCaseEvidence","PicuxClient.exportCaseBundle","PicuxClient.reviewCaseOps"],"guide":"docs/developers/caseGuide.md","policy":{"required":false,"actions":[],"resource":""},"painPoint":["Complex disputes scatter evidence across documents, calls, chats, and provider portals.","Deadlines and stakeholder accountability are easy to lose in automation-only logs.","Operators need a shareable record that can defend the outcome later."],"outcome":["Portable case file.","Deadline-aware status timeline.","Stakeholder collaboration record."],"adoptionBlocker":["Evidence-rich users need exportable proof, not just internal logs."],"enhancement":["E","v","e","r","y"," ","R","e","s","o","l","v","e"," ","o","r"," ","P","r","o","x","y"," ","w","o","r","k","f","l","o","w"," ","c","a","n"," ","a","t","t","a","c","h"," ","t","o"," ","a"," ","c","a","s","e"," ","w","o","r","k","s","p","a","c","e"," ","a","n","d"," ","e","x","p","o","r","t"," ","a","n"," ","e","v","i","d","e","n","c","e"," ","b","u","n","d","l","e","."],"proofPack":"Case exports turn touchpoints, proof packs, deadlines, and decisions into a portable case file.","reviewProtocol":""},{"name":"workflows","description":"Use-case-first templates and proof-led demos that keep HUNT, RESOLVE, and BRIDGE legible.","route":[{"method":"GET","path":"/v1/workflows/templates","opId":"listWorkflowTemplates","tag":"workflows","desc":"List Picux flagship workflow templates.","mcpTool":"picux.listWorkflowTemplates"},{"method":"GET","path":"/v1/workflows/templates/{templateId}","opId":"getWorkflowTemplate","tag":"workflows","desc":"Fetch a Picux workflow template.","mcpTool":"picux.getWorkflowTemplate"},{"method":"POST","path":"/v1/workflows/templates/{templateId}/run","opId":"runWorkflowTemplate","tag":"workflows","desc":"Run a Picux workflow template.","mcpTool":"picux.runWorkflowTemplate"},{"method":"GET","path":"/v1/workflows/demos","opId":"listWorkflowDemos","tag":"workflows","desc":"List proof-led public demo workflows.","mcpTool":"picux.listWorkflowDemos"},{"method":"GET","path":"/v1/workflows/demos/{demoId}","opId":"getWorkflowDemo","tag":"workflows","desc":"Fetch a proof-led public demo workflow.","mcpTool":"picux.getWorkflowDemo"},{"method":"POST","path":"/v1/workflows/demos/{demoId}/run","opId":"runWorkflowDemo","tag":"workflows","desc":"Run a proof-led workflow demo.","mcpTool":"picux.runWorkflowDemo"}],"schemaId":["workflowTemplate","proofPack","proofCard","caseWorkspace"],"mcpTool":["picux.listWorkflowTemplates","picux.getWorkflowTemplate","picux.runWorkflowTemplate","picux.listWorkflowDemos","picux.getWorkflowDemo","picux.runWorkflowDemo"],"sdkHelper":["PicuxClient.listWorkflowTemplates","PicuxClient.getWorkflowTemplate","PicuxClient.runWorkflowTemplate","PicuxClient.listWorkflowDemos","PicuxClient.getWorkflowDemo","PicuxClient.runWorkflowDemo"],"guide":"docs/developers/workflows.md","policy":{"required":false,"actions":[],"resource":""},"painPoint":["The category can feel too abstract without one sharp use case.","Proof of real-world outcomes needs demoable, source-bound scenarios."],"outcome":["HUNT to RESOLVE to BRIDGE public-process demo.","Vault-backed proof card and case bundle."],"adoptionBlocker":["Universal multi-agent language can hide the concrete workflow value."],"enhancement":["Proof-led public demos show deadline-sensitive navigation end-to-end."],"proofPack":"Workflow demos end with source snapshots, verdicts, compliance checks, and a portable case file.","reviewProtocol":""},{"name":"pay","description":"Payment-as-auth challenges, bounded sessions, mandates, escrow records, receipts, and adapter contracts.","route":[{"method":"GET","path":"/v1/pay/rails","opId":"listPayRails","tag":"pay","desc":"List Picux PAY machine-payment rails.","mcpTool":"picux.listPayRails"},{"method":"GET","path":"/v1/pay/rails/{railId}","opId":"getPayRail","tag":"pay","desc":"Fetch a Picux PAY machine-payment rail.","mcpTool":"picux.getPayRail"},{"method":"POST","path":"/v1/pay/challenges","opId":"createPaymentChallenge","tag":"pay","desc":"Create a machine-payment challenge for a protected resource.","mcpTool":"picux.createPaymentChallenge"},{"method":"POST","path":"/v1/pay/challenges/{challengeId}/verify","opId":"verifyPaymentChallenge","tag":"pay","desc":"Verify a machine-payment credential for a PAY challenge.","mcpTool":"picux.verifyPaymentChallenge"},{"method":"POST","path":"/v1/pay/sessions","opId":"createPaymentSession","tag":"pay","desc":"Create a bounded machine-payment session.","mcpTool":"picux.createPaymentSession"},{"method":"POST","path":"/v1/pay/sessions/{sessionId}/authorize","opId":"authorizePaymentSession","tag":"pay","desc":"Authorize a machine-payment session.","mcpTool":"picux.authorizePaymentSession"},{"method":"POST","path":"/v1/pay/sessions/{sessionId}/consume","opId":"consumePaymentSession","tag":"pay","desc":"Record usage against a machine-payment session.","mcpTool":"picux.consumePaymentSession"},{"method":"POST","path":"/v1/pay/sessions/{sessionId}/close","opId":"closePaymentSession","tag":"pay","desc":"Close a machine-payment session.","mcpTool":"picux.closePaymentSession"},{"method":"POST","path":"/v1/pay/local/resources/{resourceId}","opId":"runLocalPaidResource","tag":"pay","desc":"Run a local paid resource through the Picux PAY 402 loop.","mcpTool":"picux.runLocalPaidResource"},{"method":"POST","path":"/v1/pay/escrows","opId":"createEscrow","tag":"pay","desc":"Create a Picux PAY escrow.","mcpTool":"picux.createEscrow"},{"method":"GET","path":"/v1/pay/escrows","opId":"listEscrows","tag":"pay","desc":"List Picux PAY escrow records.","mcpTool":"picux.listEscrows"},{"method":"GET","path":"/v1/pay/escrows/{escrowId}","opId":"getEscrow","tag":"pay","desc":"Fetch a Picux PAY escrow record.","mcpTool":"picux.getEscrow"},{"method":"POST","path":"/v1/pay/escrows/{escrowId}/update","opId":"updateEscrow","tag":"pay","desc":"Update a Picux PAY escrow record.","mcpTool":"picux.updateEscrow"},{"method":"POST","path":"/v1/pay/escrows/{escrowId}/fund","opId":"fundEscrow","tag":"pay","desc":"Mark a Picux PAY escrow as funded.","mcpTool":"picux.fundEscrow"},{"method":"POST","path":"/v1/pay/escrows/{escrowId}/proof","opId":"submitEscrowProof","tag":"pay","desc":"Attach proof-of-utility evidence to a Picux PAY escrow.","mcpTool":"picux.submitEscrowProof"},{"method":"POST","path":"/v1/pay/escrows/{escrowId}/settle","opId":"settleEscrow","tag":"pay","desc":"Settle a Picux PAY escrow after proof verification.","mcpTool":"picux.settleEscrow"},{"method":"POST","path":"/v1/pay/escrows/{escrowId}/refund","opId":"refundEscrow","tag":"pay","desc":"Refund a Picux PAY escrow.","mcpTool":"picux.refundEscrow"},{"method":"POST","path":"/v1/pay/escrows/{escrowId}/dispute","opId":"disputeEscrow","tag":"pay","desc":"Open a dispute against a Picux PAY escrow.","mcpTool":"picux.disputeEscrow"},{"method":"GET","path":"/v1/pay/adapters/contract","opId":"settlementAdapterContract","tag":"pay","desc":"Return the Picux PAY settlement adapter contract.","mcpTool":"picux.settlementAdapterContract"},{"method":"GET","path":"/v1/pay/adapters","opId":"listPayAdapters","tag":"pay","desc":"List Picux PAY rail adapter scaffolds.","mcpTool":"picux.listPayAdapters"},{"method":"GET","path":"/v1/pay/adapters/{adapterId}","opId":"getPayAdapter","tag":"pay","desc":"Fetch a Picux PAY rail adapter scaffold.","mcpTool":"picux.getPayAdapter"},{"method":"POST","path":"/v1/pay/adapters/{adapterId}/invoke","opId":"invokePayAdapter","tag":"pay","desc":"Invoke a concrete Picux PAY rail adapter action.","mcpTool":"picux.invokePayAdapter"},{"method":"GET","path":"/v1/pay/reputation","opId":"listReputationCards","tag":"pay","desc":"List PAY reputation cards.","mcpTool":"picux.listReputationCards"},{"method":"GET","path":"/v1/pay/reputation/{cardId}","opId":"getReputationCard","tag":"pay","desc":"Fetch a PAY reputation card.","mcpTool":"picux.getReputationCard"},{"method":"POST","path":"/v1/pay/reputation","opId":"updateReputationCard","tag":"pay","desc":"Update a PAY reputation card.","mcpTool":"picux.updateReputationCard"},{"method":"POST","path":"/v1/pay/prepare","opId":"prepareSettlement","tag":"pay","desc":"Prepare a PAY settlement instruction for an external adapter.","mcpTool":"picux.prepareSettlement"},{"method":"POST","path":"/v1/pay/settle","opId":"settle","tag":"pay","desc":"Settle a Picux PAY request.","mcpTool":"picux.settle"},{"method":"GET","path":"/v1/receipts","opId":"listReceipts","tag":"pay","desc":"List settlement receipts.","mcpTool":"picux.listReceipts"},{"method":"GET","path":"/v1/receipts/{receiptId}","opId":"getReceipt","tag":"pay","desc":"Fetch a settlement receipt.","mcpTool":"picux.getReceipt"}],"schemaId":["payRail","paymentChallenge","paymentCredential","paymentSession","usageMandate","procurementMandate","paymentMandate","mandateRecord","escrowMission","disputeCase","reputationCard","settlementAdapter","settlementInstruction","escrowRecord","settlementReceipt"],"mcpTool":["picux.listPayRails","picux.getPayRail","picux.createPaymentChallenge","picux.verifyPaymentChallenge","picux.createPaymentSession","picux.authorizePaymentSession","picux.consumePaymentSession","picux.closePaymentSession","picux.runLocalPaidResource","picux.createEscrow","picux.listEscrows","picux.getEscrow","picux.updateEscrow","picux.fundEscrow","picux.submitEscrowProof","picux.settleEscrow","picux.refundEscrow","picux.disputeEscrow","picux.settlementAdapterContract","picux.listPayAdapters","picux.getPayAdapter","picux.invokePayAdapter","picux.listReputationCards","picux.getReputationCard","picux.updateReputationCard","picux.prepareSettlement","picux.settle","picux.listReceipts","picux.getReceipt"],"sdkHelper":["PicuxClient.listPayRails","PicuxClient.listPayAdapters","PicuxClient.getPayAdapter","PicuxClient.invokePayAdapter","PicuxClient.initEscrowMission","PicuxClient.settleEscrowMission","PicuxClient.abortEscrowMission","PicuxClient.listReputationCards","PicuxClient.updateReputationCard","PicuxClient.createPaymentChallenge","PicuxClient.verifyPaymentChallenge","PicuxClient.createPaymentSession","PicuxClient.consumePaymentSession","PicuxClient.localPaymentCredential","PicuxClient.payFetch","PicuxClient.createMandate","PicuxClient.fundEscrow","PicuxClient.submitEscrowProof","PicuxClient.settleEscrow","PicuxClient.refundEscrow","PicuxClient.disputeEscrow","PicuxClient.prepareSettlement","PicuxClient.settle"],"guide":"docs/developers/pay-guide.md","policy":{"required":true,"actions":["pay.challenge","pay.session","pay.adapter","pay.prepare","pay.settle"],"resource":"escrow:<escrowId> or mandate:<mandateId>"},"painPoint":["API-key and account setup friction for machine-to-machine resource use.","High-frequency microtransactions that are too small for human-centric billing.","Irreversible autonomous purchases that need proof-gated settlement and dispute paths."],"outcome":["Payment-authenticated resource access.","Bounded spending sessions.","Proof-backed receipts and escrow gates."],"adoptionBlocker":["Agent spending needs clear limits before developers and users trust it."],"enhancement":["PAY v2 adds 402 challenges, usage mandates, MPP sessions, escrow missions, and reputation cards."],"proofPack":"PAY receipts and escrow outcomes link payment, mandate, proof artifact, and settlement status.","reviewProtocol":"Tier 3 spending and disputed settlements suspend into PROXY for explicit human arbitration."},{"name":"proxy","description":"Human intervention for oversight, physical logistics, subjective judgment, proof, and Resolve resume.","route":[{"method":"GET","path":"/v1/proxy/missions","opId":"listProxyMissions","tag":"proxy","desc":"List PROXY human-in-the-loop missions.","mcpTool":"picux.listProxyMissions"},{"method":"GET","path":"/v1/proxy/missions/{proxyId}","opId":"getProxyMission","tag":"proxy","desc":"Fetch a PROXY human-in-the-loop mission.","mcpTool":"picux.proxyGet"},{"method":"POST","path":"/v1/proxy/missions","opId":"createProxyMission","tag":"proxy","desc":"Request human intervention and suspend RESOLVE until PROXY returns an outcome.","mcpTool":"picux.proxyRequest"},{"method":"POST","path":"/v1/proxy/missions/{proxyId}/outcome","opId":"submitProxyMissionOutcome","tag":"proxy","desc":"Submit a PROXY outcome for a known mission.","mcpTool":"picux.proxySubmitMissionOutcome"},{"method":"POST","path":"/v1/proxy/outcomes","opId":"submitProxyOutcome","tag":"proxy","desc":"Submit a PROXY outcome by proxy, request, provider, or connector callback reference.","mcpTool":"picux.proxySubmitOutcome"}],"schemaId":["proxyMission","proxyBrief","proxyOutcome","proxyProof","proxyRoute","channelMsg","voiceCall","caseOpsTimeline","proofPack","proofCard","workflowTemplate"],"mcpTool":["picux.listProxyMissions","picux.proxyGet","picux.proxyRequest","picux.proxySubmitMissionOutcome","picux.proxySubmitOutcome"],"sdkHelper":["ExternalAppClient.requestProxy","ExternalAppClient.submitProxy","PicuxClient.createProxyMission","PicuxClient.submitProxyOutcomeByRef","PicuxClient.createProofPack","PicuxClient.runWorkflowTemplate"],"guide":"docs/developers/proxy-guide.md","policy":{"required":true,"actions":["proxy.request","proxy.submit"],"resource":"explicit resource, proxy:<proxyId>, task:<taskId>, or proxy:missions"},"painPoint":["Human logistics coordination across multiple actors, documents, and status changes.","Escalations to consultants, legal review, or document verification.","Voice, chat, and physical proof collection before Resolve or PAY can continue."],"outcome":["Suspend/resume mission state.","Verified human outcome proof.","Shareable workflow proof pack."],"adoptionBlocker":["Trust-sensitive users may worry about automation making the wrong call."],"enhancement":["Human review routes make low-confidence claims explicit instead of hidden in agent output."],"proofPack":"Every completed PROXY workflow can emit a shareable proof pack for operators and reviewers.","reviewProtocol":"PROXY is the default misinformationEscalation route for human review and mission-critical ambiguity."},{"name":"security","description":"Policy, secret-reference checks, and outreach compliance gates for lawful, auditable execution.","route":[{"method":"POST","path":"/v1/security/policy/evaluate","opId":"evaluatePolicy","tag":"security","desc":"Evaluate mandate-session and capability-grant policy.","mcpTool":"picux.evaluatePolicy"},{"method":"POST","path":"/v1/compliance/outreach/evaluate","opId":"evaluateOutreachCompliance","tag":"security","desc":"Evaluate lawful basis, consent, suppression, and auditability before outreach.","mcpTool":"picux.evaluateOutreachCompliance"},{"method":"POST","path":"/v1/security/secrets/check","opId":"checkSecrets","tag":"security","desc":"Validate scoped secret references without exposing secret values.","mcpTool":"picux.checkSecrets"}],"schemaId":["policyDecision","secretCheck"],"mcpTool":["picux.evaluatePolicy","picux.evaluateOutreachCompliance","picux.checkSecrets"],"sdkHelper":["PicuxClient.evaluatePolicy","PicuxClient.evaluateOutreachCompliance","PicuxClient.checkSecrets"],"guide":"docs/developers/security.md","policy":{"required":true,"actions":["security.policy","compliance.outreach"],"resource":"session, grant, connector, or outreach recipient"},"painPoint":["Outreach needs lawful basis, consent, suppression, and auditability before execution.","Enterprise teams need compliance controls visible in Bridge and case operations."],"outcome":["Fail-closed policy decisions.","Compliance-gated outreach preflight.","Redacted secret checks."],"adoptionBlocker":["Trust-sensitive workflows stall when compliance is hidden from operators."],"enhancement":["Native outreach compliance checks run before Bridge outreach or public-process demo handoff."],"proofPack":"Compliance events become source-bound records in the case and protocol event trail.","reviewProtocol":""},{"name":"sandbox","description":"Developer test client for the Patchr Orchestrator plus deterministic benchmark traces.","route":[{"method":"POST","path":"/v1/sandbox/midnight-arbitrage","opId":"runSandbox","tag":"sandbox","desc":"Run the deterministic Midnight Arbitrage sandbox.","mcpTool":"picux.runSandbox"},{"method":"POST","path":"/v1/orchestrator/run","opId":"runOrchestrator","tag":"orchestrator","desc":"Run Picux orchestration across HUNT, RESOLVE, BRIDGE, PROXY, and PAY from a user request.","mcpTool":"picux.runOrchestrator"}],"schemaId":["sandboxRun"],"mcpTool":["picux.runSandbox","picux.runOrchestrator"],"sdkHelper":["PicuxClient.runSandbox","PicuxClient.runOrchestrator","PicuxClient.streamOrchestrator"],"guide":"docs/developers/getting-started.md"},{"name":"benchmarks","description":"Local measured evidence and public-claim labels.","route":[{"method":"POST","path":"/v1/benchmarks/local","opId":"runBenchmark","tag":"benchmarks","desc":"Run local protocol benchmark evidence.","mcpTool":"picux.runBenchmark"}],"schemaId":["benchmarkReport"],"mcpTool":["picux.runBenchmark"],"sdkHelper":["PicuxClient.runBenchmark"],"guide":"docs/developers/benchmarks.md"}],"digest":"sha256:609e89248bc5d9072b8ea2479d5cc3120b2cf292b97c3ecb3ca32cd643c12544"}