Complete snapshot of /opt/microdao-daarion/ from NODE1 (144.76.224.179).
This represents the actual running production code that has diverged
significantly from the previous main branch.
Key changes from old main:
- Gateway (http_api.py): expanded from ~40KB to 164KB with full agent support
- Router: new /v1/agents/{id}/infer endpoint with vision + DeepSeek routing
- Behavior Policy: SOWA v2.2 (3-level: FULL/ACK/SILENT)
- Agent Registry: config/agent_registry.yml as single source of truth
- 13 agents configured (was 3)
- Memory service integration
- CrewAI teams and roles
Excluded from snapshot: venv/, .env, data/, backups, .tgz archives
Co-authored-by: Cursor <cursoragent@cursor.com>
2166 lines
110 KiB
HTML
2166 lines
110 KiB
HTML
|
||
<!doctype html>
|
||
<html lang="en" class="no-js">
|
||
<head>
|
||
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
|
||
|
||
|
||
<link rel="canonical" href="https://IvanTytar.github.io/microdao-daarion/api/">
|
||
|
||
|
||
|
||
|
||
<link rel="icon" href="../assets/images/favicon.png">
|
||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||
|
||
|
||
|
||
<title>API Reference — DAARION.city & MicroDAO - DAARION Documentation</title>
|
||
|
||
|
||
|
||
<link rel="stylesheet" href="../assets/stylesheets/main.66ac8b77.min.css">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
|
||
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
|
||
|
||
|
||
|
||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</head>
|
||
|
||
|
||
<body dir="ltr">
|
||
|
||
|
||
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
||
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
||
<label class="md-overlay" for="__drawer"></label>
|
||
<div data-md-component="skip">
|
||
|
||
|
||
<a href="#api-reference-daarioncity-microdao" class="md-skip">
|
||
Skip to content
|
||
</a>
|
||
|
||
</div>
|
||
<div data-md-component="announce">
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<header class="md-header md-header--shadow" data-md-component="header">
|
||
<nav class="md-header__inner md-grid" aria-label="Header">
|
||
<a href=".." title="DAARION Documentation" class="md-header__button md-logo" aria-label="DAARION Documentation" data-md-component="logo">
|
||
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
|
||
|
||
</a>
|
||
<label class="md-header__button md-icon" for="__drawer">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
|
||
</label>
|
||
<div class="md-header__title" data-md-component="header-title">
|
||
<div class="md-header__ellipsis">
|
||
<div class="md-header__topic">
|
||
<span class="md-ellipsis">
|
||
DAARION Documentation
|
||
</span>
|
||
</div>
|
||
<div class="md-header__topic" data-md-component="header-topic">
|
||
<span class="md-ellipsis">
|
||
|
||
API Reference — DAARION.city & MicroDAO
|
||
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
||
|
||
|
||
|
||
<label class="md-header__button md-icon" for="__search">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
||
</label>
|
||
<div class="md-search" data-md-component="search" role="dialog">
|
||
<label class="md-search__overlay" for="__search"></label>
|
||
<div class="md-search__inner" role="search">
|
||
<form class="md-search__form" name="search">
|
||
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
||
<label class="md-search__icon md-icon" for="__search">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
|
||
</label>
|
||
<nav class="md-search__options" aria-label="Search">
|
||
|
||
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||
</button>
|
||
</nav>
|
||
|
||
</form>
|
||
<div class="md-search__output">
|
||
<div class="md-search__scrollwrap" data-md-scrollfix>
|
||
<div class="md-search-result" data-md-component="search-result">
|
||
<div class="md-search-result__meta">
|
||
Initializing search
|
||
</div>
|
||
<ol class="md-search-result__list" role="presentation"></ol>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
</nav>
|
||
|
||
</header>
|
||
|
||
<div class="md-container" data-md-component="container">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<main class="md-main" data-md-component="main">
|
||
<div class="md-main__inner md-grid">
|
||
|
||
|
||
|
||
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
||
<div class="md-sidebar__scrollwrap">
|
||
<div class="md-sidebar__inner">
|
||
|
||
|
||
|
||
|
||
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
|
||
<label class="md-nav__title" for="__drawer">
|
||
<a href=".." title="DAARION Documentation" class="md-nav__button md-logo" aria-label="DAARION Documentation" data-md-component="logo">
|
||
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
|
||
|
||
</a>
|
||
DAARION Documentation
|
||
</label>
|
||
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../public/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Home
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../public/getting-started/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Getting Started
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../public/architecture-overview/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Architecture
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../public/daiS_daos_overview/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
DAIS & DAOS
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
|
||
|
||
|
||
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Internal
|
||
</span>
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_5">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
Internal
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--nested">
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_1" >
|
||
|
||
|
||
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Infra
|
||
</span>
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_5_1">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
Infra
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../internal/infra/INFRA_AUTOMATION_PACK_V1/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Infra Automation Pack v1
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../internal/infra/monitoring_overview/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Monitoring Overview
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../internal/infra/nodes_registry_v0/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Nodes Registry v0
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--nested">
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_2" >
|
||
|
||
|
||
<label class="md-nav__link" for="__nav_5_2" id="__nav_5_2_label" tabindex="0">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Specs
|
||
</span>
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_2_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_5_2">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
Specs
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../internal/specs/matrix_presence_aggregator/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Matrix Presence Aggregator
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../internal/specs/city_map_spec/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
City Map Spec
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../internal/specs/node_join_protocol_draft/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Node Join Protocol (Draft)
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
||
<div class="md-sidebar__scrollwrap">
|
||
<div class="md-sidebar__inner">
|
||
|
||
|
||
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<label class="md-nav__title" for="__toc">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
Table of contents
|
||
</label>
|
||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#1-overview" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
1. Overview
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#2-wallet-api" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
2. Wallet API
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="2. Wallet API">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#21-get-balances" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
2.1 Get Balances
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#22-check-token-eligibility" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
2.2 Check Token Eligibility
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#23-stake-tokens" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
2.3 Stake Tokens
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#24-get-payouts" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
2.4 Get Payouts
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#25-claim-payout" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
2.5 Claim Payout
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#3-daofactory-api" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
3. DAOFactory API
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="3. DAOFactory API">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#31-create-microdao" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
3.1 Create MicroDAO
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#32-mint-gov-token" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
3.2 Mint GOV Token
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#33-mint-util-token" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
3.3 Mint UTIL Token
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#34-mint-rep-token" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
3.4 Mint REP Token
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#4-registry-api" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
4. Registry API
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="4. Registry API">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#41-register-dao-in-registry" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
4.1 Register DAO in Registry
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#42-register-agent" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
4.2 Register Agent
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#43-register-platform-a2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
4.3 Register Platform (A2)
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#5-vendorplatform-registration-api" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
5. Vendor/Platform Registration API
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="5. Vendor/Platform Registration API">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#51-register-vendor" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
5.1 Register Vendor
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#52-get-platform-info" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
5.2 Get Platform Info
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#6-token-gated-access-api" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
6. Token-Gated Access API
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="6. Token-Gated Access API">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#61-check-access" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
6.1 Check Access
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#7-public-channel-api" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
7. Public Channel API
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="7. Public Channel API">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#71-get-public-channel-info" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
7.1 Get Public Channel Info
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#72-get-public-messages" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
7.2 Get Public Messages
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#73-post-message-authenticated" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
7.3 Post Message (Authenticated)
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#74-join-public-channel" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
7.4 Join Public Channel
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#8-tokenbridge-api" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
8. TokenBridge API
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="8. TokenBridge API">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#81-exchange-util-daar" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
8.1 Exchange UTIL → DAAR
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#9-daarsales-daarionsales-api" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
9. DAARsales / DAARIONsales API
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="9. DAARsales / DAARIONsales API">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#91-buy-daar" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
9.1 Buy DAAR
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#92-exchange-daar-daarion" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
9.2 Exchange DAAR → DAARION
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#10-pdp-check-api" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
10. PDP Check API
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="10. PDP Check API">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#101-check-access-pdp" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
10.1 Check Access (PDP)
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#11-agent-runtime-router-api" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
11. Agent Runtime / Router API
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="11. Agent Runtime / Router API">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#111-run-agent" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
11.1 Run Agent
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#112-get-agent-run-status" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
11.2 Get Agent Run Status
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#113-router-invoke-daarwizz" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
11.3 Router Invoke (DAARWIZZ)
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#114-get-router-run-status" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
11.4 Get Router Run Status
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#12-system-events-api" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
12. System Events API
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="12. System Events API">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#121-subscribe-to-events-websocket" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
12.1 Subscribe to Events (WebSocket)
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#122-get-event-history" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
12.2 Get Event History
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#13-error-responses" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
13. Error Responses
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="13. Error Responses">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#standard-error-format" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Standard Error Format
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#common-error-codes" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Common Error Codes
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#14-rate-limiting" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
14. Rate Limiting
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="14. Rate Limiting">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-limits" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Global Limits
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#per-endpoint-limits" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Per-Endpoint Limits
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#15-integration-with-other-docs" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
15. Integration with Other Docs
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#16-changelog" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
16. Changelog
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="16. Changelog">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#v110-2024-11-14" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
v1.1.0 — 2024-11-14
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#v100-2024-11-14" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
v1.0.0 — 2024-11-14
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="md-content" data-md-component="content">
|
||
<article class="md-content__inner md-typeset">
|
||
|
||
|
||
|
||
|
||
<blockquote>
|
||
<p><strong>Цей документ є актуальною API специфікацією для DAARION.city & MicroDAO.</strong><br />
|
||
Повна версія API з усіма ендпоінтами. Для MVP-версії див. <code>api-mvp.md</code>.</p>
|
||
</blockquote>
|
||
<h1 id="api-reference-daarioncity-microdao">API Reference — DAARION.city & MicroDAO<a class="headerlink" href="#api-reference-daarioncity-microdao" title="Permanent link">¶</a></h1>
|
||
<p><em>Мінімальний набір MVP-ендпоінтів для інтеграції з DAARION.city</em></p>
|
||
<hr />
|
||
<h2 id="1-overview">1. Overview<a class="headerlink" href="#1-overview" title="Permanent link">¶</a></h2>
|
||
<p>Цей документ описує мінімальний набір API endpoints для:</p>
|
||
<ul>
|
||
<li><strong>Wallet Service</strong> — баланси, транзакції, staking, payouts</li>
|
||
<li><strong>DAOFactory</strong> — створення MicroDAO, емісія GOV/UTIL/REP</li>
|
||
<li><strong>Registry</strong> — реєстрація DAO, агентів, платформ</li>
|
||
<li><strong>Vendor/Platform Registration</strong> — реєстрація вендорів та платформ</li>
|
||
<li><strong>Token-Gated Access</strong> — перевірки DAAR/DAARION</li>
|
||
<li><strong>Public Channel</strong> — для інтеграції з сайтом</li>
|
||
<li><strong>PDP Check</strong> — Policy Decision Point endpoint</li>
|
||
<li><strong>Agent Runtime / Router</strong> — запуск агентів та роутера</li>
|
||
<li><strong>System Events</strong> — WebSocket підписка на події</li>
|
||
</ul>
|
||
<p><strong>Base URL:</strong> <code>https://api.microdao.xyz/v1</code></p>
|
||
<p><strong>Authentication:</strong> Bearer Token (JWT)</p>
|
||
<hr />
|
||
<h2 id="2-wallet-api">2. Wallet API<a class="headerlink" href="#2-wallet-api" title="Permanent link">¶</a></h2>
|
||
<h3 id="21-get-balances">2.1 Get Balances<a class="headerlink" href="#21-get-balances" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">GET /wallet/balances</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"balances"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
|
||
<span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"symbol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DAAR"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"100.50"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"staked"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50.00"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"symbol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DAARION"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.5"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"staked"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"symbol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"RINGK"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"staked"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="w"> </span><span class="p">]</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="22-check-token-eligibility">2.2 Check Token Eligibility<a class="headerlink" href="#22-check-token-eligibility" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">GET /wallet/eligibility?action={action}</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Query Parameters:</strong>
|
||
- <code>action</code>: <code>dao.create</code> | <code>vendor.register</code> | <code>platform.create</code></p>
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"eligible"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"reason"</span><span class="p">:</span><span class="w"> </span><span class="s2">"balance(DAAR) >= 1.00"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"required"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"DAAR"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.0</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"DAARION"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.01</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"current"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"DAAR"</span><span class="p">:</span><span class="w"> </span><span class="mf">100.50</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"DAARION"</span><span class="p">:</span><span class="w"> </span><span class="mf">2.5</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="23-stake-tokens">2.3 Stake Tokens<a class="headerlink" href="#23-stake-tokens" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /wallet/stake</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "symbol": "DAARION",</span>
|
||
<span class="err"> "amount": "1.0"</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"success"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"transaction_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tx_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"staked"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"symbol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DAARION"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"total_staked"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="24-get-payouts">2.4 Get Payouts<a class="headerlink" href="#24-get-payouts" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">GET /wallet/payouts?status={status}</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Query Parameters:</strong>
|
||
- <code>status</code>: <code>generated</code> | <code>claimed</code> | <code>failed</code></p>
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"payouts"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
|
||
<span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"p_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"symbol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"KWT"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"250.00"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"rwa_ref"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rwa_456"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"generated"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"created_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:00Z"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="w"> </span><span class="p">]</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="25-claim-payout">2.5 Claim Payout<a class="headerlink" href="#25-claim-payout" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /wallet/payouts/{payoutId}/claim</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"success"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"payout_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"p_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"claimed_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:05:00Z"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"new_balance"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"symbol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"KWT"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"250.00"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h2 id="3-daofactory-api">3. DAOFactory API<a class="headerlink" href="#3-daofactory-api" title="Permanent link">¶</a></h2>
|
||
<h3 id="31-create-microdao">3.1 Create MicroDAO<a class="headerlink" href="#31-create-microdao" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /dao/create</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "name": "My MicroDAO",</span>
|
||
<span class="err"> "type": "community", // community | personal</span>
|
||
<span class="err"> "mode": "public", // public | confidential</span>
|
||
<span class="err"> "payment_token": "DAAR" // DAAR | DAARION</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>PDP Check:</strong>
|
||
- Перевіряє <code>balance(DAAR) >= 1.00</code> або <code>balance(DAARION) >= 0.01</code>
|
||
- Списує 1 DAAR (або еквівалент в DAARION)</p>
|
||
<p><strong>Response 201:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"dao_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"dao_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"My MicroDAO"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"slug"</span><span class="p">:</span><span class="w"> </span><span class="s2">"my-microdao"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"community"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"level"</span><span class="p">:</span><span class="w"> </span><span class="s2">"A3"</span><span class="p">,</span><span class="w"> </span><span class="c1">// A3 (public) or A4 (private)</span>
|
||
<span class="w"> </span><span class="nt">"mode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"created_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:00Z"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="32-mint-gov-token">3.2 Mint GOV Token<a class="headerlink" href="#32-mint-gov-token" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /dao/{daoId}/tokens/mint</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "token_type": "GOV",</span>
|
||
<span class="err"> "amount": "1000"</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>PDP Check:</strong>
|
||
- Перевіряє <code>balance(DAAR) >= 1.00</code>
|
||
- Списує 1 DAAR</p>
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"success"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"token_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"GOV"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1000"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"transaction_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tx_456"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="33-mint-util-token">3.3 Mint UTIL Token<a class="headerlink" href="#33-mint-util-token" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /dao/{daoId}/tokens/mint</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "token_type": "UTIL",</span>
|
||
<span class="err"> "amount": "5000"</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>PDP Check:</strong>
|
||
- Перевіряє <code>balance(DAAR) >= 1.00</code>
|
||
- Списує 1 DAAR</p>
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"success"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"token_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"UTIL"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"5000"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"transaction_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tx_789"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="34-mint-rep-token">3.4 Mint REP Token<a class="headerlink" href="#34-mint-rep-token" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /dao/{daoId}/tokens/mint</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "token_type": "REP",</span>
|
||
<span class="err"> "amount": "1",</span>
|
||
<span class="err"> "recipient_id": "u_123"</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>PDP Check:</strong>
|
||
- Перевіряє <code>balance(DAAR) >= 1.00</code>
|
||
- Списує 1 DAAR</p>
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"success"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"token_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"REP"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"recipient_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"u_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"transaction_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tx_012"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h2 id="4-registry-api">4. Registry API<a class="headerlink" href="#4-registry-api" title="Permanent link">¶</a></h2>
|
||
<h3 id="41-register-dao-in-registry">4.1 Register DAO in Registry<a class="headerlink" href="#41-register-dao-in-registry" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /registry/dao/register</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "dao_id": "dao_123",</span>
|
||
<span class="err"> "name": "My MicroDAO",</span>
|
||
<span class="err"> "type": "community",</span>
|
||
<span class="err"> "level": "A3",</span>
|
||
<span class="err"> "metadata": {</span>
|
||
<span class="err"> "description": "Description of DAO",</span>
|
||
<span class="err"> "tags": ["tech", "community"]</span>
|
||
<span class="err"> }</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 201:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"success"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"registry_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"reg_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"dao_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"dao_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"registered_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:00Z"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="42-register-agent">4.2 Register Agent<a class="headerlink" href="#42-register-agent" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /registry/agent/register</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "agent_id": "agent_123",</span>
|
||
<span class="err"> "dao_id": "dao_123",</span>
|
||
<span class="err"> "name": "Team Assistant",</span>
|
||
<span class="err"> "role": "team_assistant",</span>
|
||
<span class="err"> "capabilities": [</span>
|
||
<span class="err"> "agent.run.invoke",</span>
|
||
<span class="err"> "chat.message.send",</span>
|
||
<span class="err"> "project.task.create"</span>
|
||
<span class="err"> ]</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 201:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"success"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"registry_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"reg_456"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"agent_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"agent_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"registered_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:00Z"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="43-register-platform-a2">4.3 Register Platform (A2)<a class="headerlink" href="#43-register-platform-a2" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /registry/platform/register</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "platform_code": "greenfood",</span>
|
||
<span class="err"> "name": "GREENFOOD",</span>
|
||
<span class="err"> "dao_id": "dao_789",</span>
|
||
<span class="err"> "level": "A2",</span>
|
||
<span class="err"> "metadata": {</span>
|
||
<span class="err"> "domain": "агро/харчові продукти",</span>
|
||
<span class="err"> "owner": "GREENFOOD microDAO"</span>
|
||
<span class="err"> }</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>PDP Check:</strong>
|
||
- Перевіряє <code>staked(DAARION) >= 1.00</code>
|
||
- Перевіряє роль Owner або Guardian</p>
|
||
<p><strong>Response 201:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"success"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"registry_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"reg_789"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"platform_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"greenfood"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"dao_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"dao_789"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"registered_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:00Z"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h2 id="5-vendorplatform-registration-api">5. Vendor/Platform Registration API<a class="headerlink" href="#5-vendorplatform-registration-api" title="Permanent link">¶</a></h2>
|
||
<h3 id="51-register-vendor">5.1 Register Vendor<a class="headerlink" href="#51-register-vendor" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /platforms/{platformCode}/vendors/register</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "vendor_name": "My Farm",</span>
|
||
<span class="err"> "vendor_type": "producer"</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>PDP Check:</strong>
|
||
- Перевіряє <code>staked(DAARION) >= 0.01</code>
|
||
- Перевіряє доступ до платформи</p>
|
||
<p><strong>Response 201:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"success"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"vendor_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"vendor_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"platform_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"greenfood"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"registered_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:00Z"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="52-get-platform-info">5.2 Get Platform Info<a class="headerlink" href="#52-get-platform-info" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">GET /platforms/{platformCode}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"platform_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"greenfood"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"GREENFOOD"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"dao_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"dao_789"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"level"</span><span class="p">:</span><span class="w"> </span><span class="s2">"A2"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"active"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"metadata"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"domain"</span><span class="p">:</span><span class="w"> </span><span class="s2">"агро/харчові продукти"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"owner"</span><span class="p">:</span><span class="w"> </span><span class="s2">"GREENFOOD microDAO"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h2 id="6-token-gated-access-api">6. Token-Gated Access API<a class="headerlink" href="#6-token-gated-access-api" title="Permanent link">¶</a></h2>
|
||
<h3 id="61-check-access">6.1 Check Access<a class="headerlink" href="#61-check-access" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /access/check</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "action": "dao.create",</span>
|
||
<span class="err"> "resource": "dao",</span>
|
||
<span class="err"> "context": {</span>
|
||
<span class="err"> "dao_level": "A3"</span>
|
||
<span class="err"> }</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"allow"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"reason"</span><span class="p">:</span><span class="w"> </span><span class="s2">"balance(DAAR) >= 1.00"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"checked_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:00Z"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 403:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"allow"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"reason"</span><span class="p">:</span><span class="w"> </span><span class="s2">"insufficient_balance"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"required"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"DAAR"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.0</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"DAARION"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.01</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"current"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"DAAR"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.5</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"DAARION"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.005</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h2 id="7-public-channel-api">7. Public Channel API<a class="headerlink" href="#7-public-channel-api" title="Permanent link">¶</a></h2>
|
||
<h3 id="71-get-public-channel-info">7.1 Get Public Channel Info<a class="headerlink" href="#71-get-public-channel-info" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">GET /channels/{slug}/public</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"daarion-city-general"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"team_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"daarion-city"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Загальний канал міста"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"slug"</span><span class="p">:</span><span class="w"> </span><span class="s2">"general"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"description"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Публічний канал для обговорення міських питань"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"message_count"</span><span class="p">:</span><span class="w"> </span><span class="mi">1234</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"member_count"</span><span class="p">:</span><span class="w"> </span><span class="mi">567</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"is_public"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"team"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"daarion-city"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DAARION.city"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"slug"</span><span class="p">:</span><span class="w"> </span><span class="s2">"daarion"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="72-get-public-messages">7.2 Get Public Messages<a class="headerlink" href="#72-get-public-messages" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">GET /channels/{slug}/public/messages?limit=50&before={message_id}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"messages"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
|
||
<span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"msg_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"sender"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user_456"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Олександр"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"avatar_url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://..."</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"body"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Привіт, місто!"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"created_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:00Z"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"reactions"</span><span class="p">:</span><span class="w"> </span><span class="p">[]</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="w"> </span><span class="p">],</span>
|
||
<span class="w"> </span><span class="nt">"pagination"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"has_more"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"next_cursor"</span><span class="p">:</span><span class="w"> </span><span class="s2">"msg_124"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="73-post-message-authenticated">7.3 Post Message (Authenticated)<a class="headerlink" href="#73-post-message-authenticated" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /channels/{slug}/public/messages</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "body": "Повідомлення від користувача"</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 201:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"msg_125"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"sender"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user_789"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Марія"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"body"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Повідомлення від користувача"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"created_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:05:00Z"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="74-join-public-channel">7.4 Join Public Channel<a class="headerlink" href="#74-join-public-channel" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /channels/{slug}/public/join</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "email": "user@example.com",</span>
|
||
<span class="err"> "name": "Ім'я Користувача",</span>
|
||
<span class="err"> "viewer_type": "member" // member | visitor</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"user_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user_789"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"access_token"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jwt-token"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"membership"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"role"</span><span class="p">:</span><span class="w"> </span><span class="s2">"member"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"viewer_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"member"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h2 id="8-tokenbridge-api">8. TokenBridge API<a class="headerlink" href="#8-tokenbridge-api" title="Permanent link">¶</a></h2>
|
||
<h3 id="81-exchange-util-daar">8.1 Exchange UTIL → DAAR<a class="headerlink" href="#81-exchange-util-daar" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /bridge/exchange</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "from_token": "UTIL",</span>
|
||
<span class="err"> "to_token": "DAAR",</span>
|
||
<span class="err"> "amount": "100",</span>
|
||
<span class="err"> "dao_id": "dao_123"</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"success"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"exchange_rate"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.85</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"from"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"token"</span><span class="p">:</span><span class="w"> </span><span class="s2">"UTIL"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"100"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"to"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"token"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DAAR"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"85"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"transaction_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tx_345"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h2 id="9-daarsales-daarionsales-api">9. DAARsales / DAARIONsales API<a class="headerlink" href="#9-daarsales-daarionsales-api" title="Permanent link">¶</a></h2>
|
||
<h3 id="91-buy-daar">9.1 Buy DAAR<a class="headerlink" href="#91-buy-daar" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /sales/daar/buy</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "amount_usdt": "100",</span>
|
||
<span class="err"> "payment_method": "USDT" // USDT | POL</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"success"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"daar_received"</span><span class="p">:</span><span class="w"> </span><span class="s2">"100"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"transaction_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tx_678"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"new_balance"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"DAAR"</span><span class="p">:</span><span class="w"> </span><span class="s2">"200.50"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="92-exchange-daar-daarion">9.2 Exchange DAAR → DAARION<a class="headerlink" href="#92-exchange-daar-daarion" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /sales/daarion/exchange</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "daar_amount": "100"</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"success"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"daarion_received"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"exchange_rate"</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"transaction_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tx_901"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"new_balance"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"DAARION"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3.5"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h2 id="10-pdp-check-api">10. PDP Check API<a class="headerlink" href="#10-pdp-check-api" title="Permanent link">¶</a></h2>
|
||
<h3 id="101-check-access-pdp">10.1 Check Access (PDP)<a class="headerlink" href="#101-check-access-pdp" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /pdp/check</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "subject": {</span>
|
||
<span class="err"> "id": "u_123",</span>
|
||
<span class="err"> "type": "user" // user | agent | integration | embassy</span>
|
||
<span class="err"> },</span>
|
||
<span class="err"> "team_id": "t_456",</span>
|
||
<span class="err"> "action": "dao.create",</span>
|
||
<span class="err"> "resource": {</span>
|
||
<span class="err"> "id": "dao_001",</span>
|
||
<span class="err"> "team_id": "t_456",</span>
|
||
<span class="err"> "mode": "public"</span>
|
||
<span class="err"> },</span>
|
||
<span class="err"> "key_id": "ak_789",</span>
|
||
<span class="err"> "context": {</span>
|
||
<span class="err"> "ip": "1.2.3.4",</span>
|
||
<span class="err"> "ua": "Mozilla/5.0",</span>
|
||
<span class="err"> "timestamp": 1700000000</span>
|
||
<span class="err"> }</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"allow"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"reason"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ok"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"checked_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:00Z"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 403:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"allow"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"reason"</span><span class="p">:</span><span class="w"> </span><span class="s2">"insufficient_balance"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"details"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"required"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"DAAR"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.0</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"DAARION"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.01</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"current"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"DAAR"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.5</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"DAARION"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.005</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h2 id="11-agent-runtime-router-api">11. Agent Runtime / Router API<a class="headerlink" href="#11-agent-runtime-router-api" title="Permanent link">¶</a></h2>
|
||
<h3 id="111-run-agent">11.1 Run Agent<a class="headerlink" href="#111-run-agent" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /agent/run</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "agent_id": "agent_123",</span>
|
||
<span class="err"> "input": "Створи задачу з обговорення в каналі #general",</span>
|
||
<span class="err"> "context": {</span>
|
||
<span class="err"> "team_id": "t_456",</span>
|
||
<span class="err"> "channel_id": "c_789",</span>
|
||
<span class="err"> "confidential": false</span>
|
||
<span class="err"> }</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"run_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"run_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"agent_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"agent_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"running"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"created_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:00Z"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="112-get-agent-run-status">11.2 Get Agent Run Status<a class="headerlink" href="#112-get-agent-run-status" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">GET /agent/run/{runId}/status</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"run_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"run_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"completed"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"task_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"task_456"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Задачу створено успішно"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"created_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:00Z"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"completed_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:05Z"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="113-router-invoke-daarwizz">11.3 Router Invoke (DAARWIZZ)<a class="headerlink" href="#113-router-invoke-daarwizz" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">POST /router/invoke</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Content-Type: application/json</span>
|
||
|
||
<span class="err">{</span>
|
||
<span class="err"> "input": "Підготуй звіт по проєкту за останній місяць",</span>
|
||
<span class="err"> "goal": "Generate monthly project report",</span>
|
||
<span class="err"> "constraints": {</span>
|
||
<span class="err"> "max_cost": "10.0",</span>
|
||
<span class="err"> "max_steps": 10</span>
|
||
<span class="err"> },</span>
|
||
<span class="err"> "context": {</span>
|
||
<span class="err"> "team_id": "t_456",</span>
|
||
<span class="err"> "agent_run_id": "ar_777",</span>
|
||
<span class="err"> "confidential": false</span>
|
||
<span class="err"> },</span>
|
||
<span class="err"> "mode": "auto", // auto | structured | hybrid</span>
|
||
<span class="err"> "tools": ["math", "project", "llm"]</span>
|
||
<span class="err">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"run_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"router_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"planning"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"plan"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
|
||
<span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"step"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"tool"</span><span class="p">:</span><span class="w"> </span><span class="s2">"project"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"action"</span><span class="p">:</span><span class="w"> </span><span class="s2">"get_project_summary"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"args"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"project_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"p_001"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"step"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"tool"</span><span class="p">:</span><span class="w"> </span><span class="s2">"llm"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"action"</span><span class="p">:</span><span class="w"> </span><span class="s2">"generate_report"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"args"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"template"</span><span class="p">:</span><span class="w"> </span><span class="s2">"monthly_report"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="w"> </span><span class="p">],</span>
|
||
<span class="w"> </span><span class="nt">"created_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:00Z"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="114-get-router-run-status">11.4 Get Router Run Status<a class="headerlink" href="#114-get-router-run-status" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">GET /router/run/{runId}/status</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"run_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"router_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"done"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"report_url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://..."</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"steps_completed"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.5"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"created_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:00Z"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"completed_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:15Z"</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h2 id="12-system-events-api">12. System Events API<a class="headerlink" href="#12-system-events-api" title="Permanent link">¶</a></h2>
|
||
<h3 id="121-subscribe-to-events-websocket">12.1 Subscribe to Events (WebSocket)<a class="headerlink" href="#121-subscribe-to-events-websocket" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">GET /events/subscribe?streams={streams}</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
<span class="err">Upgrade: websocket</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Query Parameters:</strong>
|
||
- <code>streams</code>: Comma-separated list of streams (e.g., <code>dao,wallet,agent</code>)</p>
|
||
<p><strong>WebSocket Messages:</strong></p>
|
||
<p><strong>Event: <code>dao.created</code></strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"event_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"evt_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"ts"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:00Z"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"domain"</span><span class="p">:</span><span class="w"> </span><span class="s2">"dao"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"dao.created"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"version"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"actor"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"u_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"kind"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"payload"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"dao_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"dao_456"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"My MicroDAO"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"community"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"level"</span><span class="p">:</span><span class="w"> </span><span class="s2">"A3"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"mode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"meta"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"team_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"dao_456"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"trace_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"trace_abc"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Event: <code>vendor.registered</code></strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"event_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"evt_124"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"ts"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:05:00Z"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"domain"</span><span class="p">:</span><span class="w"> </span><span class="s2">"platform"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"vendor.registered"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"version"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"actor"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"u_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"kind"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"payload"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"vendor_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"vendor_789"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"platform_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"greenfood"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"vendor_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"My Farm"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"vendor_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"producer"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"meta"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"platform_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"greenfood"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"trace_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"trace_def"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Event: <code>platform.created</code></strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"event_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"evt_125"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"ts"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:10:00Z"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"domain"</span><span class="p">:</span><span class="w"> </span><span class="s2">"platform"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"platform.created"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"version"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"actor"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"u_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"kind"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"payload"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"platform_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"greenfood"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"GREENFOOD"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"dao_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"dao_789"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"level"</span><span class="p">:</span><span class="w"> </span><span class="s2">"A2"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"meta"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"platform_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"greenfood"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"trace_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"trace_ghi"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Event: <code>agent.run.started</code></strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"event_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"evt_126"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"ts"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:15:00Z"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"domain"</span><span class="p">:</span><span class="w"> </span><span class="s2">"agent"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"agent.run.started"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"version"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"actor"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"agent_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"kind"</span><span class="p">:</span><span class="w"> </span><span class="s2">"agent"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"payload"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"run_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"run_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"agent_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"agent_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"input"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Створи задачу"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"context"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"team_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"t_456"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"channel_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"c_789"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"meta"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"team_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"t_456"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"trace_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"trace_jkl"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Event: <code>wallet.payout.generated</code></strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"event_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"evt_127"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"ts"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:20:00Z"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"domain"</span><span class="p">:</span><span class="w"> </span><span class="s2">"wallet"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"wallet.payout.generated"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"version"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"actor"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"system"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"kind"</span><span class="p">:</span><span class="w"> </span><span class="s2">"service"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"payload"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"payout_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"p_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"team_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"t_456"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"symbol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"KWT"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"250.00"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"rwa_ref"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rwa_789"</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"meta"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"team_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"t_456"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"trace_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"trace_mno"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h3 id="122-get-event-history">12.2 Get Event History<a class="headerlink" href="#122-get-event-history" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="err">GET /events/history?stream={stream}&limit=50&before={event_id}</span>
|
||
<span class="err">Authorization: Bearer {token}</span>
|
||
</code></pre></div>
|
||
|
||
<p><strong>Query Parameters:</strong>
|
||
- <code>stream</code>: Event stream name (e.g., <code>dao</code>, <code>wallet</code>, <code>agent</code>)
|
||
- <code>limit</code>: Number of events to return (default: 50)
|
||
- <code>before</code>: Event ID to start from (cursor pagination)</p>
|
||
<p><strong>Response 200:</strong></p>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"events"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
|
||
<span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"event_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"evt_123"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"ts"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-11-14T10:00:00Z"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"dao.created"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"payload"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="err">...</span><span class="w"> </span><span class="p">}</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="w"> </span><span class="p">],</span>
|
||
<span class="w"> </span><span class="nt">"pagination"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"has_more"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"next_cursor"</span><span class="p">:</span><span class="w"> </span><span class="s2">"evt_124"</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<hr />
|
||
<h2 id="13-error-responses">13. Error Responses<a class="headerlink" href="#13-error-responses" title="Permanent link">¶</a></h2>
|
||
<h3 id="standard-error-format">Standard Error Format<a class="headerlink" href="#standard-error-format" title="Permanent link">¶</a></h3>
|
||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"error"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"insufficient_balance"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Insufficient DAAR balance. Required: 1.00, Current: 0.50"</span><span class="p">,</span>
|
||
<span class="w"> </span><span class="nt">"details"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"required"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"DAAR"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.0</span>
|
||
<span class="w"> </span><span class="p">},</span>
|
||
<span class="w"> </span><span class="nt">"current"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||
<span class="w"> </span><span class="nt">"DAAR"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.5</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="w"> </span><span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre></div>
|
||
|
||
<h3 id="common-error-codes">Common Error Codes<a class="headerlink" href="#common-error-codes" title="Permanent link">¶</a></h3>
|
||
<ul>
|
||
<li><code>insufficient_balance</code> — недостатній баланс токенів</li>
|
||
<li><code>access_denied</code> — доступ заборонено (PDP)</li>
|
||
<li><code>invalid_token</code> — невалідний токен</li>
|
||
<li><code>quota_exceeded</code> — перевищено квоту</li>
|
||
<li><code>resource_not_found</code> — ресурс не знайдено</li>
|
||
<li><code>rate_limit_exceeded</code> — перевищено rate limit</li>
|
||
</ul>
|
||
<hr />
|
||
<h2 id="14-rate-limiting">14. Rate Limiting<a class="headerlink" href="#14-rate-limiting" title="Permanent link">¶</a></h2>
|
||
<h3 id="global-limits">Global Limits<a class="headerlink" href="#global-limits" title="Permanent link">¶</a></h3>
|
||
<ul>
|
||
<li><strong>Guest (read-only):</strong> 100 requests/minute</li>
|
||
<li><strong>Authenticated (write):</strong> 30 requests/minute</li>
|
||
<li><strong>Join requests:</strong> 5 requests/hour per IP</li>
|
||
</ul>
|
||
<h3 id="per-endpoint-limits">Per-Endpoint Limits<a class="headerlink" href="#per-endpoint-limits" title="Permanent link">¶</a></h3>
|
||
<ul>
|
||
<li><strong>Wallet operations:</strong> 10 requests/minute</li>
|
||
<li><strong>DAOFactory:</strong> 5 requests/hour</li>
|
||
<li><strong>Registry:</strong> 20 requests/minute</li>
|
||
</ul>
|
||
<hr />
|
||
<h2 id="15-integration-with-other-docs">15. Integration with Other Docs<a class="headerlink" href="#15-integration-with-other-docs" title="Permanent link">¶</a></h2>
|
||
<p>Цей документ інтегрується з:</p>
|
||
<ul>
|
||
<li><code>pdp_access.md</code> — PDP та система доступів</li>
|
||
<li><code>tokenomics/city-tokenomics.md</code> — токеноміка та правила</li>
|
||
<li><code>agents.md</code> — агенти та їх права</li>
|
||
<li><code>microdao-architecture.md</code> — архітектура A1-A4</li>
|
||
<li><code>microdao-admin-console.md</code> — адмін-панель для всіх MicroDAO</li>
|
||
<li><code>superdao-federation.md</code> — SuperDAO та федерації</li>
|
||
<li><code>integration-daarion.md</code> — інтеграція з сайтом</li>
|
||
</ul>
|
||
<hr />
|
||
<h2 id="16-changelog">16. Changelog<a class="headerlink" href="#16-changelog" title="Permanent link">¶</a></h2>
|
||
<h3 id="v110-2024-11-14">v1.1.0 — 2024-11-14<a class="headerlink" href="#v110-2024-11-14" title="Permanent link">¶</a></h3>
|
||
<ul>
|
||
<li>Додано PDP Check API</li>
|
||
<li>Додано Agent Runtime / Router API (stub)</li>
|
||
<li>Додано System Events API (WebSocket subscribe, event history)</li>
|
||
<li>Додано події: dao.created, vendor.registered, platform.created, agent.run.started, wallet.payout.generated</li>
|
||
</ul>
|
||
<h3 id="v100-2024-11-14">v1.0.0 — 2024-11-14<a class="headerlink" href="#v100-2024-11-14" title="Permanent link">¶</a></h3>
|
||
<ul>
|
||
<li>Початкова версія API специфікації</li>
|
||
<li>Додано Wallet API (баланси, staking, payouts)</li>
|
||
<li>Додано DAOFactory API (створення DAO, емісія GOV/UTIL/REP)</li>
|
||
<li>Додано Registry API (реєстрація DAO, агентів, платформ)</li>
|
||
<li>Додано Vendor/Platform Registration API</li>
|
||
<li>Додано Token-Gated Access API</li>
|
||
<li>Додано Public Channel API</li>
|
||
<li>Додано TokenBridge API</li>
|
||
<li>Додано DAARsales/DAARIONsales API</li>
|
||
</ul>
|
||
<hr />
|
||
<p><strong>Версія:</strong> 1.1.0<br />
|
||
<strong>Останнє оновлення:</strong> 2024-11-14<br />
|
||
<em>Документ готовий до інтеграції у Cursor, GitHub або будь-який інший проект.</em></p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</article>
|
||
</div>
|
||
|
||
|
||
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
||
</div>
|
||
|
||
</main>
|
||
|
||
<footer class="md-footer">
|
||
|
||
<div class="md-footer-meta md-typeset">
|
||
<div class="md-footer-meta__inner md-grid">
|
||
<div class="md-copyright">
|
||
|
||
|
||
Made with
|
||
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
||
Material for MkDocs
|
||
</a>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
</div>
|
||
<div class="md-dialog" data-md-component="dialog">
|
||
<div class="md-dialog__inner md-typeset"></div>
|
||
</div>
|
||
|
||
|
||
<script id="__config" type="application/json">{"base": "..", "features": ["navigation.sections", "navigation.instant", "content.code.copy"], "search": "../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
||
|
||
|
||
<script src="../assets/javascripts/bundle.3220b9d7.min.js"></script>
|
||
|
||
|
||
</body>
|
||
</html> |