mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-25 16:36:21 +02:00
* AsyncAPI for websocket docs * Delete old docs * Update docs/README.md to point to docs site * Add generated API docs
3497 lines
792 KiB
HTML
3497 lines
792 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="utf8" />
|
|
<title>TrustGraph API Gateway</title>
|
|
<!-- needed for adaptive design -->
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<style>
|
|
body {
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
</style>
|
|
<script src="https://cdn.redocly.com/redoc/v2.5.1/bundles/redoc.standalone.js"></script><style data-styled="true" data-styled-version="6.3.6">.kgVncE{width:calc(100% - 40%);padding:0 40px;}/*!sc*/
|
|
@media print,screen and (max-width: 75rem){.kgVncE{width:100%;padding:40px 40px;}}/*!sc*/
|
|
.jqgxjE{width:calc(100% - 40%);padding:0 40px;}/*!sc*/
|
|
@media print,screen and (max-width: 75rem){.jqgxjE{width:100%;padding:0px 40px;}}/*!sc*/
|
|
data-styled.g4[id="sc-hLBbgQ"]{content:"kgVncE,jqgxjE,"}/*!sc*/
|
|
.gnfAsZ{padding:40px 0;}/*!sc*/
|
|
.gnfAsZ:last-child{min-height:calc(100vh + 1px);}/*!sc*/
|
|
.gnfAsZ>.gnfAsZ:last-child{min-height:initial;}/*!sc*/
|
|
@media print,screen and (max-width: 75rem){.gnfAsZ{padding:0;}}/*!sc*/
|
|
.hOTGYW{padding:40px 0;position:relative;}/*!sc*/
|
|
.hOTGYW:last-child{min-height:calc(100vh + 1px);}/*!sc*/
|
|
.hOTGYW>.hOTGYW:last-child{min-height:initial;}/*!sc*/
|
|
@media print,screen and (max-width: 75rem){.hOTGYW{padding:0;}}/*!sc*/
|
|
.hOTGYW:not(:last-of-type):after{position:absolute;bottom:0;width:100%;display:block;content:'';border-bottom:1px solid rgba(0, 0, 0, 0.2);}/*!sc*/
|
|
data-styled.g5[id="sc-eDvSVh"]{content:"gnfAsZ,hOTGYW,"}/*!sc*/
|
|
.guUJx{width:40%;color:#ffffff;background-color:#263238;padding:0 40px;}/*!sc*/
|
|
@media print,screen and (max-width: 75rem){.guUJx{width:100%;padding:40px 40px;}}/*!sc*/
|
|
data-styled.g6[id="sc-jSUZEO"]{content:"guUJx,"}/*!sc*/
|
|
.dMprjq{background-color:#263238;}/*!sc*/
|
|
data-styled.g7[id="sc-gKPRtf"]{content:"dMprjq,"}/*!sc*/
|
|
.cWLCJx{display:flex;width:100%;padding:0;}/*!sc*/
|
|
@media print,screen and (max-width: 75rem){.cWLCJx{flex-direction:column;}}/*!sc*/
|
|
data-styled.g8[id="sc-iBYQkw"]{content:"cWLCJx,"}/*!sc*/
|
|
.iteOFx{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.85714em;line-height:1.6em;color:#333333;}/*!sc*/
|
|
data-styled.g9[id="sc-ftTHYN"]{content:"iteOFx,"}/*!sc*/
|
|
.bUKPgI{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.57143em;line-height:1.6em;color:#333333;margin:0 0 20px;}/*!sc*/
|
|
data-styled.g10[id="sc-pyfCh"]{content:"bUKPgI,"}/*!sc*/
|
|
.kboIcV{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.27em;line-height:1.6em;color:#333333;}/*!sc*/
|
|
data-styled.g11[id="sc-jrcTuM"]{content:"kboIcV,"}/*!sc*/
|
|
.TgOOZ{color:#ffffff;}/*!sc*/
|
|
data-styled.g12[id="sc-kDvujX"]{content:"TgOOZ,"}/*!sc*/
|
|
.flHRUF{border-bottom:1px solid rgba(38, 50, 56, 0.3);margin:1em 0 1em 0;color:rgba(38, 50, 56, 0.5);font-weight:normal;text-transform:uppercase;font-size:0.929em;line-height:20px;}/*!sc*/
|
|
data-styled.g13[id="sc-ipEyDG"]{content:"flHRUF,"}/*!sc*/
|
|
.hWmuSZ{cursor:pointer;margin-left:-20px;padding:0;line-height:1;width:20px;display:inline-block;outline:0;}/*!sc*/
|
|
.hWmuSZ:before{content:'';width:15px;height:15px;background-size:contain;background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjMDEwMTAxIiBkPSJNNDU5LjcgMjMzLjRsLTkwLjUgOTAuNWMtNTAgNTAtMTMxIDUwLTE4MSAwIC03LjktNy44LTE0LTE2LjctMTkuNC0yNS44bDQyLjEtNDIuMWMyLTIgNC41LTMuMiA2LjgtNC41IDIuOSA5LjkgOCAxOS4zIDE1LjggMjcuMiAyNSAyNSA2NS42IDI0LjkgOTAuNSAwbDkwLjUtOTAuNWMyNS0yNSAyNS02NS42IDAtOTAuNSAtMjQuOS0yNS02NS41LTI1LTkwLjUgMGwtMzIuMiAzMi4yYy0yNi4xLTEwLjItNTQuMi0xMi45LTgxLjYtOC45bDY4LjYtNjguNmM1MC01MCAxMzEtNTAgMTgxIDBDNTA5LjYgMTAyLjMgNTA5LjYgMTgzLjQgNDU5LjcgMjMzLjR6TTIyMC4zIDM4Mi4ybC0zMi4yIDMyLjJjLTI1IDI0LjktNjUuNiAyNC45LTkwLjUgMCAtMjUtMjUtMjUtNjUuNiAwLTkwLjVsOTAuNS05MC41YzI1LTI1IDY1LjUtMjUgOTAuNSAwIDcuOCA3LjggMTIuOSAxNy4yIDE1LjggMjcuMSAyLjQtMS40IDQuOC0yLjUgNi44LTQuNWw0Mi4xLTQyYy01LjQtOS4yLTExLjYtMTgtMTkuNC0yNS44IC01MC01MC0xMzEtNTAtMTgxIDBsLTkwLjUgOTAuNWMtNTAgNTAtNTAgMTMxIDAgMTgxIDUwIDUwIDEzMSA1MCAxODEgMGw2OC42LTY4LjZDMjc0LjYgMzk1LjEgMjQ2LjQgMzkyLjMgMjIwLjMgMzgyLjJ6Ii8+PC9zdmc+Cg==');opacity:0.5;visibility:hidden;display:inline-block;vertical-align:middle;}/*!sc*/
|
|
h1:hover>.hWmuSZ::before,h2:hover>.hWmuSZ::before,.hWmuSZ:hover::before{visibility:visible;}/*!sc*/
|
|
data-styled.g14[id="sc-csuSiJ"]{content:"hWmuSZ,"}/*!sc*/
|
|
.kWBoqg{height:18px;width:18px;min-width:18px;vertical-align:middle;float:right;transition:transform 0.2s ease-out;transform:rotateZ(-90deg);}/*!sc*/
|
|
.jWjRQR{height:1.3em;width:1.3em;min-width:1.3em;vertical-align:middle;transition:transform 0.2s ease-out;transform:rotateZ(-90deg);}/*!sc*/
|
|
.bIIkAE{height:18px;width:18px;min-width:18px;vertical-align:middle;transition:transform 0.2s ease-out;transform:rotateZ(-90deg);}/*!sc*/
|
|
.dmrReK{height:1.5em;width:1.5em;min-width:1.5em;vertical-align:middle;float:left;transition:transform 0.2s ease-out;transform:rotateZ(-90deg);}/*!sc*/
|
|
.dmrReK polygon{fill:#1d8127;}/*!sc*/
|
|
.kQRwne{height:1.5em;width:1.5em;min-width:1.5em;vertical-align:middle;float:left;transition:transform 0.2s ease-out;transform:rotateZ(-90deg);}/*!sc*/
|
|
.kQRwne polygon{fill:#d41f1c;}/*!sc*/
|
|
.clIsMG{height:20px;width:20px;min-width:20px;vertical-align:middle;float:right;transition:transform 0.2s ease-out;transform:rotateZ(0);}/*!sc*/
|
|
.clIsMG polygon{fill:white;}/*!sc*/
|
|
data-styled.g15[id="sc-eDWCs"]{content:"kWBoqg,jWjRQR,bIIkAE,dmrReK,kQRwne,clIsMG,"}/*!sc*/
|
|
.gxGlxs{border-left:1px solid #7c7cbb;box-sizing:border-box;position:relative;padding:10px 10px 10px 0;}/*!sc*/
|
|
@media screen and (max-width: 50rem){.gxGlxs{display:block;overflow:hidden;}}/*!sc*/
|
|
tr:first-of-type>.gxGlxs,tr.last>.gxGlxs{border-left-width:0;background-position:top left;background-repeat:no-repeat;background-size:1px 100%;}/*!sc*/
|
|
tr:first-of-type>.gxGlxs{background-image:linear-gradient(
|
|
to bottom,
|
|
transparent 0%,
|
|
transparent 22px,
|
|
#7c7cbb 22px,
|
|
#7c7cbb 100%
|
|
);}/*!sc*/
|
|
tr.last>.gxGlxs{background-image:linear-gradient(
|
|
to bottom,
|
|
#7c7cbb 0%,
|
|
#7c7cbb 22px,
|
|
transparent 22px,
|
|
transparent 100%
|
|
);}/*!sc*/
|
|
tr.last+tr>.gxGlxs{border-left-color:transparent;}/*!sc*/
|
|
tr.last:first-child>.gxGlxs{background:none;border-left-color:transparent;}/*!sc*/
|
|
data-styled.g18[id="sc-hBxehJ"]{content:"gxGlxs,"}/*!sc*/
|
|
.buxoxV{vertical-align:top;line-height:20px;white-space:nowrap;font-size:13px;font-family:Courier,monospace;}/*!sc*/
|
|
.buxoxV.deprecated{text-decoration:line-through;color:#707070;}/*!sc*/
|
|
data-styled.g20[id="sc-fEXmlO"]{content:"buxoxV,"}/*!sc*/
|
|
.jWNnMs{border-bottom:1px solid #9fb4be;padding:10px 0;width:75%;box-sizing:border-box;}/*!sc*/
|
|
tr.expanded .jWNnMs{border-bottom:none;}/*!sc*/
|
|
@media screen and (max-width: 50rem){.jWNnMs{padding:0 20px;border-bottom:none;border-left:1px solid #7c7cbb;}tr.last>.jWNnMs{border-left:none;}}/*!sc*/
|
|
data-styled.g21[id="sc-bjfHbH"]{content:"jWNnMs,"}/*!sc*/
|
|
.gQLyRu{color:#7c7cbb;font-family:Courier,monospace;margin-right:10px;}/*!sc*/
|
|
.gQLyRu::before{content:'';display:inline-block;vertical-align:middle;width:10px;height:1px;background:#7c7cbb;}/*!sc*/
|
|
.gQLyRu::after{content:'';display:inline-block;vertical-align:middle;width:1px;background:#7c7cbb;height:7px;}/*!sc*/
|
|
data-styled.g22[id="sc-idXgbs"]{content:"gQLyRu,"}/*!sc*/
|
|
.iHQtPN{border-collapse:separate;border-radius:3px;font-size:14px;border-spacing:0;width:100%;}/*!sc*/
|
|
.iHQtPN >tr{vertical-align:middle;}/*!sc*/
|
|
@media screen and (max-width: 50rem){.iHQtPN{display:block;}.iHQtPN >tr,.iHQtPN >tbody>tr{display:block;}}/*!sc*/
|
|
@media screen and (max-width: 50rem) and (-ms-high-contrast:none){.iHQtPN td{float:left;width:100%;}}/*!sc*/
|
|
.iHQtPN .sc-dIfARl,.iHQtPN .sc-dIfARl .sc-dIfARl .sc-dIfARl,.iHQtPN .sc-dIfARl .sc-dIfARl .sc-dIfARl .sc-dIfARl .sc-dIfARl{margin:1em;margin-right:0;background:#fafafa;}/*!sc*/
|
|
.iHQtPN .sc-dIfARl .sc-dIfARl,.iHQtPN .sc-dIfARl .sc-dIfARl .sc-dIfARl .sc-dIfARl,.iHQtPN .sc-dIfARl .sc-dIfARl .sc-dIfARl .sc-dIfARl .sc-dIfARl .sc-dIfARl{background:#ffffff;}/*!sc*/
|
|
data-styled.g24[id="sc-hHTYSq"]{content:"iHQtPN,"}/*!sc*/
|
|
.jREiIs >ul{list-style:none;padding:0;margin:0;margin:0 -5px;}/*!sc*/
|
|
.jREiIs >ul >li{padding:5px 10px;display:inline-block;background-color:#11171a;border-bottom:1px solid rgba(0, 0, 0, 0.5);cursor:pointer;text-align:center;outline:none;color:#ccc;margin:0 5px 5px 5px;border:1px solid #07090b;border-radius:5px;min-width:60px;font-size:0.9em;font-weight:bold;}/*!sc*/
|
|
.jREiIs >ul >li.react-tabs__tab--selected{color:#333333;background:#ffffff;}/*!sc*/
|
|
.jREiIs >ul >li.react-tabs__tab--selected:focus{outline:auto;}/*!sc*/
|
|
.jREiIs >ul >li:only-child{flex:none;min-width:100px;}/*!sc*/
|
|
.jREiIs >ul >li.tab-success{color:#1d8127;}/*!sc*/
|
|
.jREiIs >ul >li.tab-redirect{color:#ffa500;}/*!sc*/
|
|
.jREiIs >ul >li.tab-info{color:#87ceeb;}/*!sc*/
|
|
.jREiIs >ul >li.tab-error{color:#d41f1c;}/*!sc*/
|
|
.jREiIs >.react-tabs__tab-panel{background:#11171a;}/*!sc*/
|
|
.jREiIs >.react-tabs__tab-panel>div,.jREiIs >.react-tabs__tab-panel>pre{padding:20px;margin:0;}/*!sc*/
|
|
.jREiIs >.react-tabs__tab-panel>div>pre{padding:0;}/*!sc*/
|
|
data-styled.g30[id="sc-cwSeaf"]{content:"jREiIs,"}/*!sc*/
|
|
.hhTNpj code[class*='language-'],.hhTNpj pre[class*='language-']{text-shadow:0 -0.1em 0.2em black;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;}/*!sc*/
|
|
@media print{.hhTNpj code[class*='language-'],.hhTNpj pre[class*='language-']{text-shadow:none;}}/*!sc*/
|
|
.hhTNpj pre[class*='language-']{padding:1em;margin:0.5em 0;overflow:auto;}/*!sc*/
|
|
.hhTNpj .token.comment,.hhTNpj .token.prolog,.hhTNpj .token.doctype,.hhTNpj .token.cdata{color:hsl(30, 20%, 50%);}/*!sc*/
|
|
.hhTNpj .token.punctuation{opacity:0.7;}/*!sc*/
|
|
.hhTNpj .namespace{opacity:0.7;}/*!sc*/
|
|
.hhTNpj .token.property,.hhTNpj .token.tag,.hhTNpj .token.number,.hhTNpj .token.constant,.hhTNpj .token.symbol{color:#4a8bb3;}/*!sc*/
|
|
.hhTNpj .token.boolean{color:#e64441;}/*!sc*/
|
|
.hhTNpj .token.selector,.hhTNpj .token.attr-name,.hhTNpj .token.string,.hhTNpj .token.char,.hhTNpj .token.builtin,.hhTNpj .token.inserted{color:#a0fbaa;}/*!sc*/
|
|
.hhTNpj .token.selector+a,.hhTNpj .token.attr-name+a,.hhTNpj .token.string+a,.hhTNpj .token.char+a,.hhTNpj .token.builtin+a,.hhTNpj .token.inserted+a,.hhTNpj .token.selector+a:visited,.hhTNpj .token.attr-name+a:visited,.hhTNpj .token.string+a:visited,.hhTNpj .token.char+a:visited,.hhTNpj .token.builtin+a:visited,.hhTNpj .token.inserted+a:visited{color:#4ed2ba;text-decoration:underline;}/*!sc*/
|
|
.hhTNpj .token.property.string{color:white;}/*!sc*/
|
|
.hhTNpj .token.operator,.hhTNpj .token.entity,.hhTNpj .token.url,.hhTNpj .token.variable{color:hsl(40, 90%, 60%);}/*!sc*/
|
|
.hhTNpj .token.atrule,.hhTNpj .token.attr-value,.hhTNpj .token.keyword{color:hsl(350, 40%, 70%);}/*!sc*/
|
|
.hhTNpj .token.regex,.hhTNpj .token.important{color:#e90;}/*!sc*/
|
|
.hhTNpj .token.important,.hhTNpj .token.bold{font-weight:bold;}/*!sc*/
|
|
.hhTNpj .token.italic{font-style:italic;}/*!sc*/
|
|
.hhTNpj .token.entity{cursor:help;}/*!sc*/
|
|
.hhTNpj .token.deleted{color:red;}/*!sc*/
|
|
data-styled.g32[id="sc-iJnaPZ"]{content:"hhTNpj,"}/*!sc*/
|
|
.gzBwiR{opacity:0.7;transition:opacity 0.3s ease;text-align:right;}/*!sc*/
|
|
.gzBwiR:focus-within{opacity:1;}/*!sc*/
|
|
.gzBwiR >button{background-color:transparent;border:0;color:inherit;padding:2px 10px;font-family:Roboto,sans-serif;font-size:14px;line-height:1.5em;cursor:pointer;outline:0;}/*!sc*/
|
|
.gzBwiR >button :hover,.gzBwiR >button :focus{background:rgba(255, 255, 255, 0.1);}/*!sc*/
|
|
data-styled.g33[id="sc-gikAfI"]{content:"gzBwiR,"}/*!sc*/
|
|
.kgDZmq{position:relative;}/*!sc*/
|
|
data-styled.g37[id="sc-kMjNwB"]{content:"kgDZmq,"}/*!sc*/
|
|
.dXeQfN{position:absolute;pointer-events:none;z-index:1;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);right:8px;margin:auto;text-align:center;}/*!sc*/
|
|
.dXeQfN polyline{color:white;}/*!sc*/
|
|
data-styled.g38[id="sc-ilhmMk"]{content:"dXeQfN,"}/*!sc*/
|
|
.evecjr{box-sizing:border-box;min-width:100px;outline:none;display:inline-block;border-radius:2px;border:1px solid rgba(38, 50, 56, 0.5);vertical-align:bottom;padding:2px 0px 2px 6px;position:relative;width:auto;background:white;color:#263238;font-family:Montserrat,sans-serif;font-size:0.929em;line-height:1.5em;cursor:pointer;transition:border 0.25s ease,color 0.25s ease,box-shadow 0.25s ease;}/*!sc*/
|
|
.evecjr label{box-sizing:border-box;min-width:100px;outline:none;display:inline-block;font-family:Montserrat,sans-serif;color:#333333;vertical-align:bottom;width:auto;text-transform:none;padding:0 22px 0 4px;font-size:0.929em;line-height:1.5em;font-family:inherit;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}/*!sc*/
|
|
.evecjr .dropdown-select{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;border:none;appearance:none;cursor:pointer;color:#333333;line-height:inherit;font-family:inherit;}/*!sc*/
|
|
.evecjr:hover,.evecjr:focus-within{border:1px solid #32329f;color:#32329f;box-shadow:0px 0px 0px 1px #32329f;}/*!sc*/
|
|
data-styled.g39[id="sc-jIRcFH"]{content:"evecjr,"}/*!sc*/
|
|
.cKKFPZ{margin-left:10px;text-transform:none;font-size:0.929em;color:black;}/*!sc*/
|
|
data-styled.g41[id="sc-gYbzsQ"]{content:"cKKFPZ,"}/*!sc*/
|
|
.fzFmzK{font-family:Roboto,sans-serif;font-weight:400;line-height:1.5em;}/*!sc*/
|
|
.fzFmzK p:last-child{margin-bottom:0;}/*!sc*/
|
|
.fzFmzK h1{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.85714em;line-height:1.6em;color:#32329f;margin-top:0;}/*!sc*/
|
|
.fzFmzK h2{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.57143em;line-height:1.6em;color:#333333;}/*!sc*/
|
|
.fzFmzK code{color:#e53935;background-color:rgba(38, 50, 56, 0.05);font-family:Courier,monospace;border-radius:2px;border:1px solid rgba(38, 50, 56, 0.1);padding:0 5px;font-size:13px;font-weight:400;word-break:break-word;}/*!sc*/
|
|
.fzFmzK pre{font-family:Courier,monospace;white-space:pre;background-color:#11171a;color:white;padding:20px;overflow-x:auto;line-height:normal;border-radius:0;border:1px solid rgba(38, 50, 56, 0.1);}/*!sc*/
|
|
.fzFmzK pre code{background-color:transparent;color:white;padding:0;}/*!sc*/
|
|
.fzFmzK pre code:before,.fzFmzK pre code:after{content:none;}/*!sc*/
|
|
.fzFmzK blockquote{margin:0;margin-bottom:1em;padding:0 15px;color:#777;border-left:4px solid #ddd;}/*!sc*/
|
|
.fzFmzK img{max-width:100%;box-sizing:content-box;}/*!sc*/
|
|
.fzFmzK ul,.fzFmzK ol{padding-left:2em;margin:0;margin-bottom:1em;}/*!sc*/
|
|
.fzFmzK ul ul,.fzFmzK ol ul,.fzFmzK ul ol,.fzFmzK ol ol{margin-bottom:0;margin-top:0;}/*!sc*/
|
|
.fzFmzK table{display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all;border-collapse:collapse;border-spacing:0;margin-top:1.5em;margin-bottom:1.5em;}/*!sc*/
|
|
.fzFmzK table tr{background-color:#fff;border-top:1px solid #ccc;}/*!sc*/
|
|
.fzFmzK table tr:nth-child(2n){background-color:#fafafa;}/*!sc*/
|
|
.fzFmzK table th,.fzFmzK table td{padding:6px 13px;border:1px solid #ddd;}/*!sc*/
|
|
.fzFmzK table th{text-align:left;font-weight:bold;}/*!sc*/
|
|
.fzFmzK .share-link{cursor:pointer;margin-left:-20px;padding:0;line-height:1;width:20px;display:inline-block;outline:0;}/*!sc*/
|
|
.fzFmzK .share-link:before{content:'';width:15px;height:15px;background-size:contain;background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjMDEwMTAxIiBkPSJNNDU5LjcgMjMzLjRsLTkwLjUgOTAuNWMtNTAgNTAtMTMxIDUwLTE4MSAwIC03LjktNy44LTE0LTE2LjctMTkuNC0yNS44bDQyLjEtNDIuMWMyLTIgNC41LTMuMiA2LjgtNC41IDIuOSA5LjkgOCAxOS4zIDE1LjggMjcuMiAyNSAyNSA2NS42IDI0LjkgOTAuNSAwbDkwLjUtOTAuNWMyNS0yNSAyNS02NS42IDAtOTAuNSAtMjQuOS0yNS02NS41LTI1LTkwLjUgMGwtMzIuMiAzMi4yYy0yNi4xLTEwLjItNTQuMi0xMi45LTgxLjYtOC45bDY4LjYtNjguNmM1MC01MCAxMzEtNTAgMTgxIDBDNTA5LjYgMTAyLjMgNTA5LjYgMTgzLjQgNDU5LjcgMjMzLjR6TTIyMC4zIDM4Mi4ybC0zMi4yIDMyLjJjLTI1IDI0LjktNjUuNiAyNC45LTkwLjUgMCAtMjUtMjUtMjUtNjUuNiAwLTkwLjVsOTAuNS05MC41YzI1LTI1IDY1LjUtMjUgOTAuNSAwIDcuOCA3LjggMTIuOSAxNy4yIDE1LjggMjcuMSAyLjQtMS40IDQuOC0yLjUgNi44LTQuNWw0Mi4xLTQyYy01LjQtOS4yLTExLjYtMTgtMTkuNC0yNS44IC01MC01MC0xMzEtNTAtMTgxIDBsLTkwLjUgOTAuNWMtNTAgNTAtNTAgMTMxIDAgMTgxIDUwIDUwIDEzMSA1MCAxODEgMGw2OC42LTY4LjZDMjc0LjYgMzk1LjEgMjQ2LjQgMzkyLjMgMjIwLjMgMzgyLjJ6Ii8+PC9zdmc+Cg==');opacity:0.5;visibility:hidden;display:inline-block;vertical-align:middle;}/*!sc*/
|
|
.fzFmzK h1:hover>.share-link::before,.fzFmzK h2:hover>.share-link::before,.fzFmzK .share-link:hover::before{visibility:visible;}/*!sc*/
|
|
.fzFmzK a{text-decoration:auto;color:#32329f;}/*!sc*/
|
|
.fzFmzK a:visited{color:#32329f;}/*!sc*/
|
|
.fzFmzK a:hover{color:#6868cf;text-decoration:auto;}/*!sc*/
|
|
.cUOEXs{font-family:Roboto,sans-serif;font-weight:400;line-height:1.5em;}/*!sc*/
|
|
.cUOEXs p:last-child{margin-bottom:0;}/*!sc*/
|
|
.cUOEXs p:first-child{margin-top:0;}/*!sc*/
|
|
.cUOEXs p:last-child{margin-bottom:0;}/*!sc*/
|
|
.cUOEXs h1{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.85714em;line-height:1.6em;color:#32329f;margin-top:0;}/*!sc*/
|
|
.cUOEXs h2{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.57143em;line-height:1.6em;color:#333333;}/*!sc*/
|
|
.cUOEXs code{color:#e53935;background-color:rgba(38, 50, 56, 0.05);font-family:Courier,monospace;border-radius:2px;border:1px solid rgba(38, 50, 56, 0.1);padding:0 5px;font-size:13px;font-weight:400;word-break:break-word;}/*!sc*/
|
|
.cUOEXs pre{font-family:Courier,monospace;white-space:pre;background-color:#11171a;color:white;padding:20px;overflow-x:auto;line-height:normal;border-radius:0;border:1px solid rgba(38, 50, 56, 0.1);}/*!sc*/
|
|
.cUOEXs pre code{background-color:transparent;color:white;padding:0;}/*!sc*/
|
|
.cUOEXs pre code:before,.cUOEXs pre code:after{content:none;}/*!sc*/
|
|
.cUOEXs blockquote{margin:0;margin-bottom:1em;padding:0 15px;color:#777;border-left:4px solid #ddd;}/*!sc*/
|
|
.cUOEXs img{max-width:100%;box-sizing:content-box;}/*!sc*/
|
|
.cUOEXs ul,.cUOEXs ol{padding-left:2em;margin:0;margin-bottom:1em;}/*!sc*/
|
|
.cUOEXs ul ul,.cUOEXs ol ul,.cUOEXs ul ol,.cUOEXs ol ol{margin-bottom:0;margin-top:0;}/*!sc*/
|
|
.cUOEXs table{display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all;border-collapse:collapse;border-spacing:0;margin-top:1.5em;margin-bottom:1.5em;}/*!sc*/
|
|
.cUOEXs table tr{background-color:#fff;border-top:1px solid #ccc;}/*!sc*/
|
|
.cUOEXs table tr:nth-child(2n){background-color:#fafafa;}/*!sc*/
|
|
.cUOEXs table th,.cUOEXs table td{padding:6px 13px;border:1px solid #ddd;}/*!sc*/
|
|
.cUOEXs table th{text-align:left;font-weight:bold;}/*!sc*/
|
|
.cUOEXs .share-link{cursor:pointer;margin-left:-20px;padding:0;line-height:1;width:20px;display:inline-block;outline:0;}/*!sc*/
|
|
.cUOEXs .share-link:before{content:'';width:15px;height:15px;background-size:contain;background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjMDEwMTAxIiBkPSJNNDU5LjcgMjMzLjRsLTkwLjUgOTAuNWMtNTAgNTAtMTMxIDUwLTE4MSAwIC03LjktNy44LTE0LTE2LjctMTkuNC0yNS44bDQyLjEtNDIuMWMyLTIgNC41LTMuMiA2LjgtNC41IDIuOSA5LjkgOCAxOS4zIDE1LjggMjcuMiAyNSAyNSA2NS42IDI0LjkgOTAuNSAwbDkwLjUtOTAuNWMyNS0yNSAyNS02NS42IDAtOTAuNSAtMjQuOS0yNS02NS41LTI1LTkwLjUgMGwtMzIuMiAzMi4yYy0yNi4xLTEwLjItNTQuMi0xMi45LTgxLjYtOC45bDY4LjYtNjguNmM1MC01MCAxMzEtNTAgMTgxIDBDNTA5LjYgMTAyLjMgNTA5LjYgMTgzLjQgNDU5LjcgMjMzLjR6TTIyMC4zIDM4Mi4ybC0zMi4yIDMyLjJjLTI1IDI0LjktNjUuNiAyNC45LTkwLjUgMCAtMjUtMjUtMjUtNjUuNiAwLTkwLjVsOTAuNS05MC41YzI1LTI1IDY1LjUtMjUgOTAuNSAwIDcuOCA3LjggMTIuOSAxNy4yIDE1LjggMjcuMSAyLjQtMS40IDQuOC0yLjUgNi44LTQuNWw0Mi4xLTQyYy01LjQtOS4yLTExLjYtMTgtMTkuNC0yNS44IC01MC01MC0xMzEtNTAtMTgxIDBsLTkwLjUgOTAuNWMtNTAgNTAtNTAgMTMxIDAgMTgxIDUwIDUwIDEzMSA1MCAxODEgMGw2OC42LTY4LjZDMjc0LjYgMzk1LjEgMjQ2LjQgMzkyLjMgMjIwLjMgMzgyLjJ6Ii8+PC9zdmc+Cg==');opacity:0.5;visibility:hidden;display:inline-block;vertical-align:middle;}/*!sc*/
|
|
.cUOEXs h1:hover>.share-link::before,.cUOEXs h2:hover>.share-link::before,.cUOEXs .share-link:hover::before{visibility:visible;}/*!sc*/
|
|
.cUOEXs a{text-decoration:auto;color:#32329f;}/*!sc*/
|
|
.cUOEXs a:visited{color:#32329f;}/*!sc*/
|
|
.cUOEXs a:hover{color:#6868cf;text-decoration:auto;}/*!sc*/
|
|
.xEdBA{font-family:Roboto,sans-serif;font-weight:400;line-height:1.5em;}/*!sc*/
|
|
.xEdBA p:last-child{margin-bottom:0;}/*!sc*/
|
|
.xEdBA p:first-child{margin-top:0;}/*!sc*/
|
|
.xEdBA p:last-child{margin-bottom:0;}/*!sc*/
|
|
.xEdBA p{display:inline-block;}/*!sc*/
|
|
.xEdBA h1{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.85714em;line-height:1.6em;color:#32329f;margin-top:0;}/*!sc*/
|
|
.xEdBA h2{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.57143em;line-height:1.6em;color:#333333;}/*!sc*/
|
|
.xEdBA code{color:#e53935;background-color:rgba(38, 50, 56, 0.05);font-family:Courier,monospace;border-radius:2px;border:1px solid rgba(38, 50, 56, 0.1);padding:0 5px;font-size:13px;font-weight:400;word-break:break-word;}/*!sc*/
|
|
.xEdBA pre{font-family:Courier,monospace;white-space:pre;background-color:#11171a;color:white;padding:20px;overflow-x:auto;line-height:normal;border-radius:0;border:1px solid rgba(38, 50, 56, 0.1);}/*!sc*/
|
|
.xEdBA pre code{background-color:transparent;color:white;padding:0;}/*!sc*/
|
|
.xEdBA pre code:before,.xEdBA pre code:after{content:none;}/*!sc*/
|
|
.xEdBA blockquote{margin:0;margin-bottom:1em;padding:0 15px;color:#777;border-left:4px solid #ddd;}/*!sc*/
|
|
.xEdBA img{max-width:100%;box-sizing:content-box;}/*!sc*/
|
|
.xEdBA ul,.xEdBA ol{padding-left:2em;margin:0;margin-bottom:1em;}/*!sc*/
|
|
.xEdBA ul ul,.xEdBA ol ul,.xEdBA ul ol,.xEdBA ol ol{margin-bottom:0;margin-top:0;}/*!sc*/
|
|
.xEdBA table{display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all;border-collapse:collapse;border-spacing:0;margin-top:1.5em;margin-bottom:1.5em;}/*!sc*/
|
|
.xEdBA table tr{background-color:#fff;border-top:1px solid #ccc;}/*!sc*/
|
|
.xEdBA table tr:nth-child(2n){background-color:#fafafa;}/*!sc*/
|
|
.xEdBA table th,.xEdBA table td{padding:6px 13px;border:1px solid #ddd;}/*!sc*/
|
|
.xEdBA table th{text-align:left;font-weight:bold;}/*!sc*/
|
|
.xEdBA .share-link{cursor:pointer;margin-left:-20px;padding:0;line-height:1;width:20px;display:inline-block;outline:0;}/*!sc*/
|
|
.xEdBA .share-link:before{content:'';width:15px;height:15px;background-size:contain;background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjMDEwMTAxIiBkPSJNNDU5LjcgMjMzLjRsLTkwLjUgOTAuNWMtNTAgNTAtMTMxIDUwLTE4MSAwIC03LjktNy44LTE0LTE2LjctMTkuNC0yNS44bDQyLjEtNDIuMWMyLTIgNC41LTMuMiA2LjgtNC41IDIuOSA5LjkgOCAxOS4zIDE1LjggMjcuMiAyNSAyNSA2NS42IDI0LjkgOTAuNSAwbDkwLjUtOTAuNWMyNS0yNSAyNS02NS42IDAtOTAuNSAtMjQuOS0yNS02NS41LTI1LTkwLjUgMGwtMzIuMiAzMi4yYy0yNi4xLTEwLjItNTQuMi0xMi45LTgxLjYtOC45bDY4LjYtNjguNmM1MC01MCAxMzEtNTAgMTgxIDBDNTA5LjYgMTAyLjMgNTA5LjYgMTgzLjQgNDU5LjcgMjMzLjR6TTIyMC4zIDM4Mi4ybC0zMi4yIDMyLjJjLTI1IDI0LjktNjUuNiAyNC45LTkwLjUgMCAtMjUtMjUtMjUtNjUuNiAwLTkwLjVsOTAuNS05MC41YzI1LTI1IDY1LjUtMjUgOTAuNSAwIDcuOCA3LjggMTIuOSAxNy4yIDE1LjggMjcuMSAyLjQtMS40IDQuOC0yLjUgNi44LTQuNWw0Mi4xLTQyYy01LjQtOS4yLTExLjYtMTgtMTkuNC0yNS44IC01MC01MC0xMzEtNTAtMTgxIDBsLTkwLjUgOTAuNWMtNTAgNTAtNTAgMTMxIDAgMTgxIDUwIDUwIDEzMSA1MCAxODEgMGw2OC42LTY4LjZDMjc0LjYgMzk1LjEgMjQ2LjQgMzkyLjMgMjIwLjMgMzgyLjJ6Ii8+PC9zdmc+Cg==');opacity:0.5;visibility:hidden;display:inline-block;vertical-align:middle;}/*!sc*/
|
|
.xEdBA h1:hover>.share-link::before,.xEdBA h2:hover>.share-link::before,.xEdBA .share-link:hover::before{visibility:visible;}/*!sc*/
|
|
.xEdBA a{text-decoration:auto;color:#32329f;}/*!sc*/
|
|
.xEdBA a:visited{color:#32329f;}/*!sc*/
|
|
.xEdBA a:hover{color:#6868cf;text-decoration:auto;}/*!sc*/
|
|
data-styled.g42[id="sc-cCjUiJ"]{content:"fzFmzK,cUOEXs,xEdBA,"}/*!sc*/
|
|
.YpJeS{display:inline;}/*!sc*/
|
|
data-styled.g43[id="sc-cjibBu"]{content:"YpJeS,"}/*!sc*/
|
|
.hblWuo{position:relative;}/*!sc*/
|
|
data-styled.g44[id="sc-jcMfQj"]{content:"hblWuo,"}/*!sc*/
|
|
.iHWhTv:hover>.sc-gikAfI{opacity:1;}/*!sc*/
|
|
data-styled.g49[id="sc-cUEOzw"]{content:"iHWhTv,"}/*!sc*/
|
|
.jLYcMY{font-family:Courier,monospace;font-size:13px;white-space:pre;contain:content;overflow-x:auto;}/*!sc*/
|
|
.jLYcMY .redoc-json code>.collapser{display:none;pointer-events:none;}/*!sc*/
|
|
.jLYcMY .callback-function{color:gray;}/*!sc*/
|
|
.jLYcMY .collapser:after{content:'-';cursor:pointer;}/*!sc*/
|
|
.jLYcMY .collapsed>.collapser:after{content:'+';cursor:pointer;}/*!sc*/
|
|
.jLYcMY .ellipsis:after{content:' … ';}/*!sc*/
|
|
.jLYcMY .collapsible{margin-left:2em;}/*!sc*/
|
|
.jLYcMY .hoverable{padding-top:1px;padding-bottom:1px;padding-left:2px;padding-right:2px;border-radius:2px;}/*!sc*/
|
|
.jLYcMY .hovered{background-color:rgba(235, 238, 249, 1);}/*!sc*/
|
|
.jLYcMY .collapser{background-color:transparent;border:0;color:#fff;font-family:Courier,monospace;font-size:13px;padding-right:6px;padding-left:6px;padding-top:0;padding-bottom:0;display:flex;align-items:center;justify-content:center;width:15px;height:15px;position:absolute;top:4px;left:-1.5em;cursor:default;user-select:none;-webkit-user-select:none;padding:2px;}/*!sc*/
|
|
.jLYcMY .collapser:focus{outline-color:#fff;outline-style:dotted;outline-width:1px;}/*!sc*/
|
|
.jLYcMY ul{list-style-type:none;padding:0px;margin:0px 0px 0px 26px;}/*!sc*/
|
|
.jLYcMY li{position:relative;display:block;}/*!sc*/
|
|
.jLYcMY .hoverable{display:inline-block;}/*!sc*/
|
|
.jLYcMY .selected{outline-style:solid;outline-width:1px;outline-style:dotted;}/*!sc*/
|
|
.jLYcMY .collapsed>.collapsible{display:none;}/*!sc*/
|
|
.jLYcMY .ellipsis{display:none;}/*!sc*/
|
|
.jLYcMY .collapsed>.ellipsis{display:inherit;}/*!sc*/
|
|
data-styled.g50[id="sc-jOiSOl"]{content:"jLYcMY,"}/*!sc*/
|
|
.jioFLY{padding:0.9em;background-color:rgba(38,50,56,0.4);margin:0 0 10px 0;display:block;font-family:Montserrat,sans-serif;font-size:0.929em;line-height:1.5em;}/*!sc*/
|
|
data-styled.g51[id="sc-dPWrhh"]{content:"jioFLY,"}/*!sc*/
|
|
.iHeFNq{font-family:Montserrat,sans-serif;font-size:12px;position:absolute;z-index:1;top:-11px;left:12px;font-weight:600;color:rgba(255,255,255,0.7);}/*!sc*/
|
|
data-styled.g52[id="sc-bCfvAQ"]{content:"iHeFNq,"}/*!sc*/
|
|
.hwulfd{position:relative;}/*!sc*/
|
|
data-styled.g53[id="sc-cOxWqb"]{content:"hwulfd,"}/*!sc*/
|
|
.bYTQOT{margin:0 0 10px 0;display:block;background-color:rgba(38,50,56,0.4);border:none;padding:0.9em 1.6em 0.9em 0.9em;box-shadow:none;}/*!sc*/
|
|
.bYTQOT label{color:#ffffff;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:1em;text-transform:none;border:none;}/*!sc*/
|
|
.bYTQOT:hover,.bYTQOT:focus-within{border:none;box-shadow:none;background-color:rgba(38,50,56,0.7);}/*!sc*/
|
|
data-styled.g54[id="sc-AHaJK"]{content:"bYTQOT,"}/*!sc*/
|
|
.izsZwL{margin-top:15px;}/*!sc*/
|
|
data-styled.g56[id="sc-hTBuwo"]{content:"izsZwL,"}/*!sc*/
|
|
.gfvQgL.deprecated span.property-name{text-decoration:line-through;color:#707070;}/*!sc*/
|
|
.gfvQgL button{background-color:transparent;border:0;outline:0;font-size:13px;font-family:Courier,monospace;cursor:pointer;padding:0;color:#333333;}/*!sc*/
|
|
.gfvQgL button:focus{font-weight:600;}/*!sc*/
|
|
.gfvQgL .sc-eDWCs{height:1.1em;width:1.1em;}/*!sc*/
|
|
.gfvQgL .sc-eDWCs polygon{fill:#666;}/*!sc*/
|
|
data-styled.g57[id="sc-jfTVlz"]{content:"gfvQgL,"}/*!sc*/
|
|
.gccdcP{vertical-align:middle;font-size:13px;line-height:20px;}/*!sc*/
|
|
data-styled.g58[id="sc-gScZFi"]{content:"gccdcP,"}/*!sc*/
|
|
.eFKHZA{color:rgba(102,102,102,0.9);}/*!sc*/
|
|
data-styled.g59[id="sc-lbVpMJ"]{content:"eFKHZA,"}/*!sc*/
|
|
.dHiwqX{color:#666;}/*!sc*/
|
|
data-styled.g60[id="sc-iOeugs"]{content:"dHiwqX,"}/*!sc*/
|
|
.iBAfOu{color:#666;word-break:break-word;}/*!sc*/
|
|
data-styled.g61[id="sc-jfvxQO"]{content:"iBAfOu,"}/*!sc*/
|
|
.iFijLo{color:#d41f1c;font-size:0.9em;font-weight:normal;margin-left:20px;line-height:1;}/*!sc*/
|
|
data-styled.g62[id="sc-eJDSGH"]{content:"iFijLo,"}/*!sc*/
|
|
.lpgjeL{border-radius:2px;word-break:break-word;background-color:rgba(51,51,51,0.05);color:rgba(51,51,51,0.9);padding:0 5px;border:1px solid rgba(51,51,51,0.1);font-family:Courier,monospace;}/*!sc*/
|
|
.sc-laZRCf+.sc-laZRCf{margin-left:0;}/*!sc*/
|
|
data-styled.g66[id="sc-laZRCf"]{content:"lpgjeL,"}/*!sc*/
|
|
.btJpCO{border-radius:2px;background-color:rgba(104,104,207,0.05);color:rgba(50,50,159,0.9);margin:0 5px;padding:0 5px;border:1px solid rgba(50,50,159,0.1);}/*!sc*/
|
|
.sc-ckEbSN+.sc-ckEbSN{margin-left:0;}/*!sc*/
|
|
data-styled.g68[id="sc-ckEbSN"]{content:"btJpCO,"}/*!sc*/
|
|
.ogSTS:after{content:' and ';font-weight:normal;}/*!sc*/
|
|
.ogSTS:last-child:after{content:none;}/*!sc*/
|
|
.ogSTS a{text-decoration:auto;color:#32329f;}/*!sc*/
|
|
.ogSTS a:visited{color:#32329f;}/*!sc*/
|
|
.ogSTS a:hover{color:#6868cf;text-decoration:auto;}/*!sc*/
|
|
data-styled.g81[id="sc-hOzoww"]{content:"ogSTS,"}/*!sc*/
|
|
.ixenSx{white-space:nowrap;}/*!sc*/
|
|
.ixenSx:after{content:' or ';white-space:pre;}/*!sc*/
|
|
.ixenSx:last-child:after,.ixenSx:only-child:after{content:none;}/*!sc*/
|
|
.ixenSx a{text-decoration:auto;color:#32329f;}/*!sc*/
|
|
.ixenSx a:visited{color:#32329f;}/*!sc*/
|
|
.ixenSx a:hover{color:#6868cf;text-decoration:auto;}/*!sc*/
|
|
data-styled.g82[id="sc-dsHJmp"]{content:"ixenSx,"}/*!sc*/
|
|
.caZOmr{flex:1 1 auto;cursor:pointer;}/*!sc*/
|
|
data-styled.g83[id="sc-cZFQFa"]{content:"caZOmr,"}/*!sc*/
|
|
.ersPYC{width:75%;text-overflow:ellipsis;border-radius:4px;overflow:hidden;}/*!sc*/
|
|
@media screen and (max-width: 50rem){.ersPYC{margin-top:10px;}}/*!sc*/
|
|
data-styled.g84[id="sc-jTjUTP"]{content:"ersPYC,"}/*!sc*/
|
|
.dKyMiV{display:inline-block;margin:0;}/*!sc*/
|
|
data-styled.g85[id="sc-jRwbcY"]{content:"dKyMiV,"}/*!sc*/
|
|
.haxGWD{width:100%;display:flex;margin:1em 0;flex-direction:row;}/*!sc*/
|
|
@media screen and (max-width: 50rem){.haxGWD{flex-direction:column;}}/*!sc*/
|
|
data-styled.g86[id="sc-fvEvSR"]{content:"haxGWD,"}/*!sc*/
|
|
.gXqQAj{margin-top:0;margin-bottom:0.5em;}/*!sc*/
|
|
data-styled.g92[id="sc-csDkEw"]{content:"gXqQAj,"}/*!sc*/
|
|
.cQzIjt::before{content:'|';display:inline-block;opacity:0.5;width:15px;text-align:center;}/*!sc*/
|
|
.cQzIjt:last-child::after{display:none;}/*!sc*/
|
|
data-styled.g94[id="sc-brePNq"]{content:"cQzIjt,"}/*!sc*/
|
|
.fWJTdf{overflow:hidden;}/*!sc*/
|
|
data-styled.g95[id="sc-gJqSRp"]{content:"fWJTdf,"}/*!sc*/
|
|
.gsndA-d{display:flex;flex-wrap:wrap;margin-left:-15px;}/*!sc*/
|
|
data-styled.g96[id="sc-evzXkY"]{content:"gsndA-d,"}/*!sc*/
|
|
.cOlDGN{width:9ex;display:inline-block;height:13px;line-height:13px;background-color:#333;border-radius:3px;background-repeat:no-repeat;background-position:6px 4px;font-size:7px;font-family:Verdana,sans-serif;color:white;text-transform:uppercase;text-align:center;font-weight:bold;vertical-align:middle;margin-right:6px;margin-top:2px;}/*!sc*/
|
|
.cOlDGN.get{background-color:#2F8132;}/*!sc*/
|
|
.cOlDGN.post{background-color:#186FAF;}/*!sc*/
|
|
.cOlDGN.put{background-color:#95507c;}/*!sc*/
|
|
.cOlDGN.options{background-color:#947014;}/*!sc*/
|
|
.cOlDGN.patch{background-color:#bf581d;}/*!sc*/
|
|
.cOlDGN.delete{background-color:#cc3333;}/*!sc*/
|
|
.cOlDGN.basic{background-color:#707070;}/*!sc*/
|
|
.cOlDGN.link{background-color:#07818F;}/*!sc*/
|
|
.cOlDGN.head{background-color:#A23DAD;}/*!sc*/
|
|
.cOlDGN.hook{background-color:#32329f;}/*!sc*/
|
|
.cOlDGN.schema{background-color:#707070;}/*!sc*/
|
|
data-styled.g100[id="sc-WKhSM"]{content:"cOlDGN,"}/*!sc*/
|
|
.bNeWFu{margin:0;padding:0;}/*!sc*/
|
|
.bNeWFu:first-child{padding-bottom:32px;}/*!sc*/
|
|
.sc-ikHGeh .sc-ikHGeh{font-size:0.929em;}/*!sc*/
|
|
.epIAtv{margin:0;padding:0;display:none;}/*!sc*/
|
|
.epIAtv:first-child{padding-bottom:32px;}/*!sc*/
|
|
.sc-ikHGeh .sc-ikHGeh{font-size:0.929em;}/*!sc*/
|
|
data-styled.g101[id="sc-ikHGeh"]{content:"bNeWFu,epIAtv,"}/*!sc*/
|
|
.dhwKft{list-style:none inside none;overflow:hidden;text-overflow:ellipsis;padding:0;}/*!sc*/
|
|
data-styled.g102[id="sc-uhnfI"]{content:"dhwKft,"}/*!sc*/
|
|
.hMqMpa{cursor:pointer;color:#333333;margin:0;padding:12.5px 20px;display:flex;justify-content:space-between;font-family:Montserrat,sans-serif;font-size:0.929em;text-transform:none;background-color:#fafafa;}/*!sc*/
|
|
.hMqMpa:hover{color:#32329f;background-color:#e1e1e1;}/*!sc*/
|
|
.hMqMpa .sc-eDWCs{height:1.5em;width:1.5em;}/*!sc*/
|
|
.hMqMpa .sc-eDWCs polygon{fill:#333333;}/*!sc*/
|
|
.iPvbfg{cursor:pointer;color:#333333;margin:0;padding:12.5px 20px;display:flex;justify-content:space-between;font-family:Montserrat,sans-serif;background-color:#fafafa;}/*!sc*/
|
|
.iPvbfg:hover{color:#32329f;background-color:#ededed;}/*!sc*/
|
|
.iPvbfg .sc-eDWCs{height:1.5em;width:1.5em;}/*!sc*/
|
|
.iPvbfg .sc-eDWCs polygon{fill:#333333;}/*!sc*/
|
|
data-styled.g103[id="sc-bhNKFj"]{content:"hMqMpa,iPvbfg,"}/*!sc*/
|
|
.hPiqJl{display:inline-block;vertical-align:middle;width:calc(100% - 38px);overflow:hidden;text-overflow:ellipsis;}/*!sc*/
|
|
data-styled.g104[id="sc-eGJbfG"]{content:"hPiqJl,"}/*!sc*/
|
|
.hkbMjr{font-size:0.8em;margin-top:10px;text-align:center;position:fixed;width:260px;bottom:0;background:#fafafa;}/*!sc*/
|
|
.hkbMjr a,.hkbMjr a:visited,.hkbMjr a:hover{color:#333333!important;padding:5px 0;border-top:1px solid #e1e1e1;text-decoration:none;display:flex;align-items:center;justify-content:center;}/*!sc*/
|
|
.hkbMjr img{width:15px;margin-right:5px;}/*!sc*/
|
|
@media screen and (max-width: 50rem){.hkbMjr{width:100%;}}/*!sc*/
|
|
data-styled.g105[id="sc-hAQmFh"]{content:"hkbMjr,"}/*!sc*/
|
|
.ciKPKv{cursor:pointer;position:relative;margin-bottom:5px;}/*!sc*/
|
|
data-styled.g111[id="sc-fWQKxQ"]{content:"ciKPKv,"}/*!sc*/
|
|
.dliInS{font-family:Courier,monospace;margin-left:10px;flex:1;overflow-x:hidden;text-overflow:ellipsis;}/*!sc*/
|
|
data-styled.g112[id="sc-EJAjd"]{content:"dliInS,"}/*!sc*/
|
|
.keRCfR{outline:0;color:inherit;width:100%;text-align:left;cursor:pointer;padding:10px 30px 10px 20px;border-radius:4px 4px 0 0;background-color:#11171a;display:flex;white-space:nowrap;align-items:center;border:1px solid transparent;border-bottom:0;transition:border-color 0.25s ease;}/*!sc*/
|
|
.keRCfR ..sc-EJAjd{color:#ffffff;}/*!sc*/
|
|
.keRCfR:focus{box-shadow:inset 0 2px 2px rgba(0, 0, 0, 0.45),0 2px 0 rgba(128, 128, 128, 0.25);}/*!sc*/
|
|
data-styled.g113[id="sc-jWgTtO"]{content:"keRCfR,"}/*!sc*/
|
|
.jkuyLe{font-size:0.929em;line-height:20px;background-color:#186FAF;color:#ffffff;padding:3px 10px;text-transform:uppercase;font-family:Montserrat,sans-serif;margin:0;}/*!sc*/
|
|
.eYCZVU{font-size:0.929em;line-height:20px;background-color:#2F8132;color:#ffffff;padding:3px 10px;text-transform:uppercase;font-family:Montserrat,sans-serif;margin:0;}/*!sc*/
|
|
data-styled.g114[id="sc-eDZJfb"]{content:"jkuyLe,eYCZVU,"}/*!sc*/
|
|
.gOIGOk{position:absolute;width:100%;z-index:100;background:#fafafa;color:#263238;box-sizing:border-box;box-shadow:0 0 6px rgba(0, 0, 0, 0.33);overflow:hidden;border-bottom-left-radius:4px;border-bottom-right-radius:4px;transition:all 0.25s ease;visibility:hidden;transform:translateY(-50%) scaleY(0);}/*!sc*/
|
|
data-styled.g115[id="sc-fmZqYQ"]{content:"gOIGOk,"}/*!sc*/
|
|
.gtcFnL{padding:10px;}/*!sc*/
|
|
data-styled.g116[id="sc-lknQiZ"]{content:"gtcFnL,"}/*!sc*/
|
|
.DohMc{padding:5px;border:1px solid #ccc;background:#fff;word-break:break-all;color:#32329f;}/*!sc*/
|
|
.DohMc >span{color:#333333;}/*!sc*/
|
|
data-styled.g117[id="sc-jmpzUO"]{content:"DohMc,"}/*!sc*/
|
|
.fHNxsY{text-transform:lowercase;margin-left:0;line-height:1.5em;}/*!sc*/
|
|
data-styled.g118[id="sc-dUipGb"]{content:"fHNxsY,"}/*!sc*/
|
|
.hCKvpT{display:block;border:0;width:100%;text-align:left;padding:10px;border-radius:2px;margin-bottom:4px;line-height:1.5em;cursor:pointer;color:#1d8127;background-color:rgba(29,129,39,0.07);}/*!sc*/
|
|
.hCKvpT:focus{outline:auto #1d8127;}/*!sc*/
|
|
.ftMElV{display:block;border:0;width:100%;text-align:left;padding:10px;border-radius:2px;margin-bottom:4px;line-height:1.5em;cursor:pointer;color:#d41f1c;background-color:rgba(212,31,28,0.07);}/*!sc*/
|
|
.ftMElV:focus{outline:auto #d41f1c;}/*!sc*/
|
|
.vDZZX{display:block;border:0;width:100%;text-align:left;padding:10px;border-radius:2px;margin-bottom:4px;line-height:1.5em;cursor:pointer;color:#87ceeb;background-color:rgba(135,206,235,0.1);cursor:default;}/*!sc*/
|
|
.vDZZX:focus{outline:auto #87ceeb;}/*!sc*/
|
|
.vDZZX::before{content:"—";font-weight:bold;width:1.5em;text-align:center;display:inline-block;vertical-align:top;}/*!sc*/
|
|
.vDZZX:focus{outline:0;}/*!sc*/
|
|
data-styled.g120[id="sc-caPbAN"]{content:"hCKvpT,ftMElV,vDZZX,"}/*!sc*/
|
|
.cefwTo{vertical-align:top;}/*!sc*/
|
|
data-styled.g123[id="sc-fWHiwF"]{content:"cefwTo,"}/*!sc*/
|
|
.jSupBE{font-size:1.3em;padding:0.2em 0;margin:3em 0 1.1em;color:#333333;font-weight:normal;}/*!sc*/
|
|
data-styled.g124[id="sc-fIhvWM"]{content:"jSupBE,"}/*!sc*/
|
|
.gAodEa{margin-bottom:30px;}/*!sc*/
|
|
data-styled.g129[id="sc-iFoMEL"]{content:"gAodEa,"}/*!sc*/
|
|
.cOjTzT{user-select:none;width:20px;height:20px;align-self:center;display:flex;flex-direction:column;color:#32329f;}/*!sc*/
|
|
data-styled.g130[id="sc-iqPaeS"]{content:"cOjTzT,"}/*!sc*/
|
|
.dFVOmx{width:260px;background-color:#fafafa;overflow:hidden;display:flex;flex-direction:column;backface-visibility:hidden;height:100vh;position:sticky;position:-webkit-sticky;top:0;}/*!sc*/
|
|
@media screen and (max-width: 50rem){.dFVOmx{position:fixed;z-index:20;width:100%;background:#fafafa;display:none;}}/*!sc*/
|
|
@media print{.dFVOmx{display:none;}}/*!sc*/
|
|
data-styled.g131[id="sc-eVspGK"]{content:"dFVOmx,"}/*!sc*/
|
|
.kibLGk{outline:none;user-select:none;background-color:#f2f2f2;color:#32329f;display:none;cursor:pointer;position:fixed;right:20px;z-index:100;border-radius:50%;box-shadow:0 0 20px rgba(0, 0, 0, 0.3);bottom:44px;width:60px;height:60px;padding:0 20px;}/*!sc*/
|
|
@media screen and (max-width: 50rem){.kibLGk{display:flex;}}/*!sc*/
|
|
.kibLGk svg{color:#0065FB;}/*!sc*/
|
|
@media print{.kibLGk{display:none;}}/*!sc*/
|
|
data-styled.g132[id="sc-kSGOQT"]{content:"kibLGk,"}/*!sc*/
|
|
.zbgiB{font-family:Roboto,sans-serif;font-size:14px;font-weight:400;line-height:1.5em;color:#333333;display:flex;position:relative;text-align:left;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;text-rendering:optimizeSpeed!important;tap-highlight-color:rgba(0, 0, 0, 0);text-size-adjust:100%;}/*!sc*/
|
|
.zbgiB *{box-sizing:border-box;-webkit-tap-highlight-color:rgba(255, 255, 255, 0);}/*!sc*/
|
|
data-styled.g133[id="sc-dvEHMo"]{content:"zbgiB,"}/*!sc*/
|
|
.hGIGbk{z-index:1;position:relative;overflow:hidden;width:calc(100% - 260px);contain:layout;}/*!sc*/
|
|
@media print,screen and (max-width: 50rem){.hGIGbk{width:100%;}}/*!sc*/
|
|
data-styled.g134[id="sc-jsTgWx"]{content:"hGIGbk,"}/*!sc*/
|
|
.dVAafl{background:#263238;position:absolute;top:0;bottom:0;right:0;width:calc((100% - 260px) * 0.4);}/*!sc*/
|
|
@media print,screen and (max-width: 75rem){.dVAafl{display:none;}}/*!sc*/
|
|
data-styled.g135[id="sc-elAWhK"]{content:"dVAafl,"}/*!sc*/
|
|
.kPfnYC{padding:5px 0;}/*!sc*/
|
|
data-styled.g136[id="sc-kiPvrT"]{content:"kPfnYC,"}/*!sc*/
|
|
.kMyMjD{width:calc(100% - 40px);box-sizing:border-box;margin:0 20px;padding:5px 10px 5px 20px;border:0;border-bottom:1px solid #e1e1e1;font-family:Roboto,sans-serif;font-weight:bold;font-size:13px;color:#333333;background-color:transparent;outline:none;}/*!sc*/
|
|
data-styled.g137[id="sc-cLNono"]{content:"kMyMjD,"}/*!sc*/
|
|
.cDWGFa{position:absolute;left:20px;height:1.8em;width:0.9em;}/*!sc*/
|
|
.cDWGFa path{fill:#333333;}/*!sc*/
|
|
data-styled.g138[id="sc-iJbNxx"]{content:"cDWGFa,"}/*!sc*/
|
|
</style>
|
|
<link href="https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700" rel="stylesheet">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div id="redoc"><div class="sc-dvEHMo zbgiB redoc-wrap"><div class="sc-eVspGK dFVOmx menu-content" style="top:0px;height:calc(100vh - 0px)"><div role="search" class="sc-kiPvrT kPfnYC"><svg class="sc-iJbNxx cDWGFa search-icon" version="1.1" viewBox="0 0 1000 1000" x="0px" xmlns="http://www.w3.org/2000/svg" y="0px"><path d="M968.2,849.4L667.3,549c83.9-136.5,66.7-317.4-51.7-435.6C477.1-25,252.5-25,113.9,113.4c-138.5,138.3-138.5,362.6,0,501C219.2,730.1,413.2,743,547.6,666.5l301.9,301.4c43.6,43.6,76.9,14.9,104.2-12.4C981,928.3,1011.8,893,968.2,849.4z M524.5,522c-88.9,88.7-233,88.7-321.8,0c-88.9-88.7-88.9-232.6,0-321.3c88.9-88.7,233-88.7,321.8,0C613.4,289.4,613.4,433.3,524.5,522z"></path></svg><input placeholder="Search..." aria-label="Search" type="text" class="sc-cLNono kMyMjD search-input" value=""/></div><div class="sc-kMjNwB kgDZmq scrollbar-container undefined"><ul role="menu" class="sc-ikHGeh bNeWFu"><li tabindex="0" depth="1" data-item-id="section/Overview" role="menuitem" aria-label="Overview" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj hMqMpa -depth1"><span width="calc(100% - 38px)" title="Overview" class="sc-eGJbfG hPiqJl">Overview</span></label></li><li tabindex="0" depth="1" data-item-id="section/Service-Types" role="menuitem" aria-label="Service Types" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj hMqMpa -depth1"><span width="calc(100% - 38px)" title="Service Types" class="sc-eGJbfG hPiqJl">Service Types</span></label></li><li tabindex="0" depth="1" data-item-id="section/Authentication" role="menuitem" aria-label="Authentication" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj hMqMpa -depth1"><span width="calc(100% - 38px)" title="Authentication" class="sc-eGJbfG hPiqJl">Authentication</span></label></li><li tabindex="0" depth="1" data-item-id="section/Field-Naming" role="menuitem" aria-label="Field Naming" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj hMqMpa -depth1"><span width="calc(100% - 38px)" title="Field Naming" class="sc-eGJbfG hPiqJl">Field Naming</span></label></li><li tabindex="0" depth="1" data-item-id="section/Error-Responses" role="menuitem" aria-label="Error Responses" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj hMqMpa -depth1"><span width="calc(100% - 38px)" title="Error Responses" class="sc-eGJbfG hPiqJl">Error Responses</span></label></li><li tabindex="0" depth="1" data-item-id="tag/Config" role="menuitem" aria-label="Config" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj hMqMpa -depth1"><span width="calc(100% - 38px)" title="Config" class="sc-eGJbfG hPiqJl">Config</span><svg class="sc-eDWCs kWBoqg" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></label><ul class="sc-ikHGeh epIAtv"><li tabindex="0" depth="2" data-item-id="tag/Config/operation/configService" role="menuitem" aria-label="Configuration service" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Configuration service</span></label></li></ul></li><li tabindex="0" depth="1" data-item-id="tag/Flow" role="menuitem" aria-label="Flow" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj hMqMpa -depth1"><span width="calc(100% - 38px)" title="Flow" class="sc-eGJbfG hPiqJl">Flow</span><svg class="sc-eDWCs kWBoqg" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></label><ul class="sc-ikHGeh epIAtv"><li tabindex="0" depth="2" data-item-id="tag/Flow/operation/flowService" role="menuitem" aria-label="Flow lifecycle and blueprint management" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Flow lifecycle and blueprint management</span></label></li></ul></li><li tabindex="0" depth="1" data-item-id="tag/Librarian" role="menuitem" aria-label="Librarian" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj hMqMpa -depth1"><span width="calc(100% - 38px)" title="Librarian" class="sc-eGJbfG hPiqJl">Librarian</span><svg class="sc-eDWCs kWBoqg" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></label><ul class="sc-ikHGeh epIAtv"><li tabindex="0" depth="2" data-item-id="tag/Librarian/operation/librarianService" role="menuitem" aria-label="Document library management" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Document library management</span></label></li></ul></li><li tabindex="0" depth="1" data-item-id="tag/Knowledge" role="menuitem" aria-label="Knowledge" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj hMqMpa -depth1"><span width="calc(100% - 38px)" title="Knowledge" class="sc-eGJbfG hPiqJl">Knowledge</span><svg class="sc-eDWCs kWBoqg" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></label><ul class="sc-ikHGeh epIAtv"><li tabindex="0" depth="2" data-item-id="tag/Knowledge/operation/knowledgeService" role="menuitem" aria-label="Knowledge graph core management" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Knowledge graph core management</span></label></li></ul></li><li tabindex="0" depth="1" data-item-id="tag/Collection" role="menuitem" aria-label="Collection" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj hMqMpa -depth1"><span width="calc(100% - 38px)" title="Collection" class="sc-eGJbfG hPiqJl">Collection</span><svg class="sc-eDWCs kWBoqg" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></label><ul class="sc-ikHGeh epIAtv"><li tabindex="0" depth="2" data-item-id="tag/Collection/operation/collectionManagementService" role="menuitem" aria-label="Collection metadata management" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Collection metadata management</span></label></li></ul></li><li tabindex="0" depth="1" data-item-id="tag/Flow-Services" role="menuitem" aria-label="Flow Services" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj hMqMpa -depth1"><span width="calc(100% - 38px)" title="Flow Services" class="sc-eGJbfG hPiqJl">Flow Services</span><svg class="sc-eDWCs kWBoqg" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></label><ul class="sc-ikHGeh epIAtv"><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/agentService" role="menuitem" aria-label="Agent service - conversational AI with reasoning" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Agent service - conversational AI with reasoning</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/documentRagService" role="menuitem" aria-label="Document RAG - retrieve and generate from documents" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Document RAG - retrieve and generate from documents</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/graphRagService" role="menuitem" aria-label="Graph RAG - retrieve and generate from knowledge graph" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Graph RAG - retrieve and generate from knowledge graph</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/textCompletionService" role="menuitem" aria-label="Text completion - direct LLM generation" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Text completion - direct LLM generation</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/promptService" role="menuitem" aria-label="Prompt service - template-based generation" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Prompt service - template-based generation</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/embeddingsService" role="menuitem" aria-label="Embeddings - text to vector conversion" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Embeddings - text to vector conversion</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/mcpToolService" role="menuitem" aria-label="MCP Tool - execute Model Context Protocol tools" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">MCP Tool - execute Model Context Protocol tools</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/triplesQueryService" role="menuitem" aria-label="Triples query - pattern-based graph queries" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Triples query - pattern-based graph queries</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/objectsQueryService" role="menuitem" aria-label="Objects query - GraphQL over knowledge graph" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Objects query - GraphQL over knowledge graph</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/nlpQueryService" role="menuitem" aria-label="NLP Query - natural language to structured query" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">NLP Query - natural language to structured query</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/structuredQueryService" role="menuitem" aria-label="Structured Query - question to results (all-in-one)" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Structured Query - question to results (all-in-one)</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/structuredDiagService" role="menuitem" aria-label="Structured Diag - analyze structured data formats" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Structured Diag - analyze structured data formats</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/graphEmbeddingsQueryService" role="menuitem" aria-label="Graph Embeddings Query - find similar entities" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Graph Embeddings Query - find similar entities</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/documentEmbeddingsQueryService" role="menuitem" aria-label="Document Embeddings Query - find similar text chunks" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Document Embeddings Query - find similar text chunks</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/textLoadService" role="menuitem" aria-label="Text Load - load text documents" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Text Load - load text documents</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/documentLoadService" role="menuitem" aria-label="Document Load - load binary documents (PDF, etc.)" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Document Load - load binary documents (PDF, etc.)</span></label></li></ul></li><li tabindex="0" depth="1" data-item-id="tag/ImportExport" role="menuitem" aria-label="Import/Export" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj hMqMpa -depth1"><span width="calc(100% - 38px)" title="Import/Export" class="sc-eGJbfG hPiqJl">Import/Export</span><svg class="sc-eDWCs kWBoqg" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></label><ul class="sc-ikHGeh epIAtv"><li tabindex="0" depth="2" data-item-id="tag/ImportExport/operation/importCore" role="menuitem" aria-label="Import Core - bulk import triples and embeddings" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="post" class="sc-WKhSM cOlDGN operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Import Core - bulk import triples and embeddings</span></label></li><li tabindex="0" depth="2" data-item-id="tag/ImportExport/operation/exportCore" role="menuitem" aria-label="Export Core - bulk export triples and embeddings" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="get" class="sc-WKhSM cOlDGN operation-type get">get</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Export Core - bulk export triples and embeddings</span></label></li></ul></li><li tabindex="0" depth="1" data-item-id="tag/WebSocket" role="menuitem" aria-label="WebSocket" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj hMqMpa -depth1"><span width="calc(100% - 38px)" title="WebSocket" class="sc-eGJbfG hPiqJl">WebSocket</span><svg class="sc-eDWCs kWBoqg" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></label><ul class="sc-ikHGeh epIAtv"><li tabindex="0" depth="2" data-item-id="tag/WebSocket/operation/websocketConnection" role="menuitem" aria-label="WebSocket - multiplexed service interface" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="get" class="sc-WKhSM cOlDGN operation-type get">get</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">WebSocket - multiplexed service interface</span></label></li></ul></li><li tabindex="0" depth="1" data-item-id="tag/Metrics" role="menuitem" aria-label="Metrics" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj hMqMpa -depth1"><span width="calc(100% - 38px)" title="Metrics" class="sc-eGJbfG hPiqJl">Metrics</span><svg class="sc-eDWCs kWBoqg" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></label><ul class="sc-ikHGeh epIAtv"><li tabindex="0" depth="2" data-item-id="tag/Metrics/operation/getMetrics" role="menuitem" aria-label="Metrics - Prometheus metrics endpoint" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="get" class="sc-WKhSM cOlDGN operation-type get">get</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Metrics - Prometheus metrics endpoint</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Metrics/operation/getMetricsPath" role="menuitem" aria-label="Metrics - Prometheus metrics with path" aria-expanded="false" class="sc-uhnfI dhwKft"><label class="sc-bhNKFj iPvbfg -depth2"><span type="get" class="sc-WKhSM cOlDGN operation-type get">get</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eGJbfG hPiqJl">Metrics - Prometheus metrics with path</span></label></li></ul></li></ul><div class="sc-hAQmFh hkbMjr"><a target="_blank" rel="noopener noreferrer" href="https://redocly.com/redoc/">API docs by Redocly</a></div></div></div><div class="sc-kSGOQT kibLGk"><div class="sc-iqPaeS cOjTzT"><svg class="" style="transform:translate(2px, -4px) rotate(180deg);transition:transform 0.2s ease" viewBox="0 0 926.23699 573.74994" version="1.1" x="0px" y="0px" width="15" height="15"><g transform="translate(904.92214,-879.1482)"><path d="
|
|
m -673.67664,1221.6502 -231.2455,-231.24803 55.6165,
|
|
-55.627 c 30.5891,-30.59485 56.1806,-55.627 56.8701,-55.627 0.6894,
|
|
0 79.8637,78.60862 175.9427,174.68583 l 174.6892,174.6858 174.6892,
|
|
-174.6858 c 96.079,-96.07721 175.253196,-174.68583 175.942696,
|
|
-174.68583 0.6895,0 26.281,25.03215 56.8701,
|
|
55.627 l 55.6165,55.627 -231.245496,231.24803 c -127.185,127.1864
|
|
-231.5279,231.248 -231.873,231.248 -0.3451,0 -104.688,
|
|
-104.0616 -231.873,-231.248 z
|
|
" fill="currentColor"></path></g></svg><svg class="" style="transform:translate(2px, 4px);transition:transform 0.2s ease" viewBox="0 0 926.23699 573.74994" version="1.1" x="0px" y="0px" width="15" height="15"><g transform="translate(904.92214,-879.1482)"><path d="
|
|
m -673.67664,1221.6502 -231.2455,-231.24803 55.6165,
|
|
-55.627 c 30.5891,-30.59485 56.1806,-55.627 56.8701,-55.627 0.6894,
|
|
0 79.8637,78.60862 175.9427,174.68583 l 174.6892,174.6858 174.6892,
|
|
-174.6858 c 96.079,-96.07721 175.253196,-174.68583 175.942696,
|
|
-174.68583 0.6895,0 26.281,25.03215 56.8701,
|
|
55.627 l 55.6165,55.627 -231.245496,231.24803 c -127.185,127.1864
|
|
-231.5279,231.248 -231.873,231.248 -0.3451,0 -104.688,
|
|
-104.0616 -231.873,-231.248 z
|
|
" fill="currentColor"></path></g></svg></div></div><div class="sc-jsTgWx hGIGbk api-content"><div class="sc-eDvSVh gnfAsZ"><div class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE api-info"><h1 class="sc-ftTHYN sc-csDkEw iteOFx gXqQAj">TrustGraph API Gateway<!-- --> <span>(<!-- -->1.8<!-- -->)</span></h1><p>Download OpenAPI specification<!-- -->:</p><div class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><div class="sc-gJqSRp fWJTdf"><div class="sc-evzXkY gsndA-d"> <span class="sc-brePNq cQzIjt">URL: <a href="https://trustgraph.ai">https://trustgraph.ai</a></span> <span class="sc-brePNq cQzIjt">License:<!-- --> <a href="https://www.apache.org/licenses/LICENSE-2.0.html">Apache 2.0</a></span> </div></div></div><div data-role="redoc-summary" html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><div data-role="redoc-description" html="<p>REST API for TrustGraph - an AI-powered knowledge graph and RAG system.</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>REST API for TrustGraph - an AI-powered knowledge graph and RAG system.</p>
|
|
</div></div></div></div><div id="section/Overview" data-section-id="section/Overview" class="sc-eDvSVh gnfAsZ"><div class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-jrcTuM kboIcV"><a class="sc-csuSiJ hWmuSZ" href="#section/Overview" aria-label="section/Overview"></a>Overview</h2></div></div><div class="sc-hLBbgQ jqgxjE"><div class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK redoc-markdown " html="<p>The API provides access to:</p>
|
|
<ul>
|
|
<li><strong>Global Services</strong>: Configuration, flow management, knowledge storage, library management</li>
|
|
<li><strong>Flow-Hosted Services</strong>: AI services like RAG, text completion, embeddings (require running flow)</li>
|
|
<li><strong>Import/Export</strong>: Bulk data operations for triples, embeddings, entity contexts</li>
|
|
<li><strong>WebSocket</strong>: Multiplexed interface for all services</li>
|
|
</ul>
|
|
"><p>The API provides access to:</p>
|
|
<ul>
|
|
<li><strong>Global Services</strong>: Configuration, flow management, knowledge storage, library management</li>
|
|
<li><strong>Flow-Hosted Services</strong>: AI services like RAG, text completion, embeddings (require running flow)</li>
|
|
<li><strong>Import/Export</strong>: Bulk data operations for triples, embeddings, entity contexts</li>
|
|
<li><strong>WebSocket</strong>: Multiplexed interface for all services</li>
|
|
</ul>
|
|
</div></div></div><div id="section/Service-Types" data-section-id="section/Service-Types" class="sc-eDvSVh gnfAsZ"><div class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-jrcTuM kboIcV"><a class="sc-csuSiJ hWmuSZ" href="#section/Service-Types" aria-label="section/Service-Types"></a>Service Types</h2></div></div><div class="sc-hLBbgQ jqgxjE"><div class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK redoc-markdown " html="<h3 id="global-services">Global Services</h3>
|
|
<p>Fixed endpoints accessible via <code>/api/v1/{kind}</code>:</p>
|
|
<ul>
|
|
<li><code>config</code> - Configuration management</li>
|
|
<li><code>flow</code> - Flow lifecycle and blueprints</li>
|
|
<li><code>librarian</code> - Document library management</li>
|
|
<li><code>knowledge</code> - Knowledge graph core management</li>
|
|
<li><code>collection-management</code> - Collection metadata</li>
|
|
</ul>
|
|
<h3 id="flow-hosted-services">Flow-Hosted Services</h3>
|
|
<p>Require running flow instance, accessed via <code>/api/v1/flow/{flow}/service/{kind}</code>:</p>
|
|
<ul>
|
|
<li>AI services: agent, text-completion, prompt, RAG (document/graph)</li>
|
|
<li>Embeddings: embeddings, graph-embeddings, document-embeddings</li>
|
|
<li>Query: triples, objects, nlp-query, structured-query</li>
|
|
<li>Data loading: text-load, document-load</li>
|
|
<li>Utilities: mcp-tool, structured-diag</li>
|
|
</ul>
|
|
"><h3 id="global-services">Global Services</h3>
|
|
<p>Fixed endpoints accessible via <code>/api/v1/{kind}</code>:</p>
|
|
<ul>
|
|
<li><code>config</code> - Configuration management</li>
|
|
<li><code>flow</code> - Flow lifecycle and blueprints</li>
|
|
<li><code>librarian</code> - Document library management</li>
|
|
<li><code>knowledge</code> - Knowledge graph core management</li>
|
|
<li><code>collection-management</code> - Collection metadata</li>
|
|
</ul>
|
|
<h3 id="flow-hosted-services">Flow-Hosted Services</h3>
|
|
<p>Require running flow instance, accessed via <code>/api/v1/flow/{flow}/service/{kind}</code>:</p>
|
|
<ul>
|
|
<li>AI services: agent, text-completion, prompt, RAG (document/graph)</li>
|
|
<li>Embeddings: embeddings, graph-embeddings, document-embeddings</li>
|
|
<li>Query: triples, objects, nlp-query, structured-query</li>
|
|
<li>Data loading: text-load, document-load</li>
|
|
<li>Utilities: mcp-tool, structured-diag</li>
|
|
</ul>
|
|
</div></div></div><div id="section/Authentication" data-section-id="section/Authentication" class="sc-eDvSVh gnfAsZ"><div class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-jrcTuM kboIcV"><a class="sc-csuSiJ hWmuSZ" href="#section/Authentication" aria-label="section/Authentication"></a>Authentication</h2></div></div><div class="sc-hLBbgQ jqgxjE"><div class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK redoc-markdown " html="<p>Bearer token authentication when <code>GATEWAY_SECRET</code> environment variable is set.
|
|
Include token in Authorization header:</p>
|
|
<pre><code>Authorization<span class="token punctuation">:</span> Bearer <span class="token operator">&lt;</span>token<span class="token operator">></span>
|
|
</code></pre>
|
|
<p>If <code>GATEWAY_SECRET</code> is not set, API runs without authentication (development mode).</p>
|
|
"><p>Bearer token authentication when <code>GATEWAY_SECRET</code> environment variable is set.
|
|
Include token in Authorization header:</p>
|
|
<pre><code>Authorization<span class="token punctuation">:</span> Bearer <span class="token operator"><</span>token<span class="token operator">></span>
|
|
</code></pre>
|
|
<p>If <code>GATEWAY_SECRET</code> is not set, API runs without authentication (development mode).</p>
|
|
</div></div></div><div id="section/Field-Naming" data-section-id="section/Field-Naming" class="sc-eDvSVh gnfAsZ"><div class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-jrcTuM kboIcV"><a class="sc-csuSiJ hWmuSZ" href="#section/Field-Naming" aria-label="section/Field-Naming"></a>Field Naming</h2></div></div><div class="sc-hLBbgQ jqgxjE"><div class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK redoc-markdown " html="<p>All JSON fields use <strong>kebab-case</strong>: <code>flow-id</code>, <code>blueprint-name</code>, <code>doc-limit</code>, etc.</p>
|
|
"><p>All JSON fields use <strong>kebab-case</strong>: <code>flow-id</code>, <code>blueprint-name</code>, <code>doc-limit</code>, etc.</p>
|
|
</div></div></div><div id="section/Error-Responses" data-section-id="section/Error-Responses" class="sc-eDvSVh gnfAsZ"><div class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-jrcTuM kboIcV"><a class="sc-csuSiJ hWmuSZ" href="#section/Error-Responses" aria-label="section/Error-Responses"></a>Error Responses</h2></div></div><div class="sc-hLBbgQ jqgxjE"><div class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK redoc-markdown " html="<p>All endpoints may return errors in this format:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"error"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token string-property property">"type"</span><span class="token operator">:</span> <span class="token string">"gateway-error"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"message"</span><span class="token operator">:</span> <span class="token string">"Timeout"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
"><p>All endpoints may return errors in this format:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"error"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token string-property property">"type"</span><span class="token operator">:</span> <span class="token string">"gateway-error"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"message"</span><span class="token operator">:</span> <span class="token string">"Timeout"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
</div></div></div><div id="tag/Config" data-section-id="tag/Config" class="sc-eDvSVh gnfAsZ"><div class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Config" aria-label="tag/Config"></a>Config</h2></div></div><div class="sc-hLBbgQ jqgxjE"><div class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK redoc-markdown " html="<p>Configuration management (global service)</p>
|
|
"><p>Configuration management (global service)</p>
|
|
</div></div></div><div id="tag/Config/operation/configService" data-section-id="tag/Config/operation/configService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/configService" id="operation/configService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Config/operation/configService" aria-label="tag/Config/operation/configService"></a>Configuration service<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Manage TrustGraph configuration including flows, prompts, token costs, parameter types, and more.</p>
|
|
<h2 id="operations">Operations</h2>
|
|
<h3 id="config">config</h3>
|
|
<p>Get the complete system configuration including all flows, prompts, token costs, etc.</p>
|
|
<h3 id="list">list</h3>
|
|
<p>List all configuration items of a specific type (e.g., all flows, all prompts).</p>
|
|
<h3 id="get">get</h3>
|
|
<p>Retrieve specific configuration items by type and key.</p>
|
|
<h3 id="put">put</h3>
|
|
<p>Create or update configuration values.</p>
|
|
<h3 id="delete">delete</h3>
|
|
<p>Delete configuration items.</p>
|
|
<h2 id="configuration-types">Configuration Types</h2>
|
|
<ul>
|
|
<li><code>flow</code> - Flow instance definitions</li>
|
|
<li><code>flow-blueprint</code> - Flow blueprint definitions (stored separately from flow instances)</li>
|
|
<li><code>prompt</code> - Prompt templates</li>
|
|
<li><code>token-cost</code> - Model token pricing</li>
|
|
<li><code>parameter-type</code> - Parameter type definitions</li>
|
|
<li><code>interface-description</code> - Interface descriptions</li>
|
|
<li>Custom types as needed</li>
|
|
</ul>
|
|
<h2 id="important-distinction">Important Distinction</h2>
|
|
<p>The <strong>config service</strong> manages <em>stored configuration</em>.
|
|
The <strong>flow service</strong> (<code>/api/v1/flow</code>) manages <em>running flow instances</em>.</p>
|
|
<ul>
|
|
<li>Use config service to store/retrieve flow definitions</li>
|
|
<li>Use flow service to start/stop/manage running flows</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Manage TrustGraph configuration including flows, prompts, token costs, parameter types, and more.</p>
|
|
<h2 id="operations">Operations</h2>
|
|
<h3 id="config">config</h3>
|
|
<p>Get the complete system configuration including all flows, prompts, token costs, etc.</p>
|
|
<h3 id="list">list</h3>
|
|
<p>List all configuration items of a specific type (e.g., all flows, all prompts).</p>
|
|
<h3 id="get">get</h3>
|
|
<p>Retrieve specific configuration items by type and key.</p>
|
|
<h3 id="put">put</h3>
|
|
<p>Create or update configuration values.</p>
|
|
<h3 id="delete">delete</h3>
|
|
<p>Delete configuration items.</p>
|
|
<h2 id="configuration-types">Configuration Types</h2>
|
|
<ul>
|
|
<li><code>flow</code> - Flow instance definitions</li>
|
|
<li><code>flow-blueprint</code> - Flow blueprint definitions (stored separately from flow instances)</li>
|
|
<li><code>prompt</code> - Prompt templates</li>
|
|
<li><code>token-cost</code> - Model token pricing</li>
|
|
<li><code>parameter-type</code> - Parameter type definitions</li>
|
|
<li><code>interface-description</code> - Interface descriptions</li>
|
|
<li>Custom types as needed</li>
|
|
</ul>
|
|
<h2 id="important-distinction">Important Distinction</h2>
|
|
<p>The <strong>config service</strong> manages <em>stored configuration</em>.
|
|
The <strong>flow service</strong> (<code>/api/v1/flow</code>) manages <em>running flow instances</em>.</p>
|
|
<ul>
|
|
<li>Use config service to store/retrieve flow definitions</li>
|
|
<li>Use flow service to start/stop/manage running flows</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="operation" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">operation</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Enum<!-- -->:</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"config"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"list"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"get"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"put"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"delete"</span> </div> <div><div html="<p>Operation to perform:</p>
|
|
<ul>
|
|
<li><code>config</code>: Get complete configuration</li>
|
|
<li><code>list</code>: List all items of a specific type</li>
|
|
<li><code>get</code>: Get specific configuration items</li>
|
|
<li><code>put</code>: Set/update configuration values</li>
|
|
<li><code>delete</code>: Delete configuration items</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Operation to perform:</p>
|
|
<ul>
|
|
<li><code>config</code>: Get complete configuration</li>
|
|
<li><code>list</code>: List all items of a specific type</li>
|
|
<li><code>get</code>: Get specific configuration items</li>
|
|
<li><code>put</code>: Set/update configuration values</li>
|
|
<li><code>delete</code>: Delete configuration items</li>
|
|
</ul>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="type" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">type</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Configuration type (required for list, get, put, delete operations).
|
|
Common types: flow, prompt, token-cost, parameter-type, interface-description</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Configuration type (required for list, get, put, delete operations).
|
|
Common types: flow, prompt, token-cost, parameter-type, interface-description</p>
|
|
</div></div></div></td></tr><tr class=""><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="keys"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand keys"><span class="property-name">keys</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA">Array of </span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">objects</span></div> <div><div html="<p>Keys to retrieve (for get operation) or delete (for delete operation)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Keys to retrieve (for get operation) or delete (for delete operation)</p>
|
|
</div></div></div></td></tr><tr class="last "><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="values"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand values"><span class="property-name">values</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA">Array of </span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">objects</span></div> <div><div html="<p>Values to set/update (for put operation)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Values to set/update (for put operation)</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/config</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/config</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_ijja_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_ijja_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_ijja_0" aria-labelledby="tab_R_ijja_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Get complete configuration" selected="">Get complete configuration</option><option value="List all stored flow definitions">List all stored flow definitions</option><option value="List all prompts">List all prompts</option><option value="Get specific flow definition">Get specific flow definition</option><option value="Create/update flow definition">Create/update flow definition</option><option value="Set system prompt">Set system prompt</option><option value="Set token costs for a model">Set token costs for a model</option><option value="Delete flow definition">Delete flow definition</option></select><label>Get complete configuration</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"operation"</span>: <span class="token string">"config"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_jjja_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_jjja_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_jjja_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_jjja_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_jjja_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_jjja_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_jjja_0" aria-labelledby="tab_R_jjja_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Complete configuration" selected="">Complete configuration</option><option value="List of flow definition keys">List of flow definition keys</option><option value="Retrieved flow definition">Retrieved flow definition</option><option value="Put operation success">Put operation success</option><option value="Delete operation success">Delete operation success</option></select><label>Complete configuration</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"version"</span>: <span class="token number">42</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"config"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"flow"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"default"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"blueprint-name"</span>: <span class="token string">"document-rag+graph-rag"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">"Default flow"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"interfaces"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"agent"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"request"</span>: <span class="token string">"non-persistent://tg/request/agent:default"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"response"</span>: <span class="token string">"non-persistent://tg/response/agent:default"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"prompt"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"system"</span>: <span class="token string">"You are a helpful AI assistant"</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"token-cost"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"gpt-4"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"prompt"</span>: <span class="token number">0.03</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"completion"</span>: <span class="token number">0.06</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_jjja_1" aria-labelledby="tab_R_jjja_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_jjja_2" aria-labelledby="tab_R_jjja_2"></div></div></div></div></div></div><div id="tag/Flow" data-section-id="tag/Flow" class="sc-eDvSVh gnfAsZ"><div class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow" aria-label="tag/Flow"></a>Flow</h2></div></div><div class="sc-hLBbgQ jqgxjE"><div class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK redoc-markdown " html="<p>Flow lifecycle and blueprint management (global service)</p>
|
|
"><p>Flow lifecycle and blueprint management (global service)</p>
|
|
</div></div></div><div id="tag/Flow/operation/flowService" data-section-id="tag/Flow/operation/flowService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/flowService" id="operation/flowService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow/operation/flowService" aria-label="tag/Flow/operation/flowService"></a>Flow lifecycle and blueprint management<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Manage flow instances and blueprints.</p>
|
|
<h2 id="important-distinction">Important Distinction</h2>
|
|
<p>The <strong>flow service</strong> manages <em>running flow instances</em>.
|
|
The <strong>config service</strong> (<code>/api/v1/config</code>) manages <em>stored configuration</em>.</p>
|
|
<ul>
|
|
<li>Use flow service to start/stop/manage running flows</li>
|
|
<li>Use config service to store/retrieve flow definitions</li>
|
|
</ul>
|
|
<h2 id="flow-instance-operations">Flow Instance Operations</h2>
|
|
<h3 id="start-flow">start-flow</h3>
|
|
<p>Start a new flow instance from a blueprint. The blueprint must exist (either built-in or created via put-blueprint).</p>
|
|
<p>Parameters are resolved from:</p>
|
|
<ol>
|
|
<li>User-provided values (--param)</li>
|
|
<li>Default values from parameter type definitions</li>
|
|
<li>Controlled-by relationships</li>
|
|
</ol>
|
|
<h3 id="stop-flow">stop-flow</h3>
|
|
<p>Stop a running flow instance. This terminates all processors and releases resources.</p>
|
|
<h3 id="list-flows">list-flows</h3>
|
|
<p>List all currently running flow instances.</p>
|
|
<h3 id="get-flow">get-flow</h3>
|
|
<p>Get details of a running flow including its configuration, parameters, and interface queue names.</p>
|
|
<h2 id="blueprint-operations">Blueprint Operations</h2>
|
|
<h3 id="list-blueprints">list-blueprints</h3>
|
|
<p>List all available flow blueprints (built-in and custom).</p>
|
|
<h3 id="get-blueprint">get-blueprint</h3>
|
|
<p>Retrieve a blueprint definition showing its structure, parameters, processors, and interfaces.</p>
|
|
<h3 id="put-blueprint">put-blueprint</h3>
|
|
<p>Create or update a flow blueprint definition.</p>
|
|
<p>Blueprints define:</p>
|
|
<ul>
|
|
<li><strong>Class processors</strong>: Shared across all instances of this blueprint</li>
|
|
<li><strong>Flow processors</strong>: Unique to each flow instance</li>
|
|
<li><strong>Interfaces</strong>: Entry points for external systems</li>
|
|
<li><strong>Parameters</strong>: Configurable values for customization</li>
|
|
</ul>
|
|
<h3 id="delete-blueprint">delete-blueprint</h3>
|
|
<p>Delete a custom blueprint definition. Built-in blueprints cannot be deleted.</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Manage flow instances and blueprints.</p>
|
|
<h2 id="important-distinction">Important Distinction</h2>
|
|
<p>The <strong>flow service</strong> manages <em>running flow instances</em>.
|
|
The <strong>config service</strong> (<code>/api/v1/config</code>) manages <em>stored configuration</em>.</p>
|
|
<ul>
|
|
<li>Use flow service to start/stop/manage running flows</li>
|
|
<li>Use config service to store/retrieve flow definitions</li>
|
|
</ul>
|
|
<h2 id="flow-instance-operations">Flow Instance Operations</h2>
|
|
<h3 id="start-flow">start-flow</h3>
|
|
<p>Start a new flow instance from a blueprint. The blueprint must exist (either built-in or created via put-blueprint).</p>
|
|
<p>Parameters are resolved from:</p>
|
|
<ol>
|
|
<li>User-provided values (--param)</li>
|
|
<li>Default values from parameter type definitions</li>
|
|
<li>Controlled-by relationships</li>
|
|
</ol>
|
|
<h3 id="stop-flow">stop-flow</h3>
|
|
<p>Stop a running flow instance. This terminates all processors and releases resources.</p>
|
|
<h3 id="list-flows">list-flows</h3>
|
|
<p>List all currently running flow instances.</p>
|
|
<h3 id="get-flow">get-flow</h3>
|
|
<p>Get details of a running flow including its configuration, parameters, and interface queue names.</p>
|
|
<h2 id="blueprint-operations">Blueprint Operations</h2>
|
|
<h3 id="list-blueprints">list-blueprints</h3>
|
|
<p>List all available flow blueprints (built-in and custom).</p>
|
|
<h3 id="get-blueprint">get-blueprint</h3>
|
|
<p>Retrieve a blueprint definition showing its structure, parameters, processors, and interfaces.</p>
|
|
<h3 id="put-blueprint">put-blueprint</h3>
|
|
<p>Create or update a flow blueprint definition.</p>
|
|
<p>Blueprints define:</p>
|
|
<ul>
|
|
<li><strong>Class processors</strong>: Shared across all instances of this blueprint</li>
|
|
<li><strong>Flow processors</strong>: Unique to each flow instance</li>
|
|
<li><strong>Interfaces</strong>: Entry points for external systems</li>
|
|
<li><strong>Parameters</strong>: Configurable values for customization</li>
|
|
</ul>
|
|
<h3 id="delete-blueprint">delete-blueprint</h3>
|
|
<p>Delete a custom blueprint definition. Built-in blueprints cannot be deleted.</p>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="operation" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">operation</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Enum<!-- -->:</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"start-flow"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"stop-flow"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"list-flows"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"get-flow"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"list-blueprints"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"get-blueprint"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"put-blueprint"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"delete-blueprint"</span> </div> <div><div html="<p>Flow operation:</p>
|
|
<ul>
|
|
<li><code>start-flow</code>: Start a new flow instance from a blueprint</li>
|
|
<li><code>stop-flow</code>: Stop a running flow instance</li>
|
|
<li><code>list-flows</code>: List all running flow instances</li>
|
|
<li><code>get-flow</code>: Get details of a running flow</li>
|
|
<li><code>list-blueprints</code>: List available flow blueprints</li>
|
|
<li><code>get-blueprint</code>: Get blueprint definition</li>
|
|
<li><code>put-blueprint</code>: Create/update blueprint definition</li>
|
|
<li><code>delete-blueprint</code>: Delete blueprint definition</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow operation:</p>
|
|
<ul>
|
|
<li><code>start-flow</code>: Start a new flow instance from a blueprint</li>
|
|
<li><code>stop-flow</code>: Stop a running flow instance</li>
|
|
<li><code>list-flows</code>: List all running flow instances</li>
|
|
<li><code>get-flow</code>: Get details of a running flow</li>
|
|
<li><code>list-blueprints</code>: List available flow blueprints</li>
|
|
<li><code>get-blueprint</code>: Get blueprint definition</li>
|
|
<li><code>put-blueprint</code>: Create/update blueprint definition</li>
|
|
<li><code>delete-blueprint</code>: Delete blueprint definition</li>
|
|
</ul>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="flow-id" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow-id</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Flow instance ID (required for start-flow, stop-flow, get-flow)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID (required for start-flow, stop-flow, get-flow)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="blueprint-name" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">blueprint-name</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Flow blueprint name (required for start-flow, get-blueprint, put-blueprint, delete-blueprint)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow blueprint name (required for start-flow, get-blueprint, put-blueprint, delete-blueprint)</p>
|
|
</div></div></div></td></tr><tr class=""><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="blueprint-definition"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand blueprint-definition"><span class="property-name">blueprint-definition</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">object</span></div> <div><div html="<p>Flow blueprint definition (required for put-blueprint)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow blueprint definition (required for put-blueprint)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="description" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">description</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Flow description (optional for start-flow)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow description (optional for start-flow)</p>
|
|
</div></div></div></td></tr><tr class="last "><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="parameters"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand parameters"><span class="property-name">parameters</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">object</span></div> <div><div html="<p>Flow parameters (for start-flow).
|
|
All values are stored as strings, regardless of input type.</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow parameters (for start-flow).
|
|
All values are stored as strings, regardless of input type.</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_ijjq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_ijjq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_ijjq_0" aria-labelledby="tab_R_ijjq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Start a flow instance" selected="">Start a flow instance</option><option value="Start flow with defaults">Start flow with defaults</option><option value="Stop a flow instance">Stop a flow instance</option><option value="List running flows">List running flows</option><option value="Get flow details">Get flow details</option><option value="List available blueprints">List available blueprints</option><option value="Get blueprint definition">Get blueprint definition</option><option value="Create/update blueprint">Create/update blueprint</option><option value="Delete blueprint">Delete blueprint</option></select><label>Start a flow instance</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"operation"</span>: <span class="token string">"start-flow"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"flow-id"</span>: <span class="token string">"my-flow"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"blueprint-name"</span>: <span class="token string">"document-rag"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"description"</span>: <span class="token string">"My document processing flow"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"model"</span>: <span class="token string">"gpt-4"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"temperature"</span>: <span class="token string">"0.7"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_jjjq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_jjjq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_jjjq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_jjjq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_jjjq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_jjjq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_jjjq_0" aria-labelledby="tab_R_jjjq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Flow started" selected="">Flow started</option><option value="Running flows">Running flows</option><option value="Flow details">Flow details</option><option value="Available blueprints">Available blueprints</option><option value="Blueprint definition">Blueprint definition</option></select><label>Flow started</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"flow-id"</span>: <span class="token string">"my-flow"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_jjjq_1" aria-labelledby="tab_R_jjjq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_jjjq_2" aria-labelledby="tab_R_jjjq_2"></div></div></div></div></div></div><div id="tag/Librarian" data-section-id="tag/Librarian" class="sc-eDvSVh gnfAsZ"><div class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Librarian" aria-label="tag/Librarian"></a>Librarian</h2></div></div><div class="sc-hLBbgQ jqgxjE"><div class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK redoc-markdown " html="<p>Document library management (global service)</p>
|
|
"><p>Document library management (global service)</p>
|
|
</div></div></div><div id="tag/Librarian/operation/librarianService" data-section-id="tag/Librarian/operation/librarianService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/librarianService" id="operation/librarianService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Librarian/operation/librarianService" aria-label="tag/Librarian/operation/librarianService"></a>Document library management<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Manage document library: add, remove, list documents, and control processing.</p>
|
|
<h2 id="document-library">Document Library</h2>
|
|
<p>The librarian service manages a persistent library of documents that can be:</p>
|
|
<ul>
|
|
<li>Added with metadata for organization</li>
|
|
<li>Queried and filtered by criteria</li>
|
|
<li>Processed through flows on-demand or continuously</li>
|
|
<li>Tracked for processing status</li>
|
|
</ul>
|
|
<h2 id="operations">Operations</h2>
|
|
<h3 id="add-document">add-document</h3>
|
|
<p>Add a document to the library with metadata (URL, title, author, etc.).
|
|
Documents can be added by URL or with inline content.</p>
|
|
<h3 id="remove-document">remove-document</h3>
|
|
<p>Remove a document from the library by document ID or URL.</p>
|
|
<h3 id="list-documents">list-documents</h3>
|
|
<p>List all documents in the library, optionally filtered by criteria.</p>
|
|
<h3 id="start-processing">start-processing</h3>
|
|
<p>Start processing library documents through a flow. Documents are queued
|
|
for processing and handled asynchronously.</p>
|
|
<h3 id="stop-processing">stop-processing</h3>
|
|
<p>Stop ongoing library document processing.</p>
|
|
<h3 id="list-processing">list-processing</h3>
|
|
<p>List current processing tasks and their status.</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Manage document library: add, remove, list documents, and control processing.</p>
|
|
<h2 id="document-library">Document Library</h2>
|
|
<p>The librarian service manages a persistent library of documents that can be:</p>
|
|
<ul>
|
|
<li>Added with metadata for organization</li>
|
|
<li>Queried and filtered by criteria</li>
|
|
<li>Processed through flows on-demand or continuously</li>
|
|
<li>Tracked for processing status</li>
|
|
</ul>
|
|
<h2 id="operations">Operations</h2>
|
|
<h3 id="add-document">add-document</h3>
|
|
<p>Add a document to the library with metadata (URL, title, author, etc.).
|
|
Documents can be added by URL or with inline content.</p>
|
|
<h3 id="remove-document">remove-document</h3>
|
|
<p>Remove a document from the library by document ID or URL.</p>
|
|
<h3 id="list-documents">list-documents</h3>
|
|
<p>List all documents in the library, optionally filtered by criteria.</p>
|
|
<h3 id="start-processing">start-processing</h3>
|
|
<p>Start processing library documents through a flow. Documents are queued
|
|
for processing and handled asynchronously.</p>
|
|
<h3 id="stop-processing">stop-processing</h3>
|
|
<p>Stop ongoing library document processing.</p>
|
|
<h3 id="list-processing">list-processing</h3>
|
|
<p>List current processing tasks and their status.</p>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="operation" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">operation</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Enum<!-- -->:</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"add-document"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"remove-document"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"list-documents"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"start-processing"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"stop-processing"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"list-processing"</span> </div> <div><div html="<p>Library operation:</p>
|
|
<ul>
|
|
<li><code>add-document</code>: Add document to library</li>
|
|
<li><code>remove-document</code>: Remove document from library</li>
|
|
<li><code>list-documents</code>: List documents in library</li>
|
|
<li><code>start-processing</code>: Start processing library documents</li>
|
|
<li><code>stop-processing</code>: Stop library processing</li>
|
|
<li><code>list-processing</code>: List processing status</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Library operation:</p>
|
|
<ul>
|
|
<li><code>add-document</code>: Add document to library</li>
|
|
<li><code>remove-document</code>: Remove document from library</li>
|
|
<li><code>list-documents</code>: List documents in library</li>
|
|
<li><code>start-processing</code>: Start processing library documents</li>
|
|
<li><code>stop-processing</code>: Stop library processing</li>
|
|
<li><code>list-processing</code>: List processing status</li>
|
|
</ul>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Flow ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow ID</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">collection</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"default"</span></div> <div><div html="<p>Collection identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Collection identifier</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">user</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User identifier</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="document-id" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">document-id</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Document identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Document identifier</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="processing-id" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">processing-id</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Processing task identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Processing task identifier</p>
|
|
</div></div></div></td></tr><tr class=""><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="document-metadata"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand document-metadata"><span class="property-name">document-metadata</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">object</span><span class="sc-gScZFi sc-jfvxQO gccdcP iBAfOu"> (<!-- -->DocumentMetadata<!-- -->) </span></div> <div><div html="<p>Document metadata for library management</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Document metadata for library management</p>
|
|
</div></div></div></td></tr><tr class=""><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="processing-metadata"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand processing-metadata"><span class="property-name">processing-metadata</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">object</span><span class="sc-gScZFi sc-jfvxQO gccdcP iBAfOu"> (<!-- -->ProcessingMetadata<!-- -->) </span></div> <div><div html="<p>Processing metadata for library document processing</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Processing metadata for library document processing</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="content" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">content</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Document content (for add-document with inline content)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Document content (for add-document with inline content)</p>
|
|
</div></div></div></td></tr><tr class="last "><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="criteria"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand criteria"><span class="property-name">criteria</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA">Array of </span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">objects</span></div> <div><div html="<p>Search criteria for filtering documents</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Search criteria for filtering documents</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/librarian</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/librarian</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_ijka_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_ijka_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_ijka_0" aria-labelledby="tab_R_ijka_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Add document by URL" selected="">Add document by URL</option><option value="Add document with inline content">Add document with inline content</option><option value="Remove document">Remove document</option><option value="List all documents">List all documents</option><option value="List documents with criteria">List documents with criteria</option><option value="Start processing library documents">Start processing library documents</option><option value="Stop processing">Stop processing</option><option value="List processing status">List processing status</option></select><label>Add document by URL</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"operation"</span>: <span class="token string">"add-document"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"flow"</span>: <span class="token string">"my-flow"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"collection"</span>: <span class="token string">"default"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"document-metadata"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"url"</span>: <span class="token string">"</span><a href="https://example.com/document.pdf">https://example.com/document.pdf</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"title"</span>: <span class="token string">"Example Document"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"author"</span>: <span class="token string">"John Doe"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"metadata"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"department"</span>: <span class="token string">"Engineering"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"category"</span>: <span class="token string">"Technical"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_jjka_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_jjka_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_jjka_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_jjka_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_jjka_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_jjka_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_jjka_0" aria-labelledby="tab_R_jjka_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="List of documents" selected="">List of documents</option><option value="Processing status">Processing status</option></select><label>List of documents</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"document-metadatas"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"url"</span>: <span class="token string">"</span><a href="https://example.com/doc1.pdf">https://example.com/doc1.pdf</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"title"</span>: <span class="token string">"Document 1"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"author"</span>: <span class="token string">"John Doe"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"metadata"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"department"</span>: <span class="token string">"Engineering"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"url"</span>: <span class="token string">"</span><a href="https://example.com/doc2.pdf">https://example.com/doc2.pdf</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"title"</span>: <span class="token string">"Document 2"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"author"</span>: <span class="token string">"Jane Smith"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"metadata"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"department"</span>: <span class="token string">"Research"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_jjka_1" aria-labelledby="tab_R_jjka_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_jjka_2" aria-labelledby="tab_R_jjka_2"></div></div></div></div></div></div><div id="tag/Knowledge" data-section-id="tag/Knowledge" class="sc-eDvSVh gnfAsZ"><div class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Knowledge" aria-label="tag/Knowledge"></a>Knowledge</h2></div></div><div class="sc-hLBbgQ jqgxjE"><div class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK redoc-markdown " html="<p>Knowledge graph core management (global service)</p>
|
|
"><p>Knowledge graph core management (global service)</p>
|
|
</div></div></div><div id="tag/Knowledge/operation/knowledgeService" data-section-id="tag/Knowledge/operation/knowledgeService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/knowledgeService" id="operation/knowledgeService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Knowledge/operation/knowledgeService" aria-label="tag/Knowledge/operation/knowledgeService"></a>Knowledge graph core management<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Manage knowledge graph cores - persistent storage of triples and embeddings.</p>
|
|
<h2 id="knowledge-cores">Knowledge Cores</h2>
|
|
<p>Knowledge cores are the foundational storage units for:</p>
|
|
<ul>
|
|
<li><strong>Triples</strong>: RDF triples representing knowledge graph data</li>
|
|
<li><strong>Graph Embeddings</strong>: Vector embeddings for entities</li>
|
|
<li><strong>Metadata</strong>: Descriptive information about the knowledge</li>
|
|
</ul>
|
|
<p>Each core has an ID, user, and collection for organization.</p>
|
|
<h2 id="operations">Operations</h2>
|
|
<h3 id="list-kg-cores">list-kg-cores</h3>
|
|
<p>List all knowledge cores for a user. Returns array of core IDs.</p>
|
|
<h3 id="get-kg-core">get-kg-core</h3>
|
|
<p>Retrieve a knowledge core by ID. Returns triples and/or graph embeddings.
|
|
Response is streamed - may receive multiple messages followed by EOS marker.</p>
|
|
<h3 id="put-kg-core">put-kg-core</h3>
|
|
<p>Store triples and/or graph embeddings. Creates new core or updates existing.
|
|
Can store triples only, embeddings only, or both together.</p>
|
|
<h3 id="delete-kg-core">delete-kg-core</h3>
|
|
<p>Delete a knowledge core by ID. Removes all associated data.</p>
|
|
<h3 id="load-kg-core">load-kg-core</h3>
|
|
<p>Load a knowledge core into a running flow&#39;s collection.
|
|
Makes the data available for querying within that flow instance.</p>
|
|
<h3 id="unload-kg-core">unload-kg-core</h3>
|
|
<p>Unload a knowledge core from a flow&#39;s collection.
|
|
Removes data from flow instance but doesn&#39;t delete the core.</p>
|
|
<h2 id="streaming-responses">Streaming Responses</h2>
|
|
<p>The <code>get-kg-core</code> operation streams data in chunks:</p>
|
|
<ol>
|
|
<li>Multiple messages with <code>triples</code> or <code>graph-embeddings</code></li>
|
|
<li>Final message with <code>eos: true</code> to signal completion</li>
|
|
</ol>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Manage knowledge graph cores - persistent storage of triples and embeddings.</p>
|
|
<h2 id="knowledge-cores">Knowledge Cores</h2>
|
|
<p>Knowledge cores are the foundational storage units for:</p>
|
|
<ul>
|
|
<li><strong>Triples</strong>: RDF triples representing knowledge graph data</li>
|
|
<li><strong>Graph Embeddings</strong>: Vector embeddings for entities</li>
|
|
<li><strong>Metadata</strong>: Descriptive information about the knowledge</li>
|
|
</ul>
|
|
<p>Each core has an ID, user, and collection for organization.</p>
|
|
<h2 id="operations">Operations</h2>
|
|
<h3 id="list-kg-cores">list-kg-cores</h3>
|
|
<p>List all knowledge cores for a user. Returns array of core IDs.</p>
|
|
<h3 id="get-kg-core">get-kg-core</h3>
|
|
<p>Retrieve a knowledge core by ID. Returns triples and/or graph embeddings.
|
|
Response is streamed - may receive multiple messages followed by EOS marker.</p>
|
|
<h3 id="put-kg-core">put-kg-core</h3>
|
|
<p>Store triples and/or graph embeddings. Creates new core or updates existing.
|
|
Can store triples only, embeddings only, or both together.</p>
|
|
<h3 id="delete-kg-core">delete-kg-core</h3>
|
|
<p>Delete a knowledge core by ID. Removes all associated data.</p>
|
|
<h3 id="load-kg-core">load-kg-core</h3>
|
|
<p>Load a knowledge core into a running flow's collection.
|
|
Makes the data available for querying within that flow instance.</p>
|
|
<h3 id="unload-kg-core">unload-kg-core</h3>
|
|
<p>Unload a knowledge core from a flow's collection.
|
|
Removes data from flow instance but doesn't delete the core.</p>
|
|
<h2 id="streaming-responses">Streaming Responses</h2>
|
|
<p>The <code>get-kg-core</code> operation streams data in chunks:</p>
|
|
<ol>
|
|
<li>Multiple messages with <code>triples</code> or <code>graph-embeddings</code></li>
|
|
<li>Final message with <code>eos: true</code> to signal completion</li>
|
|
</ol>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="operation" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">operation</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Enum<!-- -->:</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"list-kg-cores"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"get-kg-core"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"put-kg-core"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"delete-kg-core"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"load-kg-core"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"unload-kg-core"</span> </div> <div><div html="<p>Knowledge core operation:</p>
|
|
<ul>
|
|
<li><code>list-kg-cores</code>: List knowledge cores for user</li>
|
|
<li><code>get-kg-core</code>: Get knowledge core by ID</li>
|
|
<li><code>put-kg-core</code>: Store triples and/or embeddings</li>
|
|
<li><code>delete-kg-core</code>: Delete knowledge core by ID</li>
|
|
<li><code>load-kg-core</code>: Load knowledge core into flow</li>
|
|
<li><code>unload-kg-core</code>: Unload knowledge core from flow</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Knowledge core operation:</p>
|
|
<ul>
|
|
<li><code>list-kg-cores</code>: List knowledge cores for user</li>
|
|
<li><code>get-kg-core</code>: Get knowledge core by ID</li>
|
|
<li><code>put-kg-core</code>: Store triples and/or embeddings</li>
|
|
<li><code>delete-kg-core</code>: Delete knowledge core by ID</li>
|
|
<li><code>load-kg-core</code>: Load knowledge core into flow</li>
|
|
<li><code>unload-kg-core</code>: Unload knowledge core from flow</li>
|
|
</ul>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">user</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"trustgraph"</span></div> <div><div html="<p>User identifier (for list-kg-cores, put-kg-core, delete-kg-core)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User identifier (for list-kg-cores, put-kg-core, delete-kg-core)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="id" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">id</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Knowledge core ID (for get, put, delete, load, unload)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Knowledge core ID (for get, put, delete, load, unload)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Flow ID (for load-kg-core)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow ID (for load-kg-core)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">collection</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"default"</span></div> <div><div html="<p>Collection identifier (for load-kg-core)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Collection identifier (for load-kg-core)</p>
|
|
</div></div></div></td></tr><tr class=""><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="triples"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand triples"><span class="property-name">triples</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">object</span></div> <div><div html="<p>Triples to store (for put-kg-core)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Triples to store (for put-kg-core)</p>
|
|
</div></div></div></td></tr><tr class="last "><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="graph-embeddings"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand graph-embeddings"><span class="property-name">graph-embeddings</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">object</span></div> <div><div html="<p>Graph embeddings to store (for put-kg-core)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Graph embeddings to store (for put-kg-core)</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/knowledge</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/knowledge</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_ijkq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_ijkq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_ijkq_0" aria-labelledby="tab_R_ijkq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="List knowledge cores" selected="">List knowledge cores</option><option value="Get knowledge core">Get knowledge core</option><option value="Store triples">Store triples</option><option value="Store embeddings">Store embeddings</option><option value="Store triples and embeddings together">Store triples and embeddings together</option><option value="Delete knowledge core">Delete knowledge core</option><option value="Load core into flow">Load core into flow</option><option value="Unload core from flow">Unload core from flow</option></select><label>List knowledge cores</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"operation"</span>: <span class="token string">"list-kg-cores"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"user"</span>: <span class="token string">"alice"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_jjkq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_jjkq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_jjkq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_jjkq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_jjkq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_jjkq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_jjkq_0" aria-labelledby="tab_R_jjkq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="List of knowledge cores" selected="">List of knowledge cores</option><option value="Knowledge core triples (streaming)">Knowledge core triples (streaming)</option><option value="Knowledge core embeddings (streaming)">Knowledge core embeddings (streaming)</option><option value="End of stream marker">End of stream marker</option><option value="Delete successful (empty response)">Delete successful (empty response)</option></select><label>List of knowledge cores</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"ids"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"core-123"</span>,</div></li><li><div class="hoverable collapsed"><span class="token string">"core-456"</span>,</div></li><li><div class="hoverable collapsed"><span class="token string">"core-789"</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_jjkq_1" aria-labelledby="tab_R_jjkq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_jjkq_2" aria-labelledby="tab_R_jjkq_2"></div></div></div></div></div></div><div id="tag/Collection" data-section-id="tag/Collection" class="sc-eDvSVh gnfAsZ"><div class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Collection" aria-label="tag/Collection"></a>Collection</h2></div></div><div class="sc-hLBbgQ jqgxjE"><div class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK redoc-markdown " html="<p>Collection metadata management (global service)</p>
|
|
"><p>Collection metadata management (global service)</p>
|
|
</div></div></div><div id="tag/Collection/operation/collectionManagementService" data-section-id="tag/Collection/operation/collectionManagementService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/collectionManagementService" id="operation/collectionManagementService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Collection/operation/collectionManagementService" aria-label="tag/Collection/operation/collectionManagementService"></a>Collection metadata management<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Manage collection metadata for organizing documents and knowledge.</p>
|
|
<h2 id="collections">Collections</h2>
|
|
<p>Collections are organizational units for grouping:</p>
|
|
<ul>
|
|
<li>Documents in the librarian</li>
|
|
<li>Knowledge cores</li>
|
|
<li>User data</li>
|
|
</ul>
|
|
<p>Each collection has:</p>
|
|
<ul>
|
|
<li><strong>user</strong>: Owner identifier</li>
|
|
<li><strong>collection</strong>: Unique collection ID</li>
|
|
<li><strong>name</strong>: Human-readable display name</li>
|
|
<li><strong>description</strong>: Purpose and contents</li>
|
|
<li><strong>tags</strong>: Labels for filtering and organization</li>
|
|
</ul>
|
|
<h2 id="operations">Operations</h2>
|
|
<h3 id="list-collections">list-collections</h3>
|
|
<p>List all collections for a user. Optionally filter by tags and limit results.
|
|
Returns array of collection metadata.</p>
|
|
<h3 id="update-collection">update-collection</h3>
|
|
<p>Create or update collection metadata. If collection doesn&#39;t exist, it&#39;s created.
|
|
If it exists, metadata is updated. Allows setting name, description, and tags.</p>
|
|
<h3 id="delete-collection">delete-collection</h3>
|
|
<p>Delete a collection by user and collection ID. This removes the metadata but
|
|
typically does not delete the associated data (documents, knowledge cores).</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Manage collection metadata for organizing documents and knowledge.</p>
|
|
<h2 id="collections">Collections</h2>
|
|
<p>Collections are organizational units for grouping:</p>
|
|
<ul>
|
|
<li>Documents in the librarian</li>
|
|
<li>Knowledge cores</li>
|
|
<li>User data</li>
|
|
</ul>
|
|
<p>Each collection has:</p>
|
|
<ul>
|
|
<li><strong>user</strong>: Owner identifier</li>
|
|
<li><strong>collection</strong>: Unique collection ID</li>
|
|
<li><strong>name</strong>: Human-readable display name</li>
|
|
<li><strong>description</strong>: Purpose and contents</li>
|
|
<li><strong>tags</strong>: Labels for filtering and organization</li>
|
|
</ul>
|
|
<h2 id="operations">Operations</h2>
|
|
<h3 id="list-collections">list-collections</h3>
|
|
<p>List all collections for a user. Optionally filter by tags and limit results.
|
|
Returns array of collection metadata.</p>
|
|
<h3 id="update-collection">update-collection</h3>
|
|
<p>Create or update collection metadata. If collection doesn't exist, it's created.
|
|
If it exists, metadata is updated. Allows setting name, description, and tags.</p>
|
|
<h3 id="delete-collection">delete-collection</h3>
|
|
<p>Delete a collection by user and collection ID. This removes the metadata but
|
|
typically does not delete the associated data (documents, knowledge cores).</p>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="operation" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">operation</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Enum<!-- -->:</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"list-collections"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"update-collection"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"delete-collection"</span> </div> <div><div html="<p>Collection operation:</p>
|
|
<ul>
|
|
<li><code>list-collections</code>: List collections for user</li>
|
|
<li><code>update-collection</code>: Create or update collection metadata</li>
|
|
<li><code>delete-collection</code>: Delete collection</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Collection operation:</p>
|
|
<ul>
|
|
<li><code>list-collections</code>: List collections for user</li>
|
|
<li><code>update-collection</code>: Create or update collection metadata</li>
|
|
<li><code>delete-collection</code>: Delete collection</li>
|
|
</ul>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">user</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User identifier</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">collection</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Collection identifier (for update, delete)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Collection identifier (for update, delete)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="timestamp" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">timestamp</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX"> <!-- --><<!-- -->date-time<!-- -->><!-- --> </span></div> <div><div html="<p>ISO timestamp</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>ISO timestamp</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="name" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">name</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Human-readable collection name (for update)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Human-readable collection name (for update)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="description" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">description</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Collection description (for update)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Collection description (for update)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="tags" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">tags</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA">Array of </span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">strings</span></div> <div><div html="<p>Collection tags for organization (for update)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Collection tags for organization (for update)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="tag-filter" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">tag-filter</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA">Array of </span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">strings</span></div> <div><div html="<p>Filter collections by tags (for list)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Filter collections by tags (for list)</p>
|
|
</div></div></div></td></tr><tr class="last "><td kind="field" title="limit" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">limit</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">integer</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">0</span></div> <div><div html="<p>Maximum number of results (for list)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Maximum number of results (for list)</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/collection-management</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/collection-management</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_ijla_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_ijla_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_ijla_0" aria-labelledby="tab_R_ijla_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="List all collections for user" selected="">List all collections for user</option><option value="List collections filtered by tags">List collections filtered by tags</option><option value="Create/update collection">Create/update collection</option><option value="Delete collection">Delete collection</option></select><label>List all collections for user</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"operation"</span>: <span class="token string">"list-collections"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"user"</span>: <span class="token string">"alice"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_jjla_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_jjla_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_jjla_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_jjla_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_jjla_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_jjla_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_jjla_0" aria-labelledby="tab_R_jjla_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="List of collections" selected="">List of collections</option><option value="Update successful">Update successful</option><option value="Delete successful">Delete successful</option></select><label>List of collections</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"timestamp"</span>: <span class="token string">"2024-01-15T10:30:00Z"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"collections"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"user"</span>: <span class="token string">"alice"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"collection"</span>: <span class="token string">"research"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">"Research Papers"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">"Academic research papers on AI and ML"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tags"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"research"</span>,</div></li><li><div class="hoverable collapsed"><span class="token string">"AI"</span>,</div></li><li><div class="hoverable collapsed"><span class="token string">"academic"</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"user"</span>: <span class="token string">"alice"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"collection"</span>: <span class="token string">"personal"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">"Personal Documents"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">"Personal notes and documents"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tags"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"personal"</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_jjla_1" aria-labelledby="tab_R_jjla_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_jjla_2" aria-labelledby="tab_R_jjla_2"></div></div></div></div></div></div><div id="tag/Flow-Services" data-section-id="tag/Flow-Services" class="sc-eDvSVh gnfAsZ"><div class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services" aria-label="tag/Flow-Services"></a>Flow Services</h2></div></div><div class="sc-hLBbgQ jqgxjE"><div class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK redoc-markdown " html="<p>Services hosted within flow instances</p>
|
|
"><p>Services hosted within flow instances</p>
|
|
</div></div></div><div id="tag/Flow-Services/operation/agentService" data-section-id="tag/Flow-Services/operation/agentService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/agentService" id="operation/agentService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/agentService" aria-label="tag/Flow-Services/operation/agentService"></a>Agent service - conversational AI with reasoning<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>AI agent that can understand questions, reason about them, and take actions.</p>
|
|
<h2 id="agent-overview">Agent Overview</h2>
|
|
<p>The agent service provides a conversational AI that:</p>
|
|
<ul>
|
|
<li>Understands natural language questions</li>
|
|
<li>Reasons about problems using thoughts</li>
|
|
<li>Takes actions to gather information</li>
|
|
<li>Provides coherent answers</li>
|
|
</ul>
|
|
<h2 id="request-format">Request Format</h2>
|
|
<p>Send a question with optional:</p>
|
|
<ul>
|
|
<li><strong>state</strong>: Continue from previous conversation</li>
|
|
<li><strong>history</strong>: Previous agent steps for context</li>
|
|
<li><strong>group</strong>: Collaborative agent identifiers</li>
|
|
<li><strong>streaming</strong>: Enable streaming responses</li>
|
|
</ul>
|
|
<h2 id="response-modes">Response Modes</h2>
|
|
<h3 id="streaming-mode-streaming-true">Streaming Mode (streaming: true)</h3>
|
|
<p>Responses arrive as chunks with <code>chunk-type</code>:</p>
|
|
<ul>
|
|
<li><code>thought</code>: Agent&#39;s reasoning process</li>
|
|
<li><code>action</code>: Action being taken</li>
|
|
<li><code>observation</code>: Result from action</li>
|
|
<li><code>answer</code>: Final response to user</li>
|
|
<li><code>error</code>: Error occurred</li>
|
|
</ul>
|
|
<p>Each chunk may have multiple messages. Check flags:</p>
|
|
<ul>
|
|
<li><code>end-of-message</code>: Current chunk type complete</li>
|
|
<li><code>end-of-dialog</code>: Entire conversation complete</li>
|
|
</ul>
|
|
<h3 id="legacy-mode-streaming-false">Legacy Mode (streaming: false)</h3>
|
|
<p>Single response with:</p>
|
|
<ul>
|
|
<li><code>answer</code>: Complete answer</li>
|
|
<li><code>thought</code>: Reasoning (if any)</li>
|
|
<li><code>observation</code>: Observations (if any)</li>
|
|
</ul>
|
|
<h2 id="multi-turn-conversations">Multi-turn Conversations</h2>
|
|
<p>Include <code>history</code> array with previous steps to maintain context.
|
|
Each step has: thought, action, arguments, observation.</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>AI agent that can understand questions, reason about them, and take actions.</p>
|
|
<h2 id="agent-overview">Agent Overview</h2>
|
|
<p>The agent service provides a conversational AI that:</p>
|
|
<ul>
|
|
<li>Understands natural language questions</li>
|
|
<li>Reasons about problems using thoughts</li>
|
|
<li>Takes actions to gather information</li>
|
|
<li>Provides coherent answers</li>
|
|
</ul>
|
|
<h2 id="request-format">Request Format</h2>
|
|
<p>Send a question with optional:</p>
|
|
<ul>
|
|
<li><strong>state</strong>: Continue from previous conversation</li>
|
|
<li><strong>history</strong>: Previous agent steps for context</li>
|
|
<li><strong>group</strong>: Collaborative agent identifiers</li>
|
|
<li><strong>streaming</strong>: Enable streaming responses</li>
|
|
</ul>
|
|
<h2 id="response-modes">Response Modes</h2>
|
|
<h3 id="streaming-mode-streaming-true">Streaming Mode (streaming: true)</h3>
|
|
<p>Responses arrive as chunks with <code>chunk-type</code>:</p>
|
|
<ul>
|
|
<li><code>thought</code>: Agent's reasoning process</li>
|
|
<li><code>action</code>: Action being taken</li>
|
|
<li><code>observation</code>: Result from action</li>
|
|
<li><code>answer</code>: Final response to user</li>
|
|
<li><code>error</code>: Error occurred</li>
|
|
</ul>
|
|
<p>Each chunk may have multiple messages. Check flags:</p>
|
|
<ul>
|
|
<li><code>end-of-message</code>: Current chunk type complete</li>
|
|
<li><code>end-of-dialog</code>: Entire conversation complete</li>
|
|
</ul>
|
|
<h3 id="legacy-mode-streaming-false">Legacy Mode (streaming: false)</h3>
|
|
<p>Single response with:</p>
|
|
<ul>
|
|
<li><code>answer</code>: Complete answer</li>
|
|
<li><code>thought</code>: Reasoning (if any)</li>
|
|
<li><code>observation</code>: Observations (if any)</li>
|
|
</ul>
|
|
<h2 id="multi-turn-conversations">Multi-turn Conversations</h2>
|
|
<p>Include <code>history</code> array with previous steps to maintain context.
|
|
Each step has: thought, action, arguments, observation.</p>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="question" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">question</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>User question or prompt for the agent</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User question or prompt for the agent</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="state" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">state</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Agent state for continuation (optional, for multi-turn)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Agent state for continuation (optional, for multi-turn)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="group" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">group</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA">Array of </span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">strings</span></div> <div><div html="<p>Group identifiers for collaborative agents (optional)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Group identifiers for collaborative agents (optional)</p>
|
|
</div></div></div></td></tr><tr class=""><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="history"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand history"><span class="property-name">history</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA">Array of </span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">objects</span></div> <div><div html="<p>Conversation history (optional, list of previous agent steps)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Conversation history (optional, list of previous agent steps)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">user</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"trustgraph"</span></div> <div><div html="<p>User identifier for multi-tenancy</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User identifier for multi-tenancy</p>
|
|
</div></div></div></td></tr><tr class="last "><td kind="field" title="streaming" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">streaming</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">boolean</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">false</span></div> <div><div html="<p>Enable streaming response delivery</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Enable streaming response delivery</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/agent</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/agent</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_991lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_991lq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_991lq_0" aria-labelledby="tab_R_991lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Simple question" selected="">Simple question</option><option value="Question with streaming enabled">Question with streaming enabled</option><option value="Multi-turn conversation">Multi-turn conversation</option></select><label>Simple question</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"question"</span>: <span class="token string">"What is the capital of France?"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"user"</span>: <span class="token string">"alice"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9p1lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9p1lq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_9p1lq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p1lq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9p1lq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p1lq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9p1lq_0" aria-labelledby="tab_R_9p1lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Streaming thought chunk" selected="">Streaming thought chunk</option><option value="Streaming answer chunk">Streaming answer chunk</option><option value="Streaming complete marker">Streaming complete marker</option><option value="Legacy non-streaming response">Legacy non-streaming response</option></select><label>Streaming thought chunk</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"chunk-type"</span>: <span class="token string">"thought"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"content"</span>: <span class="token string">"I need to search for information about quantum computing"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"end-of-message"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"end-of-dialog"</span>: <span class="token boolean">false</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p1lq_1" aria-labelledby="tab_R_9p1lq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p1lq_2" aria-labelledby="tab_R_9p1lq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/documentRagService" data-section-id="tag/Flow-Services/operation/documentRagService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/documentRagService" id="operation/documentRagService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/documentRagService" aria-label="tag/Flow-Services/operation/documentRagService"></a>Document RAG - retrieve and generate from documents<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Retrieval-Augmented Generation over document embeddings.</p>
|
|
<h2 id="document-rag-overview">Document RAG Overview</h2>
|
|
<p>Document RAG combines:</p>
|
|
<ol>
|
|
<li><strong>Retrieval</strong>: Search document embeddings using semantic similarity</li>
|
|
<li><strong>Generation</strong>: Use LLM to synthesize answer from retrieved documents</li>
|
|
</ol>
|
|
<p>This provides grounded answers based on your document corpus.</p>
|
|
<h2 id="query-process">Query Process</h2>
|
|
<ol>
|
|
<li>Convert query to embedding</li>
|
|
<li>Search document embeddings for most similar chunks</li>
|
|
<li>Retrieve top N document chunks (configurable via doc-limit)</li>
|
|
<li>Pass query + retrieved context to LLM</li>
|
|
<li>Generate answer grounded in documents</li>
|
|
</ol>
|
|
<h2 id="streaming">Streaming</h2>
|
|
<p>Enable <code>streaming: true</code> to receive the answer as it&#39;s generated:</p>
|
|
<ul>
|
|
<li>Multiple messages with <code>response</code> content</li>
|
|
<li>Final message with <code>end-of-stream: true</code></li>
|
|
</ul>
|
|
<p>Without streaming, returns complete answer in single response.</p>
|
|
<h2 id="parameters">Parameters</h2>
|
|
<ul>
|
|
<li><strong>doc-limit</strong>: Controls retrieval depth (1-100, default 20)<ul>
|
|
<li>Higher = more context but slower</li>
|
|
<li>Lower = faster but may miss relevant info</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>collection</strong>: Target specific document collection</li>
|
|
<li><strong>user</strong>: Multi-tenant isolation</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Retrieval-Augmented Generation over document embeddings.</p>
|
|
<h2 id="document-rag-overview">Document RAG Overview</h2>
|
|
<p>Document RAG combines:</p>
|
|
<ol>
|
|
<li><strong>Retrieval</strong>: Search document embeddings using semantic similarity</li>
|
|
<li><strong>Generation</strong>: Use LLM to synthesize answer from retrieved documents</li>
|
|
</ol>
|
|
<p>This provides grounded answers based on your document corpus.</p>
|
|
<h2 id="query-process">Query Process</h2>
|
|
<ol>
|
|
<li>Convert query to embedding</li>
|
|
<li>Search document embeddings for most similar chunks</li>
|
|
<li>Retrieve top N document chunks (configurable via doc-limit)</li>
|
|
<li>Pass query + retrieved context to LLM</li>
|
|
<li>Generate answer grounded in documents</li>
|
|
</ol>
|
|
<h2 id="streaming">Streaming</h2>
|
|
<p>Enable <code>streaming: true</code> to receive the answer as it's generated:</p>
|
|
<ul>
|
|
<li>Multiple messages with <code>response</code> content</li>
|
|
<li>Final message with <code>end-of-stream: true</code></li>
|
|
</ul>
|
|
<p>Without streaming, returns complete answer in single response.</p>
|
|
<h2 id="parameters">Parameters</h2>
|
|
<ul>
|
|
<li><strong>doc-limit</strong>: Controls retrieval depth (1-100, default 20)<ul>
|
|
<li>Higher = more context but slower</li>
|
|
<li>Lower = faster but may miss relevant info</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>collection</strong>: Target specific document collection</li>
|
|
<li><strong>user</strong>: Multi-tenant isolation</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="query" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">query</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>User query or question</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User query or question</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">user</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"trustgraph"</span></div> <div><div html="<p>User identifier for multi-tenancy</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User identifier for multi-tenancy</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">collection</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"default"</span></div> <div><div html="<p>Collection to search within</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Collection to search within</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="doc-limit" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">doc-limit</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">integer</span><span> <span class="sc-gScZFi sc-ckEbSN gccdcP btJpCO"> <!-- -->[ 1 .. 100 ]<!-- --> </span></span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">20</span></div> <div><div html="<p>Maximum number of documents to retrieve</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Maximum number of documents to retrieve</p>
|
|
</div></div></div></td></tr><tr class="last "><td kind="field" title="streaming" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">streaming</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">boolean</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">false</span></div> <div><div html="<p>Enable streaming response delivery</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Enable streaming response delivery</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/document-rag</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/document-rag</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_992lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_992lq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_992lq_0" aria-labelledby="tab_R_992lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Basic document query" selected="">Basic document query</option><option value="Streaming query">Streaming query</option><option value="Query with limited retrieval">Query with limited retrieval</option></select><label>Basic document query</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"query"</span>: <span class="token string">"What are the key findings in the research papers?"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"user"</span>: <span class="token string">"alice"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"collection"</span>: <span class="token string">"research"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9p2lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9p2lq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_9p2lq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p2lq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9p2lq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p2lq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9p2lq_0" aria-labelledby="tab_R_9p2lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Complete non-streaming response" selected="">Complete non-streaming response</option><option value="Streaming response chunk">Streaming response chunk</option><option value="Streaming complete marker">Streaming complete marker</option></select><label>Complete non-streaming response</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"response"</span>: <span class="token string">"The research papers present three key findings:\n1. Quantum entanglement exhibits non-local correlations\n2. Bell's inequality is violated in experimental tests\n3. Applications in quantum cryptography are promising\n"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"end-of-stream"</span>: <span class="token boolean">false</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p2lq_1" aria-labelledby="tab_R_9p2lq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p2lq_2" aria-labelledby="tab_R_9p2lq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/graphRagService" data-section-id="tag/Flow-Services/operation/graphRagService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/graphRagService" id="operation/graphRagService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/graphRagService" aria-label="tag/Flow-Services/operation/graphRagService"></a>Graph RAG - retrieve and generate from knowledge graph<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Retrieval-Augmented Generation over knowledge graph.</p>
|
|
<h2 id="graph-rag-overview">Graph RAG Overview</h2>
|
|
<p>Graph RAG combines:</p>
|
|
<ol>
|
|
<li><strong>Retrieval</strong>: Find relevant entities and subgraph from knowledge graph</li>
|
|
<li><strong>Generation</strong>: Use LLM to reason over graph structure and generate answer</li>
|
|
</ol>
|
|
<p>This provides graph-aware answers that leverage relationships and structure.</p>
|
|
<h2 id="query-process">Query Process</h2>
|
|
<ol>
|
|
<li>Identify relevant entities from query (using embeddings)</li>
|
|
<li>Retrieve connected subgraph around entities</li>
|
|
<li>Optionally traverse paths up to max-path-length hops</li>
|
|
<li>Limit subgraph size to stay within context window</li>
|
|
<li>Pass query + graph structure to LLM</li>
|
|
<li>Generate answer incorporating graph relationships</li>
|
|
</ol>
|
|
<h2 id="streaming">Streaming</h2>
|
|
<p>Enable <code>streaming: true</code> to receive the answer as it&#39;s generated:</p>
|
|
<ul>
|
|
<li>Multiple messages with <code>response</code> content</li>
|
|
<li>Final message with <code>end-of-stream: true</code></li>
|
|
</ul>
|
|
<p>Without streaming, returns complete answer in single response.</p>
|
|
<h2 id="parameters">Parameters</h2>
|
|
<p>Control retrieval scope with multiple knobs:</p>
|
|
<ul>
|
|
<li><strong>entity-limit</strong>: How many starting entities to find (1-200, default 50)</li>
|
|
<li><strong>triple-limit</strong>: Triples per entity (1-100, default 30)</li>
|
|
<li><strong>max-subgraph-size</strong>: Total subgraph cap (10-5000, default 1000)</li>
|
|
<li><strong>max-path-length</strong>: Graph traversal depth (1-5, default 2)</li>
|
|
</ul>
|
|
<p>Higher limits = more context but:</p>
|
|
<ul>
|
|
<li>Slower retrieval</li>
|
|
<li>Larger context for LLM</li>
|
|
<li>May hit context window limits</li>
|
|
</ul>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<p>Best for queries requiring:</p>
|
|
<ul>
|
|
<li>Relationship understanding (&quot;How are X and Y connected?&quot;)</li>
|
|
<li>Multi-hop reasoning (&quot;What&#39;s the path from A to B?&quot;)</li>
|
|
<li>Structural analysis (&quot;What are the main entities related to X?&quot;)</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Retrieval-Augmented Generation over knowledge graph.</p>
|
|
<h2 id="graph-rag-overview">Graph RAG Overview</h2>
|
|
<p>Graph RAG combines:</p>
|
|
<ol>
|
|
<li><strong>Retrieval</strong>: Find relevant entities and subgraph from knowledge graph</li>
|
|
<li><strong>Generation</strong>: Use LLM to reason over graph structure and generate answer</li>
|
|
</ol>
|
|
<p>This provides graph-aware answers that leverage relationships and structure.</p>
|
|
<h2 id="query-process">Query Process</h2>
|
|
<ol>
|
|
<li>Identify relevant entities from query (using embeddings)</li>
|
|
<li>Retrieve connected subgraph around entities</li>
|
|
<li>Optionally traverse paths up to max-path-length hops</li>
|
|
<li>Limit subgraph size to stay within context window</li>
|
|
<li>Pass query + graph structure to LLM</li>
|
|
<li>Generate answer incorporating graph relationships</li>
|
|
</ol>
|
|
<h2 id="streaming">Streaming</h2>
|
|
<p>Enable <code>streaming: true</code> to receive the answer as it's generated:</p>
|
|
<ul>
|
|
<li>Multiple messages with <code>response</code> content</li>
|
|
<li>Final message with <code>end-of-stream: true</code></li>
|
|
</ul>
|
|
<p>Without streaming, returns complete answer in single response.</p>
|
|
<h2 id="parameters">Parameters</h2>
|
|
<p>Control retrieval scope with multiple knobs:</p>
|
|
<ul>
|
|
<li><strong>entity-limit</strong>: How many starting entities to find (1-200, default 50)</li>
|
|
<li><strong>triple-limit</strong>: Triples per entity (1-100, default 30)</li>
|
|
<li><strong>max-subgraph-size</strong>: Total subgraph cap (10-5000, default 1000)</li>
|
|
<li><strong>max-path-length</strong>: Graph traversal depth (1-5, default 2)</li>
|
|
</ul>
|
|
<p>Higher limits = more context but:</p>
|
|
<ul>
|
|
<li>Slower retrieval</li>
|
|
<li>Larger context for LLM</li>
|
|
<li>May hit context window limits</li>
|
|
</ul>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<p>Best for queries requiring:</p>
|
|
<ul>
|
|
<li>Relationship understanding ("How are X and Y connected?")</li>
|
|
<li>Multi-hop reasoning ("What's the path from A to B?")</li>
|
|
<li>Structural analysis ("What are the main entities related to X?")</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="query" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">query</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>User query or question</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User query or question</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">user</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"trustgraph"</span></div> <div><div html="<p>User identifier for multi-tenancy</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User identifier for multi-tenancy</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">collection</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"default"</span></div> <div><div html="<p>Collection to search within</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Collection to search within</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="entity-limit" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">entity-limit</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">integer</span><span> <span class="sc-gScZFi sc-ckEbSN gccdcP btJpCO"> <!-- -->[ 1 .. 200 ]<!-- --> </span></span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">50</span></div> <div><div html="<p>Maximum number of entities to retrieve</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Maximum number of entities to retrieve</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="triple-limit" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">triple-limit</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">integer</span><span> <span class="sc-gScZFi sc-ckEbSN gccdcP btJpCO"> <!-- -->[ 1 .. 100 ]<!-- --> </span></span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">30</span></div> <div><div html="<p>Maximum number of triples to retrieve per entity</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Maximum number of triples to retrieve per entity</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="max-subgraph-size" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">max-subgraph-size</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">integer</span><span> <span class="sc-gScZFi sc-ckEbSN gccdcP btJpCO"> <!-- -->[ 10 .. 5000 ]<!-- --> </span></span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">1000</span></div> <div><div html="<p>Maximum total subgraph size (triples)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Maximum total subgraph size (triples)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="max-path-length" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">max-path-length</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">integer</span><span> <span class="sc-gScZFi sc-ckEbSN gccdcP btJpCO"> <!-- -->[ 1 .. 5 ]<!-- --> </span></span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">2</span></div> <div><div html="<p>Maximum path length for graph traversal</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Maximum path length for graph traversal</p>
|
|
</div></div></div></td></tr><tr class="last "><td kind="field" title="streaming" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">streaming</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">boolean</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">false</span></div> <div><div html="<p>Enable streaming response delivery</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Enable streaming response delivery</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/graph-rag</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/graph-rag</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_993lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_993lq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_993lq_0" aria-labelledby="tab_R_993lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Basic graph query" selected="">Basic graph query</option><option value="Streaming query with custom limits">Streaming query with custom limits</option><option value="Focused query with tight limits">Focused query with tight limits</option></select><label>Basic graph query</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"query"</span>: <span class="token string">"What connections exist between quantum physics and computer science?"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"user"</span>: <span class="token string">"alice"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"collection"</span>: <span class="token string">"research"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9p3lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9p3lq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_9p3lq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p3lq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9p3lq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p3lq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9p3lq_0" aria-labelledby="tab_R_9p3lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Complete non-streaming response" selected="">Complete non-streaming response</option><option value="Streaming response chunk">Streaming response chunk</option><option value="Streaming complete marker">Streaming complete marker</option></select><label>Complete non-streaming response</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"response"</span>: <span class="token string">"Quantum physics and computer science intersect primarily through quantum computing.\nThe knowledge graph shows connections through:\n- Quantum algorithms (Shor's algorithm, Grover's algorithm)\n- Quantum information theory\n- Computational complexity theory\n"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"end-of-stream"</span>: <span class="token boolean">false</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p3lq_1" aria-labelledby="tab_R_9p3lq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p3lq_2" aria-labelledby="tab_R_9p3lq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/textCompletionService" data-section-id="tag/Flow-Services/operation/textCompletionService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/textCompletionService" id="operation/textCompletionService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/textCompletionService" aria-label="tag/Flow-Services/operation/textCompletionService"></a>Text completion - direct LLM generation<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Direct text completion using LLM without retrieval augmentation.</p>
|
|
<h2 id="text-completion-overview">Text Completion Overview</h2>
|
|
<p>Pure LLM generation for:</p>
|
|
<ul>
|
|
<li>General knowledge questions</li>
|
|
<li>Creative writing</li>
|
|
<li>Code generation</li>
|
|
<li>Analysis and reasoning</li>
|
|
<li>Any task not requiring specific document/graph context</li>
|
|
</ul>
|
|
<h2 id="system-vs-prompt">System vs Prompt</h2>
|
|
<ul>
|
|
<li><strong>system</strong>: Sets LLM behavior, role, constraints<ul>
|
|
<li>&quot;You are a helpful assistant&quot;</li>
|
|
<li>&quot;You are an expert Python developer&quot;</li>
|
|
<li>&quot;Respond in JSON format&quot;</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>prompt</strong>: The actual user request/question</li>
|
|
</ul>
|
|
<h2 id="streaming">Streaming</h2>
|
|
<p>Enable <code>streaming: true</code> to receive tokens as generated:</p>
|
|
<ul>
|
|
<li>Multiple messages with partial <code>response</code></li>
|
|
<li>Final message with <code>end-of-stream: true</code></li>
|
|
</ul>
|
|
<p>Without streaming, returns complete response in single message.</p>
|
|
<h2 id="token-counting">Token Counting</h2>
|
|
<p>Response includes token usage:</p>
|
|
<ul>
|
|
<li><code>in-token</code>: Input tokens (system + prompt)</li>
|
|
<li><code>out-token</code>: Generated tokens</li>
|
|
<li>Useful for cost tracking and optimization</li>
|
|
</ul>
|
|
<h2 id="when-to-use">When to Use</h2>
|
|
<p>Use text-completion when:</p>
|
|
<ul>
|
|
<li>No specific context needed (general knowledge)</li>
|
|
<li>System prompt provides sufficient context</li>
|
|
<li>Want direct control over prompting</li>
|
|
</ul>
|
|
<p>Use document-rag/graph-rag when:</p>
|
|
<ul>
|
|
<li>Need to ground response in specific documents</li>
|
|
<li>Want to leverage knowledge graph relationships</li>
|
|
<li>Require citations or provenance</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Direct text completion using LLM without retrieval augmentation.</p>
|
|
<h2 id="text-completion-overview">Text Completion Overview</h2>
|
|
<p>Pure LLM generation for:</p>
|
|
<ul>
|
|
<li>General knowledge questions</li>
|
|
<li>Creative writing</li>
|
|
<li>Code generation</li>
|
|
<li>Analysis and reasoning</li>
|
|
<li>Any task not requiring specific document/graph context</li>
|
|
</ul>
|
|
<h2 id="system-vs-prompt">System vs Prompt</h2>
|
|
<ul>
|
|
<li><strong>system</strong>: Sets LLM behavior, role, constraints<ul>
|
|
<li>"You are a helpful assistant"</li>
|
|
<li>"You are an expert Python developer"</li>
|
|
<li>"Respond in JSON format"</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>prompt</strong>: The actual user request/question</li>
|
|
</ul>
|
|
<h2 id="streaming">Streaming</h2>
|
|
<p>Enable <code>streaming: true</code> to receive tokens as generated:</p>
|
|
<ul>
|
|
<li>Multiple messages with partial <code>response</code></li>
|
|
<li>Final message with <code>end-of-stream: true</code></li>
|
|
</ul>
|
|
<p>Without streaming, returns complete response in single message.</p>
|
|
<h2 id="token-counting">Token Counting</h2>
|
|
<p>Response includes token usage:</p>
|
|
<ul>
|
|
<li><code>in-token</code>: Input tokens (system + prompt)</li>
|
|
<li><code>out-token</code>: Generated tokens</li>
|
|
<li>Useful for cost tracking and optimization</li>
|
|
</ul>
|
|
<h2 id="when-to-use">When to Use</h2>
|
|
<p>Use text-completion when:</p>
|
|
<ul>
|
|
<li>No specific context needed (general knowledge)</li>
|
|
<li>System prompt provides sufficient context</li>
|
|
<li>Want direct control over prompting</li>
|
|
</ul>
|
|
<p>Use document-rag/graph-rag when:</p>
|
|
<ul>
|
|
<li>Need to ground response in specific documents</li>
|
|
<li>Want to leverage knowledge graph relationships</li>
|
|
<li>Require citations or provenance</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="system" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">system</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>System prompt that sets behavior and context for the LLM</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>System prompt that sets behavior and context for the LLM</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="prompt" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">prompt</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>User prompt or question</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User prompt or question</p>
|
|
</div></div></div></td></tr><tr class="last "><td kind="field" title="streaming" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">streaming</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">boolean</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">false</span></div> <div><div html="<p>Enable streaming response delivery</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Enable streaming response delivery</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/text-completion</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/text-completion</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_994lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_994lq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_994lq_0" aria-labelledby="tab_R_994lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Basic text completion" selected="">Basic text completion</option><option value="Code generation with streaming">Code generation with streaming</option><option value="Structured output request">Structured output request</option></select><label>Basic text completion</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"system"</span>: <span class="token string">"You are a helpful assistant that provides concise answers."</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"prompt"</span>: <span class="token string">"Explain the concept of recursion in programming."</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9p4lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9p4lq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_9p4lq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p4lq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9p4lq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p4lq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9p4lq_0" aria-labelledby="tab_R_9p4lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Complete non-streaming response" selected="">Complete non-streaming response</option><option value="Streaming response chunk">Streaming response chunk</option><option value="Streaming complete with tokens">Streaming complete with tokens</option></select><label>Complete non-streaming response</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"response"</span>: <span class="token string">"Recursion is a programming technique where a function calls itself\nto solve a problem by breaking it down into smaller, similar subproblems.\nEach recursive call works on a simpler version until reaching a base case.\n"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"in-token"</span>: <span class="token number">45</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"out-token"</span>: <span class="token number">128</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"model"</span>: <span class="token string">"gpt-4"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"end-of-stream"</span>: <span class="token boolean">false</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p4lq_1" aria-labelledby="tab_R_9p4lq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p4lq_2" aria-labelledby="tab_R_9p4lq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/promptService" data-section-id="tag/Flow-Services/operation/promptService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/promptService" id="operation/promptService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/promptService" aria-label="tag/Flow-Services/operation/promptService"></a>Prompt service - template-based generation<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Execute stored prompt templates with variable substitution.</p>
|
|
<h2 id="prompt-service-overview">Prompt Service Overview</h2>
|
|
<p>The prompt service enables:</p>
|
|
<ul>
|
|
<li>Reusable prompt templates stored in configuration</li>
|
|
<li>Variable substitution for dynamic prompts</li>
|
|
<li>Consistent prompt engineering across requests</li>
|
|
<li>Text or structured object outputs</li>
|
|
</ul>
|
|
<h2 id="template-system">Template System</h2>
|
|
<p>Prompts are stored via config service (<code>/api/v1/config</code>) with:</p>
|
|
<ul>
|
|
<li><strong>id</strong>: Unique prompt identifier</li>
|
|
<li><strong>template</strong>: Prompt text with <code>{variable}</code> placeholders</li>
|
|
<li><strong>system</strong>: Optional system prompt</li>
|
|
<li><strong>output_format</strong>: &quot;text&quot; or &quot;object&quot;</li>
|
|
</ul>
|
|
<p>Example template:</p>
|
|
<pre><code>Summarize the following document <span class="token keyword">in</span> <span class="token punctuation">{</span>max_length<span class="token punctuation">}</span> words<span class="token punctuation">:</span>
|
|
|
|
<span class="token punctuation">{</span>document<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<h2 id="variable-substitution">Variable Substitution</h2>
|
|
<p>Two ways to pass variables:</p>
|
|
<ol>
|
|
<li><p><strong>terms</strong> (explicit JSON strings):</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"terms"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token string-property property">"document"</span><span class="token operator">:</span> <span class="token string">"\"Text here...\""</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"max_length"</span><span class="token operator">:</span> <span class="token string">"\"200\""</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
</li>
|
|
<li><p><strong>variables</strong> (auto-converted):</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"variables"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token string-property property">"document"</span><span class="token operator">:</span> <span class="token string">"Text here..."</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"max_length"</span><span class="token operator">:</span> <span class="token number">200</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
</li>
|
|
</ol>
|
|
<h2 id="output-types">Output Types</h2>
|
|
<ul>
|
|
<li><strong>text</strong>: Plain text response in <code>text</code> field</li>
|
|
<li><strong>object</strong>: Structured JSON in <code>object</code> field (as string)</li>
|
|
</ul>
|
|
<h2 id="streaming">Streaming</h2>
|
|
<p>Enable <code>streaming: true</code> to receive response incrementally.</p>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li>Document summarization</li>
|
|
<li>Entity extraction</li>
|
|
<li>Classification tasks</li>
|
|
<li>Data transformation</li>
|
|
<li>Any repeatable LLM task with consistent prompting</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Execute stored prompt templates with variable substitution.</p>
|
|
<h2 id="prompt-service-overview">Prompt Service Overview</h2>
|
|
<p>The prompt service enables:</p>
|
|
<ul>
|
|
<li>Reusable prompt templates stored in configuration</li>
|
|
<li>Variable substitution for dynamic prompts</li>
|
|
<li>Consistent prompt engineering across requests</li>
|
|
<li>Text or structured object outputs</li>
|
|
</ul>
|
|
<h2 id="template-system">Template System</h2>
|
|
<p>Prompts are stored via config service (<code>/api/v1/config</code>) with:</p>
|
|
<ul>
|
|
<li><strong>id</strong>: Unique prompt identifier</li>
|
|
<li><strong>template</strong>: Prompt text with <code>{variable}</code> placeholders</li>
|
|
<li><strong>system</strong>: Optional system prompt</li>
|
|
<li><strong>output_format</strong>: "text" or "object"</li>
|
|
</ul>
|
|
<p>Example template:</p>
|
|
<pre><code>Summarize the following document <span class="token keyword">in</span> <span class="token punctuation">{</span>max_length<span class="token punctuation">}</span> words<span class="token punctuation">:</span>
|
|
|
|
<span class="token punctuation">{</span>document<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<h2 id="variable-substitution">Variable Substitution</h2>
|
|
<p>Two ways to pass variables:</p>
|
|
<ol>
|
|
<li><p><strong>terms</strong> (explicit JSON strings):</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"terms"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token string-property property">"document"</span><span class="token operator">:</span> <span class="token string">"\"Text here...\""</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"max_length"</span><span class="token operator">:</span> <span class="token string">"\"200\""</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
</li>
|
|
<li><p><strong>variables</strong> (auto-converted):</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"variables"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token string-property property">"document"</span><span class="token operator">:</span> <span class="token string">"Text here..."</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"max_length"</span><span class="token operator">:</span> <span class="token number">200</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
</li>
|
|
</ol>
|
|
<h2 id="output-types">Output Types</h2>
|
|
<ul>
|
|
<li><strong>text</strong>: Plain text response in <code>text</code> field</li>
|
|
<li><strong>object</strong>: Structured JSON in <code>object</code> field (as string)</li>
|
|
</ul>
|
|
<h2 id="streaming">Streaming</h2>
|
|
<p>Enable <code>streaming: true</code> to receive response incrementally.</p>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li>Document summarization</li>
|
|
<li>Entity extraction</li>
|
|
<li>Classification tasks</li>
|
|
<li>Data transformation</li>
|
|
<li>Any repeatable LLM task with consistent prompting</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="id" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">id</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Prompt template ID (stored in config)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Prompt template ID (stored in config)</p>
|
|
</div></div></div></td></tr><tr class=""><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="terms"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand terms"><span class="property-name">terms</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">object</span></div> <div><div html="<p>Template variables as key-value pairs (values are JSON strings)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Template variables as key-value pairs (values are JSON strings)</p>
|
|
</div></div></div></td></tr><tr class=""><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="variables"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand variables"><span class="property-name">variables</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">object</span></div> <div><div html="<p>Alternative to terms - variables as native JSON values (auto-converted)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Alternative to terms - variables as native JSON values (auto-converted)</p>
|
|
</div></div></div></td></tr><tr class="last "><td kind="field" title="streaming" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">streaming</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">boolean</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">false</span></div> <div><div html="<p>Enable streaming response delivery</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Enable streaming response delivery</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/prompt</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/prompt</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_995lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_995lq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_995lq_0" aria-labelledby="tab_R_995lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Using terms (JSON strings)" selected="">Using terms (JSON strings)</option><option value="Using variables (auto-converted)">Using variables (auto-converted)</option><option value="Streaming response">Streaming response</option></select><label>Using terms (JSON strings)</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"id"</span>: <span class="token string">"summarize-document"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"terms"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"document"</span>: <span class="token string">"\"This document discusses quantum computing, covering qubits, superposition, and entanglement. Applications include cryptography and optimization.\""</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"max_length"</span>: <span class="token string">"\"50\""</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9p5lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9p5lq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_9p5lq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p5lq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9p5lq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p5lq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9p5lq_0" aria-labelledby="tab_R_9p5lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Text output" selected="">Text output</option><option value="Structured output">Structured output</option><option value="Streaming chunk">Streaming chunk</option><option value="Streaming complete">Streaming complete</option></select><label>Text output</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"text"</span>: <span class="token string">"This document provides an overview of quantum computing fundamentals and cryptographic applications."</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"end-of-stream"</span>: <span class="token boolean">false</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p5lq_1" aria-labelledby="tab_R_9p5lq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p5lq_2" aria-labelledby="tab_R_9p5lq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/embeddingsService" data-section-id="tag/Flow-Services/operation/embeddingsService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/embeddingsService" id="operation/embeddingsService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/embeddingsService" aria-label="tag/Flow-Services/operation/embeddingsService"></a>Embeddings - text to vector conversion<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Convert text to embedding vectors for semantic similarity search.</p>
|
|
<h2 id="embeddings-overview">Embeddings Overview</h2>
|
|
<p>Embeddings transform text into dense vector representations that:</p>
|
|
<ul>
|
|
<li>Capture semantic meaning</li>
|
|
<li>Enable similarity comparisons via cosine distance</li>
|
|
<li>Support semantic search and retrieval</li>
|
|
<li>Power RAG systems</li>
|
|
</ul>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>Document indexing</strong>: Convert documents to vectors for storage</li>
|
|
<li><strong>Query encoding</strong>: Convert search queries for similarity matching</li>
|
|
<li><strong>Semantic similarity</strong>: Find related texts via vector distance</li>
|
|
<li><strong>Clustering</strong>: Group similar content</li>
|
|
<li><strong>Classification</strong>: Use as features for ML models</li>
|
|
</ul>
|
|
<h2 id="vector-dimensions">Vector Dimensions</h2>
|
|
<p>Dimension count depends on embedding model:</p>
|
|
<ul>
|
|
<li>text-embedding-ada-002: 1536 dimensions</li>
|
|
<li>text-embedding-3-small: 1536 dimensions</li>
|
|
<li>text-embedding-3-large: 3072 dimensions</li>
|
|
<li>Custom models: Varies</li>
|
|
</ul>
|
|
<h2 id="single-request">Single Request</h2>
|
|
<p>Unlike batch embedding APIs, this endpoint processes one text at a time.
|
|
For bulk operations, use document-load or text-load services.</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Convert text to embedding vectors for semantic similarity search.</p>
|
|
<h2 id="embeddings-overview">Embeddings Overview</h2>
|
|
<p>Embeddings transform text into dense vector representations that:</p>
|
|
<ul>
|
|
<li>Capture semantic meaning</li>
|
|
<li>Enable similarity comparisons via cosine distance</li>
|
|
<li>Support semantic search and retrieval</li>
|
|
<li>Power RAG systems</li>
|
|
</ul>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>Document indexing</strong>: Convert documents to vectors for storage</li>
|
|
<li><strong>Query encoding</strong>: Convert search queries for similarity matching</li>
|
|
<li><strong>Semantic similarity</strong>: Find related texts via vector distance</li>
|
|
<li><strong>Clustering</strong>: Group similar content</li>
|
|
<li><strong>Classification</strong>: Use as features for ML models</li>
|
|
</ul>
|
|
<h2 id="vector-dimensions">Vector Dimensions</h2>
|
|
<p>Dimension count depends on embedding model:</p>
|
|
<ul>
|
|
<li>text-embedding-ada-002: 1536 dimensions</li>
|
|
<li>text-embedding-3-small: 1536 dimensions</li>
|
|
<li>text-embedding-3-large: 3072 dimensions</li>
|
|
<li>Custom models: Varies</li>
|
|
</ul>
|
|
<h2 id="single-request">Single Request</h2>
|
|
<p>Unlike batch embedding APIs, this endpoint processes one text at a time.
|
|
For bulk operations, use document-load or text-load services.</p>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="text" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">text</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Text to convert to embedding vector</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Text to convert to embedding vector</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/embeddings</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/embeddings</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_996lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_996lq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_996lq_0" aria-labelledby="tab_R_996lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Short text embedding" selected="">Short text embedding</option><option value="Sentence embedding">Sentence embedding</option><option value="Paragraph embedding">Paragraph embedding</option></select><label>Short text embedding</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"text"</span>: <span class="token string">"Machine learning"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9p6lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9p6lq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_9p6lq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p6lq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9p6lq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p6lq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9p6lq_0" aria-labelledby="tab_R_9p6lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"vectors"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token number">0.023</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">-0.142</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">0.089</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">0.234</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">-0.067</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">0.156</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">0.201</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">-0.178</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">0.045</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">0.312</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p6lq_1" aria-labelledby="tab_R_9p6lq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p6lq_2" aria-labelledby="tab_R_9p6lq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/mcpToolService" data-section-id="tag/Flow-Services/operation/mcpToolService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/mcpToolService" id="operation/mcpToolService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/mcpToolService" aria-label="tag/Flow-Services/operation/mcpToolService"></a>MCP Tool - execute Model Context Protocol tools<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Execute MCP (Model Context Protocol) tools for agent capabilities.</p>
|
|
<h2 id="mcp-tool-overview">MCP Tool Overview</h2>
|
|
<p>MCP tools provide agent capabilities through standardized protocol:</p>
|
|
<ul>
|
|
<li><strong>Search tools</strong>: Web search, document search</li>
|
|
<li><strong>Data tools</strong>: Database queries, API calls</li>
|
|
<li><strong>Action tools</strong>: File operations, system commands</li>
|
|
<li><strong>Integration tools</strong>: Third-party service connectors</li>
|
|
</ul>
|
|
<p>Tools extend agent capabilities beyond pure LLM generation.</p>
|
|
<h2 id="tool-execution">Tool Execution</h2>
|
|
<p>Tools are:</p>
|
|
<ol>
|
|
<li>Registered via MCP protocol</li>
|
|
<li>Discovered by agent</li>
|
|
<li>Called with structured parameters</li>
|
|
<li>Return text or structured results</li>
|
|
</ol>
|
|
<h2 id="request-format">Request Format</h2>
|
|
<ul>
|
|
<li><strong>name</strong>: Tool identifier (e.g., &quot;search&quot;, &quot;calculator&quot;, &quot;weather&quot;)</li>
|
|
<li><strong>parameters</strong>: Tool-specific arguments as JSON object</li>
|
|
</ul>
|
|
<h2 id="response-format">Response Format</h2>
|
|
<p>Tools can return:</p>
|
|
<ul>
|
|
<li><strong>text</strong>: Plain text result (simple tools)</li>
|
|
<li><strong>object</strong>: Structured JSON result (complex tools)</li>
|
|
</ul>
|
|
<h2 id="tool-registration">Tool Registration</h2>
|
|
<p>Tools are registered via MCP server configuration:</p>
|
|
<ul>
|
|
<li>Define tool schema (name, parameters, description)</li>
|
|
<li>Implement tool handler</li>
|
|
<li>Register with MCP server</li>
|
|
<li>Agent discovers and uses tool</li>
|
|
</ul>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>Web search</strong>: Find external information</li>
|
|
<li><strong>Calculator</strong>: Perform calculations</li>
|
|
<li><strong>Database query</strong>: Retrieve structured data</li>
|
|
<li><strong>API integration</strong>: Call external services</li>
|
|
<li><strong>File operations</strong>: Read/write files</li>
|
|
<li><strong>Code execution</strong>: Run scripts</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Execute MCP (Model Context Protocol) tools for agent capabilities.</p>
|
|
<h2 id="mcp-tool-overview">MCP Tool Overview</h2>
|
|
<p>MCP tools provide agent capabilities through standardized protocol:</p>
|
|
<ul>
|
|
<li><strong>Search tools</strong>: Web search, document search</li>
|
|
<li><strong>Data tools</strong>: Database queries, API calls</li>
|
|
<li><strong>Action tools</strong>: File operations, system commands</li>
|
|
<li><strong>Integration tools</strong>: Third-party service connectors</li>
|
|
</ul>
|
|
<p>Tools extend agent capabilities beyond pure LLM generation.</p>
|
|
<h2 id="tool-execution">Tool Execution</h2>
|
|
<p>Tools are:</p>
|
|
<ol>
|
|
<li>Registered via MCP protocol</li>
|
|
<li>Discovered by agent</li>
|
|
<li>Called with structured parameters</li>
|
|
<li>Return text or structured results</li>
|
|
</ol>
|
|
<h2 id="request-format">Request Format</h2>
|
|
<ul>
|
|
<li><strong>name</strong>: Tool identifier (e.g., "search", "calculator", "weather")</li>
|
|
<li><strong>parameters</strong>: Tool-specific arguments as JSON object</li>
|
|
</ul>
|
|
<h2 id="response-format">Response Format</h2>
|
|
<p>Tools can return:</p>
|
|
<ul>
|
|
<li><strong>text</strong>: Plain text result (simple tools)</li>
|
|
<li><strong>object</strong>: Structured JSON result (complex tools)</li>
|
|
</ul>
|
|
<h2 id="tool-registration">Tool Registration</h2>
|
|
<p>Tools are registered via MCP server configuration:</p>
|
|
<ul>
|
|
<li>Define tool schema (name, parameters, description)</li>
|
|
<li>Implement tool handler</li>
|
|
<li>Register with MCP server</li>
|
|
<li>Agent discovers and uses tool</li>
|
|
</ul>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>Web search</strong>: Find external information</li>
|
|
<li><strong>Calculator</strong>: Perform calculations</li>
|
|
<li><strong>Database query</strong>: Retrieve structured data</li>
|
|
<li><strong>API integration</strong>: Call external services</li>
|
|
<li><strong>File operations</strong>: Read/write files</li>
|
|
<li><strong>Code execution</strong>: Run scripts</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="name" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">name</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Tool name to execute</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Tool name to execute</p>
|
|
</div></div></div></td></tr><tr class="last "><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="parameters"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand parameters"><span class="property-name">parameters</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">object</span></div> <div><div html="<p>Tool parameters (JSON object, auto-converted to string internally)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Tool parameters (JSON object, auto-converted to string internally)</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/mcp-tool</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/mcp-tool</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_997lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_997lq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_997lq_0" aria-labelledby="tab_R_997lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Search tool execution" selected="">Search tool execution</option><option value="Calculator tool">Calculator tool</option><option value="Weather tool">Weather tool</option></select><label>Search tool execution</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"name"</span>: <span class="token string">"search"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"parameters"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"query"</span>: <span class="token string">"quantum computing"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"limit"</span>: <span class="token number">10</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9p7lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9p7lq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_9p7lq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p7lq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9p7lq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p7lq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9p7lq_0" aria-labelledby="tab_R_9p7lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Text result" selected="">Text result</option><option value="Structured result">Structured result</option></select><label>Text result</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"text"</span>: <span class="token string">"The result is 309"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p7lq_1" aria-labelledby="tab_R_9p7lq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p7lq_2" aria-labelledby="tab_R_9p7lq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/triplesQueryService" data-section-id="tag/Flow-Services/operation/triplesQueryService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/triplesQueryService" id="operation/triplesQueryService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/triplesQueryService" aria-label="tag/Flow-Services/operation/triplesQueryService"></a>Triples query - pattern-based graph queries<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Query knowledge graph using subject-predicate-object patterns.</p>
|
|
<h2 id="triples-query-overview">Triples Query Overview</h2>
|
|
<p>Query RDF triples with flexible pattern matching:</p>
|
|
<ul>
|
|
<li>Specify subject, predicate, and/or object</li>
|
|
<li>Any combination of filters (all optional)</li>
|
|
<li>Returns matching triples up to limit</li>
|
|
</ul>
|
|
<h2 id="pattern-matching">Pattern Matching</h2>
|
|
<p>Pattern syntax supports:</p>
|
|
<ul>
|
|
<li><strong>All triples</strong>: Omit all filters (returns everything up to limit)</li>
|
|
<li><strong>Subject match</strong>: Specify <code>s</code> only (all triples about that subject)</li>
|
|
<li><strong>Predicate match</strong>: Specify <code>p</code> only (all uses of that property)</li>
|
|
<li><strong>Object match</strong>: Specify <code>o</code> only (all triples with that value)</li>
|
|
<li><strong>Combinations</strong>: Any combination of s/p/o</li>
|
|
</ul>
|
|
<h2 id="rdf-value-format">RDF Value Format</h2>
|
|
<p>Each component (s/p/o) uses RdfValue format:</p>
|
|
<ul>
|
|
<li><strong>Entity/URI</strong>: <code>{&quot;v&quot;: &quot;https://example.com/entity&quot;, &quot;e&quot;: true}</code></li>
|
|
<li><strong>Literal</strong>: <code>{&quot;v&quot;: &quot;Some text&quot;, &quot;e&quot;: false}</code></li>
|
|
</ul>
|
|
<h2 id="query-examples">Query Examples</h2>
|
|
<p>Find all properties of an entity:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span><span class="token string-property property">"s"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"v"</span><span class="token operator">:</span> <span class="token string">"https://example.com/person/alice"</span><span class="token punctuation">,</span> <span class="token string-property property">"e"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span><span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p>Find all instances of a type:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"p"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"v"</span><span class="token operator">:</span> <span class="token string">"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"</span><span class="token punctuation">,</span> <span class="token string-property property">"e"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"o"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"v"</span><span class="token operator">:</span> <span class="token string">"https://example.com/type/Person"</span><span class="token punctuation">,</span> <span class="token string-property property">"e"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p>Find specific relationship:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"s"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"v"</span><span class="token operator">:</span> <span class="token string">"https://example.com/person/alice"</span><span class="token punctuation">,</span> <span class="token string-property property">"e"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"p"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"v"</span><span class="token operator">:</span> <span class="token string">"https://example.com/knows"</span><span class="token punctuation">,</span> <span class="token string-property property">"e"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<h2 id="performance">Performance</h2>
|
|
<ul>
|
|
<li>Default limit: 10,000 triples</li>
|
|
<li>Max limit: 100,000 triples</li>
|
|
<li>More specific patterns = faster queries</li>
|
|
<li>Consider limit for large result sets</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Query knowledge graph using subject-predicate-object patterns.</p>
|
|
<h2 id="triples-query-overview">Triples Query Overview</h2>
|
|
<p>Query RDF triples with flexible pattern matching:</p>
|
|
<ul>
|
|
<li>Specify subject, predicate, and/or object</li>
|
|
<li>Any combination of filters (all optional)</li>
|
|
<li>Returns matching triples up to limit</li>
|
|
</ul>
|
|
<h2 id="pattern-matching">Pattern Matching</h2>
|
|
<p>Pattern syntax supports:</p>
|
|
<ul>
|
|
<li><strong>All triples</strong>: Omit all filters (returns everything up to limit)</li>
|
|
<li><strong>Subject match</strong>: Specify <code>s</code> only (all triples about that subject)</li>
|
|
<li><strong>Predicate match</strong>: Specify <code>p</code> only (all uses of that property)</li>
|
|
<li><strong>Object match</strong>: Specify <code>o</code> only (all triples with that value)</li>
|
|
<li><strong>Combinations</strong>: Any combination of s/p/o</li>
|
|
</ul>
|
|
<h2 id="rdf-value-format">RDF Value Format</h2>
|
|
<p>Each component (s/p/o) uses RdfValue format:</p>
|
|
<ul>
|
|
<li><strong>Entity/URI</strong>: <code>{"v": "https://example.com/entity", "e": true}</code></li>
|
|
<li><strong>Literal</strong>: <code>{"v": "Some text", "e": false}</code></li>
|
|
</ul>
|
|
<h2 id="query-examples">Query Examples</h2>
|
|
<p>Find all properties of an entity:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span><span class="token string-property property">"s"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"v"</span><span class="token operator">:</span> <span class="token string">"https://example.com/person/alice"</span><span class="token punctuation">,</span> <span class="token string-property property">"e"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span><span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p>Find all instances of a type:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"p"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"v"</span><span class="token operator">:</span> <span class="token string">"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"</span><span class="token punctuation">,</span> <span class="token string-property property">"e"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"o"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"v"</span><span class="token operator">:</span> <span class="token string">"https://example.com/type/Person"</span><span class="token punctuation">,</span> <span class="token string-property property">"e"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p>Find specific relationship:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"s"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"v"</span><span class="token operator">:</span> <span class="token string">"https://example.com/person/alice"</span><span class="token punctuation">,</span> <span class="token string-property property">"e"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"p"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"v"</span><span class="token operator">:</span> <span class="token string">"https://example.com/knows"</span><span class="token punctuation">,</span> <span class="token string-property property">"e"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<h2 id="performance">Performance</h2>
|
|
<ul>
|
|
<li>Default limit: 10,000 triples</li>
|
|
<li>Max limit: 100,000 triples</li>
|
|
<li>More specific patterns = faster queries</li>
|
|
<li>Consider limit for large result sets</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="s"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand s"><span class="property-name">s</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">object</span><span class="sc-gScZFi sc-jfvxQO gccdcP iBAfOu"> (<!-- -->RdfValue<!-- -->) </span></div> <div><div html="<p>Subject filter (optional)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Subject filter (optional)</p>
|
|
</div></div></div></td></tr><tr class=""><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="p"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand p"><span class="property-name">p</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">object</span><span class="sc-gScZFi sc-jfvxQO gccdcP iBAfOu"> (<!-- -->RdfValue<!-- -->) </span></div> <div><div html="<p>Predicate filter (optional)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Predicate filter (optional)</p>
|
|
</div></div></div></td></tr><tr class=""><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="o"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand o"><span class="property-name">o</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">object</span><span class="sc-gScZFi sc-jfvxQO gccdcP iBAfOu"> (<!-- -->RdfValue<!-- -->) </span></div> <div><div html="<p>Object filter (optional)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Object filter (optional)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="limit" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">limit</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">integer</span><span> <span class="sc-gScZFi sc-ckEbSN gccdcP btJpCO"> <!-- -->[ 1 .. 100000 ]<!-- --> </span></span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">10000</span></div> <div><div html="<p>Maximum number of triples to return</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Maximum number of triples to return</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">user</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User identifier</p>
|
|
</div></div></div></td></tr><tr class="last "><td kind="field" title="collection" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">collection</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"default"</span></div> <div><div html="<p>Collection to query</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Collection to query</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/triples</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/triples</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_998lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_998lq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_998lq_0" aria-labelledby="tab_R_998lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="All triples about an entity" selected="">All triples about an entity</option><option value="Find all instances of a type">Find all instances of a type</option><option value="Find specific relationships">Find specific relationships</option></select><label>All triples about an entity</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"s"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"v"</span>: <span class="token string">"</span><a href="https://example.com/person/alice">https://example.com/person/alice</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"e"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"user"</span>: <span class="token string">"alice"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"collection"</span>: <span class="token string">"research"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"limit"</span>: <span class="token number">100</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9p8lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9p8lq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_9p8lq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p8lq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9p8lq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p8lq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9p8lq_0" aria-labelledby="tab_R_9p8lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"response"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"s"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"v"</span>: <span class="token string">"</span><a href="https://example.com/person/alice">https://example.com/person/alice</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"e"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"p"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"v"</span>: <span class="token string">"</span><a href="https://www.w3.org/1999/02/22-rdf-syntax-ns#type">https://www.w3.org/1999/02/22-rdf-syntax-ns#type</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"e"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"o"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"v"</span>: <span class="token string">"</span><a href="https://example.com/type/Person">https://example.com/type/Person</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"e"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"s"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"v"</span>: <span class="token string">"</span><a href="https://example.com/person/alice">https://example.com/person/alice</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"e"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"p"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"v"</span>: <span class="token string">"</span><a href="https://www.w3.org/2000/01/rdf-schema#label">https://www.w3.org/2000/01/rdf-schema#label</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"e"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"o"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"v"</span>: <span class="token string">"Alice"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"e"</span>: <span class="token boolean">false</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"s"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"v"</span>: <span class="token string">"</span><a href="https://example.com/person/alice">https://example.com/person/alice</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"e"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"p"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"v"</span>: <span class="token string">"</span><a href="https://example.com/knows">https://example.com/knows</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"e"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"o"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"v"</span>: <span class="token string">"</span><a href="https://example.com/person/bob">https://example.com/person/bob</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"e"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p8lq_1" aria-labelledby="tab_R_9p8lq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p8lq_2" aria-labelledby="tab_R_9p8lq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/objectsQueryService" data-section-id="tag/Flow-Services/operation/objectsQueryService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/objectsQueryService" id="operation/objectsQueryService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/objectsQueryService" aria-label="tag/Flow-Services/operation/objectsQueryService"></a>Objects query - GraphQL over knowledge graph<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Query knowledge graph using GraphQL for object-oriented data access.</p>
|
|
<h2 id="objects-query-overview">Objects Query Overview</h2>
|
|
<p>GraphQL interface to knowledge graph:</p>
|
|
<ul>
|
|
<li><strong>Schema-driven</strong>: Predefined types and relationships</li>
|
|
<li><strong>Flexible queries</strong>: Request exactly what you need</li>
|
|
<li><strong>Nested data</strong>: Traverse relationships in single query</li>
|
|
<li><strong>Type-safe</strong>: Strong typing with introspection</li>
|
|
</ul>
|
|
<p>Abstracts RDF triples into familiar object model.</p>
|
|
<h2 id="graphql-benefits">GraphQL Benefits</h2>
|
|
<p>Compared to triples query:</p>
|
|
<ul>
|
|
<li><strong>Developer-friendly</strong>: Objects instead of triples</li>
|
|
<li><strong>Efficient</strong>: Get related data in one query</li>
|
|
<li><strong>Typed</strong>: Schema defines available fields</li>
|
|
<li><strong>Discoverable</strong>: Introspection for tooling</li>
|
|
</ul>
|
|
<h2 id="query-structure">Query Structure</h2>
|
|
<p>Standard GraphQL query format:</p>
|
|
<pre><code class="language-graphql">query <span class="token function">OperationName</span><span class="token punctuation">(</span>$var<span class="token punctuation">:</span> Type<span class="token operator">!</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
|
<span class="token function">fieldName</span><span class="token punctuation">(</span>arg<span class="token punctuation">:</span> $var<span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
|
subField1
|
|
subField2
|
|
nestedObject <span class="token punctuation">{</span>
|
|
nestedField
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<h2 id="variables">Variables</h2>
|
|
<p>Pass variables for parameterized queries:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"query"</span><span class="token operator">:</span> <span class="token string">"query GetPerson($id: ID!) { person(id: $id) { name } }"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"variables"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"https://example.com/person/alice"</span><span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<h2 id="error-handling">Error Handling</h2>
|
|
<p>GraphQL distinguishes:</p>
|
|
<ul>
|
|
<li><strong>Field errors</strong>: Invalid query, missing fields (in <code>errors</code> array)</li>
|
|
<li><strong>System errors</strong>: Connection issues, timeouts (in <code>error</code> object)</li>
|
|
</ul>
|
|
<p>Partial data may be returned with field errors.</p>
|
|
<h2 id="schema-definition">Schema Definition</h2>
|
|
<p>Schema defines available types via config service.
|
|
Use introspection query to discover schema.</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Query knowledge graph using GraphQL for object-oriented data access.</p>
|
|
<h2 id="objects-query-overview">Objects Query Overview</h2>
|
|
<p>GraphQL interface to knowledge graph:</p>
|
|
<ul>
|
|
<li><strong>Schema-driven</strong>: Predefined types and relationships</li>
|
|
<li><strong>Flexible queries</strong>: Request exactly what you need</li>
|
|
<li><strong>Nested data</strong>: Traverse relationships in single query</li>
|
|
<li><strong>Type-safe</strong>: Strong typing with introspection</li>
|
|
</ul>
|
|
<p>Abstracts RDF triples into familiar object model.</p>
|
|
<h2 id="graphql-benefits">GraphQL Benefits</h2>
|
|
<p>Compared to triples query:</p>
|
|
<ul>
|
|
<li><strong>Developer-friendly</strong>: Objects instead of triples</li>
|
|
<li><strong>Efficient</strong>: Get related data in one query</li>
|
|
<li><strong>Typed</strong>: Schema defines available fields</li>
|
|
<li><strong>Discoverable</strong>: Introspection for tooling</li>
|
|
</ul>
|
|
<h2 id="query-structure">Query Structure</h2>
|
|
<p>Standard GraphQL query format:</p>
|
|
<pre><code class="language-graphql">query <span class="token function">OperationName</span><span class="token punctuation">(</span>$var<span class="token punctuation">:</span> Type<span class="token operator">!</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
|
<span class="token function">fieldName</span><span class="token punctuation">(</span>arg<span class="token punctuation">:</span> $var<span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
|
subField1
|
|
subField2
|
|
nestedObject <span class="token punctuation">{</span>
|
|
nestedField
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<h2 id="variables">Variables</h2>
|
|
<p>Pass variables for parameterized queries:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"query"</span><span class="token operator">:</span> <span class="token string">"query GetPerson($id: ID!) { person(id: $id) { name } }"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"variables"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"https://example.com/person/alice"</span><span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<h2 id="error-handling">Error Handling</h2>
|
|
<p>GraphQL distinguishes:</p>
|
|
<ul>
|
|
<li><strong>Field errors</strong>: Invalid query, missing fields (in <code>errors</code> array)</li>
|
|
<li><strong>System errors</strong>: Connection issues, timeouts (in <code>error</code> object)</li>
|
|
</ul>
|
|
<p>Partial data may be returned with field errors.</p>
|
|
<h2 id="schema-definition">Schema Definition</h2>
|
|
<p>Schema defines available types via config service.
|
|
Use introspection query to discover schema.</p>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="query" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">query</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>GraphQL query string</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>GraphQL query string</p>
|
|
</div></div></div></td></tr><tr class=""><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="variables"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand variables"><span class="property-name">variables</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">object</span></div> <div><div html="<p>GraphQL query variables</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>GraphQL query variables</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="operation-name" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">operation-name</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Operation name (for multi-operation documents)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Operation name (for multi-operation documents)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">user</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User identifier</p>
|
|
</div></div></div></td></tr><tr class="last "><td kind="field" title="collection" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">collection</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"default"</span></div> <div><div html="<p>Collection to query</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Collection to query</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/objects</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/objects</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_999lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_999lq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_999lq_0" aria-labelledby="tab_R_999lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Simple query" selected="">Simple query</option><option value="Query with variables">Query with variables</option><option value="Nested relationship query">Nested relationship query</option></select><label>Simple query</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"query"</span>: <span class="token string">"{\n person(id: \"https://example.com/person/alice\") {\n name\n email\n }\n}\n"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"user"</span>: <span class="token string">"alice"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"collection"</span>: <span class="token string">"research"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9p9lq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9p9lq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_9p9lq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p9lq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9p9lq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9p9lq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9p9lq_0" aria-labelledby="tab_R_9p9lq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Successful query" selected="">Successful query</option><option value="Query with field errors">Query with field errors</option><option value="System error">System error</option></select><label>Successful query</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"person"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">"Alice"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"email"</span>: <span class="token string">"alice@example.com"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"knows"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">"Bob"</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">"Carol"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"extensions"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"execution_time_ms"</span>: <span class="token string">"42"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p9lq_1" aria-labelledby="tab_R_9p9lq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9p9lq_2" aria-labelledby="tab_R_9p9lq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/nlpQueryService" data-section-id="tag/Flow-Services/operation/nlpQueryService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/nlpQueryService" id="operation/nlpQueryService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/nlpQueryService" aria-label="tag/Flow-Services/operation/nlpQueryService"></a>NLP Query - natural language to structured query<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Convert natural language questions to structured GraphQL queries.</p>
|
|
<h2 id="nlp-query-overview">NLP Query Overview</h2>
|
|
<p>Transforms user questions into executable GraphQL:</p>
|
|
<ul>
|
|
<li><strong>Natural input</strong>: Ask questions in plain English</li>
|
|
<li><strong>Structured output</strong>: Get GraphQL query + variables</li>
|
|
<li><strong>Schema-aware</strong>: Uses knowledge graph schema</li>
|
|
<li><strong>Confidence scoring</strong>: Know how well question was understood</li>
|
|
</ul>
|
|
<p>Enables non-technical users to query knowledge graph.</p>
|
|
<h2 id="process">Process</h2>
|
|
<ol>
|
|
<li>Parse natural language question</li>
|
|
<li>Identify entities and relationships</li>
|
|
<li>Map to GraphQL schema types</li>
|
|
<li>Generate query with variables</li>
|
|
<li>Return query + confidence score</li>
|
|
</ol>
|
|
<h2 id="using-results">Using Results</h2>
|
|
<p>Generated query can be:</p>
|
|
<ul>
|
|
<li>Executed via objects query service</li>
|
|
<li>Inspected and modified if needed</li>
|
|
<li>Cached for similar questions</li>
|
|
</ul>
|
|
<p>Example workflow:</p>
|
|
<pre><code><span class="token number">1.</span> User asks<span class="token punctuation">:</span> <span class="token string">"Who does Alice know?"</span>
|
|
<span class="token number">2.</span> NLP Query generates GraphQL
|
|
<span class="token number">3.</span> Execute via <span class="token operator">/</span>api<span class="token operator">/</span>v1<span class="token operator">/</span>flow<span class="token operator">/</span><span class="token punctuation">{</span>flow<span class="token punctuation">}</span><span class="token operator">/</span>service<span class="token operator">/</span>objects
|
|
<span class="token number">4.</span> Return results to user
|
|
</code></pre>
|
|
<h2 id="schema-detection">Schema Detection</h2>
|
|
<p>Response includes <code>detected-schemas</code> array showing:</p>
|
|
<ul>
|
|
<li>Which types were identified</li>
|
|
<li>What entities were matched</li>
|
|
<li>Schema coverage of question</li>
|
|
</ul>
|
|
<p>Helps understand query scope.</p>
|
|
<h2 id="confidence-scores">Confidence Scores</h2>
|
|
<ul>
|
|
<li><strong>0.9-1.0</strong>: High confidence, likely correct</li>
|
|
<li><strong>0.7-0.9</strong>: Good confidence, probably correct</li>
|
|
<li><strong>0.5-0.7</strong>: Medium confidence, may need review</li>
|
|
<li><strong>&lt; 0.5</strong>: Low confidence, likely incorrect</li>
|
|
</ul>
|
|
<p>Low scores suggest:</p>
|
|
<ul>
|
|
<li>Ambiguous question</li>
|
|
<li>Missing schema coverage</li>
|
|
<li>Complex query structure</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Convert natural language questions to structured GraphQL queries.</p>
|
|
<h2 id="nlp-query-overview">NLP Query Overview</h2>
|
|
<p>Transforms user questions into executable GraphQL:</p>
|
|
<ul>
|
|
<li><strong>Natural input</strong>: Ask questions in plain English</li>
|
|
<li><strong>Structured output</strong>: Get GraphQL query + variables</li>
|
|
<li><strong>Schema-aware</strong>: Uses knowledge graph schema</li>
|
|
<li><strong>Confidence scoring</strong>: Know how well question was understood</li>
|
|
</ul>
|
|
<p>Enables non-technical users to query knowledge graph.</p>
|
|
<h2 id="process">Process</h2>
|
|
<ol>
|
|
<li>Parse natural language question</li>
|
|
<li>Identify entities and relationships</li>
|
|
<li>Map to GraphQL schema types</li>
|
|
<li>Generate query with variables</li>
|
|
<li>Return query + confidence score</li>
|
|
</ol>
|
|
<h2 id="using-results">Using Results</h2>
|
|
<p>Generated query can be:</p>
|
|
<ul>
|
|
<li>Executed via objects query service</li>
|
|
<li>Inspected and modified if needed</li>
|
|
<li>Cached for similar questions</li>
|
|
</ul>
|
|
<p>Example workflow:</p>
|
|
<pre><code><span class="token number">1.</span> User asks<span class="token punctuation">:</span> <span class="token string">"Who does Alice know?"</span>
|
|
<span class="token number">2.</span> NLP Query generates GraphQL
|
|
<span class="token number">3.</span> Execute via <span class="token operator">/</span>api<span class="token operator">/</span>v1<span class="token operator">/</span>flow<span class="token operator">/</span><span class="token punctuation">{</span>flow<span class="token punctuation">}</span><span class="token operator">/</span>service<span class="token operator">/</span>objects
|
|
<span class="token number">4.</span> Return results to user
|
|
</code></pre>
|
|
<h2 id="schema-detection">Schema Detection</h2>
|
|
<p>Response includes <code>detected-schemas</code> array showing:</p>
|
|
<ul>
|
|
<li>Which types were identified</li>
|
|
<li>What entities were matched</li>
|
|
<li>Schema coverage of question</li>
|
|
</ul>
|
|
<p>Helps understand query scope.</p>
|
|
<h2 id="confidence-scores">Confidence Scores</h2>
|
|
<ul>
|
|
<li><strong>0.9-1.0</strong>: High confidence, likely correct</li>
|
|
<li><strong>0.7-0.9</strong>: Good confidence, probably correct</li>
|
|
<li><strong>0.5-0.7</strong>: Medium confidence, may need review</li>
|
|
<li><strong>< 0.5</strong>: Low confidence, likely incorrect</li>
|
|
</ul>
|
|
<p>Low scores suggest:</p>
|
|
<ul>
|
|
<li>Ambiguous question</li>
|
|
<li>Missing schema coverage</li>
|
|
<li>Complex query structure</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="question" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">question</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Natural language question</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Natural language question</p>
|
|
</div></div></div></td></tr><tr class="last "><td kind="field" title="max-results" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">max-results</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">integer</span><span> <span class="sc-gScZFi sc-ckEbSN gccdcP btJpCO"> <!-- -->[ 1 .. 10000 ]<!-- --> </span></span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">100</span></div> <div><div html="<p>Maximum results to return when query is executed</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Maximum results to return when query is executed</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/nlp-query</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/nlp-query</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_99alq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_99alq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_99alq_0" aria-labelledby="tab_R_99alq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Simple relationship question" selected="">Simple relationship question</option><option value="Multi-hop relationship">Multi-hop relationship</option><option value="Question with filters">Question with filters</option></select><label>Simple relationship question</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"question"</span>: <span class="token string">"Who does Alice know?"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"max-results"</span>: <span class="token number">50</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9palq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9palq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_9palq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9palq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9palq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9palq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9palq_0" aria-labelledby="tab_R_9palq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Successful query generation" selected="">Successful query generation</option><option value="Complex multi-hop query">Complex multi-hop query</option><option value="Low confidence result">Low confidence result</option></select><label>Successful query generation</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"graphql-query"</span>: <span class="token string">"query GetConnections($person: ID!) {\n person(id: $person) {\n knows { name email }\n }\n}\n"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"variables"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"person"</span>: <span class="token string">"</span><a href="https://example.com/person/alice">https://example.com/person/alice</a><span class="token string">"</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"detected-schemas"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"Person"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"confidence"</span>: <span class="token number">0.92</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9palq_1" aria-labelledby="tab_R_9palq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9palq_2" aria-labelledby="tab_R_9palq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/structuredQueryService" data-section-id="tag/Flow-Services/operation/structuredQueryService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/structuredQueryService" id="operation/structuredQueryService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/structuredQueryService" aria-label="tag/Flow-Services/operation/structuredQueryService"></a>Structured Query - question to results (all-in-one)<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Ask natural language questions and get results directly.</p>
|
|
<h2 id="structured-query-overview">Structured Query Overview</h2>
|
|
<p>Combines two operations in one call:</p>
|
|
<ol>
|
|
<li><strong>NLP Query</strong>: Generate GraphQL from question</li>
|
|
<li><strong>Objects Query</strong>: Execute generated query</li>
|
|
<li><strong>Return Results</strong>: Direct answer data</li>
|
|
</ol>
|
|
<p>Simplest way to query knowledge graph with natural language.</p>
|
|
<h2 id="comparison-with-other-services">Comparison with Other Services</h2>
|
|
<h3 id="structured-query-this-service">Structured Query (this service)</h3>
|
|
<ul>
|
|
<li><strong>Input</strong>: Natural language question</li>
|
|
<li><strong>Output</strong>: Query results (data)</li>
|
|
<li><strong>Use when</strong>: Want simple, direct answers</li>
|
|
</ul>
|
|
<h3 id="nlp-query--objects-query-separate-calls">NLP Query + Objects Query (separate calls)</h3>
|
|
<ul>
|
|
<li><strong>Step 1</strong>: Convert question → GraphQL</li>
|
|
<li><strong>Step 2</strong>: Execute GraphQL → results</li>
|
|
<li><strong>Use when</strong>: Need to inspect/modify query before execution</li>
|
|
</ul>
|
|
<h3 id="triples-query-low-level">Triples Query (low-level)</h3>
|
|
<ul>
|
|
<li><strong>Input</strong>: RDF pattern</li>
|
|
<li><strong>Output</strong>: Matching triples</li>
|
|
<li><strong>Use when</strong>: Need precise control over graph queries</li>
|
|
</ul>
|
|
<h2 id="response-format">Response Format</h2>
|
|
<p>Returns standard GraphQL response:</p>
|
|
<ul>
|
|
<li><strong>data</strong>: Query results (null if error)</li>
|
|
<li><strong>errors</strong>: Field-level errors (array of strings)</li>
|
|
<li><strong>error</strong>: System-level error (generation or execution failure)</li>
|
|
</ul>
|
|
<h2 id="error-handling">Error Handling</h2>
|
|
<p>Three types of errors:</p>
|
|
<ol>
|
|
<li><strong>Query generation failed</strong>: Couldn&#39;t understand question<ul>
|
|
<li>Error in <code>error</code> object</li>
|
|
<li>data = null</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>Query execution failed</strong>: Generated query had errors<ul>
|
|
<li>Errors in <code>errors</code> array</li>
|
|
<li>data may be partial</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>System error</strong>: Infrastructure issue<ul>
|
|
<li>Error in <code>error</code> object</li>
|
|
</ul>
|
|
</li>
|
|
</ol>
|
|
<h2 id="performance">Performance</h2>
|
|
<p>Convenience vs control trade-off:</p>
|
|
<ul>
|
|
<li><strong>Faster development</strong>: One call instead of two</li>
|
|
<li><strong>Less control</strong>: Can&#39;t inspect/modify generated query</li>
|
|
<li><strong>Simpler code</strong>: No need to handle intermediate steps</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Ask natural language questions and get results directly.</p>
|
|
<h2 id="structured-query-overview">Structured Query Overview</h2>
|
|
<p>Combines two operations in one call:</p>
|
|
<ol>
|
|
<li><strong>NLP Query</strong>: Generate GraphQL from question</li>
|
|
<li><strong>Objects Query</strong>: Execute generated query</li>
|
|
<li><strong>Return Results</strong>: Direct answer data</li>
|
|
</ol>
|
|
<p>Simplest way to query knowledge graph with natural language.</p>
|
|
<h2 id="comparison-with-other-services">Comparison with Other Services</h2>
|
|
<h3 id="structured-query-this-service">Structured Query (this service)</h3>
|
|
<ul>
|
|
<li><strong>Input</strong>: Natural language question</li>
|
|
<li><strong>Output</strong>: Query results (data)</li>
|
|
<li><strong>Use when</strong>: Want simple, direct answers</li>
|
|
</ul>
|
|
<h3 id="nlp-query--objects-query-separate-calls">NLP Query + Objects Query (separate calls)</h3>
|
|
<ul>
|
|
<li><strong>Step 1</strong>: Convert question → GraphQL</li>
|
|
<li><strong>Step 2</strong>: Execute GraphQL → results</li>
|
|
<li><strong>Use when</strong>: Need to inspect/modify query before execution</li>
|
|
</ul>
|
|
<h3 id="triples-query-low-level">Triples Query (low-level)</h3>
|
|
<ul>
|
|
<li><strong>Input</strong>: RDF pattern</li>
|
|
<li><strong>Output</strong>: Matching triples</li>
|
|
<li><strong>Use when</strong>: Need precise control over graph queries</li>
|
|
</ul>
|
|
<h2 id="response-format">Response Format</h2>
|
|
<p>Returns standard GraphQL response:</p>
|
|
<ul>
|
|
<li><strong>data</strong>: Query results (null if error)</li>
|
|
<li><strong>errors</strong>: Field-level errors (array of strings)</li>
|
|
<li><strong>error</strong>: System-level error (generation or execution failure)</li>
|
|
</ul>
|
|
<h2 id="error-handling">Error Handling</h2>
|
|
<p>Three types of errors:</p>
|
|
<ol>
|
|
<li><strong>Query generation failed</strong>: Couldn't understand question<ul>
|
|
<li>Error in <code>error</code> object</li>
|
|
<li>data = null</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>Query execution failed</strong>: Generated query had errors<ul>
|
|
<li>Errors in <code>errors</code> array</li>
|
|
<li>data may be partial</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>System error</strong>: Infrastructure issue<ul>
|
|
<li>Error in <code>error</code> object</li>
|
|
</ul>
|
|
</li>
|
|
</ol>
|
|
<h2 id="performance">Performance</h2>
|
|
<p>Convenience vs control trade-off:</p>
|
|
<ul>
|
|
<li><strong>Faster development</strong>: One call instead of two</li>
|
|
<li><strong>Less control</strong>: Can't inspect/modify generated query</li>
|
|
<li><strong>Simpler code</strong>: No need to handle intermediate steps</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="question" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">question</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Natural language question</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Natural language question</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">user</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User identifier</p>
|
|
</div></div></div></td></tr><tr class="last "><td kind="field" title="collection" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">collection</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"default"</span></div> <div><div html="<p>Collection to query</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Collection to query</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/structured-query</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/structured-query</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_99blq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_99blq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_99blq_0" aria-labelledby="tab_R_99blq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Simple relationship question" selected="">Simple relationship question</option><option value="Complex multi-hop question">Complex multi-hop question</option><option value="Question with implicit filters">Question with implicit filters</option></select><label>Simple relationship question</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"question"</span>: <span class="token string">"Who does Alice know?"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"user"</span>: <span class="token string">"alice"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"collection"</span>: <span class="token string">"research"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9pblq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9pblq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_9pblq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9pblq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9pblq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9pblq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9pblq_0" aria-labelledby="tab_R_9pblq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Successful query with results" selected="">Successful query with results</option><option value="Partial results with errors">Partial results with errors</option><option value="Query generation failed">Query generation failed</option></select><label>Successful query with results</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"data"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"person"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">"Alice"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"knows"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">"Bob"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"email"</span>: <span class="token string">"bob@example.com"</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">"Carol"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"email"</span>: <span class="token string">"carol@example.com"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"errors"</span>: <span class="token punctuation">[ ]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9pblq_1" aria-labelledby="tab_R_9pblq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9pblq_2" aria-labelledby="tab_R_9pblq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/structuredDiagService" data-section-id="tag/Flow-Services/operation/structuredDiagService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/structuredDiagService" id="operation/structuredDiagService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/structuredDiagService" aria-label="tag/Flow-Services/operation/structuredDiagService"></a>Structured Diag - analyze structured data formats<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Analyze and understand structured data (CSV, JSON, XML).</p>
|
|
<h2 id="structured-diag-overview">Structured Diag Overview</h2>
|
|
<p>Helps process unknown structured data:</p>
|
|
<ul>
|
|
<li><strong>Detect format</strong>: Identify CSV, JSON, or XML</li>
|
|
<li><strong>Generate schema</strong>: Create descriptor from sample</li>
|
|
<li><strong>Match schemas</strong>: Find existing schemas that fit data</li>
|
|
<li><strong>Full diagnosis</strong>: Complete analysis in one call</li>
|
|
</ul>
|
|
<p>Essential for data ingestion pipelines.</p>
|
|
<h2 id="operations">Operations</h2>
|
|
<h3 id="detect-type">detect-type</h3>
|
|
<p>Identify data format from sample:</p>
|
|
<ul>
|
|
<li>Input: Data sample</li>
|
|
<li>Output: Format (csv/json/xml) + confidence</li>
|
|
<li>Use when: Format is unknown</li>
|
|
</ul>
|
|
<h3 id="generate-descriptor">generate-descriptor</h3>
|
|
<p>Create schema descriptor:</p>
|
|
<ul>
|
|
<li>Input: Sample + known type</li>
|
|
<li>Output: Field definitions, types, structure</li>
|
|
<li>Use when: Need to understand data structure</li>
|
|
</ul>
|
|
<h3 id="diagnose-recommended">diagnose (recommended)</h3>
|
|
<p>Combined analysis:</p>
|
|
<ul>
|
|
<li>Input: Data sample</li>
|
|
<li>Output: Format + descriptor + metadata</li>
|
|
<li>Use when: Starting from scratch</li>
|
|
</ul>
|
|
<h3 id="schema-selection">schema-selection</h3>
|
|
<p>Find matching schemas:</p>
|
|
<ul>
|
|
<li>Input: Data sample</li>
|
|
<li>Output: List of schema IDs that match</li>
|
|
<li>Use when: Have existing schemas, need to match data</li>
|
|
</ul>
|
|
<h2 id="data-types">Data Types</h2>
|
|
<p>Supported formats:</p>
|
|
<ul>
|
|
<li><strong>CSV</strong>: Comma-separated values (or custom delimiter)</li>
|
|
<li><strong>JSON</strong>: JSON objects or arrays</li>
|
|
<li><strong>XML</strong>: XML documents</li>
|
|
</ul>
|
|
<h2 id="options">Options</h2>
|
|
<p>Format-specific options:</p>
|
|
<ul>
|
|
<li><strong>CSV</strong>: delimiter, has_header, quote_char</li>
|
|
<li><strong>JSON</strong>: array_path (for nested arrays)</li>
|
|
<li><strong>XML</strong>: root_element, record_path</li>
|
|
</ul>
|
|
<h2 id="workflow-example">Workflow Example</h2>
|
|
<ol>
|
|
<li>Receive unknown data file</li>
|
|
<li>Call diagnose operation with sample</li>
|
|
<li>Get format + schema descriptor</li>
|
|
<li>Use descriptor to process full dataset</li>
|
|
<li>Load data via document-load or text-load</li>
|
|
</ol>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Analyze and understand structured data (CSV, JSON, XML).</p>
|
|
<h2 id="structured-diag-overview">Structured Diag Overview</h2>
|
|
<p>Helps process unknown structured data:</p>
|
|
<ul>
|
|
<li><strong>Detect format</strong>: Identify CSV, JSON, or XML</li>
|
|
<li><strong>Generate schema</strong>: Create descriptor from sample</li>
|
|
<li><strong>Match schemas</strong>: Find existing schemas that fit data</li>
|
|
<li><strong>Full diagnosis</strong>: Complete analysis in one call</li>
|
|
</ul>
|
|
<p>Essential for data ingestion pipelines.</p>
|
|
<h2 id="operations">Operations</h2>
|
|
<h3 id="detect-type">detect-type</h3>
|
|
<p>Identify data format from sample:</p>
|
|
<ul>
|
|
<li>Input: Data sample</li>
|
|
<li>Output: Format (csv/json/xml) + confidence</li>
|
|
<li>Use when: Format is unknown</li>
|
|
</ul>
|
|
<h3 id="generate-descriptor">generate-descriptor</h3>
|
|
<p>Create schema descriptor:</p>
|
|
<ul>
|
|
<li>Input: Sample + known type</li>
|
|
<li>Output: Field definitions, types, structure</li>
|
|
<li>Use when: Need to understand data structure</li>
|
|
</ul>
|
|
<h3 id="diagnose-recommended">diagnose (recommended)</h3>
|
|
<p>Combined analysis:</p>
|
|
<ul>
|
|
<li>Input: Data sample</li>
|
|
<li>Output: Format + descriptor + metadata</li>
|
|
<li>Use when: Starting from scratch</li>
|
|
</ul>
|
|
<h3 id="schema-selection">schema-selection</h3>
|
|
<p>Find matching schemas:</p>
|
|
<ul>
|
|
<li>Input: Data sample</li>
|
|
<li>Output: List of schema IDs that match</li>
|
|
<li>Use when: Have existing schemas, need to match data</li>
|
|
</ul>
|
|
<h2 id="data-types">Data Types</h2>
|
|
<p>Supported formats:</p>
|
|
<ul>
|
|
<li><strong>CSV</strong>: Comma-separated values (or custom delimiter)</li>
|
|
<li><strong>JSON</strong>: JSON objects or arrays</li>
|
|
<li><strong>XML</strong>: XML documents</li>
|
|
</ul>
|
|
<h2 id="options">Options</h2>
|
|
<p>Format-specific options:</p>
|
|
<ul>
|
|
<li><strong>CSV</strong>: delimiter, has_header, quote_char</li>
|
|
<li><strong>JSON</strong>: array_path (for nested arrays)</li>
|
|
<li><strong>XML</strong>: root_element, record_path</li>
|
|
</ul>
|
|
<h2 id="workflow-example">Workflow Example</h2>
|
|
<ol>
|
|
<li>Receive unknown data file</li>
|
|
<li>Call diagnose operation with sample</li>
|
|
<li>Get format + schema descriptor</li>
|
|
<li>Use descriptor to process full dataset</li>
|
|
<li>Load data via document-load or text-load</li>
|
|
</ol>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="operation" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">operation</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Enum<!-- -->:</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"detect-type"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"generate-descriptor"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"diagnose"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"schema-selection"</span> </div> <div><div html="<p>Diagnosis operation:</p>
|
|
<ul>
|
|
<li><code>detect-type</code>: Identify data format (CSV, JSON, XML)</li>
|
|
<li><code>generate-descriptor</code>: Create schema descriptor for data</li>
|
|
<li><code>diagnose</code>: Full analysis (detect + generate descriptor)</li>
|
|
<li><code>schema-selection</code>: Find matching schemas for data</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Diagnosis operation:</p>
|
|
<ul>
|
|
<li><code>detect-type</code>: Identify data format (CSV, JSON, XML)</li>
|
|
<li><code>generate-descriptor</code>: Create schema descriptor for data</li>
|
|
<li><code>diagnose</code>: Full analysis (detect + generate descriptor)</li>
|
|
<li><code>schema-selection</code>: Find matching schemas for data</li>
|
|
</ul>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="sample" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">sample</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Data sample to analyze (text content)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Data sample to analyze (text content)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="type" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">type</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Enum<!-- -->:</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"csv"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"json"</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"xml"</span> </div> <div><div html="<p>Data type (required for generate-descriptor)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Data type (required for generate-descriptor)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="schema-name" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">schema-name</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Target schema name for descriptor generation (optional)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Target schema name for descriptor generation (optional)</p>
|
|
</div></div></div></td></tr><tr class="last "><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="options"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand options"><span class="property-name">options</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">object</span></div> <div><div html="<p>Format-specific options (e.g., CSV delimiter)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Format-specific options (e.g., CSV delimiter)</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/structured-diag</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/structured-diag</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_99clq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_99clq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_99clq_0" aria-labelledby="tab_R_99clq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Detect data type" selected="">Detect data type</option><option value="Generate schema descriptor">Generate schema descriptor</option><option value="Full diagnosis">Full diagnosis</option><option value="Find matching schemas">Find matching schemas</option></select><label>Detect data type</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"operation"</span>: <span class="token string">"detect-type"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"sample"</span>: <span class="token string">"name,age,email\nAlice,30,alice@example.com\nBob,25,bob@example.com\n"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9pclq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9pclq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_9pclq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9pclq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9pclq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9pclq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9pclq_0" aria-labelledby="tab_R_9pclq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Type detection result" selected="">Type detection result</option><option value="Generated descriptor">Generated descriptor</option><option value="Complete diagnosis">Complete diagnosis</option><option value="Schema selection results">Schema selection results</option></select><label>Type detection result</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"operation"</span>: <span class="token string">"detect-type"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"detected-type"</span>: <span class="token string">"csv"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"confidence"</span>: <span class="token number">0.95</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9pclq_1" aria-labelledby="tab_R_9pclq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9pclq_2" aria-labelledby="tab_R_9pclq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/graphEmbeddingsQueryService" data-section-id="tag/Flow-Services/operation/graphEmbeddingsQueryService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/graphEmbeddingsQueryService" id="operation/graphEmbeddingsQueryService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/graphEmbeddingsQueryService" aria-label="tag/Flow-Services/operation/graphEmbeddingsQueryService"></a>Graph Embeddings Query - find similar entities<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Query graph embeddings to find similar entities by vector similarity.</p>
|
|
<h2 id="graph-embeddings-query-overview">Graph Embeddings Query Overview</h2>
|
|
<p>Find entities semantically similar to a query vector:</p>
|
|
<ul>
|
|
<li><strong>Input</strong>: Query embedding vector</li>
|
|
<li><strong>Search</strong>: Compare against stored entity embeddings</li>
|
|
<li><strong>Output</strong>: Most similar entities (RDF URIs)</li>
|
|
</ul>
|
|
<p>Core component of graph RAG retrieval.</p>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>Entity discovery</strong>: Find related entities</li>
|
|
<li><strong>Concept expansion</strong>: Discover similar concepts</li>
|
|
<li><strong>Graph exploration</strong>: Navigate by semantic similarity</li>
|
|
<li><strong>RAG retrieval</strong>: Get entities for context</li>
|
|
</ul>
|
|
<h2 id="process">Process</h2>
|
|
<ol>
|
|
<li>Obtain query embedding (via embeddings service)</li>
|
|
<li>Query stored entity embeddings</li>
|
|
<li>Calculate cosine similarity</li>
|
|
<li>Return top N most similar entities</li>
|
|
<li>Use entities to retrieve triples/subgraph</li>
|
|
</ol>
|
|
<h2 id="similarity-scoring">Similarity Scoring</h2>
|
|
<p>Uses cosine similarity between vectors:</p>
|
|
<ul>
|
|
<li>Results ordered by similarity (most similar first)</li>
|
|
<li>No explicit similarity scores returned</li>
|
|
<li>Limit controls result count</li>
|
|
</ul>
|
|
<h2 id="entity-format">Entity Format</h2>
|
|
<p>Returns RDF values (entities):</p>
|
|
<ul>
|
|
<li>URI entities: <code>{v: &quot;https://...&quot;, e: true}</code></li>
|
|
<li>These are references to knowledge graph entities</li>
|
|
<li>Use with triples query to get entity details</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Query graph embeddings to find similar entities by vector similarity.</p>
|
|
<h2 id="graph-embeddings-query-overview">Graph Embeddings Query Overview</h2>
|
|
<p>Find entities semantically similar to a query vector:</p>
|
|
<ul>
|
|
<li><strong>Input</strong>: Query embedding vector</li>
|
|
<li><strong>Search</strong>: Compare against stored entity embeddings</li>
|
|
<li><strong>Output</strong>: Most similar entities (RDF URIs)</li>
|
|
</ul>
|
|
<p>Core component of graph RAG retrieval.</p>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>Entity discovery</strong>: Find related entities</li>
|
|
<li><strong>Concept expansion</strong>: Discover similar concepts</li>
|
|
<li><strong>Graph exploration</strong>: Navigate by semantic similarity</li>
|
|
<li><strong>RAG retrieval</strong>: Get entities for context</li>
|
|
</ul>
|
|
<h2 id="process">Process</h2>
|
|
<ol>
|
|
<li>Obtain query embedding (via embeddings service)</li>
|
|
<li>Query stored entity embeddings</li>
|
|
<li>Calculate cosine similarity</li>
|
|
<li>Return top N most similar entities</li>
|
|
<li>Use entities to retrieve triples/subgraph</li>
|
|
</ol>
|
|
<h2 id="similarity-scoring">Similarity Scoring</h2>
|
|
<p>Uses cosine similarity between vectors:</p>
|
|
<ul>
|
|
<li>Results ordered by similarity (most similar first)</li>
|
|
<li>No explicit similarity scores returned</li>
|
|
<li>Limit controls result count</li>
|
|
</ul>
|
|
<h2 id="entity-format">Entity Format</h2>
|
|
<p>Returns RDF values (entities):</p>
|
|
<ul>
|
|
<li>URI entities: <code>{v: "https://...", e: true}</code></li>
|
|
<li>These are references to knowledge graph entities</li>
|
|
<li>Use with triples query to get entity details</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="vectors" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">vectors</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA">Array of </span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">numbers</span></div> <div><div html="<p>Query embedding vector</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Query embedding vector</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="limit" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">limit</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">integer</span><span> <span class="sc-gScZFi sc-ckEbSN gccdcP btJpCO"> <!-- -->[ 1 .. 1000 ]<!-- --> </span></span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">10</span></div> <div><div html="<p>Maximum number of entities to return</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Maximum number of entities to return</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">user</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User identifier</p>
|
|
</div></div></div></td></tr><tr class="last "><td kind="field" title="collection" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">collection</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"default"</span></div> <div><div html="<p>Collection to search</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Collection to search</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/graph-embeddings</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/graph-embeddings</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_99dlq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_99dlq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_99dlq_0" aria-labelledby="tab_R_99dlq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Find similar entities" selected="">Find similar entities</option><option value="Larger result set">Larger result set</option></select><label>Find similar entities</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"vectors"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token number">0.023</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">-0.142</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">0.089</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">0.234</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">-0.067</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">0.156</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">0.201</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">-0.178</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"limit"</span>: <span class="token number">10</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"user"</span>: <span class="token string">"alice"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"collection"</span>: <span class="token string">"research"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9pdlq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9pdlq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_9pdlq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9pdlq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9pdlq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9pdlq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9pdlq_0" aria-labelledby="tab_R_9pdlq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"entities"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"v"</span>: <span class="token string">"</span><a href="https://example.com/person/alice">https://example.com/person/alice</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"e"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"v"</span>: <span class="token string">"</span><a href="https://example.com/person/bob">https://example.com/person/bob</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"e"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"v"</span>: <span class="token string">"</span><a href="https://example.com/concept/quantum-computing">https://example.com/concept/quantum-computing</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"e"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span>,</div></li><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"v"</span>: <span class="token string">"</span><a href="https://example.com/concept/machine-learning">https://example.com/concept/machine-learning</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"e"</span>: <span class="token boolean">true</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9pdlq_1" aria-labelledby="tab_R_9pdlq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9pdlq_2" aria-labelledby="tab_R_9pdlq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/documentEmbeddingsQueryService" data-section-id="tag/Flow-Services/operation/documentEmbeddingsQueryService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/documentEmbeddingsQueryService" id="operation/documentEmbeddingsQueryService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/documentEmbeddingsQueryService" aria-label="tag/Flow-Services/operation/documentEmbeddingsQueryService"></a>Document Embeddings Query - find similar text chunks<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Query document embeddings to find similar text chunks by vector similarity.</p>
|
|
<h2 id="document-embeddings-query-overview">Document Embeddings Query Overview</h2>
|
|
<p>Find document chunks semantically similar to a query vector:</p>
|
|
<ul>
|
|
<li><strong>Input</strong>: Query embedding vector</li>
|
|
<li><strong>Search</strong>: Compare against stored chunk embeddings</li>
|
|
<li><strong>Output</strong>: Most similar text chunks</li>
|
|
</ul>
|
|
<p>Core component of document RAG retrieval.</p>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>Document retrieval</strong>: Find relevant passages</li>
|
|
<li><strong>Semantic search</strong>: Search by meaning not keywords</li>
|
|
<li><strong>Context gathering</strong>: Get text for RAG</li>
|
|
<li><strong>Similar content</strong>: Discover related documents</li>
|
|
</ul>
|
|
<h2 id="process">Process</h2>
|
|
<ol>
|
|
<li>Obtain query embedding (via embeddings service)</li>
|
|
<li>Query stored document chunk embeddings</li>
|
|
<li>Calculate cosine similarity</li>
|
|
<li>Return top N most similar chunks</li>
|
|
<li>Use chunks as context for generation</li>
|
|
</ol>
|
|
<h2 id="chunking">Chunking</h2>
|
|
<p>Documents are split into chunks during indexing:</p>
|
|
<ul>
|
|
<li>Typical size: 200-1000 tokens</li>
|
|
<li>Overlap between chunks for continuity</li>
|
|
<li>Each chunk has own embedding</li>
|
|
</ul>
|
|
<p>Queries return individual chunks, not full documents.</p>
|
|
<h2 id="similarity-scoring">Similarity Scoring</h2>
|
|
<p>Uses cosine similarity:</p>
|
|
<ul>
|
|
<li>Results ordered by similarity</li>
|
|
<li>No explicit scores in response</li>
|
|
<li>Limit controls result count</li>
|
|
</ul>
|
|
<h2 id="output-format">Output Format</h2>
|
|
<p>Returns text chunks as strings:</p>
|
|
<ul>
|
|
<li>Raw chunk text</li>
|
|
<li>No metadata (source, position, etc.)</li>
|
|
<li>Use for LLM context directly</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Query document embeddings to find similar text chunks by vector similarity.</p>
|
|
<h2 id="document-embeddings-query-overview">Document Embeddings Query Overview</h2>
|
|
<p>Find document chunks semantically similar to a query vector:</p>
|
|
<ul>
|
|
<li><strong>Input</strong>: Query embedding vector</li>
|
|
<li><strong>Search</strong>: Compare against stored chunk embeddings</li>
|
|
<li><strong>Output</strong>: Most similar text chunks</li>
|
|
</ul>
|
|
<p>Core component of document RAG retrieval.</p>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>Document retrieval</strong>: Find relevant passages</li>
|
|
<li><strong>Semantic search</strong>: Search by meaning not keywords</li>
|
|
<li><strong>Context gathering</strong>: Get text for RAG</li>
|
|
<li><strong>Similar content</strong>: Discover related documents</li>
|
|
</ul>
|
|
<h2 id="process">Process</h2>
|
|
<ol>
|
|
<li>Obtain query embedding (via embeddings service)</li>
|
|
<li>Query stored document chunk embeddings</li>
|
|
<li>Calculate cosine similarity</li>
|
|
<li>Return top N most similar chunks</li>
|
|
<li>Use chunks as context for generation</li>
|
|
</ol>
|
|
<h2 id="chunking">Chunking</h2>
|
|
<p>Documents are split into chunks during indexing:</p>
|
|
<ul>
|
|
<li>Typical size: 200-1000 tokens</li>
|
|
<li>Overlap between chunks for continuity</li>
|
|
<li>Each chunk has own embedding</li>
|
|
</ul>
|
|
<p>Queries return individual chunks, not full documents.</p>
|
|
<h2 id="similarity-scoring">Similarity Scoring</h2>
|
|
<p>Uses cosine similarity:</p>
|
|
<ul>
|
|
<li>Results ordered by similarity</li>
|
|
<li>No explicit scores in response</li>
|
|
<li>Limit controls result count</li>
|
|
</ul>
|
|
<h2 id="output-format">Output Format</h2>
|
|
<p>Returns text chunks as strings:</p>
|
|
<ul>
|
|
<li>Raw chunk text</li>
|
|
<li>No metadata (source, position, etc.)</li>
|
|
<li>Use for LLM context directly</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="vectors" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">vectors</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA">Array of </span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">numbers</span></div> <div><div html="<p>Query embedding vector</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Query embedding vector</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="limit" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">limit</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">integer</span><span> <span class="sc-gScZFi sc-ckEbSN gccdcP btJpCO"> <!-- -->[ 1 .. 1000 ]<!-- --> </span></span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">10</span></div> <div><div html="<p>Maximum number of document chunks to return</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Maximum number of document chunks to return</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">user</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User identifier</p>
|
|
</div></div></div></td></tr><tr class="last "><td kind="field" title="collection" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">collection</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"default"</span></div> <div><div html="<p>Collection to search</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Collection to search</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Successful response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Successful response</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/document-embeddings</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/document-embeddings</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_99elq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_99elq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_99elq_0" aria-labelledby="tab_R_99elq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Find similar chunks" selected="">Find similar chunks</option><option value="Larger result set">Larger result set</option></select><label>Find similar chunks</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"vectors"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token number">0.023</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">-0.142</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">0.089</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">0.234</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">-0.067</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">0.156</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">0.201</span>,</div></li><li><div class="hoverable collapsed"><span class="token number">-0.178</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"limit"</span>: <span class="token number">10</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"user"</span>: <span class="token string">"alice"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"collection"</span>: <span class="token string">"research"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9pelq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9pelq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_9pelq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9pelq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9pelq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9pelq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9pelq_0" aria-labelledby="tab_R_9pelq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"chunks"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"Quantum computing uses quantum mechanics principles like superposition and entanglement for computation. Unlike classical bits, quantum bits (qubits) can exist in multiple states simultaneously."</span>,</div></li><li><div class="hoverable collapsed"><span class="token string">"Neural networks are computing systems inspired by biological neural networks. They consist of interconnected nodes organized in layers that process information through weighted connections."</span>,</div></li><li><div class="hoverable collapsed"><span class="token string">"Machine learning algorithms learn patterns from data without being explicitly programmed. They improve their performance through experience and exposure to training data."</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9pelq_1" aria-labelledby="tab_R_9pelq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9pelq_2" aria-labelledby="tab_R_9pelq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/textLoadService" data-section-id="tag/Flow-Services/operation/textLoadService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/textLoadService" id="operation/textLoadService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/textLoadService" aria-label="tag/Flow-Services/operation/textLoadService"></a>Text Load - load text documents<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Load text documents into processing pipeline for indexing and embedding.</p>
|
|
<h2 id="text-load-overview">Text Load Overview</h2>
|
|
<p>Fire-and-forget document loading:</p>
|
|
<ul>
|
|
<li><strong>Input</strong>: Text content (base64 encoded)</li>
|
|
<li><strong>Process</strong>: Chunk, embed, store</li>
|
|
<li><strong>Output</strong>: None (202 Accepted)</li>
|
|
</ul>
|
|
<p>Asynchronous processing - document queued for background processing.</p>
|
|
<h2 id="processing-pipeline">Processing Pipeline</h2>
|
|
<p>Text documents go through:</p>
|
|
<ol>
|
|
<li><strong>Chunking</strong>: Split into overlapping chunks</li>
|
|
<li><strong>Embedding</strong>: Generate vectors for each chunk</li>
|
|
<li><strong>Storage</strong>: Store chunks + embeddings</li>
|
|
<li><strong>Indexing</strong>: Make searchable via document-embeddings query</li>
|
|
</ol>
|
|
<p>Pipeline runs asynchronously after request returns.</p>
|
|
<h2 id="text-format">Text Format</h2>
|
|
<p>Text must be base64 encoded:</p>
|
|
<pre><code>text_content <span class="token operator">=</span> <span class="token string">"This is the document..."</span>
|
|
encoded <span class="token operator">=</span> base64<span class="token punctuation">.</span><span class="token function">b64encode</span><span class="token punctuation">(</span>text_content<span class="token punctuation">.</span><span class="token function">encode</span><span class="token punctuation">(</span><span class="token string">'utf-8'</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<p>Default charset is UTF-8, specify <code>charset</code> if different.</p>
|
|
<h2 id="metadata">Metadata</h2>
|
|
<p>Optional RDF triples describing document:</p>
|
|
<ul>
|
|
<li>Title, author, date</li>
|
|
<li>Source URL</li>
|
|
<li>Custom properties</li>
|
|
<li>Used for organization and retrieval</li>
|
|
</ul>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>Document ingestion</strong>: Add documents to knowledge base</li>
|
|
<li><strong>Bulk loading</strong>: Process multiple documents</li>
|
|
<li><strong>Content updates</strong>: Replace existing documents</li>
|
|
<li><strong>Library integration</strong>: Load from document library</li>
|
|
</ul>
|
|
<h2 id="no-response-data">No Response Data</h2>
|
|
<p>Returns 202 Accepted immediately:</p>
|
|
<ul>
|
|
<li>Document queued for processing</li>
|
|
<li>No synchronous result</li>
|
|
<li>No processing status</li>
|
|
<li>Check document-embeddings query later to verify indexed</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Load text documents into processing pipeline for indexing and embedding.</p>
|
|
<h2 id="text-load-overview">Text Load Overview</h2>
|
|
<p>Fire-and-forget document loading:</p>
|
|
<ul>
|
|
<li><strong>Input</strong>: Text content (base64 encoded)</li>
|
|
<li><strong>Process</strong>: Chunk, embed, store</li>
|
|
<li><strong>Output</strong>: None (202 Accepted)</li>
|
|
</ul>
|
|
<p>Asynchronous processing - document queued for background processing.</p>
|
|
<h2 id="processing-pipeline">Processing Pipeline</h2>
|
|
<p>Text documents go through:</p>
|
|
<ol>
|
|
<li><strong>Chunking</strong>: Split into overlapping chunks</li>
|
|
<li><strong>Embedding</strong>: Generate vectors for each chunk</li>
|
|
<li><strong>Storage</strong>: Store chunks + embeddings</li>
|
|
<li><strong>Indexing</strong>: Make searchable via document-embeddings query</li>
|
|
</ol>
|
|
<p>Pipeline runs asynchronously after request returns.</p>
|
|
<h2 id="text-format">Text Format</h2>
|
|
<p>Text must be base64 encoded:</p>
|
|
<pre><code>text_content <span class="token operator">=</span> <span class="token string">"This is the document..."</span>
|
|
encoded <span class="token operator">=</span> base64<span class="token punctuation">.</span><span class="token function">b64encode</span><span class="token punctuation">(</span>text_content<span class="token punctuation">.</span><span class="token function">encode</span><span class="token punctuation">(</span><span class="token string">'utf-8'</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<p>Default charset is UTF-8, specify <code>charset</code> if different.</p>
|
|
<h2 id="metadata">Metadata</h2>
|
|
<p>Optional RDF triples describing document:</p>
|
|
<ul>
|
|
<li>Title, author, date</li>
|
|
<li>Source URL</li>
|
|
<li>Custom properties</li>
|
|
<li>Used for organization and retrieval</li>
|
|
</ul>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>Document ingestion</strong>: Add documents to knowledge base</li>
|
|
<li><strong>Bulk loading</strong>: Process multiple documents</li>
|
|
<li><strong>Content updates</strong>: Replace existing documents</li>
|
|
<li><strong>Library integration</strong>: Load from document library</li>
|
|
</ul>
|
|
<h2 id="no-response-data">No Response Data</h2>
|
|
<p>Returns 202 Accepted immediately:</p>
|
|
<ul>
|
|
<li>Document queued for processing</li>
|
|
<li>No synchronous result</li>
|
|
<li>No processing status</li>
|
|
<li>Check document-embeddings query later to verify indexed</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="text" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">text</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX"> <!-- --><<!-- -->byte<!-- -->><!-- --> </span></div> <div><div html="<p>Text content (base64 encoded)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Text content (base64 encoded)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="id" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">id</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Document identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Document identifier</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">user</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User identifier</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">collection</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"default"</span></div> <div><div html="<p>Collection for document</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Collection for document</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="charset" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">charset</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"utf-8"</span></div> <div><div html="<p>Text character encoding</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Text character encoding</p>
|
|
</div></div></div></td></tr><tr class="last "><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="metadata"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand metadata"><span class="property-name">metadata</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA">Array of </span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">objects</span><span class="sc-gScZFi sc-jfvxQO gccdcP iBAfOu"> (<!-- -->Triple<!-- -->) </span></div> <div><div html="<p>Document metadata as RDF triples</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Document metadata as RDF triples</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">202<!-- --> </strong><div html="<p>Document accepted for processing</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Document accepted for processing</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/text-load</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/text-load</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_99flq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_99flq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_99flq_0" aria-labelledby="tab_R_99flq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Load text document" selected="">Load text document</option><option value="Load with RDF metadata">Load with RDF metadata</option></select><label>Load text document</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"text"</span>: <span class="token string">"VGhpcyBpcyB0aGUgZG9jdW1lbnQgdGV4dC4uLg=="</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"id"</span>: <span class="token string">"doc-123"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"user"</span>: <span class="token string">"alice"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"collection"</span>: <span class="token string">"research"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9pflq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9pflq_0" tabindex="0" data-rttab="true">202</li><li class="tab-error" role="tab" id="tab_R_9pflq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9pflq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9pflq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9pflq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9pflq_0" aria-labelledby="tab_R_9pflq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><span class="token punctuation">{ }</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9pflq_1" aria-labelledby="tab_R_9pflq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9pflq_2" aria-labelledby="tab_R_9pflq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/documentLoadService" data-section-id="tag/Flow-Services/operation/documentLoadService" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/documentLoadService" id="operation/documentLoadService" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Flow-Services/operation/documentLoadService" aria-label="tag/Flow-Services/operation/documentLoadService"></a>Document Load - load binary documents (PDF, etc.)<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Load binary documents (PDF, Word, etc.) into processing pipeline.</p>
|
|
<h2 id="document-load-overview">Document Load Overview</h2>
|
|
<p>Fire-and-forget binary document loading:</p>
|
|
<ul>
|
|
<li><strong>Input</strong>: Document data (base64 encoded)</li>
|
|
<li><strong>Process</strong>: Extract text, chunk, embed, store</li>
|
|
<li><strong>Output</strong>: None (202 Accepted)</li>
|
|
</ul>
|
|
<p>Asynchronous processing for PDF and other binary formats.</p>
|
|
<h2 id="processing-pipeline">Processing Pipeline</h2>
|
|
<p>Documents go through:</p>
|
|
<ol>
|
|
<li><strong>Text extraction</strong>: PDF→text, DOCX→text, etc.</li>
|
|
<li><strong>Chunking</strong>: Split into overlapping chunks</li>
|
|
<li><strong>Embedding</strong>: Generate vectors for each chunk</li>
|
|
<li><strong>Storage</strong>: Store chunks + embeddings</li>
|
|
<li><strong>Indexing</strong>: Make searchable</li>
|
|
</ol>
|
|
<p>Pipeline runs asynchronously.</p>
|
|
<h2 id="supported-formats">Supported Formats</h2>
|
|
<ul>
|
|
<li><strong>PDF</strong>: Portable Document Format</li>
|
|
<li><strong>DOCX</strong>: Microsoft Word</li>
|
|
<li><strong>HTML</strong>: Web pages</li>
|
|
<li>Other formats via extractors</li>
|
|
</ul>
|
|
<p>Format detected from content, not extension.</p>
|
|
<h2 id="binary-encoding">Binary Encoding</h2>
|
|
<p>Documents must be base64 encoded:</p>
|
|
<pre><code class="language-python"><span class="token keyword">with</span> <span class="token builtin">open</span><span class="token punctuation">(</span><span class="token string">'document.pdf'</span><span class="token punctuation">,</span> <span class="token string">'rb'</span><span class="token punctuation">)</span> <span class="token keyword">as</span> f<span class="token punctuation">:</span>
|
|
doc_bytes <span class="token operator">=</span> f<span class="token punctuation">.</span>read<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
encoded <span class="token operator">=</span> base64<span class="token punctuation">.</span>b64encode<span class="token punctuation">(</span>doc_bytes<span class="token punctuation">)</span><span class="token punctuation">.</span>decode<span class="token punctuation">(</span><span class="token string">'utf-8'</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<h2 id="metadata">Metadata</h2>
|
|
<p>Optional RDF triples:</p>
|
|
<ul>
|
|
<li>Document properties</li>
|
|
<li>Source information</li>
|
|
<li>Custom attributes</li>
|
|
</ul>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>PDF ingestion</strong>: Process research papers</li>
|
|
<li><strong>Document libraries</strong>: Index document collections</li>
|
|
<li><strong>Content migration</strong>: Import from other systems</li>
|
|
<li><strong>Automated processing</strong>: Batch document loading</li>
|
|
</ul>
|
|
<h2 id="no-response-data">No Response Data</h2>
|
|
<p>Returns 202 Accepted immediately:</p>
|
|
<ul>
|
|
<li>Document queued</li>
|
|
<li>Processing happens asynchronously</li>
|
|
<li>No status tracking</li>
|
|
<li>Query later to verify indexed</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Load binary documents (PDF, Word, etc.) into processing pipeline.</p>
|
|
<h2 id="document-load-overview">Document Load Overview</h2>
|
|
<p>Fire-and-forget binary document loading:</p>
|
|
<ul>
|
|
<li><strong>Input</strong>: Document data (base64 encoded)</li>
|
|
<li><strong>Process</strong>: Extract text, chunk, embed, store</li>
|
|
<li><strong>Output</strong>: None (202 Accepted)</li>
|
|
</ul>
|
|
<p>Asynchronous processing for PDF and other binary formats.</p>
|
|
<h2 id="processing-pipeline">Processing Pipeline</h2>
|
|
<p>Documents go through:</p>
|
|
<ol>
|
|
<li><strong>Text extraction</strong>: PDF→text, DOCX→text, etc.</li>
|
|
<li><strong>Chunking</strong>: Split into overlapping chunks</li>
|
|
<li><strong>Embedding</strong>: Generate vectors for each chunk</li>
|
|
<li><strong>Storage</strong>: Store chunks + embeddings</li>
|
|
<li><strong>Indexing</strong>: Make searchable</li>
|
|
</ol>
|
|
<p>Pipeline runs asynchronously.</p>
|
|
<h2 id="supported-formats">Supported Formats</h2>
|
|
<ul>
|
|
<li><strong>PDF</strong>: Portable Document Format</li>
|
|
<li><strong>DOCX</strong>: Microsoft Word</li>
|
|
<li><strong>HTML</strong>: Web pages</li>
|
|
<li>Other formats via extractors</li>
|
|
</ul>
|
|
<p>Format detected from content, not extension.</p>
|
|
<h2 id="binary-encoding">Binary Encoding</h2>
|
|
<p>Documents must be base64 encoded:</p>
|
|
<pre><code class="language-python"><span class="token keyword">with</span> <span class="token builtin">open</span><span class="token punctuation">(</span><span class="token string">'document.pdf'</span><span class="token punctuation">,</span> <span class="token string">'rb'</span><span class="token punctuation">)</span> <span class="token keyword">as</span> f<span class="token punctuation">:</span>
|
|
doc_bytes <span class="token operator">=</span> f<span class="token punctuation">.</span>read<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
encoded <span class="token operator">=</span> base64<span class="token punctuation">.</span>b64encode<span class="token punctuation">(</span>doc_bytes<span class="token punctuation">)</span><span class="token punctuation">.</span>decode<span class="token punctuation">(</span><span class="token string">'utf-8'</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<h2 id="metadata">Metadata</h2>
|
|
<p>Optional RDF triples:</p>
|
|
<ul>
|
|
<li>Document properties</li>
|
|
<li>Source information</li>
|
|
<li>Custom attributes</li>
|
|
</ul>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>PDF ingestion</strong>: Process research papers</li>
|
|
<li><strong>Document libraries</strong>: Index document collections</li>
|
|
<li><strong>Content migration</strong>: Import from other systems</li>
|
|
<li><strong>Automated processing</strong>: Batch document loading</li>
|
|
</ul>
|
|
<h2 id="no-response-data">No Response Data</h2>
|
|
<p>Returns 202 Accepted immediately:</p>
|
|
<ul>
|
|
<li>Document queued</li>
|
|
<li>Processing happens asynchronously</li>
|
|
<li>No status tracking</li>
|
|
<li>Query later to verify indexed</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">flow</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Flow instance ID</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/json</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="data" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">data</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX"> <!-- --><<!-- -->byte<!-- -->><!-- --> </span></div> <div><div html="<p>Document data (base64 encoded)</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Document data (base64 encoded)</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="id" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">id</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><div html="<p>Document identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Document identifier</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">user</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User identifier</p>
|
|
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">collection</span></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Default:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"default"</span></div> <div><div html="<p>Collection for document</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Collection for document</p>
|
|
</div></div></div></td></tr><tr class="last "><td class="sc-hBxehJ sc-fEXmlO sc-jfTVlz gxGlxs buxoxV gfvQgL" kind="field" title="metadata"><span class="sc-idXgbs gQLyRu"></span><button aria-label="expand metadata"><span class="property-name">metadata</span><svg class="sc-eDWCs bIIkAE" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA">Array of </span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">objects</span><span class="sc-gScZFi sc-jfvxQO gccdcP iBAfOu"> (<!-- -->Triple<!-- -->) </span></div> <div><div html="<p>Document metadata as RDF triples</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Document metadata as RDF triples</p>
|
|
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">202<!-- --> </strong><div html="<p>Document accepted for processing</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Document accepted for processing</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/flow/{flow}/service/document-load</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/document-load</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Request samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_99glq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_99glq_0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_99glq_0" aria-labelledby="tab_R_99glq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Example</span><div class="sc-jIRcFH sc-AHaJK evecjr bYTQOT"><svg class="sc-ilhmMk dXeQfN" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="Load PDF document" selected="">Load PDF document</option><option value="Load with metadata">Load with metadata</option></select><label>Load PDF document</label></div></div><div><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"data"</span>: <span class="token string">"JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFI+PmVuZG9iagoyIDAgb2JqCjw8L1R5cGUvUGFnZXMvS2lkc1szIDAgUl0vQ291bnQgMT4+ZW5kb2JqCg=="</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"id"</span>: <span class="token string">"doc-789"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"user"</span>: <span class="token string">"alice"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"collection"</span>: <span class="token string">"research"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9pglq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9pglq_0" tabindex="0" data-rttab="true">202</li><li class="tab-error" role="tab" id="tab_R_9pglq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9pglq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9pglq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9pglq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9pglq_0" aria-labelledby="tab_R_9pglq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><span class="token punctuation">{ }</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9pglq_1" aria-labelledby="tab_R_9pglq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9pglq_2" aria-labelledby="tab_R_9pglq_2"></div></div></div></div></div></div><div id="tag/ImportExport" data-section-id="tag/ImportExport" class="sc-eDvSVh gnfAsZ"><div class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/ImportExport" aria-label="tag/ImportExport"></a>Import/Export</h2></div></div><div class="sc-hLBbgQ jqgxjE"><div class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK redoc-markdown " html="<p>Bulk data import and export</p>
|
|
"><p>Bulk data import and export</p>
|
|
</div></div></div><div id="tag/ImportExport/operation/importCore" data-section-id="tag/ImportExport/operation/importCore" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/importCore" id="operation/importCore" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/ImportExport/operation/importCore" aria-label="tag/ImportExport/operation/importCore"></a>Import Core - bulk import triples and embeddings<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Import knowledge cores in bulk using streaming MessagePack format.</p>
|
|
<h2 id="import-core-overview">Import Core Overview</h2>
|
|
<p>Bulk data import for knowledge graph:</p>
|
|
<ul>
|
|
<li><strong>Format</strong>: MessagePack streaming</li>
|
|
<li><strong>Content</strong>: Triples and/or graph embeddings</li>
|
|
<li><strong>Target</strong>: Global knowledge storage</li>
|
|
<li><strong>Use</strong>: Backup restoration, data migration, bulk loading</li>
|
|
</ul>
|
|
<h2 id="messagepack-protocol">MessagePack Protocol</h2>
|
|
<p>Request body is MessagePack stream with message tuples:</p>
|
|
<h3 id="triple-message">Triple Message</h3>
|
|
<pre><code><span class="token punctuation">(</span><span class="token string">"t"</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span> <span class="token comment">// Metadata</span>
|
|
<span class="token string">"i"</span><span class="token punctuation">:</span> <span class="token string">"core-id"</span><span class="token punctuation">,</span> <span class="token comment">// Knowledge core ID</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token comment">// Metadata triples array</span>
|
|
<span class="token string">"u"</span><span class="token punctuation">:</span> <span class="token string">"user"</span><span class="token punctuation">,</span> <span class="token comment">// User</span>
|
|
<span class="token string">"c"</span><span class="token punctuation">:</span> <span class="token string">"collection"</span> <span class="token comment">// Collection</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token string">"t"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span> <span class="token comment">// Triples array</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<h3 id="graph-embeddings-message">Graph Embeddings Message</h3>
|
|
<pre><code><span class="token punctuation">(</span><span class="token string">"ge"</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span> <span class="token comment">// Metadata</span>
|
|
<span class="token string">"i"</span><span class="token punctuation">:</span> <span class="token string">"core-id"</span><span class="token punctuation">,</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
<span class="token string">"u"</span><span class="token punctuation">:</span> <span class="token string">"user"</span><span class="token punctuation">,</span>
|
|
<span class="token string">"c"</span><span class="token punctuation">:</span> <span class="token string">"collection"</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token string">"e"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span> <span class="token comment">// Entities array</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token string">"e"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span><span class="token string">"v"</span><span class="token punctuation">:</span> <span class="token string">"uri"</span><span class="token punctuation">,</span> <span class="token string">"e"</span><span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token comment">// Entity RdfValue</span>
|
|
<span class="token string">"v"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token number">0.1</span><span class="token punctuation">,</span> <span class="token number">0.2</span><span class="token punctuation">,</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span> <span class="token comment">// Vectors</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<h2 id="query-parameters">Query Parameters</h2>
|
|
<ul>
|
|
<li><strong>id</strong>: Knowledge core ID</li>
|
|
<li><strong>user</strong>: User identifier</li>
|
|
</ul>
|
|
<h2 id="streaming">Streaming</h2>
|
|
<p>Multiple messages can be sent in stream.
|
|
Each message processed as received.
|
|
No response body - returns 202 Accepted.</p>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>Backup restoration</strong>: Restore from export</li>
|
|
<li><strong>Data migration</strong>: Move data between systems</li>
|
|
<li><strong>Bulk loading</strong>: Initial knowledge base population</li>
|
|
<li><strong>Replication</strong>: Copy knowledge cores</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Import knowledge cores in bulk using streaming MessagePack format.</p>
|
|
<h2 id="import-core-overview">Import Core Overview</h2>
|
|
<p>Bulk data import for knowledge graph:</p>
|
|
<ul>
|
|
<li><strong>Format</strong>: MessagePack streaming</li>
|
|
<li><strong>Content</strong>: Triples and/or graph embeddings</li>
|
|
<li><strong>Target</strong>: Global knowledge storage</li>
|
|
<li><strong>Use</strong>: Backup restoration, data migration, bulk loading</li>
|
|
</ul>
|
|
<h2 id="messagepack-protocol">MessagePack Protocol</h2>
|
|
<p>Request body is MessagePack stream with message tuples:</p>
|
|
<h3 id="triple-message">Triple Message</h3>
|
|
<pre><code><span class="token punctuation">(</span><span class="token string">"t"</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span> <span class="token comment">// Metadata</span>
|
|
<span class="token string">"i"</span><span class="token punctuation">:</span> <span class="token string">"core-id"</span><span class="token punctuation">,</span> <span class="token comment">// Knowledge core ID</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token comment">// Metadata triples array</span>
|
|
<span class="token string">"u"</span><span class="token punctuation">:</span> <span class="token string">"user"</span><span class="token punctuation">,</span> <span class="token comment">// User</span>
|
|
<span class="token string">"c"</span><span class="token punctuation">:</span> <span class="token string">"collection"</span> <span class="token comment">// Collection</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token string">"t"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span> <span class="token comment">// Triples array</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<h3 id="graph-embeddings-message">Graph Embeddings Message</h3>
|
|
<pre><code><span class="token punctuation">(</span><span class="token string">"ge"</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span> <span class="token comment">// Metadata</span>
|
|
<span class="token string">"i"</span><span class="token punctuation">:</span> <span class="token string">"core-id"</span><span class="token punctuation">,</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
<span class="token string">"u"</span><span class="token punctuation">:</span> <span class="token string">"user"</span><span class="token punctuation">,</span>
|
|
<span class="token string">"c"</span><span class="token punctuation">:</span> <span class="token string">"collection"</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token string">"e"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span> <span class="token comment">// Entities array</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token string">"e"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span><span class="token string">"v"</span><span class="token punctuation">:</span> <span class="token string">"uri"</span><span class="token punctuation">,</span> <span class="token string">"e"</span><span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token comment">// Entity RdfValue</span>
|
|
<span class="token string">"v"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token number">0.1</span><span class="token punctuation">,</span> <span class="token number">0.2</span><span class="token punctuation">,</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span> <span class="token comment">// Vectors</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<h2 id="query-parameters">Query Parameters</h2>
|
|
<ul>
|
|
<li><strong>id</strong>: Knowledge core ID</li>
|
|
<li><strong>user</strong>: User identifier</li>
|
|
</ul>
|
|
<h2 id="streaming">Streaming</h2>
|
|
<p>Multiple messages can be sent in stream.
|
|
Each message processed as received.
|
|
No response body - returns 202 Accepted.</p>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>Backup restoration</strong>: Restore from export</li>
|
|
<li><strong>Data migration</strong>: Move data between systems</li>
|
|
<li><strong>Bulk loading</strong>: Initial knowledge base population</li>
|
|
<li><strong>Replication</strong>: Copy knowledge cores</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">query<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="id" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">id</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">id=core-123</span></div><div><div html="<p>Knowledge core ID to import</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Knowledge core ID to import</p>
|
|
</div></div></div></td></tr><tr class="last "><td kind="field" title="user" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">user</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">user=alice</span></div><div><div html="<p>User identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User identifier</p>
|
|
</div></div></div></td></tr></tbody></table></div><h5 class="sc-ipEyDG flHRUF">Request Body schema: <span class="sc-gYbzsQ cKKFPZ">application/msgpack</span><div class="sc-gScZFi sc-eJDSGH sc-dUipGb gccdcP iFijLo fHNxsY">required</div></h5><div html="" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"></div><div><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX"> <!-- --><<!-- -->binary<!-- -->><!-- --> </span></div> <div><div html="<p>MessagePack stream of knowledge data</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>MessagePack stream of knowledge data</p>
|
|
</div></div></div></div><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">202<!-- --> </strong><div html="<p>Import accepted and processing</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Import accepted and processing</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="post" class="sc-eDZJfb jkuyLe http-verb post">post</span><span class="sc-EJAjd dliInS">/api/v1/import-core</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/import-core</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_175ma_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_175ma_0" tabindex="0" data-rttab="true">202</li><li class="tab-error" role="tab" id="tab_R_175ma_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_175ma_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_175ma_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_175ma_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_175ma_0" aria-labelledby="tab_R_175ma_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><span class="token punctuation">{ }</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_175ma_1" aria-labelledby="tab_R_175ma_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_175ma_2" aria-labelledby="tab_R_175ma_2"></div></div></div></div></div></div><div id="tag/ImportExport/operation/exportCore" data-section-id="tag/ImportExport/operation/exportCore" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/exportCore" id="operation/exportCore" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/ImportExport/operation/exportCore" aria-label="tag/ImportExport/operation/exportCore"></a>Export Core - bulk export triples and embeddings<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Export knowledge cores in bulk using streaming MessagePack format.</p>
|
|
<h2 id="export-core-overview">Export Core Overview</h2>
|
|
<p>Bulk data export for knowledge graph:</p>
|
|
<ul>
|
|
<li><strong>Format</strong>: MessagePack streaming</li>
|
|
<li><strong>Content</strong>: Triples and graph embeddings</li>
|
|
<li><strong>Source</strong>: Global knowledge storage</li>
|
|
<li><strong>Use</strong>: Backups, data migration, archival</li>
|
|
</ul>
|
|
<h2 id="messagepack-protocol">MessagePack Protocol</h2>
|
|
<p>Response body is MessagePack stream with message tuples:</p>
|
|
<h3 id="triple-message">Triple Message</h3>
|
|
<pre><code><span class="token punctuation">(</span><span class="token string">"t"</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span> <span class="token comment">// Metadata</span>
|
|
<span class="token string">"i"</span><span class="token punctuation">:</span> <span class="token string">"core-id"</span><span class="token punctuation">,</span> <span class="token comment">// Knowledge core ID</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token comment">// Metadata triples array</span>
|
|
<span class="token string">"u"</span><span class="token punctuation">:</span> <span class="token string">"user"</span><span class="token punctuation">,</span> <span class="token comment">// User</span>
|
|
<span class="token string">"c"</span><span class="token punctuation">:</span> <span class="token string">"collection"</span> <span class="token comment">// Collection</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token string">"t"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span> <span class="token comment">// Triples array</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<h3 id="graph-embeddings-message">Graph Embeddings Message</h3>
|
|
<pre><code><span class="token punctuation">(</span><span class="token string">"ge"</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span> <span class="token comment">// Metadata</span>
|
|
<span class="token string">"i"</span><span class="token punctuation">:</span> <span class="token string">"core-id"</span><span class="token punctuation">,</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
<span class="token string">"u"</span><span class="token punctuation">:</span> <span class="token string">"user"</span><span class="token punctuation">,</span>
|
|
<span class="token string">"c"</span><span class="token punctuation">:</span> <span class="token string">"collection"</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token string">"e"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span> <span class="token comment">// Entities array</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token string">"e"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span><span class="token string">"v"</span><span class="token punctuation">:</span> <span class="token string">"uri"</span><span class="token punctuation">,</span> <span class="token string">"e"</span><span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token comment">// Entity RdfValue</span>
|
|
<span class="token string">"v"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token number">0.1</span><span class="token punctuation">,</span> <span class="token number">0.2</span><span class="token punctuation">,</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span> <span class="token comment">// Vectors</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<h3 id="end-of-stream-message">End of Stream Message</h3>
|
|
<pre><code><span class="token punctuation">(</span><span class="token string">"eos"</span><span class="token punctuation">,</span> <span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<h2 id="query-parameters">Query Parameters</h2>
|
|
<ul>
|
|
<li><strong>id</strong>: Knowledge core ID to export</li>
|
|
<li><strong>user</strong>: User identifier</li>
|
|
</ul>
|
|
<h2 id="streaming">Streaming</h2>
|
|
<p>Data streamed incrementally:</p>
|
|
<ul>
|
|
<li>Triples sent first</li>
|
|
<li>Graph embeddings sent next</li>
|
|
<li>EOS marker signals completion</li>
|
|
</ul>
|
|
<p>Client should process messages as received.</p>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>Backups</strong>: Export for disaster recovery</li>
|
|
<li><strong>Data migration</strong>: Move to another system</li>
|
|
<li><strong>Archival</strong>: Long-term storage</li>
|
|
<li><strong>Replication</strong>: Copy knowledge cores</li>
|
|
<li><strong>Analysis</strong>: External processing</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Export knowledge cores in bulk using streaming MessagePack format.</p>
|
|
<h2 id="export-core-overview">Export Core Overview</h2>
|
|
<p>Bulk data export for knowledge graph:</p>
|
|
<ul>
|
|
<li><strong>Format</strong>: MessagePack streaming</li>
|
|
<li><strong>Content</strong>: Triples and graph embeddings</li>
|
|
<li><strong>Source</strong>: Global knowledge storage</li>
|
|
<li><strong>Use</strong>: Backups, data migration, archival</li>
|
|
</ul>
|
|
<h2 id="messagepack-protocol">MessagePack Protocol</h2>
|
|
<p>Response body is MessagePack stream with message tuples:</p>
|
|
<h3 id="triple-message">Triple Message</h3>
|
|
<pre><code><span class="token punctuation">(</span><span class="token string">"t"</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span> <span class="token comment">// Metadata</span>
|
|
<span class="token string">"i"</span><span class="token punctuation">:</span> <span class="token string">"core-id"</span><span class="token punctuation">,</span> <span class="token comment">// Knowledge core ID</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token comment">// Metadata triples array</span>
|
|
<span class="token string">"u"</span><span class="token punctuation">:</span> <span class="token string">"user"</span><span class="token punctuation">,</span> <span class="token comment">// User</span>
|
|
<span class="token string">"c"</span><span class="token punctuation">:</span> <span class="token string">"collection"</span> <span class="token comment">// Collection</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token string">"t"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span> <span class="token comment">// Triples array</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<h3 id="graph-embeddings-message">Graph Embeddings Message</h3>
|
|
<pre><code><span class="token punctuation">(</span><span class="token string">"ge"</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span> <span class="token comment">// Metadata</span>
|
|
<span class="token string">"i"</span><span class="token punctuation">:</span> <span class="token string">"core-id"</span><span class="token punctuation">,</span>
|
|
<span class="token string">"m"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
<span class="token string">"u"</span><span class="token punctuation">:</span> <span class="token string">"user"</span><span class="token punctuation">,</span>
|
|
<span class="token string">"c"</span><span class="token punctuation">:</span> <span class="token string">"collection"</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token string">"e"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span> <span class="token comment">// Entities array</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token string">"e"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span><span class="token string">"v"</span><span class="token punctuation">:</span> <span class="token string">"uri"</span><span class="token punctuation">,</span> <span class="token string">"e"</span><span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token comment">// Entity RdfValue</span>
|
|
<span class="token string">"v"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token number">0.1</span><span class="token punctuation">,</span> <span class="token number">0.2</span><span class="token punctuation">,</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span> <span class="token comment">// Vectors</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<h3 id="end-of-stream-message">End of Stream Message</h3>
|
|
<pre><code><span class="token punctuation">(</span><span class="token string">"eos"</span><span class="token punctuation">,</span> <span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<h2 id="query-parameters">Query Parameters</h2>
|
|
<ul>
|
|
<li><strong>id</strong>: Knowledge core ID to export</li>
|
|
<li><strong>user</strong>: User identifier</li>
|
|
</ul>
|
|
<h2 id="streaming">Streaming</h2>
|
|
<p>Data streamed incrementally:</p>
|
|
<ul>
|
|
<li>Triples sent first</li>
|
|
<li>Graph embeddings sent next</li>
|
|
<li>EOS marker signals completion</li>
|
|
</ul>
|
|
<p>Client should process messages as received.</p>
|
|
<h2 id="use-cases">Use Cases</h2>
|
|
<ul>
|
|
<li><strong>Backups</strong>: Export for disaster recovery</li>
|
|
<li><strong>Data migration</strong>: Move to another system</li>
|
|
<li><strong>Archival</strong>: Long-term storage</li>
|
|
<li><strong>Replication</strong>: Copy knowledge cores</li>
|
|
<li><strong>Analysis</strong>: External processing</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">query<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="id" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">id</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">id=core-123</span></div><div><div html="<p>Knowledge core ID to export</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Knowledge core ID to export</p>
|
|
</div></div></div></td></tr><tr class="last "><td kind="field" title="user" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">user</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">user=alice</span></div><div><div html="<p>User identifier</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>User identifier</p>
|
|
</div></div></div></td></tr></tbody></table></div><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Export stream</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Export stream</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="get" class="sc-eDZJfb eYCZVU http-verb get">get</span><span class="sc-EJAjd dliInS">/api/v1/export-core</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/export-core</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-error react-tabs__tab--selected" role="tab" id="tab_R_176ma_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_176ma_0" tabindex="0" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_176ma_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_176ma_1" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_176ma_0" aria-labelledby="tab_R_176ma_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"error"</span>: <span class="token string">"Unauthorized"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_176ma_1" aria-labelledby="tab_R_176ma_1"></div></div></div></div></div></div><div id="tag/WebSocket" data-section-id="tag/WebSocket" class="sc-eDvSVh gnfAsZ"><div class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/WebSocket" aria-label="tag/WebSocket"></a>WebSocket</h2></div></div><div class="sc-hLBbgQ jqgxjE"><div class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK redoc-markdown " html="<p>WebSocket interfaces</p>
|
|
"><p>WebSocket interfaces</p>
|
|
</div></div></div><div id="tag/WebSocket/operation/websocketConnection" data-section-id="tag/WebSocket/operation/websocketConnection" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/websocketConnection" id="operation/websocketConnection" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/WebSocket/operation/websocketConnection" aria-label="tag/WebSocket/operation/websocketConnection"></a>WebSocket - multiplexed service interface<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>WebSocket interface providing multiplexed access to all TrustGraph services over a single persistent connection.</p>
|
|
<h2 id="overview">Overview</h2>
|
|
<p>The WebSocket API provides access to the same services as the REST API but with:</p>
|
|
<ul>
|
|
<li><strong>Multiplexed</strong>: Multiple concurrent requests over one connection</li>
|
|
<li><strong>Asynchronous</strong>: Non-blocking request/response with ID matching</li>
|
|
<li><strong>Efficient</strong>: Reduced overhead compared to HTTP</li>
|
|
<li><strong>Real-time</strong>: Low latency bidirectional communication</li>
|
|
</ul>
|
|
<h2 id="connection">Connection</h2>
|
|
<p>Establish WebSocket connection to:</p>
|
|
<pre><code>ws<span class="token punctuation">:</span><span class="token operator">/</span><span class="token operator">/</span>localhost<span class="token punctuation">:</span><span class="token number">8088</span><span class="token operator">/</span>api<span class="token operator">/</span>v1<span class="token operator">/</span>socket
|
|
</code></pre>
|
|
<h2 id="message-protocol">Message Protocol</h2>
|
|
<p>All messages are JSON objects with the following structure:</p>
|
|
<h3 id="request-message-format">Request Message Format</h3>
|
|
<p><strong>Global Service Request</strong> (no flow parameter):</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-123"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"service"</span><span class="token operator">:</span> <span class="token string">"config"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"request"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token string-property property">"operation"</span><span class="token operator">:</span> <span class="token string">"list"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"type"</span><span class="token operator">:</span> <span class="token string">"flow"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p><strong>Flow-Hosted Service Request</strong> (with flow parameter):</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-456"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"service"</span><span class="token operator">:</span> <span class="token string">"agent"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"flow"</span><span class="token operator">:</span> <span class="token string">"my-flow"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"request"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token string-property property">"question"</span><span class="token operator">:</span> <span class="token string">"What is quantum computing?"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"streaming"</span><span class="token operator">:</span> <span class="token boolean">true</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p><strong>Request Fields</strong>:</p>
|
|
<ul>
|
|
<li><code>id</code> (string, required): Client-generated unique identifier for this request within the session. Used to match responses to requests.</li>
|
|
<li><code>service</code> (string, required): Service identifier (e.g., &quot;config&quot;, &quot;agent&quot;, &quot;document-rag&quot;). Same as <code>{kind}</code> in REST URLs.</li>
|
|
<li><code>flow</code> (string, optional): Flow ID for flow-hosted services. Omit for global services.</li>
|
|
<li><code>request</code> (object, required): Service-specific request payload. Same structure as REST API request body.</li>
|
|
</ul>
|
|
<h3 id="response-message-format">Response Message Format</h3>
|
|
<p><strong>Success Response</strong>:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-123"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"response"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token string-property property">"chunk-type"</span><span class="token operator">:</span> <span class="token string">"answer"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"content"</span><span class="token operator">:</span> <span class="token string">"Quantum computing uses..."</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"end-of-stream"</span><span class="token operator">:</span> <span class="token boolean">false</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p><strong>Error Response</strong>:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-123"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"error"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token string-property property">"type"</span><span class="token operator">:</span> <span class="token string">"gateway-error"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"message"</span><span class="token operator">:</span> <span class="token string">"Flow not found"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p><strong>Response Fields</strong>:</p>
|
|
<ul>
|
|
<li><code>id</code> (string, required): Matches the <code>id</code> from the request. Client uses this to correlate responses.</li>
|
|
<li><code>response</code> (object, conditional): Service-specific response payload. Same structure as REST API response. Present on success.</li>
|
|
<li><code>error</code> (object, conditional): Error information with <code>type</code> and <code>message</code> fields. Present on failure.</li>
|
|
</ul>
|
|
<h2 id="service-routing">Service Routing</h2>
|
|
<p>The WebSocket protocol routes to services using message parameters instead of URL paths:</p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>REST Endpoint</th>
|
|
<th>WebSocket Message</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr>
|
|
<td><code>POST /api/v1/config</code></td>
|
|
<td><code>{&quot;service&quot;: &quot;config&quot;}</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>POST /api/v1/flow/{flow}/service/agent</code></td>
|
|
<td><code>{&quot;service&quot;: &quot;agent&quot;, &quot;flow&quot;: &quot;my-flow&quot;}</code></td>
|
|
</tr>
|
|
</tbody></table>
|
|
<p><strong>Global Services</strong> (no <code>flow</code> parameter):</p>
|
|
<ul>
|
|
<li><code>config</code> - Configuration management</li>
|
|
<li><code>flow</code> - Flow lifecycle and blueprints</li>
|
|
<li><code>librarian</code> - Document library management</li>
|
|
<li><code>knowledge</code> - Knowledge graph core management</li>
|
|
<li><code>collection-management</code> - Collection metadata</li>
|
|
</ul>
|
|
<p><strong>Flow-Hosted Services</strong> (require <code>flow</code> parameter):</p>
|
|
<ul>
|
|
<li>AI services: <code>agent</code>, <code>text-completion</code>, <code>prompt</code>, <code>document-rag</code>, <code>graph-rag</code></li>
|
|
<li>Embeddings: <code>embeddings</code>, <code>graph-embeddings</code>, <code>document-embeddings</code></li>
|
|
<li>Query: <code>triples</code>, <code>objects</code>, <code>nlp-query</code>, <code>structured-query</code></li>
|
|
<li>Data loading: <code>text-load</code>, <code>document-load</code></li>
|
|
<li>Utilities: <code>mcp-tool</code>, <code>structured-diag</code></li>
|
|
</ul>
|
|
<h2 id="requestresponse-schemas">Request/Response Schemas</h2>
|
|
<p>The <code>request</code> and <code>response</code> fields use <strong>identical schemas</strong> to the REST API for each service.
|
|
See individual service documentation for detailed request/response formats.</p>
|
|
<h2 id="multiplexing-and-asynchronous-operation">Multiplexing and Asynchronous Operation</h2>
|
|
<p>Multiple requests can be in flight simultaneously:</p>
|
|
<ul>
|
|
<li>Client sends requests with unique <code>id</code> values</li>
|
|
<li>Server processes requests concurrently</li>
|
|
<li>Responses arrive asynchronously and may be out of order</li>
|
|
<li>Client matches responses to requests using the <code>id</code> field</li>
|
|
<li>No head-of-line blocking</li>
|
|
</ul>
|
|
<p><strong>Example concurrent requests</strong>:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span><span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-1"</span><span class="token punctuation">,</span> <span class="token string-property property">"service"</span><span class="token operator">:</span> <span class="token string">"config"</span><span class="token punctuation">,</span> <span class="token string-property property">"request"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token operator">...</span><span class="token punctuation">}</span><span class="token punctuation">}</span>
|
|
<span class="token punctuation">{</span><span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-2"</span><span class="token punctuation">,</span> <span class="token string-property property">"service"</span><span class="token operator">:</span> <span class="token string">"agent"</span><span class="token punctuation">,</span> <span class="token string-property property">"flow"</span><span class="token operator">:</span> <span class="token string">"f1"</span><span class="token punctuation">,</span> <span class="token string-property property">"request"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token operator">...</span><span class="token punctuation">}</span><span class="token punctuation">}</span>
|
|
<span class="token punctuation">{</span><span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-3"</span><span class="token punctuation">,</span> <span class="token string-property property">"service"</span><span class="token operator">:</span> <span class="token string">"document-rag"</span><span class="token punctuation">,</span> <span class="token string-property property">"flow"</span><span class="token operator">:</span> <span class="token string">"f2"</span><span class="token punctuation">,</span> <span class="token string-property property">"request"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token operator">...</span><span class="token punctuation">}</span><span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p>Responses may arrive in any order: <code>req-2</code>, <code>req-1</code>, <code>req-3</code></p>
|
|
<h2 id="streaming-responses">Streaming Responses</h2>
|
|
<p>Services that support streaming (e.g., agent, RAG) send multiple response messages with the same <code>id</code>:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span><span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-1"</span><span class="token punctuation">,</span> <span class="token string-property property">"response"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"chunk-type"</span><span class="token operator">:</span> <span class="token string">"thought"</span><span class="token punctuation">,</span> <span class="token string-property property">"content"</span><span class="token operator">:</span> <span class="token string">"..."</span><span class="token punctuation">,</span> <span class="token string-property property">"end-of-stream"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">}</span><span class="token punctuation">}</span>
|
|
<span class="token punctuation">{</span><span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-1"</span><span class="token punctuation">,</span> <span class="token string-property property">"response"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"chunk-type"</span><span class="token operator">:</span> <span class="token string">"answer"</span><span class="token punctuation">,</span> <span class="token string-property property">"content"</span><span class="token operator">:</span> <span class="token string">"..."</span><span class="token punctuation">,</span> <span class="token string-property property">"end-of-stream"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">}</span><span class="token punctuation">}</span>
|
|
<span class="token punctuation">{</span><span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-1"</span><span class="token punctuation">,</span> <span class="token string-property property">"response"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"chunk-type"</span><span class="token operator">:</span> <span class="token string">"answer"</span><span class="token punctuation">,</span> <span class="token string-property property">"content"</span><span class="token operator">:</span> <span class="token string">"..."</span><span class="token punctuation">,</span> <span class="token string-property property">"end-of-stream"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span><span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p>The <code>end-of-stream</code> flag (or service-specific completion flag) indicates the final message.</p>
|
|
<h2 id="authentication">Authentication</h2>
|
|
<p>When <code>GATEWAY_SECRET</code> is set, include bearer token:</p>
|
|
<ul>
|
|
<li>As query parameter: <code>ws://localhost:8088/api/v1/socket?token=&lt;token&gt;</code></li>
|
|
<li>Or in WebSocket subprotocol header</li>
|
|
</ul>
|
|
<h2 id="benefits-over-rest">Benefits Over REST</h2>
|
|
<ul>
|
|
<li><strong>Lower latency</strong>: No TCP/TLS handshake per request</li>
|
|
<li><strong>Connection reuse</strong>: Single persistent connection</li>
|
|
<li><strong>Reduced overhead</strong>: No HTTP headers per message</li>
|
|
<li><strong>True streaming</strong>: Bidirectional real-time communication</li>
|
|
<li><strong>Efficient multiplexing</strong>: Concurrent operations without connection pooling</li>
|
|
</ul>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>WebSocket interface providing multiplexed access to all TrustGraph services over a single persistent connection.</p>
|
|
<h2 id="overview">Overview</h2>
|
|
<p>The WebSocket API provides access to the same services as the REST API but with:</p>
|
|
<ul>
|
|
<li><strong>Multiplexed</strong>: Multiple concurrent requests over one connection</li>
|
|
<li><strong>Asynchronous</strong>: Non-blocking request/response with ID matching</li>
|
|
<li><strong>Efficient</strong>: Reduced overhead compared to HTTP</li>
|
|
<li><strong>Real-time</strong>: Low latency bidirectional communication</li>
|
|
</ul>
|
|
<h2 id="connection">Connection</h2>
|
|
<p>Establish WebSocket connection to:</p>
|
|
<pre><code>ws<span class="token punctuation">:</span><span class="token operator">/</span><span class="token operator">/</span>localhost<span class="token punctuation">:</span><span class="token number">8088</span><span class="token operator">/</span>api<span class="token operator">/</span>v1<span class="token operator">/</span>socket
|
|
</code></pre>
|
|
<h2 id="message-protocol">Message Protocol</h2>
|
|
<p>All messages are JSON objects with the following structure:</p>
|
|
<h3 id="request-message-format">Request Message Format</h3>
|
|
<p><strong>Global Service Request</strong> (no flow parameter):</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-123"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"service"</span><span class="token operator">:</span> <span class="token string">"config"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"request"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token string-property property">"operation"</span><span class="token operator">:</span> <span class="token string">"list"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"type"</span><span class="token operator">:</span> <span class="token string">"flow"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p><strong>Flow-Hosted Service Request</strong> (with flow parameter):</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-456"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"service"</span><span class="token operator">:</span> <span class="token string">"agent"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"flow"</span><span class="token operator">:</span> <span class="token string">"my-flow"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"request"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token string-property property">"question"</span><span class="token operator">:</span> <span class="token string">"What is quantum computing?"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"streaming"</span><span class="token operator">:</span> <span class="token boolean">true</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p><strong>Request Fields</strong>:</p>
|
|
<ul>
|
|
<li><code>id</code> (string, required): Client-generated unique identifier for this request within the session. Used to match responses to requests.</li>
|
|
<li><code>service</code> (string, required): Service identifier (e.g., "config", "agent", "document-rag"). Same as <code>{kind}</code> in REST URLs.</li>
|
|
<li><code>flow</code> (string, optional): Flow ID for flow-hosted services. Omit for global services.</li>
|
|
<li><code>request</code> (object, required): Service-specific request payload. Same structure as REST API request body.</li>
|
|
</ul>
|
|
<h3 id="response-message-format">Response Message Format</h3>
|
|
<p><strong>Success Response</strong>:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-123"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"response"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token string-property property">"chunk-type"</span><span class="token operator">:</span> <span class="token string">"answer"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"content"</span><span class="token operator">:</span> <span class="token string">"Quantum computing uses..."</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"end-of-stream"</span><span class="token operator">:</span> <span class="token boolean">false</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p><strong>Error Response</strong>:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span>
|
|
<span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-123"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"error"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token string-property property">"type"</span><span class="token operator">:</span> <span class="token string">"gateway-error"</span><span class="token punctuation">,</span>
|
|
<span class="token string-property property">"message"</span><span class="token operator">:</span> <span class="token string">"Flow not found"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p><strong>Response Fields</strong>:</p>
|
|
<ul>
|
|
<li><code>id</code> (string, required): Matches the <code>id</code> from the request. Client uses this to correlate responses.</li>
|
|
<li><code>response</code> (object, conditional): Service-specific response payload. Same structure as REST API response. Present on success.</li>
|
|
<li><code>error</code> (object, conditional): Error information with <code>type</code> and <code>message</code> fields. Present on failure.</li>
|
|
</ul>
|
|
<h2 id="service-routing">Service Routing</h2>
|
|
<p>The WebSocket protocol routes to services using message parameters instead of URL paths:</p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>REST Endpoint</th>
|
|
<th>WebSocket Message</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr>
|
|
<td><code>POST /api/v1/config</code></td>
|
|
<td><code>{"service": "config"}</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>POST /api/v1/flow/{flow}/service/agent</code></td>
|
|
<td><code>{"service": "agent", "flow": "my-flow"}</code></td>
|
|
</tr>
|
|
</tbody></table>
|
|
<p><strong>Global Services</strong> (no <code>flow</code> parameter):</p>
|
|
<ul>
|
|
<li><code>config</code> - Configuration management</li>
|
|
<li><code>flow</code> - Flow lifecycle and blueprints</li>
|
|
<li><code>librarian</code> - Document library management</li>
|
|
<li><code>knowledge</code> - Knowledge graph core management</li>
|
|
<li><code>collection-management</code> - Collection metadata</li>
|
|
</ul>
|
|
<p><strong>Flow-Hosted Services</strong> (require <code>flow</code> parameter):</p>
|
|
<ul>
|
|
<li>AI services: <code>agent</code>, <code>text-completion</code>, <code>prompt</code>, <code>document-rag</code>, <code>graph-rag</code></li>
|
|
<li>Embeddings: <code>embeddings</code>, <code>graph-embeddings</code>, <code>document-embeddings</code></li>
|
|
<li>Query: <code>triples</code>, <code>objects</code>, <code>nlp-query</code>, <code>structured-query</code></li>
|
|
<li>Data loading: <code>text-load</code>, <code>document-load</code></li>
|
|
<li>Utilities: <code>mcp-tool</code>, <code>structured-diag</code></li>
|
|
</ul>
|
|
<h2 id="requestresponse-schemas">Request/Response Schemas</h2>
|
|
<p>The <code>request</code> and <code>response</code> fields use <strong>identical schemas</strong> to the REST API for each service.
|
|
See individual service documentation for detailed request/response formats.</p>
|
|
<h2 id="multiplexing-and-asynchronous-operation">Multiplexing and Asynchronous Operation</h2>
|
|
<p>Multiple requests can be in flight simultaneously:</p>
|
|
<ul>
|
|
<li>Client sends requests with unique <code>id</code> values</li>
|
|
<li>Server processes requests concurrently</li>
|
|
<li>Responses arrive asynchronously and may be out of order</li>
|
|
<li>Client matches responses to requests using the <code>id</code> field</li>
|
|
<li>No head-of-line blocking</li>
|
|
</ul>
|
|
<p><strong>Example concurrent requests</strong>:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span><span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-1"</span><span class="token punctuation">,</span> <span class="token string-property property">"service"</span><span class="token operator">:</span> <span class="token string">"config"</span><span class="token punctuation">,</span> <span class="token string-property property">"request"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token operator">...</span><span class="token punctuation">}</span><span class="token punctuation">}</span>
|
|
<span class="token punctuation">{</span><span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-2"</span><span class="token punctuation">,</span> <span class="token string-property property">"service"</span><span class="token operator">:</span> <span class="token string">"agent"</span><span class="token punctuation">,</span> <span class="token string-property property">"flow"</span><span class="token operator">:</span> <span class="token string">"f1"</span><span class="token punctuation">,</span> <span class="token string-property property">"request"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token operator">...</span><span class="token punctuation">}</span><span class="token punctuation">}</span>
|
|
<span class="token punctuation">{</span><span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-3"</span><span class="token punctuation">,</span> <span class="token string-property property">"service"</span><span class="token operator">:</span> <span class="token string">"document-rag"</span><span class="token punctuation">,</span> <span class="token string-property property">"flow"</span><span class="token operator">:</span> <span class="token string">"f2"</span><span class="token punctuation">,</span> <span class="token string-property property">"request"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token operator">...</span><span class="token punctuation">}</span><span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p>Responses may arrive in any order: <code>req-2</code>, <code>req-1</code>, <code>req-3</code></p>
|
|
<h2 id="streaming-responses">Streaming Responses</h2>
|
|
<p>Services that support streaming (e.g., agent, RAG) send multiple response messages with the same <code>id</code>:</p>
|
|
<pre><code class="language-json"><span class="token punctuation">{</span><span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-1"</span><span class="token punctuation">,</span> <span class="token string-property property">"response"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"chunk-type"</span><span class="token operator">:</span> <span class="token string">"thought"</span><span class="token punctuation">,</span> <span class="token string-property property">"content"</span><span class="token operator">:</span> <span class="token string">"..."</span><span class="token punctuation">,</span> <span class="token string-property property">"end-of-stream"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">}</span><span class="token punctuation">}</span>
|
|
<span class="token punctuation">{</span><span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-1"</span><span class="token punctuation">,</span> <span class="token string-property property">"response"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"chunk-type"</span><span class="token operator">:</span> <span class="token string">"answer"</span><span class="token punctuation">,</span> <span class="token string-property property">"content"</span><span class="token operator">:</span> <span class="token string">"..."</span><span class="token punctuation">,</span> <span class="token string-property property">"end-of-stream"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">}</span><span class="token punctuation">}</span>
|
|
<span class="token punctuation">{</span><span class="token string-property property">"id"</span><span class="token operator">:</span> <span class="token string">"req-1"</span><span class="token punctuation">,</span> <span class="token string-property property">"response"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token string-property property">"chunk-type"</span><span class="token operator">:</span> <span class="token string">"answer"</span><span class="token punctuation">,</span> <span class="token string-property property">"content"</span><span class="token operator">:</span> <span class="token string">"..."</span><span class="token punctuation">,</span> <span class="token string-property property">"end-of-stream"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span><span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<p>The <code>end-of-stream</code> flag (or service-specific completion flag) indicates the final message.</p>
|
|
<h2 id="authentication">Authentication</h2>
|
|
<p>When <code>GATEWAY_SECRET</code> is set, include bearer token:</p>
|
|
<ul>
|
|
<li>As query parameter: <code>ws://localhost:8088/api/v1/socket?token=<token></code></li>
|
|
<li>Or in WebSocket subprotocol header</li>
|
|
</ul>
|
|
<h2 id="benefits-over-rest">Benefits Over REST</h2>
|
|
<ul>
|
|
<li><strong>Lower latency</strong>: No TCP/TLS handshake per request</li>
|
|
<li><strong>Connection reuse</strong>: Single persistent connection</li>
|
|
<li><strong>Reduced overhead</strong>: No HTTP headers per message</li>
|
|
<li><strong>True streaming</strong>: Bidirectional real-time communication</li>
|
|
<li><strong>Efficient multiplexing</strong>: Concurrent operations without connection pooling</li>
|
|
</ul>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">header<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class=""><td kind="field" title="Upgrade" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">Upgrade</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Value<!-- -->:</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"websocket"</span> </div> <div><div html="<p>WebSocket upgrade header</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>WebSocket upgrade header</p>
|
|
</div></div></div></td></tr><tr class="last "><td kind="field" title="Connection" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">Connection</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div><div><span class="sc-gScZFi gccdcP"> <!-- -->Value<!-- -->:</span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">"Upgrade"</span> </div> <div><div html="<p>Connection upgrade header</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Connection upgrade header</p>
|
|
</div></div></div></td></tr></tbody></table></div><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN vDZZX" disabled=""><strong class="sc-fWHiwF cefwTo">101<!-- --> </strong><div html="<p>Switching Protocols - WebSocket connection established</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Switching Protocols - WebSocket connection established</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="get" class="sc-eDZJfb eYCZVU http-verb get">get</span><span class="sc-EJAjd dliInS">/api/v1/socket</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/v1/socket</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-error react-tabs__tab--selected" role="tab" id="tab_R_jjmq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_jjmq_0" tabindex="0" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_jjmq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_jjmq_1" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_jjmq_0" aria-labelledby="tab_R_jjmq_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"error"</span>: <span class="token string">"Unauthorized"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_jjmq_1" aria-labelledby="tab_R_jjmq_1"></div></div></div></div></div></div><div id="tag/Metrics" data-section-id="tag/Metrics" class="sc-eDvSVh gnfAsZ"><div class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Metrics" aria-label="tag/Metrics"></a>Metrics</h2></div></div><div class="sc-hLBbgQ jqgxjE"><div class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK redoc-markdown " html="<p>System metrics and monitoring</p>
|
|
"><p>System metrics and monitoring</p>
|
|
</div></div></div><div id="tag/Metrics/operation/getMetrics" data-section-id="tag/Metrics/operation/getMetrics" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/getMetrics" id="operation/getMetrics" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Metrics/operation/getMetrics" aria-label="tag/Metrics/operation/getMetrics"></a>Metrics - Prometheus metrics endpoint<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Proxy to Prometheus metrics for system monitoring.</p>
|
|
<h2 id="metrics-overview">Metrics Overview</h2>
|
|
<p>Exposes system metrics via Prometheus format:</p>
|
|
<ul>
|
|
<li><strong>Gateway metrics</strong>: Request rates, latencies, errors</li>
|
|
<li><strong>Flow metrics</strong>: Processing throughput, queue depths</li>
|
|
<li><strong>System metrics</strong>: Resource usage, health status</li>
|
|
</ul>
|
|
<h2 id="prometheus-format">Prometheus Format</h2>
|
|
<p>Returns metrics in Prometheus text exposition format:</p>
|
|
<pre><code># HELP metric_name Description
|
|
# TYPE metric_name counter
|
|
metric_name<span class="token punctuation">{</span>label<span class="token operator">=</span><span class="token string">"value"</span><span class="token punctuation">}</span> <span class="token number">123.45</span>
|
|
</code></pre>
|
|
<h2 id="available-metrics">Available Metrics</h2>
|
|
<p>Common metrics include:</p>
|
|
<ul>
|
|
<li>Request count and rates</li>
|
|
<li>Response times (histograms)</li>
|
|
<li>Error rates</li>
|
|
<li>Active connections</li>
|
|
<li>Queue depths</li>
|
|
<li>Processing latencies</li>
|
|
</ul>
|
|
<h2 id="integration">Integration</h2>
|
|
<p>Standard Prometheus scraping:</p>
|
|
<ul>
|
|
<li>Configure Prometheus to scrape <code>/api/metrics</code></li>
|
|
<li>Set appropriate scrape interval</li>
|
|
<li>Use bearer token if authentication enabled</li>
|
|
</ul>
|
|
<h2 id="path-parameter">Path Parameter</h2>
|
|
<p>The <code>{path}</code> parameter allows querying specific Prometheus endpoints
|
|
or metrics if the backend Prometheus supports it.</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Proxy to Prometheus metrics for system monitoring.</p>
|
|
<h2 id="metrics-overview">Metrics Overview</h2>
|
|
<p>Exposes system metrics via Prometheus format:</p>
|
|
<ul>
|
|
<li><strong>Gateway metrics</strong>: Request rates, latencies, errors</li>
|
|
<li><strong>Flow metrics</strong>: Processing throughput, queue depths</li>
|
|
<li><strong>System metrics</strong>: Resource usage, health status</li>
|
|
</ul>
|
|
<h2 id="prometheus-format">Prometheus Format</h2>
|
|
<p>Returns metrics in Prometheus text exposition format:</p>
|
|
<pre><code># HELP metric_name Description
|
|
# TYPE metric_name counter
|
|
metric_name<span class="token punctuation">{</span>label<span class="token operator">=</span><span class="token string">"value"</span><span class="token punctuation">}</span> <span class="token number">123.45</span>
|
|
</code></pre>
|
|
<h2 id="available-metrics">Available Metrics</h2>
|
|
<p>Common metrics include:</p>
|
|
<ul>
|
|
<li>Request count and rates</li>
|
|
<li>Response times (histograms)</li>
|
|
<li>Error rates</li>
|
|
<li>Active connections</li>
|
|
<li>Queue depths</li>
|
|
<li>Processing latencies</li>
|
|
</ul>
|
|
<h2 id="integration">Integration</h2>
|
|
<p>Standard Prometheus scraping:</p>
|
|
<ul>
|
|
<li>Configure Prometheus to scrape <code>/api/metrics</code></li>
|
|
<li>Set appropriate scrape interval</li>
|
|
<li>Use bearer token if authentication enabled</li>
|
|
</ul>
|
|
<h2 id="path-parameter">Path Parameter</h2>
|
|
<p>The <code>{path}</code> parameter allows querying specific Prometheus endpoints
|
|
or metrics if the backend Prometheus supports it.</p>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Prometheus metrics</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Prometheus metrics</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="get" class="sc-eDZJfb eYCZVU http-verb get">get</span><span class="sc-EJAjd dliInS">/api/metrics</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/metrics</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-error react-tabs__tab--selected" role="tab" id="tab_R_175na_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_175na_0" tabindex="0" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_175na_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_175na_1" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_175na_0" aria-labelledby="tab_R_175na_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"error"</span>: <span class="token string">"Unauthorized"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_175na_1" aria-labelledby="tab_R_175na_1"></div></div></div></div></div></div><div id="tag/Metrics/operation/getMetricsPath" data-section-id="tag/Metrics/operation/getMetricsPath" class="sc-eDvSVh hOTGYW"><div data-section-id="operation/getMetricsPath" id="operation/getMetricsPath" class="sc-iBYQkw cWLCJx"><div class="sc-hLBbgQ kgVncE"><h2 class="sc-pyfCh bUKPgI"><a class="sc-csuSiJ hWmuSZ" href="#tag/Metrics/operation/getMetricsPath" aria-label="tag/Metrics/operation/getMetricsPath"></a>Metrics - Prometheus metrics with path<!-- --> </h2><div class="sc-iFoMEL gAodEa"><div html="<p>Proxy to Prometheus metrics with optional path parameter.</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj fzFmzK"><p>Proxy to Prometheus metrics with optional path parameter.</p>
|
|
</div></div><div class="sc-fvEvSR haxGWD"><div class="sc-cZFQFa caZOmr"><h5 class="sc-ipEyDG sc-jRwbcY flHRUF dKyMiV">Authorizations:</h5><svg class="sc-eDWCs jWjRQR" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jTjUTP ersPYC"><span class="sc-dsHJmp ixenSx"><span class="sc-hOzoww ogSTS"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-ipEyDG flHRUF">path<!-- --> Parameters</h5><table class="sc-hHTYSq iHQtPN"><tbody><tr class="last "><td kind="field" title="path" class="sc-hBxehJ sc-fEXmlO gxGlxs buxoxV"><span class="sc-idXgbs gQLyRu"></span><span class="property-name">path</span><div class="sc-gScZFi sc-eJDSGH gccdcP iFijLo">required</div></td><td class="sc-bjfHbH jWNnMs"><div><div><span class="sc-gScZFi sc-lbVpMJ gccdcP eFKHZA"></span><span class="sc-gScZFi sc-iOeugs gccdcP dHiwqX">string</span></div> <div><span class="sc-gScZFi gccdcP"> <!-- -->Example:<!-- --> </span> <span class="sc-gScZFi sc-laZRCf gccdcP lpgjeL">query</span></div><div><div html="<p>Path to specific metrics endpoint</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Path to specific metrics endpoint</p>
|
|
</div></div></div></td></tr></tbody></table></div><div><h3 class="sc-fIhvWM jSupBE">Responses</h3><div><button class="sc-caPbAN hCKvpT"><svg class="sc-eDWCs dmrReK" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">200<!-- --> </strong><div html="<p>Prometheus metrics</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Prometheus metrics</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Unauthorized - Invalid or missing bearer token</p>
|
|
</div></button></div><div><button class="sc-caPbAN ftMElV"><svg class="sc-eDWCs kQRwne" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-fWHiwF cefwTo">500<!-- --> </strong><div html="<p>Error response</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ sc-cjibBu hhTNpj xEdBA YpJeS"><p>Error response</p>
|
|
</div></button></div></div></div><div class="sc-jSUZEO sc-gKPRtf guUJx dMprjq"><div class="sc-fWQKxQ ciKPKv"><button class="sc-jWgTtO keRCfR"><span type="get" class="sc-eDZJfb eYCZVU http-verb get">get</span><span class="sc-EJAjd dliInS">/api/metrics/{path}</span><svg class="sc-eDWCs clIsMG" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-fmZqYQ gOIGOk"><div class="sc-lknQiZ gtcFnL"><div html="<p>Local development server</p>
|
|
" class="sc-iJnaPZ sc-cCjUiJ hhTNpj cUOEXs"><p>Local development server</p>
|
|
</div><div tabindex="0" role="button"><div class="sc-jmpzUO DohMc"><span>http://localhost:8088</span>/api/metrics/{path}</div></div></div></div></div><div><h3 class="sc-kDvujX TgOOZ"> <!-- -->Response samples<!-- --> </h3><div class="sc-cwSeaf jREiIs" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-error react-tabs__tab--selected" role="tab" id="tab_R_176na_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_176na_0" tabindex="0" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_176na_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_176na_1" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_176na_0" aria-labelledby="tab_R_176na_0"><div><div class="sc-cOxWqb hwulfd"><span class="sc-bCfvAQ iHeFNq">Content type</span><div class="sc-dPWrhh jioFLY">application/json</div></div><div class="sc-hTBuwo izsZwL"><div class="sc-cUEOzw iHWhTv"><div class="sc-gikAfI gzBwiR"><button><div class="sc-jcMfQj hblWuo">Copy</div></button></div><div tabindex="0" class="sc-iJnaPZ hhTNpj sc-jOiSOl jLYcMY"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"error"</span>: <span class="token string">"Unauthorized"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_176na_1" aria-labelledby="tab_R_176na_1"></div></div></div></div></div></div></div><div class="sc-elAWhK dVAafl"></div></div></div>
|
|
<script>
|
|
const __redoc_state = {"menu":{"activeItemIdx":-1},"spec":{"data":{"openapi":"3.1.0","info":{"title":"TrustGraph API Gateway","version":"1.8","description":"REST API for TrustGraph - an AI-powered knowledge graph and RAG system.\n\n## Overview\n\nThe API provides access to:\n- **Global Services**: Configuration, flow management, knowledge storage, library management\n- **Flow-Hosted Services**: AI services like RAG, text completion, embeddings (require running flow)\n- **Import/Export**: Bulk data operations for triples, embeddings, entity contexts\n- **WebSocket**: Multiplexed interface for all services\n\n## Service Types\n\n### Global Services\nFixed endpoints accessible via `/api/v1/{kind}`:\n- `config` - Configuration management\n- `flow` - Flow lifecycle and blueprints\n- `librarian` - Document library management\n- `knowledge` - Knowledge graph core management\n- `collection-management` - Collection metadata\n\n### Flow-Hosted Services\nRequire running flow instance, accessed via `/api/v1/flow/{flow}/service/{kind}`:\n- AI services: agent, text-completion, prompt, RAG (document/graph)\n- Embeddings: embeddings, graph-embeddings, document-embeddings\n- Query: triples, objects, nlp-query, structured-query\n- Data loading: text-load, document-load\n- Utilities: mcp-tool, structured-diag\n\n## Authentication\n\nBearer token authentication when `GATEWAY_SECRET` environment variable is set.\nInclude token in Authorization header:\n```\nAuthorization: Bearer <token>\n```\n\nIf `GATEWAY_SECRET` is not set, API runs without authentication (development mode).\n\n## Field Naming\n\nAll JSON fields use **kebab-case**: `flow-id`, `blueprint-name`, `doc-limit`, etc.\n\n## Error Responses\n\nAll endpoints may return errors in this format:\n```json\n{\n \"error\": {\n \"type\": \"gateway-error\",\n \"message\": \"Timeout\"\n }\n}\n```\n","contact":{"name":"TrustGraph Project","url":"https://trustgraph.ai"},"license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}},"servers":[{"url":"http://localhost:8088","description":"Local development server"}],"security":[{"bearerAuth":[]}],"tags":[{"name":"Config","description":"Configuration management (global service)"},{"name":"Flow","description":"Flow lifecycle and blueprint management (global service)"},{"name":"Librarian","description":"Document library management (global service)"},{"name":"Knowledge","description":"Knowledge graph core management (global service)"},{"name":"Collection","description":"Collection metadata management (global service)"},{"name":"Flow Services","description":"Services hosted within flow instances"},{"name":"Import/Export","description":"Bulk data import and export"},{"name":"WebSocket","description":"WebSocket interfaces"},{"name":"Metrics","description":"System metrics and monitoring"}],"paths":{"/api/v1/config":{"post":{"tags":["Config"],"summary":"Configuration service","description":"Manage TrustGraph configuration including flows, prompts, token costs, parameter types, and more.\n\n## Operations\n\n### config\nGet the complete system configuration including all flows, prompts, token costs, etc.\n\n### list\nList all configuration items of a specific type (e.g., all flows, all prompts).\n\n### get\nRetrieve specific configuration items by type and key.\n\n### put\nCreate or update configuration values.\n\n### delete\nDelete configuration items.\n\n## Configuration Types\n\n- `flow` - Flow instance definitions\n- `flow-blueprint` - Flow blueprint definitions (stored separately from flow instances)\n- `prompt` - Prompt templates\n- `token-cost` - Model token pricing\n- `parameter-type` - Parameter type definitions\n- `interface-description` - Interface descriptions\n- Custom types as needed\n\n## Important Distinction\n\nThe **config service** manages *stored configuration*.\nThe **flow service** (`/api/v1/flow`) manages *running flow instances*.\n\n- Use config service to store/retrieve flow definitions\n- Use flow service to start/stop/manage running flows\n","operationId":"configService","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigRequest"},"examples":{"getCompleteConfig":{"summary":"Get complete configuration","value":{"operation":"config"}},"listFlows":{"summary":"List all stored flow definitions","value":{"operation":"list","type":"flow"}},"listPrompts":{"summary":"List all prompts","value":{"operation":"list","type":"prompt"}},"getFlow":{"summary":"Get specific flow definition","value":{"operation":"get","keys":[{"type":"flow","key":"default"}]}},"putFlow":{"summary":"Create/update flow definition","value":{"operation":"put","values":[{"type":"flow","key":"my-flow","value":{"blueprint-name":"document-rag","description":"My RAG flow","parameters":{"model":"gpt-4"}}}]}},"putPrompt":{"summary":"Set system prompt","value":{"operation":"put","values":[{"type":"prompt","key":"system","value":"You are a helpful AI assistant specialized in data analysis"}]}},"putTokenCost":{"summary":"Set token costs for a model","value":{"operation":"put","values":[{"type":"token-cost","key":"gpt-4","value":{"prompt":0.03,"completion":0.06}}]}},"deleteFlow":{"summary":"Delete flow definition","value":{"operation":"delete","keys":[{"type":"flow","key":"my-flow"}]}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigResponse"},"examples":{"completeConfig":{"summary":"Complete configuration","value":{"version":42,"config":{"flow":{"default":{"blueprint-name":"document-rag+graph-rag","description":"Default flow","interfaces":{"agent":{"request":"non-persistent://tg/request/agent:default","response":"non-persistent://tg/response/agent:default"}}}},"prompt":{"system":"You are a helpful AI assistant"},"token-cost":{"gpt-4":{"prompt":0.03,"completion":0.06}}}}},"listFlows":{"summary":"List of flow definition keys","value":{"directory":["default","production","my-flow"]}},"getFlow":{"summary":"Retrieved flow definition","value":{"values":[{"type":"flow","key":"default","value":{"blueprint-name":"document-rag+graph-rag","description":"Default flow"}}]}},"putSuccess":{"summary":"Put operation success","value":{"version":43}},"deleteSuccess":{"summary":"Delete operation success","value":{"version":44}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow":{"post":{"tags":["Flow"],"summary":"Flow lifecycle and blueprint management","description":"Manage flow instances and blueprints.\n\n## Important Distinction\n\nThe **flow service** manages *running flow instances*.\nThe **config service** (`/api/v1/config`) manages *stored configuration*.\n\n- Use flow service to start/stop/manage running flows\n- Use config service to store/retrieve flow definitions\n\n## Flow Instance Operations\n\n### start-flow\nStart a new flow instance from a blueprint. The blueprint must exist (either built-in or created via put-blueprint).\n\nParameters are resolved from:\n1. User-provided values (--param)\n2. Default values from parameter type definitions\n3. Controlled-by relationships\n\n### stop-flow\nStop a running flow instance. This terminates all processors and releases resources.\n\n### list-flows\nList all currently running flow instances.\n\n### get-flow\nGet details of a running flow including its configuration, parameters, and interface queue names.\n\n## Blueprint Operations\n\n### list-blueprints\nList all available flow blueprints (built-in and custom).\n\n### get-blueprint\nRetrieve a blueprint definition showing its structure, parameters, processors, and interfaces.\n\n### put-blueprint\nCreate or update a flow blueprint definition.\n\nBlueprints define:\n- **Class processors**: Shared across all instances of this blueprint\n- **Flow processors**: Unique to each flow instance\n- **Interfaces**: Entry points for external systems\n- **Parameters**: Configurable values for customization\n\n### delete-blueprint\nDelete a custom blueprint definition. Built-in blueprints cannot be deleted.\n","operationId":"flowService","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowRequest"},"examples":{"startFlow":{"summary":"Start a flow instance","value":{"operation":"start-flow","flow-id":"my-flow","blueprint-name":"document-rag","description":"My document processing flow","parameters":{"model":"gpt-4","temperature":"0.7"}}},"startFlowMinimal":{"summary":"Start flow with defaults","value":{"operation":"start-flow","flow-id":"my-flow","blueprint-name":"document-rag"}},"stopFlow":{"summary":"Stop a flow instance","value":{"operation":"stop-flow","flow-id":"my-flow"}},"listFlows":{"summary":"List running flows","value":{"operation":"list-flows"}},"getFlow":{"summary":"Get flow details","value":{"operation":"get-flow","flow-id":"my-flow"}},"listBlueprints":{"summary":"List available blueprints","value":{"operation":"list-blueprints"}},"getBlueprint":{"summary":"Get blueprint definition","value":{"operation":"get-blueprint","blueprint-name":"document-rag"}},"putBlueprint":{"summary":"Create/update blueprint","value":{"operation":"put-blueprint","blueprint-name":"my-custom-rag","blueprint-definition":{"description":"Custom RAG pipeline","parameters":{"model":{"type":"llm-model","description":"LLM model","order":1}},"class":{"text-completion:{class}":{"request":"non-persistent://tg/request/text-completion:{class}","response":"non-persistent://tg/response/text-completion:{class}"}},"flow":{"chunker:{id}":{"input":"persistent://tg/flow/chunk:{id}","output":"persistent://tg/flow/chunk-load:{id}"}},"interfaces":{"agent":{"request":"non-persistent://tg/request/agent:{id}","response":"non-persistent://tg/response/agent:{id}"}}}}},"deleteBlueprint":{"summary":"Delete blueprint","value":{"operation":"delete-blueprint","blueprint-name":"my-custom-rag"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowResponse"},"examples":{"startFlow":{"summary":"Flow started","value":{"flow-id":"my-flow"}},"listFlows":{"summary":"Running flows","value":{"flow-ids":["default","production","my-flow"]}},"getFlow":{"summary":"Flow details","value":{"flow":{"blueprint-name":"document-rag","description":"My document processing flow","parameters":{"model":"gpt-4","temperature":"0.7"},"interfaces":{"agent":{"request":"non-persistent://tg/request/agent:my-flow","response":"non-persistent://tg/response/agent:my-flow"},"text-load":"persistent://tg/flow/text-document-load:my-flow"}}}},"listBlueprints":{"summary":"Available blueprints","value":{"blueprint-names":["document-rag","graph-rag","document-rag+graph-rag","my-custom-rag"]}},"getBlueprint":{"summary":"Blueprint definition","value":{"blueprint-definition":{"description":"Standard RAG pipeline","parameters":{"model":{"type":"llm-model","order":1}},"class":{"text-completion:{class}":{"request":"non-persistent://tg/request/text-completion:{class}","response":"non-persistent://tg/response/text-completion:{class}"}},"interfaces":{"agent":{"request":"non-persistent://tg/request/agent:{id}","response":"non-persistent://tg/response/agent:{id}"}}}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/librarian":{"post":{"tags":["Librarian"],"summary":"Document library management","description":"Manage document library: add, remove, list documents, and control processing.\n\n## Document Library\n\nThe librarian service manages a persistent library of documents that can be:\n- Added with metadata for organization\n- Queried and filtered by criteria\n- Processed through flows on-demand or continuously\n- Tracked for processing status\n\n## Operations\n\n### add-document\nAdd a document to the library with metadata (URL, title, author, etc.).\nDocuments can be added by URL or with inline content.\n\n### remove-document\nRemove a document from the library by document ID or URL.\n\n### list-documents\nList all documents in the library, optionally filtered by criteria.\n\n### start-processing\nStart processing library documents through a flow. Documents are queued\nfor processing and handled asynchronously.\n\n### stop-processing\nStop ongoing library document processing.\n\n### list-processing\nList current processing tasks and their status.\n","operationId":"librarianService","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LibrarianRequest"},"examples":{"addDocumentByUrl":{"summary":"Add document by URL","value":{"operation":"add-document","flow":"my-flow","collection":"default","document-metadata":{"url":"https://example.com/document.pdf","title":"Example Document","author":"John Doe","metadata":{"department":"Engineering","category":"Technical"}}}},"addDocumentInline":{"summary":"Add document with inline content","value":{"operation":"add-document","flow":"my-flow","collection":"default","content":"This is the document content...","document-metadata":{"title":"Inline Document","author":"Jane Smith"}}},"removeDocument":{"summary":"Remove document","value":{"operation":"remove-document","flow":"my-flow","collection":"default","document-metadata":{"url":"https://example.com/document.pdf"}}},"listDocuments":{"summary":"List all documents","value":{"operation":"list-documents","flow":"my-flow","collection":"default"}},"listDocumentsFiltered":{"summary":"List documents with criteria","value":{"operation":"list-documents","flow":"my-flow","collection":"default","criteria":[{"key":"author","value":"John Doe","operator":"eq"},{"key":"department","value":"Engineering","operator":"eq"}]}},"startProcessing":{"summary":"Start processing library documents","value":{"operation":"start-processing","flow":"my-flow","collection":"default"}},"stopProcessing":{"summary":"Stop processing","value":{"operation":"stop-processing","flow":"my-flow","collection":"default"}},"listProcessing":{"summary":"List processing status","value":{"operation":"list-processing","flow":"my-flow","collection":"default"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LibrarianResponse"},"examples":{"listDocuments":{"summary":"List of documents","value":{"document-metadatas":[{"url":"https://example.com/doc1.pdf","title":"Document 1","author":"John Doe","metadata":{"department":"Engineering"}},{"url":"https://example.com/doc2.pdf","title":"Document 2","author":"Jane Smith","metadata":{"department":"Research"}}]}},"listProcessing":{"summary":"Processing status","value":{"processing-metadatas":[{"flow":"my-flow","collection":"default","status":"processing","timestamp":"2024-01-15T10:30:00Z"},{"flow":"my-flow","collection":"default","status":"completed","timestamp":"2024-01-15T10:25:00Z"}]}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/knowledge":{"post":{"tags":["Knowledge"],"summary":"Knowledge graph core management","description":"Manage knowledge graph cores - persistent storage of triples and embeddings.\n\n## Knowledge Cores\n\nKnowledge cores are the foundational storage units for:\n- **Triples**: RDF triples representing knowledge graph data\n- **Graph Embeddings**: Vector embeddings for entities\n- **Metadata**: Descriptive information about the knowledge\n\nEach core has an ID, user, and collection for organization.\n\n## Operations\n\n### list-kg-cores\nList all knowledge cores for a user. Returns array of core IDs.\n\n### get-kg-core\nRetrieve a knowledge core by ID. Returns triples and/or graph embeddings.\nResponse is streamed - may receive multiple messages followed by EOS marker.\n\n### put-kg-core\nStore triples and/or graph embeddings. Creates new core or updates existing.\nCan store triples only, embeddings only, or both together.\n\n### delete-kg-core\nDelete a knowledge core by ID. Removes all associated data.\n\n### load-kg-core\nLoad a knowledge core into a running flow's collection.\nMakes the data available for querying within that flow instance.\n\n### unload-kg-core\nUnload a knowledge core from a flow's collection.\nRemoves data from flow instance but doesn't delete the core.\n\n## Streaming Responses\n\nThe `get-kg-core` operation streams data in chunks:\n1. Multiple messages with `triples` or `graph-embeddings`\n2. Final message with `eos: true` to signal completion\n","operationId":"knowledgeService","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeRequest"},"examples":{"listKnowledgeCores":{"summary":"List knowledge cores","value":{"operation":"list-kg-cores","user":"alice"}},"getKnowledgeCore":{"summary":"Get knowledge core","value":{"operation":"get-kg-core","id":"core-123"}},"putTriplesOnly":{"summary":"Store triples","value":{"operation":"put-kg-core","triples":{"metadata":{"id":"core-123","user":"alice","collection":"default","metadata":[{"s":{"v":"https://example.com/core-123","e":true},"p":{"v":"https://www.w3.org/1999/02/22-rdf-syntax-ns#type","e":true},"o":{"v":"https://trustgraph.ai/e/knowledge-core","e":true}}]},"triples":[{"s":{"v":"https://example.com/entity1","e":true},"p":{"v":"https://www.w3.org/2000/01/rdf-schema#label","e":true},"o":{"v":"Entity 1","e":false}},{"s":{"v":"https://example.com/entity1","e":true},"p":{"v":"https://example.com/relatedTo","e":true},"o":{"v":"https://example.com/entity2","e":true}}]}}},"putEmbeddingsOnly":{"summary":"Store embeddings","value":{"operation":"put-kg-core","graph-embeddings":{"metadata":{"id":"core-123","user":"alice","collection":"default","metadata":[]},"entities":[{"entity":{"v":"https://example.com/entity1","e":true},"vectors":[0.1,0.2,0.3,0.4,0.5]},{"entity":{"v":"https://example.com/entity2","e":true},"vectors":[0.6,0.7,0.8,0.9,1]}]}}},"putTriplesAndEmbeddings":{"summary":"Store triples and embeddings together","value":{"operation":"put-kg-core","triples":{"metadata":{"id":"core-456","user":"bob","collection":"research","metadata":[]},"triples":[{"s":{"v":"https://example.com/doc1","e":true},"p":{"v":"http://purl.org/dc/terms/title","e":true},"o":{"v":"Research Paper","e":false}}]},"graph-embeddings":{"metadata":{"id":"core-456","user":"bob","collection":"research","metadata":[]},"entities":[{"entity":{"v":"https://example.com/doc1","e":true},"vectors":[0.11,0.22,0.33]}]}}},"deleteKnowledgeCore":{"summary":"Delete knowledge core","value":{"operation":"delete-kg-core","id":"core-123","user":"alice"}},"loadKnowledgeCore":{"summary":"Load core into flow","value":{"operation":"load-kg-core","id":"core-123","flow":"my-flow","collection":"default"}},"unloadKnowledgeCore":{"summary":"Unload core from flow","value":{"operation":"unload-kg-core","id":"core-123"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeResponse"},"examples":{"listKnowledgeCores":{"summary":"List of knowledge cores","value":{"ids":["core-123","core-456","core-789"]}},"getKnowledgeCoreTriples":{"summary":"Knowledge core triples (streaming)","value":{"triples":{"metadata":{"id":"core-123","user":"alice","collection":"default","metadata":[{"s":{"v":"https://example.com/core-123","e":true},"p":{"v":"https://www.w3.org/1999/02/22-rdf-syntax-ns#type","e":true},"o":{"v":"https://trustgraph.ai/e/knowledge-core","e":true}}]},"triples":[{"s":{"v":"https://example.com/entity1","e":true},"p":{"v":"https://www.w3.org/2000/01/rdf-schema#label","e":true},"o":{"v":"Entity 1","e":false}}]}}},"getKnowledgeCoreEmbeddings":{"summary":"Knowledge core embeddings (streaming)","value":{"graph-embeddings":{"metadata":{"id":"core-123","user":"alice","collection":"default","metadata":[]},"entities":[{"entity":{"v":"https://example.com/entity1","e":true},"vectors":[0.1,0.2,0.3,0.4,0.5]}]}}},"endOfStream":{"summary":"End of stream marker","value":{"eos":true}},"deleteSuccess":{"summary":"Delete successful (empty response)","value":{}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/collection-management":{"post":{"tags":["Collection"],"summary":"Collection metadata management","description":"Manage collection metadata for organizing documents and knowledge.\n\n## Collections\n\nCollections are organizational units for grouping:\n- Documents in the librarian\n- Knowledge cores\n- User data\n\nEach collection has:\n- **user**: Owner identifier\n- **collection**: Unique collection ID\n- **name**: Human-readable display name\n- **description**: Purpose and contents\n- **tags**: Labels for filtering and organization\n\n## Operations\n\n### list-collections\nList all collections for a user. Optionally filter by tags and limit results.\nReturns array of collection metadata.\n\n### update-collection\nCreate or update collection metadata. If collection doesn't exist, it's created.\nIf it exists, metadata is updated. Allows setting name, description, and tags.\n\n### delete-collection\nDelete a collection by user and collection ID. This removes the metadata but\ntypically does not delete the associated data (documents, knowledge cores).\n","operationId":"collectionManagementService","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CollectionRequest"},"examples":{"listCollections":{"summary":"List all collections for user","value":{"operation":"list-collections","user":"alice"}},"listCollectionsFiltered":{"summary":"List collections filtered by tags","value":{"operation":"list-collections","user":"alice","tag-filter":["research","AI"],"limit":50}},"updateCollection":{"summary":"Create/update collection","value":{"operation":"update-collection","user":"alice","collection":"research","name":"Research Papers","description":"Academic research papers on AI and ML","tags":["research","AI","academic"],"timestamp":"2024-01-15T10:30:00Z"}},"deleteCollection":{"summary":"Delete collection","value":{"operation":"delete-collection","user":"alice","collection":"research"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CollectionResponse"},"examples":{"listCollections":{"summary":"List of collections","value":{"timestamp":"2024-01-15T10:30:00Z","collections":[{"user":"alice","collection":"research","name":"Research Papers","description":"Academic research papers on AI and ML","tags":["research","AI","academic"]},{"user":"alice","collection":"personal","name":"Personal Documents","description":"Personal notes and documents","tags":["personal"]}]}},"updateSuccess":{"summary":"Update successful","value":{"timestamp":"2024-01-15T10:30:00Z"}},"deleteSuccess":{"summary":"Delete successful","value":{"timestamp":"2024-01-15T10:30:00Z"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/agent":{"post":{"tags":["Flow Services"],"summary":"Agent service - conversational AI with reasoning","description":"AI agent that can understand questions, reason about them, and take actions.\n\n## Agent Overview\n\nThe agent service provides a conversational AI that:\n- Understands natural language questions\n- Reasons about problems using thoughts\n- Takes actions to gather information\n- Provides coherent answers\n\n## Request Format\n\nSend a question with optional:\n- **state**: Continue from previous conversation\n- **history**: Previous agent steps for context\n- **group**: Collaborative agent identifiers\n- **streaming**: Enable streaming responses\n\n## Response Modes\n\n### Streaming Mode (streaming: true)\nResponses arrive as chunks with `chunk-type`:\n- `thought`: Agent's reasoning process\n- `action`: Action being taken\n- `observation`: Result from action\n- `answer`: Final response to user\n- `error`: Error occurred\n\nEach chunk may have multiple messages. Check flags:\n- `end-of-message`: Current chunk type complete\n- `end-of-dialog`: Entire conversation complete\n\n### Legacy Mode (streaming: false)\nSingle response with:\n- `answer`: Complete answer\n- `thought`: Reasoning (if any)\n- `observation`: Observations (if any)\n\n## Multi-turn Conversations\n\nInclude `history` array with previous steps to maintain context.\nEach step has: thought, action, arguments, observation.\n","operationId":"agentService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRequest"},"examples":{"simpleQuestion":{"summary":"Simple question","value":{"question":"What is the capital of France?","user":"alice"}},"streamingQuestion":{"summary":"Question with streaming enabled","value":{"question":"Explain quantum computing","user":"alice","streaming":true}},"conversationWithHistory":{"summary":"Multi-turn conversation","value":{"question":"And what about its population?","user":"alice","history":[{"thought":"User is asking about the capital of France","action":"search","arguments":{"query":"capital of France"},"observation":"Paris is the capital of France","user":"alice"}]}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentResponse"},"examples":{"streamingThought":{"summary":"Streaming thought chunk","value":{"chunk-type":"thought","content":"I need to search for information about quantum computing","end-of-message":false,"end-of-dialog":false}},"streamingAnswer":{"summary":"Streaming answer chunk","value":{"chunk-type":"answer","content":"Quantum computing uses quantum mechanics principles...","end-of-message":false,"end-of-dialog":false}},"streamingComplete":{"summary":"Streaming complete marker","value":{"chunk-type":"answer","content":"","end-of-message":true,"end-of-dialog":true}},"legacyResponse":{"summary":"Legacy non-streaming response","value":{"answer":"Paris is the capital of France.","thought":"User is asking about the capital of France","observation":"","end-of-message":false,"end-of-dialog":false}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/document-rag":{"post":{"tags":["Flow Services"],"summary":"Document RAG - retrieve and generate from documents","description":"Retrieval-Augmented Generation over document embeddings.\n\n## Document RAG Overview\n\nDocument RAG combines:\n1. **Retrieval**: Search document embeddings using semantic similarity\n2. **Generation**: Use LLM to synthesize answer from retrieved documents\n\nThis provides grounded answers based on your document corpus.\n\n## Query Process\n\n1. Convert query to embedding\n2. Search document embeddings for most similar chunks\n3. Retrieve top N document chunks (configurable via doc-limit)\n4. Pass query + retrieved context to LLM\n5. Generate answer grounded in documents\n\n## Streaming\n\nEnable `streaming: true` to receive the answer as it's generated:\n- Multiple messages with `response` content\n- Final message with `end-of-stream: true`\n\nWithout streaming, returns complete answer in single response.\n\n## Parameters\n\n- **doc-limit**: Controls retrieval depth (1-100, default 20)\n - Higher = more context but slower\n - Lower = faster but may miss relevant info\n- **collection**: Target specific document collection\n- **user**: Multi-tenant isolation\n","operationId":"documentRagService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentRagRequest"},"examples":{"basicQuery":{"summary":"Basic document query","value":{"query":"What are the key findings in the research papers?","user":"alice","collection":"research"}},"streamingQuery":{"summary":"Streaming query","value":{"query":"Summarize the main conclusions","user":"alice","collection":"research","doc-limit":15,"streaming":true}},"limitedRetrieval":{"summary":"Query with limited retrieval","value":{"query":"What is quantum entanglement?","doc-limit":5}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentRagResponse"},"examples":{"completeResponse":{"summary":"Complete non-streaming response","value":{"response":"The research papers present three key findings:\n1. Quantum entanglement exhibits non-local correlations\n2. Bell's inequality is violated in experimental tests\n3. Applications in quantum cryptography are promising\n","end-of-stream":false}},"streamingChunk":{"summary":"Streaming response chunk","value":{"response":"The research papers present three","end-of-stream":false}},"streamingComplete":{"summary":"Streaming complete marker","value":{"response":"","end-of-stream":true}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/graph-rag":{"post":{"tags":["Flow Services"],"summary":"Graph RAG - retrieve and generate from knowledge graph","description":"Retrieval-Augmented Generation over knowledge graph.\n\n## Graph RAG Overview\n\nGraph RAG combines:\n1. **Retrieval**: Find relevant entities and subgraph from knowledge graph\n2. **Generation**: Use LLM to reason over graph structure and generate answer\n\nThis provides graph-aware answers that leverage relationships and structure.\n\n## Query Process\n\n1. Identify relevant entities from query (using embeddings)\n2. Retrieve connected subgraph around entities\n3. Optionally traverse paths up to max-path-length hops\n4. Limit subgraph size to stay within context window\n5. Pass query + graph structure to LLM\n6. Generate answer incorporating graph relationships\n\n## Streaming\n\nEnable `streaming: true` to receive the answer as it's generated:\n- Multiple messages with `response` content\n- Final message with `end-of-stream: true`\n\nWithout streaming, returns complete answer in single response.\n\n## Parameters\n\nControl retrieval scope with multiple knobs:\n- **entity-limit**: How many starting entities to find (1-200, default 50)\n- **triple-limit**: Triples per entity (1-100, default 30)\n- **max-subgraph-size**: Total subgraph cap (10-5000, default 1000)\n- **max-path-length**: Graph traversal depth (1-5, default 2)\n\nHigher limits = more context but:\n- Slower retrieval\n- Larger context for LLM\n- May hit context window limits\n\n## Use Cases\n\nBest for queries requiring:\n- Relationship understanding (\"How are X and Y connected?\")\n- Multi-hop reasoning (\"What's the path from A to B?\")\n- Structural analysis (\"What are the main entities related to X?\")\n","operationId":"graphRagService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphRagRequest"},"examples":{"basicQuery":{"summary":"Basic graph query","value":{"query":"What connections exist between quantum physics and computer science?","user":"alice","collection":"research"}},"streamingQuery":{"summary":"Streaming query with custom limits","value":{"query":"Trace the historical development of AI from Turing to modern LLMs","user":"alice","collection":"research","entity-limit":40,"triple-limit":25,"max-subgraph-size":800,"max-path-length":3,"streaming":true}},"focusedQuery":{"summary":"Focused query with tight limits","value":{"query":"What is the immediate relationship between entity A and B?","entity-limit":10,"triple-limit":15,"max-subgraph-size":200,"max-path-length":1}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphRagResponse"},"examples":{"completeResponse":{"summary":"Complete non-streaming response","value":{"response":"Quantum physics and computer science intersect primarily through quantum computing.\nThe knowledge graph shows connections through:\n- Quantum algorithms (Shor's algorithm, Grover's algorithm)\n- Quantum information theory\n- Computational complexity theory\n","end-of-stream":false}},"streamingChunk":{"summary":"Streaming response chunk","value":{"response":"Quantum physics and computer science intersect","end-of-stream":false}},"streamingComplete":{"summary":"Streaming complete marker","value":{"response":"","end-of-stream":true}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/text-completion":{"post":{"tags":["Flow Services"],"summary":"Text completion - direct LLM generation","description":"Direct text completion using LLM without retrieval augmentation.\n\n## Text Completion Overview\n\nPure LLM generation for:\n- General knowledge questions\n- Creative writing\n- Code generation\n- Analysis and reasoning\n- Any task not requiring specific document/graph context\n\n## System vs Prompt\n\n- **system**: Sets LLM behavior, role, constraints\n - \"You are a helpful assistant\"\n - \"You are an expert Python developer\"\n - \"Respond in JSON format\"\n- **prompt**: The actual user request/question\n\n## Streaming\n\nEnable `streaming: true` to receive tokens as generated:\n- Multiple messages with partial `response`\n- Final message with `end-of-stream: true`\n\nWithout streaming, returns complete response in single message.\n\n## Token Counting\n\nResponse includes token usage:\n- `in-token`: Input tokens (system + prompt)\n- `out-token`: Generated tokens\n- Useful for cost tracking and optimization\n\n## When to Use\n\nUse text-completion when:\n- No specific context needed (general knowledge)\n- System prompt provides sufficient context\n- Want direct control over prompting\n\nUse document-rag/graph-rag when:\n- Need to ground response in specific documents\n- Want to leverage knowledge graph relationships\n- Require citations or provenance\n","operationId":"textCompletionService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextCompletionRequest"},"examples":{"basicCompletion":{"summary":"Basic text completion","value":{"system":"You are a helpful assistant that provides concise answers.","prompt":"Explain the concept of recursion in programming."}},"codeGeneration":{"summary":"Code generation with streaming","value":{"system":"You are an expert Python developer. Provide clean, well-documented code.","prompt":"Write a function to calculate the Fibonacci sequence using memoization.","streaming":true}},"jsonResponse":{"summary":"Structured output request","value":{"system":"You are a JSON API. Respond only with valid JSON, no other text.","prompt":"Extract key information from this text and return as JSON with fields:\ntitle, author, year, summary.\n\nText: \"The Theory of Everything by Stephen Hawking (2006) explores...\"\n"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextCompletionResponse"},"examples":{"completeResponse":{"summary":"Complete non-streaming response","value":{"response":"Recursion is a programming technique where a function calls itself\nto solve a problem by breaking it down into smaller, similar subproblems.\nEach recursive call works on a simpler version until reaching a base case.\n","in-token":45,"out-token":128,"model":"gpt-4","end-of-stream":false}},"streamingChunk":{"summary":"Streaming response chunk","value":{"response":"Recursion is a programming technique","end-of-stream":false}},"streamingComplete":{"summary":"Streaming complete with tokens","value":{"response":"","in-token":45,"out-token":128,"model":"gpt-4","end-of-stream":true}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/prompt":{"post":{"tags":["Flow Services"],"summary":"Prompt service - template-based generation","description":"Execute stored prompt templates with variable substitution.\n\n## Prompt Service Overview\n\nThe prompt service enables:\n- Reusable prompt templates stored in configuration\n- Variable substitution for dynamic prompts\n- Consistent prompt engineering across requests\n- Text or structured object outputs\n\n## Template System\n\nPrompts are stored via config service (`/api/v1/config`) with:\n- **id**: Unique prompt identifier\n- **template**: Prompt text with `{variable}` placeholders\n- **system**: Optional system prompt\n- **output_format**: \"text\" or \"object\"\n\nExample template:\n```\nSummarize the following document in {max_length} words:\n\n{document}\n```\n\n## Variable Substitution\n\nTwo ways to pass variables:\n\n1. **terms** (explicit JSON strings):\n ```json\n {\n \"terms\": {\n \"document\": \"\\\"Text here...\\\"\",\n \"max_length\": \"\\\"200\\\"\"\n }\n }\n ```\n\n2. **variables** (auto-converted):\n ```json\n {\n \"variables\": {\n \"document\": \"Text here...\",\n \"max_length\": 200\n }\n }\n ```\n\n## Output Types\n\n- **text**: Plain text response in `text` field\n- **object**: Structured JSON in `object` field (as string)\n\n## Streaming\n\nEnable `streaming: true` to receive response incrementally.\n\n## Use Cases\n\n- Document summarization\n- Entity extraction\n- Classification tasks\n- Data transformation\n- Any repeatable LLM task with consistent prompting\n","operationId":"promptService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptRequest"},"examples":{"withTerms":{"summary":"Using terms (JSON strings)","value":{"id":"summarize-document","terms":{"document":"\"This document discusses quantum computing, covering qubits, superposition, and entanglement. Applications include cryptography and optimization.\"","max_length":"\"50\""}}},"withVariables":{"summary":"Using variables (auto-converted)","value":{"id":"extract-entities","variables":{"text":"A paper by Einstein on relativity published in 1905.","entity_types":["person","year","topic"]}}},"streaming":{"summary":"Streaming response","value":{"id":"generate-report","variables":{"data":{"revenue":1000000,"growth":15},"format":"executive summary"},"streaming":true}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptResponse"},"examples":{"textResponse":{"summary":"Text output","value":{"text":"This document provides an overview of quantum computing fundamentals and cryptographic applications.","end-of-stream":false}},"objectResponse":{"summary":"Structured output","value":{"object":"{\"entities\": [{\"type\": \"person\", \"value\": \"Einstein\"}, {\"type\": \"year\", \"value\": \"1905\"}, {\"type\": \"topic\", \"value\": \"relativity\"}]}","end-of-stream":false}},"streamingChunk":{"summary":"Streaming chunk","value":{"text":"This document provides an overview","end-of-stream":false}},"streamingComplete":{"summary":"Streaming complete","value":{"text":"","end-of-stream":true}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/embeddings":{"post":{"tags":["Flow Services"],"summary":"Embeddings - text to vector conversion","description":"Convert text to embedding vectors for semantic similarity search.\n\n## Embeddings Overview\n\nEmbeddings transform text into dense vector representations that:\n- Capture semantic meaning\n- Enable similarity comparisons via cosine distance\n- Support semantic search and retrieval\n- Power RAG systems\n\n## Use Cases\n\n- **Document indexing**: Convert documents to vectors for storage\n- **Query encoding**: Convert search queries for similarity matching\n- **Semantic similarity**: Find related texts via vector distance\n- **Clustering**: Group similar content\n- **Classification**: Use as features for ML models\n\n## Vector Dimensions\n\nDimension count depends on embedding model:\n- text-embedding-ada-002: 1536 dimensions\n- text-embedding-3-small: 1536 dimensions\n- text-embedding-3-large: 3072 dimensions\n- Custom models: Varies\n\n## Single Request\n\nUnlike batch embedding APIs, this endpoint processes one text at a time.\nFor bulk operations, use document-load or text-load services.\n","operationId":"embeddingsService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmbeddingsRequest"},"examples":{"shortText":{"summary":"Short text embedding","value":{"text":"Machine learning"}},"sentence":{"summary":"Sentence embedding","value":{"text":"Quantum computing uses quantum mechanics principles for computation."}},"paragraph":{"summary":"Paragraph embedding","value":{"text":"Neural networks are computing systems inspired by biological neural networks.\nThey consist of interconnected nodes (neurons) organized in layers.\nThrough training, they learn to recognize patterns and make predictions.\n"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmbeddingsResponse"},"examples":{"embeddingVector":{"summary":"Embedding vector","value":{"vectors":[0.023,-0.142,0.089,0.234,-0.067,0.156,0.201,-0.178,0.045,0.312]}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/mcp-tool":{"post":{"tags":["Flow Services"],"summary":"MCP Tool - execute Model Context Protocol tools","description":"Execute MCP (Model Context Protocol) tools for agent capabilities.\n\n## MCP Tool Overview\n\nMCP tools provide agent capabilities through standardized protocol:\n- **Search tools**: Web search, document search\n- **Data tools**: Database queries, API calls\n- **Action tools**: File operations, system commands\n- **Integration tools**: Third-party service connectors\n\nTools extend agent capabilities beyond pure LLM generation.\n\n## Tool Execution\n\nTools are:\n1. Registered via MCP protocol\n2. Discovered by agent\n3. Called with structured parameters\n4. Return text or structured results\n\n## Request Format\n\n- **name**: Tool identifier (e.g., \"search\", \"calculator\", \"weather\")\n- **parameters**: Tool-specific arguments as JSON object\n\n## Response Format\n\nTools can return:\n- **text**: Plain text result (simple tools)\n- **object**: Structured JSON result (complex tools)\n\n## Tool Registration\n\nTools are registered via MCP server configuration:\n- Define tool schema (name, parameters, description)\n- Implement tool handler\n- Register with MCP server\n- Agent discovers and uses tool\n\n## Use Cases\n\n- **Web search**: Find external information\n- **Calculator**: Perform calculations\n- **Database query**: Retrieve structured data\n- **API integration**: Call external services\n- **File operations**: Read/write files\n- **Code execution**: Run scripts\n","operationId":"mcpToolService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpToolRequest"},"examples":{"searchTool":{"summary":"Search tool execution","value":{"name":"search","parameters":{"query":"quantum computing","limit":10}}},"calculatorTool":{"summary":"Calculator tool","value":{"name":"calculator","parameters":{"expression":"(42 * 7) + 15"}}},"weatherTool":{"summary":"Weather tool","value":{"name":"weather","parameters":{"location":"San Francisco","units":"celsius"}}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpToolResponse"},"examples":{"textResponse":{"summary":"Text result","value":{"text":"The result is 309"}},"objectResponse":{"summary":"Structured result","value":{"object":{"results":[{"title":"Introduction to Quantum Computing","url":"https://example.com/qc-intro","snippet":"Quantum computing uses quantum mechanics..."},{"title":"Quantum Algorithms","url":"https://example.com/qc-algos","snippet":"Key algorithms include Shor's and Grover's..."}],"total":10}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/triples":{"post":{"tags":["Flow Services"],"summary":"Triples query - pattern-based graph queries","description":"Query knowledge graph using subject-predicate-object patterns.\n\n## Triples Query Overview\n\nQuery RDF triples with flexible pattern matching:\n- Specify subject, predicate, and/or object\n- Any combination of filters (all optional)\n- Returns matching triples up to limit\n\n## Pattern Matching\n\nPattern syntax supports:\n- **All triples**: Omit all filters (returns everything up to limit)\n- **Subject match**: Specify `s` only (all triples about that subject)\n- **Predicate match**: Specify `p` only (all uses of that property)\n- **Object match**: Specify `o` only (all triples with that value)\n- **Combinations**: Any combination of s/p/o\n\n## RDF Value Format\n\nEach component (s/p/o) uses RdfValue format:\n- **Entity/URI**: `{\"v\": \"https://example.com/entity\", \"e\": true}`\n- **Literal**: `{\"v\": \"Some text\", \"e\": false}`\n\n## Query Examples\n\nFind all properties of an entity:\n```json\n{\"s\": {\"v\": \"https://example.com/person/alice\", \"e\": true}}\n```\n\nFind all instances of a type:\n```json\n{\n \"p\": {\"v\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\", \"e\": true},\n \"o\": {\"v\": \"https://example.com/type/Person\", \"e\": true}\n}\n```\n\nFind specific relationship:\n```json\n{\n \"s\": {\"v\": \"https://example.com/person/alice\", \"e\": true},\n \"p\": {\"v\": \"https://example.com/knows\", \"e\": true}\n}\n```\n\n## Performance\n\n- Default limit: 10,000 triples\n- Max limit: 100,000 triples\n- More specific patterns = faster queries\n- Consider limit for large result sets\n","operationId":"triplesQueryService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriplesQueryRequest"},"examples":{"allTriplesAboutEntity":{"summary":"All triples about an entity","value":{"s":{"v":"https://example.com/person/alice","e":true},"user":"alice","collection":"research","limit":100}},"allInstancesOfType":{"summary":"Find all instances of a type","value":{"p":{"v":"http://www.w3.org/1999/02/22-rdf-syntax-ns#type","e":true},"o":{"v":"https://example.com/type/Person","e":true},"limit":50}},"specificRelationship":{"summary":"Find specific relationships","value":{"p":{"v":"https://example.com/knows","e":true},"user":"alice","limit":200}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriplesQueryResponse"},"examples":{"matchingTriples":{"summary":"Matching triples","value":{"response":[{"s":{"v":"https://example.com/person/alice","e":true},"p":{"v":"https://www.w3.org/1999/02/22-rdf-syntax-ns#type","e":true},"o":{"v":"https://example.com/type/Person","e":true}},{"s":{"v":"https://example.com/person/alice","e":true},"p":{"v":"https://www.w3.org/2000/01/rdf-schema#label","e":true},"o":{"v":"Alice","e":false}},{"s":{"v":"https://example.com/person/alice","e":true},"p":{"v":"https://example.com/knows","e":true},"o":{"v":"https://example.com/person/bob","e":true}}]}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/objects":{"post":{"tags":["Flow Services"],"summary":"Objects query - GraphQL over knowledge graph","description":"Query knowledge graph using GraphQL for object-oriented data access.\n\n## Objects Query Overview\n\nGraphQL interface to knowledge graph:\n- **Schema-driven**: Predefined types and relationships\n- **Flexible queries**: Request exactly what you need\n- **Nested data**: Traverse relationships in single query\n- **Type-safe**: Strong typing with introspection\n\nAbstracts RDF triples into familiar object model.\n\n## GraphQL Benefits\n\nCompared to triples query:\n- **Developer-friendly**: Objects instead of triples\n- **Efficient**: Get related data in one query\n- **Typed**: Schema defines available fields\n- **Discoverable**: Introspection for tooling\n\n## Query Structure\n\nStandard GraphQL query format:\n```graphql\nquery OperationName($var: Type!) {\n fieldName(arg: $var) {\n subField1\n subField2\n nestedObject {\n nestedField\n }\n }\n}\n```\n\n## Variables\n\nPass variables for parameterized queries:\n```json\n{\n \"query\": \"query GetPerson($id: ID!) { person(id: $id) { name } }\",\n \"variables\": {\"id\": \"https://example.com/person/alice\"}\n}\n```\n\n## Error Handling\n\nGraphQL distinguishes:\n- **Field errors**: Invalid query, missing fields (in `errors` array)\n- **System errors**: Connection issues, timeouts (in `error` object)\n\nPartial data may be returned with field errors.\n\n## Schema Definition\n\nSchema defines available types via config service.\nUse introspection query to discover schema.\n","operationId":"objectsQueryService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectsQueryRequest"},"examples":{"simpleQuery":{"summary":"Simple query","value":{"query":"{\n person(id: \"https://example.com/person/alice\") {\n name\n email\n }\n}\n","user":"alice","collection":"research"}},"queryWithVariables":{"summary":"Query with variables","value":{"query":"query GetPerson($id: ID!) {\n person(id: $id) {\n name\n email\n knows {\n name\n }\n }\n}\n","variables":{"id":"https://example.com/person/alice"},"operation-name":"GetPerson"}},"nestedQuery":{"summary":"Nested relationship query","value":{"query":"{\n person(id: \"https://example.com/person/alice\") {\n name\n knows {\n name\n worksFor {\n name\n location\n }\n }\n }\n}\n"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectsQueryResponse"},"examples":{"successfulQuery":{"summary":"Successful query","value":{"data":{"person":{"name":"Alice","email":"alice@example.com","knows":[{"name":"Bob"},{"name":"Carol"}]}},"extensions":{"execution_time_ms":"42"}}},"queryWithFieldErrors":{"summary":"Query with field errors","value":{"data":{"person":{"name":"Alice","email":null}},"errors":[{"message":"Cannot query field 'nonexistent' on type 'Person'","path":["person","nonexistent"]}]}},"systemError":{"summary":"System error","value":{"data":null,"error":{"type":"TIMEOUT_ERROR","message":"Query execution timeout after 30s"}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/nlp-query":{"post":{"tags":["Flow Services"],"summary":"NLP Query - natural language to structured query","description":"Convert natural language questions to structured GraphQL queries.\n\n## NLP Query Overview\n\nTransforms user questions into executable GraphQL:\n- **Natural input**: Ask questions in plain English\n- **Structured output**: Get GraphQL query + variables\n- **Schema-aware**: Uses knowledge graph schema\n- **Confidence scoring**: Know how well question was understood\n\nEnables non-technical users to query knowledge graph.\n\n## Process\n\n1. Parse natural language question\n2. Identify entities and relationships\n3. Map to GraphQL schema types\n4. Generate query with variables\n5. Return query + confidence score\n\n## Using Results\n\nGenerated query can be:\n- Executed via objects query service\n- Inspected and modified if needed\n- Cached for similar questions\n\nExample workflow:\n```\n1. User asks: \"Who does Alice know?\"\n2. NLP Query generates GraphQL\n3. Execute via /api/v1/flow/{flow}/service/objects\n4. Return results to user\n```\n\n## Schema Detection\n\nResponse includes `detected-schemas` array showing:\n- Which types were identified\n- What entities were matched\n- Schema coverage of question\n\nHelps understand query scope.\n\n## Confidence Scores\n\n- **0.9-1.0**: High confidence, likely correct\n- **0.7-0.9**: Good confidence, probably correct\n- **0.5-0.7**: Medium confidence, may need review\n- **< 0.5**: Low confidence, likely incorrect\n\nLow scores suggest:\n- Ambiguous question\n- Missing schema coverage\n- Complex query structure\n","operationId":"nlpQueryService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NlpQueryRequest"},"examples":{"simpleQuestion":{"summary":"Simple relationship question","value":{"question":"Who does Alice know?","max-results":50}},"complexQuestion":{"summary":"Multi-hop relationship","value":{"question":"What companies employ people that Alice knows?","max-results":100}},"filterQuestion":{"summary":"Question with filters","value":{"question":"Which engineers does Bob collaborate with?"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NlpQueryResponse"},"examples":{"successfulQuery":{"summary":"Successful query generation","value":{"graphql-query":"query GetConnections($person: ID!) {\n person(id: $person) {\n knows { name email }\n }\n}\n","variables":{"person":"https://example.com/person/alice"},"detected-schemas":["Person"],"confidence":0.92}},"complexQuery":{"summary":"Complex multi-hop query","value":{"graphql-query":"query GetCompanies($person: ID!) {\n person(id: $person) {\n knows {\n worksFor {\n name\n industry\n }\n }\n }\n}\n","variables":{"person":"https://example.com/person/alice"},"detected-schemas":["Person","Organization"],"confidence":0.85}},"lowConfidence":{"summary":"Low confidence result","value":{"graphql-query":"query Search {\n search(term: \"unknown entities\") {\n results\n }\n}\n","variables":{},"detected-schemas":[],"confidence":0.43}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/structured-query":{"post":{"tags":["Flow Services"],"summary":"Structured Query - question to results (all-in-one)","description":"Ask natural language questions and get results directly.\n\n## Structured Query Overview\n\nCombines two operations in one call:\n1. **NLP Query**: Generate GraphQL from question\n2. **Objects Query**: Execute generated query\n3. **Return Results**: Direct answer data\n\nSimplest way to query knowledge graph with natural language.\n\n## Comparison with Other Services\n\n### Structured Query (this service)\n- **Input**: Natural language question\n- **Output**: Query results (data)\n- **Use when**: Want simple, direct answers\n\n### NLP Query + Objects Query (separate calls)\n- **Step 1**: Convert question → GraphQL\n- **Step 2**: Execute GraphQL → results\n- **Use when**: Need to inspect/modify query before execution\n\n### Triples Query (low-level)\n- **Input**: RDF pattern\n- **Output**: Matching triples\n- **Use when**: Need precise control over graph queries\n\n## Response Format\n\nReturns standard GraphQL response:\n- **data**: Query results (null if error)\n- **errors**: Field-level errors (array of strings)\n- **error**: System-level error (generation or execution failure)\n\n## Error Handling\n\nThree types of errors:\n1. **Query generation failed**: Couldn't understand question\n - Error in `error` object\n - data = null\n2. **Query execution failed**: Generated query had errors\n - Errors in `errors` array\n - data may be partial\n3. **System error**: Infrastructure issue\n - Error in `error` object\n\n## Performance\n\nConvenience vs control trade-off:\n- **Faster development**: One call instead of two\n- **Less control**: Can't inspect/modify generated query\n- **Simpler code**: No need to handle intermediate steps\n","operationId":"structuredQueryService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StructuredQueryRequest"},"examples":{"simpleQuestion":{"summary":"Simple relationship question","value":{"question":"Who does Alice know?","user":"alice","collection":"research"}},"complexQuestion":{"summary":"Complex multi-hop question","value":{"question":"What companies employ engineers that Bob collaborates with?","user":"bob","collection":"work"}},"filterQuestion":{"summary":"Question with implicit filters","value":{"question":"Which researchers work on quantum computing?"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StructuredQueryResponse"},"examples":{"successfulQuery":{"summary":"Successful query with results","value":{"data":{"person":{"name":"Alice","knows":[{"name":"Bob","email":"bob@example.com"},{"name":"Carol","email":"carol@example.com"}]}},"errors":[]}},"partialResults":{"summary":"Partial results with errors","value":{"data":{"person":{"name":"Alice","knows":null}},"errors":["Cannot query field 'nonexistent' on type 'Person'"]}},"generationFailed":{"summary":"Query generation failed","value":{"data":null,"errors":[],"error":{"type":"QUERY_GENERATION_ERROR","message":"Could not understand question structure"}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/structured-diag":{"post":{"tags":["Flow Services"],"summary":"Structured Diag - analyze structured data formats","description":"Analyze and understand structured data (CSV, JSON, XML).\n\n## Structured Diag Overview\n\nHelps process unknown structured data:\n- **Detect format**: Identify CSV, JSON, or XML\n- **Generate schema**: Create descriptor from sample\n- **Match schemas**: Find existing schemas that fit data\n- **Full diagnosis**: Complete analysis in one call\n\nEssential for data ingestion pipelines.\n\n## Operations\n\n### detect-type\nIdentify data format from sample:\n- Input: Data sample\n- Output: Format (csv/json/xml) + confidence\n- Use when: Format is unknown\n\n### generate-descriptor\nCreate schema descriptor:\n- Input: Sample + known type\n- Output: Field definitions, types, structure\n- Use when: Need to understand data structure\n\n### diagnose (recommended)\nCombined analysis:\n- Input: Data sample\n- Output: Format + descriptor + metadata\n- Use when: Starting from scratch\n\n### schema-selection\nFind matching schemas:\n- Input: Data sample\n- Output: List of schema IDs that match\n- Use when: Have existing schemas, need to match data\n\n## Data Types\n\nSupported formats:\n- **CSV**: Comma-separated values (or custom delimiter)\n- **JSON**: JSON objects or arrays\n- **XML**: XML documents\n\n## Options\n\nFormat-specific options:\n- **CSV**: delimiter, has_header, quote_char\n- **JSON**: array_path (for nested arrays)\n- **XML**: root_element, record_path\n\n## Workflow Example\n\n1. Receive unknown data file\n2. Call diagnose operation with sample\n3. Get format + schema descriptor\n4. Use descriptor to process full dataset\n5. Load data via document-load or text-load\n","operationId":"structuredDiagService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StructuredDiagRequest"},"examples":{"detectType":{"summary":"Detect data type","value":{"operation":"detect-type","sample":"name,age,email\nAlice,30,alice@example.com\nBob,25,bob@example.com\n"}},"generateDescriptor":{"summary":"Generate schema descriptor","value":{"operation":"generate-descriptor","sample":"name,age,email\nAlice,30,alice@example.com\n","type":"csv","schema-name":"person-records","options":{"delimiter":",","has_header":"true"}}},"diagnose":{"summary":"Full diagnosis","value":{"operation":"diagnose","sample":"[\n {\"name\": \"Alice\", \"age\": 30},\n {\"name\": \"Bob\", \"age\": 25}\n]\n"}},"schemaSelection":{"summary":"Find matching schemas","value":{"operation":"schema-selection","sample":"name,email,phone\nAlice,alice@example.com,555-1234\n"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StructuredDiagResponse"},"examples":{"detectedType":{"summary":"Type detection result","value":{"operation":"detect-type","detected-type":"csv","confidence":0.95}},"generatedDescriptor":{"summary":"Generated descriptor","value":{"operation":"generate-descriptor","descriptor":{"schema_name":"person-records","type":"csv","fields":[{"name":"name","type":"string"},{"name":"age","type":"integer"},{"name":"email","type":"string"}]},"metadata":{"field_count":"3","has_header":"true"}}},"fullDiagnosis":{"summary":"Complete diagnosis","value":{"operation":"diagnose","detected-type":"json","confidence":0.98,"descriptor":{"type":"json","structure":"array_of_objects","fields":[{"name":"name","type":"string"},{"name":"age","type":"integer"}]},"metadata":{"record_count":"2"}}},"schemaMatches":{"summary":"Schema selection results","value":{"operation":"schema-selection","schema-matches":["person-schema-v1","contact-schema-v2"]}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/graph-embeddings":{"post":{"tags":["Flow Services"],"summary":"Graph Embeddings Query - find similar entities","description":"Query graph embeddings to find similar entities by vector similarity.\n\n## Graph Embeddings Query Overview\n\nFind entities semantically similar to a query vector:\n- **Input**: Query embedding vector\n- **Search**: Compare against stored entity embeddings\n- **Output**: Most similar entities (RDF URIs)\n\nCore component of graph RAG retrieval.\n\n## Use Cases\n\n- **Entity discovery**: Find related entities\n- **Concept expansion**: Discover similar concepts\n- **Graph exploration**: Navigate by semantic similarity\n- **RAG retrieval**: Get entities for context\n\n## Process\n\n1. Obtain query embedding (via embeddings service)\n2. Query stored entity embeddings\n3. Calculate cosine similarity\n4. Return top N most similar entities\n5. Use entities to retrieve triples/subgraph\n\n## Similarity Scoring\n\nUses cosine similarity between vectors:\n- Results ordered by similarity (most similar first)\n- No explicit similarity scores returned\n- Limit controls result count\n\n## Entity Format\n\nReturns RDF values (entities):\n- URI entities: `{v: \"https://...\", e: true}`\n- These are references to knowledge graph entities\n- Use with triples query to get entity details\n","operationId":"graphEmbeddingsQueryService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphEmbeddingsQueryRequest"},"examples":{"basicQuery":{"summary":"Find similar entities","value":{"vectors":[0.023,-0.142,0.089,0.234,-0.067,0.156,0.201,-0.178],"limit":10,"user":"alice","collection":"research"}},"largeQuery":{"summary":"Larger result set","value":{"vectors":[0.1,-0.2,0.3,-0.4,0.5],"limit":50}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphEmbeddingsQueryResponse"},"examples":{"similarEntities":{"summary":"Similar entities found","value":{"entities":[{"v":"https://example.com/person/alice","e":true},{"v":"https://example.com/person/bob","e":true},{"v":"https://example.com/concept/quantum-computing","e":true},{"v":"https://example.com/concept/machine-learning","e":true}]}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/document-embeddings":{"post":{"tags":["Flow Services"],"summary":"Document Embeddings Query - find similar text chunks","description":"Query document embeddings to find similar text chunks by vector similarity.\n\n## Document Embeddings Query Overview\n\nFind document chunks semantically similar to a query vector:\n- **Input**: Query embedding vector\n- **Search**: Compare against stored chunk embeddings\n- **Output**: Most similar text chunks\n\nCore component of document RAG retrieval.\n\n## Use Cases\n\n- **Document retrieval**: Find relevant passages\n- **Semantic search**: Search by meaning not keywords\n- **Context gathering**: Get text for RAG\n- **Similar content**: Discover related documents\n\n## Process\n\n1. Obtain query embedding (via embeddings service)\n2. Query stored document chunk embeddings\n3. Calculate cosine similarity\n4. Return top N most similar chunks\n5. Use chunks as context for generation\n\n## Chunking\n\nDocuments are split into chunks during indexing:\n- Typical size: 200-1000 tokens\n- Overlap between chunks for continuity\n- Each chunk has own embedding\n\nQueries return individual chunks, not full documents.\n\n## Similarity Scoring\n\nUses cosine similarity:\n- Results ordered by similarity\n- No explicit scores in response\n- Limit controls result count\n\n## Output Format\n\nReturns text chunks as strings:\n- Raw chunk text\n- No metadata (source, position, etc.)\n- Use for LLM context directly\n","operationId":"documentEmbeddingsQueryService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentEmbeddingsQueryRequest"},"examples":{"basicQuery":{"summary":"Find similar chunks","value":{"vectors":[0.023,-0.142,0.089,0.234,-0.067,0.156,0.201,-0.178],"limit":10,"user":"alice","collection":"research"}},"largeQuery":{"summary":"Larger result set","value":{"vectors":[0.1,-0.2,0.3,-0.4,0.5],"limit":30}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentEmbeddingsQueryResponse"},"examples":{"similarChunks":{"summary":"Similar document chunks","value":{"chunks":["Quantum computing uses quantum mechanics principles like superposition and entanglement for computation. Unlike classical bits, quantum bits (qubits) can exist in multiple states simultaneously.","Neural networks are computing systems inspired by biological neural networks. They consist of interconnected nodes organized in layers that process information through weighted connections.","Machine learning algorithms learn patterns from data without being explicitly programmed. They improve their performance through experience and exposure to training data."]}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/text-load":{"post":{"tags":["Flow Services"],"summary":"Text Load - load text documents","description":"Load text documents into processing pipeline for indexing and embedding.\n\n## Text Load Overview\n\nFire-and-forget document loading:\n- **Input**: Text content (base64 encoded)\n- **Process**: Chunk, embed, store\n- **Output**: None (202 Accepted)\n\nAsynchronous processing - document queued for background processing.\n\n## Processing Pipeline\n\nText documents go through:\n1. **Chunking**: Split into overlapping chunks\n2. **Embedding**: Generate vectors for each chunk\n3. **Storage**: Store chunks + embeddings\n4. **Indexing**: Make searchable via document-embeddings query\n\nPipeline runs asynchronously after request returns.\n\n## Text Format\n\nText must be base64 encoded:\n```\ntext_content = \"This is the document...\"\nencoded = base64.b64encode(text_content.encode('utf-8'))\n```\n\nDefault charset is UTF-8, specify `charset` if different.\n\n## Metadata\n\nOptional RDF triples describing document:\n- Title, author, date\n- Source URL\n- Custom properties\n- Used for organization and retrieval\n\n## Use Cases\n\n- **Document ingestion**: Add documents to knowledge base\n- **Bulk loading**: Process multiple documents\n- **Content updates**: Replace existing documents\n- **Library integration**: Load from document library\n\n## No Response Data\n\nReturns 202 Accepted immediately:\n- Document queued for processing\n- No synchronous result\n- No processing status\n- Check document-embeddings query later to verify indexed\n","operationId":"textLoadService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextLoadRequest"},"examples":{"simpleLoad":{"summary":"Load text document","value":{"text":"VGhpcyBpcyB0aGUgZG9jdW1lbnQgdGV4dC4uLg==","id":"doc-123","user":"alice","collection":"research"}},"withMetadata":{"summary":"Load with RDF metadata","value":{"text":"UXVhbnR1bSBjb21wdXRpbmcgdXNlcyBxdWFudHVtIG1lY2hhbmljcyBwcmluY2lwbGVzLi4u","id":"doc-456","user":"alice","collection":"research","metadata":[{"s":{"v":"doc-456","e":false},"p":{"v":"http://purl.org/dc/terms/title","e":true},"o":{"v":"Introduction to Quantum Computing","e":false}},{"s":{"v":"doc-456","e":false},"p":{"v":"http://purl.org/dc/terms/creator","e":true},"o":{"v":"Dr. Alice Smith","e":false}}]}}}}}},"responses":{"202":{"description":"Document accepted for processing","content":{"application/json":{"schema":{"type":"object","properties":{}},"example":{}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/flow/{flow}/service/document-load":{"post":{"tags":["Flow Services"],"summary":"Document Load - load binary documents (PDF, etc.)","description":"Load binary documents (PDF, Word, etc.) into processing pipeline.\n\n## Document Load Overview\n\nFire-and-forget binary document loading:\n- **Input**: Document data (base64 encoded)\n- **Process**: Extract text, chunk, embed, store\n- **Output**: None (202 Accepted)\n\nAsynchronous processing for PDF and other binary formats.\n\n## Processing Pipeline\n\nDocuments go through:\n1. **Text extraction**: PDF→text, DOCX→text, etc.\n2. **Chunking**: Split into overlapping chunks\n3. **Embedding**: Generate vectors for each chunk\n4. **Storage**: Store chunks + embeddings\n5. **Indexing**: Make searchable\n\nPipeline runs asynchronously.\n\n## Supported Formats\n\n- **PDF**: Portable Document Format\n- **DOCX**: Microsoft Word\n- **HTML**: Web pages\n- Other formats via extractors\n\nFormat detected from content, not extension.\n\n## Binary Encoding\n\nDocuments must be base64 encoded:\n```python\nwith open('document.pdf', 'rb') as f:\n doc_bytes = f.read()\nencoded = base64.b64encode(doc_bytes).decode('utf-8')\n```\n\n## Metadata\n\nOptional RDF triples:\n- Document properties\n- Source information\n- Custom attributes\n\n## Use Cases\n\n- **PDF ingestion**: Process research papers\n- **Document libraries**: Index document collections\n- **Content migration**: Import from other systems\n- **Automated processing**: Batch document loading\n\n## No Response Data\n\nReturns 202 Accepted immediately:\n- Document queued\n- Processing happens asynchronously\n- No status tracking\n- Query later to verify indexed\n","operationId":"documentLoadService","security":[{"bearerAuth":[]}],"parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"Flow instance ID","example":"my-flow"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentLoadRequest"},"examples":{"loadPdf":{"summary":"Load PDF document","value":{"data":"JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFI+PmVuZG9iagoyIDAgb2JqCjw8L1R5cGUvUGFnZXMvS2lkc1szIDAgUl0vQ291bnQgMT4+ZW5kb2JqCg==","id":"doc-789","user":"alice","collection":"research"}},"withMetadata":{"summary":"Load with metadata","value":{"data":"JVBERi0xLjQKJeLjz9MK...","id":"doc-101112","user":"bob","collection":"papers","metadata":[{"s":{"v":"doc-101112","e":false},"p":{"v":"http://purl.org/dc/terms/title","e":true},"o":{"v":"Quantum Entanglement Research","e":false}},{"s":{"v":"doc-101112","e":false},"p":{"v":"http://purl.org/dc/terms/date","e":true},"o":{"v":"2024-01-15","e":false}}]}}}}}},"responses":{"202":{"description":"Document accepted for processing","content":{"application/json":{"schema":{"type":"object","properties":{}},"example":{}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/import-core":{"post":{"tags":["Import/Export"],"summary":"Import Core - bulk import triples and embeddings","description":"Import knowledge cores in bulk using streaming MessagePack format.\n\n## Import Core Overview\n\nBulk data import for knowledge graph:\n- **Format**: MessagePack streaming\n- **Content**: Triples and/or graph embeddings\n- **Target**: Global knowledge storage\n- **Use**: Backup restoration, data migration, bulk loading\n\n## MessagePack Protocol\n\nRequest body is MessagePack stream with message tuples:\n\n### Triple Message\n```\n(\"t\", {\n \"m\": { // Metadata\n \"i\": \"core-id\", // Knowledge core ID\n \"m\": [...], // Metadata triples array\n \"u\": \"user\", // User\n \"c\": \"collection\" // Collection\n },\n \"t\": [...] // Triples array\n})\n```\n\n### Graph Embeddings Message\n```\n(\"ge\", {\n \"m\": { // Metadata\n \"i\": \"core-id\",\n \"m\": [...],\n \"u\": \"user\",\n \"c\": \"collection\"\n },\n \"e\": [ // Entities array\n {\n \"e\": {\"v\": \"uri\", \"e\": true}, // Entity RdfValue\n \"v\": [0.1, 0.2, ...] // Vectors\n }\n ]\n})\n```\n\n## Query Parameters\n\n- **id**: Knowledge core ID\n- **user**: User identifier\n\n## Streaming\n\nMultiple messages can be sent in stream.\nEach message processed as received.\nNo response body - returns 202 Accepted.\n\n## Use Cases\n\n- **Backup restoration**: Restore from export\n- **Data migration**: Move data between systems\n- **Bulk loading**: Initial knowledge base population\n- **Replication**: Copy knowledge cores\n","operationId":"importCore","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string"},"description":"Knowledge core ID to import","example":"core-123"},{"name":"user","in":"query","required":true,"schema":{"type":"string"},"description":"User identifier","example":"alice"}],"requestBody":{"required":true,"content":{"application/msgpack":{"schema":{"type":"string","format":"binary","description":"MessagePack stream of knowledge data"}}}},"responses":{"202":{"description":"Import accepted and processing","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/export-core":{"get":{"tags":["Import/Export"],"summary":"Export Core - bulk export triples and embeddings","description":"Export knowledge cores in bulk using streaming MessagePack format.\n\n## Export Core Overview\n\nBulk data export for knowledge graph:\n- **Format**: MessagePack streaming\n- **Content**: Triples and graph embeddings\n- **Source**: Global knowledge storage\n- **Use**: Backups, data migration, archival\n\n## MessagePack Protocol\n\nResponse body is MessagePack stream with message tuples:\n\n### Triple Message\n```\n(\"t\", {\n \"m\": { // Metadata\n \"i\": \"core-id\", // Knowledge core ID\n \"m\": [...], // Metadata triples array\n \"u\": \"user\", // User\n \"c\": \"collection\" // Collection\n },\n \"t\": [...] // Triples array\n})\n```\n\n### Graph Embeddings Message\n```\n(\"ge\", {\n \"m\": { // Metadata\n \"i\": \"core-id\",\n \"m\": [...],\n \"u\": \"user\",\n \"c\": \"collection\"\n },\n \"e\": [ // Entities array\n {\n \"e\": {\"v\": \"uri\", \"e\": true}, // Entity RdfValue\n \"v\": [0.1, 0.2, ...] // Vectors\n }\n ]\n})\n```\n\n### End of Stream Message\n```\n(\"eos\", {})\n```\n\n## Query Parameters\n\n- **id**: Knowledge core ID to export\n- **user**: User identifier\n\n## Streaming\n\nData streamed incrementally:\n- Triples sent first\n- Graph embeddings sent next\n- EOS marker signals completion\n\nClient should process messages as received.\n\n## Use Cases\n\n- **Backups**: Export for disaster recovery\n- **Data migration**: Move to another system\n- **Archival**: Long-term storage\n- **Replication**: Copy knowledge cores\n- **Analysis**: External processing\n","operationId":"exportCore","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string"},"description":"Knowledge core ID to export","example":"core-123"},{"name":"user","in":"query","required":true,"schema":{"type":"string"},"description":"User identifier","example":"alice"}],"responses":{"200":{"description":"Export stream","content":{"application/msgpack":{"schema":{"type":"string","format":"binary","description":"MessagePack stream of knowledge data"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/socket":{"get":{"tags":["WebSocket"],"summary":"WebSocket - multiplexed service interface","description":"WebSocket interface providing multiplexed access to all TrustGraph services over a single persistent connection.\n\n## Overview\n\nThe WebSocket API provides access to the same services as the REST API but with:\n- **Multiplexed**: Multiple concurrent requests over one connection\n- **Asynchronous**: Non-blocking request/response with ID matching\n- **Efficient**: Reduced overhead compared to HTTP\n- **Real-time**: Low latency bidirectional communication\n\n## Connection\n\nEstablish WebSocket connection to:\n```\nws://localhost:8088/api/v1/socket\n```\n\n## Message Protocol\n\nAll messages are JSON objects with the following structure:\n\n### Request Message Format\n\n**Global Service Request** (no flow parameter):\n```json\n{\n \"id\": \"req-123\",\n \"service\": \"config\",\n \"request\": {\n \"operation\": \"list\",\n \"type\": \"flow\"\n }\n}\n```\n\n**Flow-Hosted Service Request** (with flow parameter):\n```json\n{\n \"id\": \"req-456\",\n \"service\": \"agent\",\n \"flow\": \"my-flow\",\n \"request\": {\n \"question\": \"What is quantum computing?\",\n \"streaming\": true\n }\n}\n```\n\n**Request Fields**:\n- `id` (string, required): Client-generated unique identifier for this request within the session. Used to match responses to requests.\n- `service` (string, required): Service identifier (e.g., \"config\", \"agent\", \"document-rag\"). Same as `{kind}` in REST URLs.\n- `flow` (string, optional): Flow ID for flow-hosted services. Omit for global services.\n- `request` (object, required): Service-specific request payload. Same structure as REST API request body.\n\n### Response Message Format\n\n**Success Response**:\n```json\n{\n \"id\": \"req-123\",\n \"response\": {\n \"chunk-type\": \"answer\",\n \"content\": \"Quantum computing uses...\",\n \"end-of-stream\": false\n }\n}\n```\n\n**Error Response**:\n```json\n{\n \"id\": \"req-123\",\n \"error\": {\n \"type\": \"gateway-error\",\n \"message\": \"Flow not found\"\n }\n}\n```\n\n**Response Fields**:\n- `id` (string, required): Matches the `id` from the request. Client uses this to correlate responses.\n- `response` (object, conditional): Service-specific response payload. Same structure as REST API response. Present on success.\n- `error` (object, conditional): Error information with `type` and `message` fields. Present on failure.\n\n## Service Routing\n\nThe WebSocket protocol routes to services using message parameters instead of URL paths:\n\n| REST Endpoint | WebSocket Message |\n|--------------|-------------------|\n| `POST /api/v1/config` | `{\"service\": \"config\"}` |\n| `POST /api/v1/flow/{flow}/service/agent` | `{\"service\": \"agent\", \"flow\": \"my-flow\"}` |\n\n**Global Services** (no `flow` parameter):\n- `config` - Configuration management\n- `flow` - Flow lifecycle and blueprints\n- `librarian` - Document library management\n- `knowledge` - Knowledge graph core management\n- `collection-management` - Collection metadata\n\n**Flow-Hosted Services** (require `flow` parameter):\n- AI services: `agent`, `text-completion`, `prompt`, `document-rag`, `graph-rag`\n- Embeddings: `embeddings`, `graph-embeddings`, `document-embeddings`\n- Query: `triples`, `objects`, `nlp-query`, `structured-query`\n- Data loading: `text-load`, `document-load`\n- Utilities: `mcp-tool`, `structured-diag`\n\n## Request/Response Schemas\n\nThe `request` and `response` fields use **identical schemas** to the REST API for each service.\nSee individual service documentation for detailed request/response formats.\n\n## Multiplexing and Asynchronous Operation\n\nMultiple requests can be in flight simultaneously:\n- Client sends requests with unique `id` values\n- Server processes requests concurrently\n- Responses arrive asynchronously and may be out of order\n- Client matches responses to requests using the `id` field\n- No head-of-line blocking\n\n**Example concurrent requests**:\n```json\n{\"id\": \"req-1\", \"service\": \"config\", \"request\": {...}}\n{\"id\": \"req-2\", \"service\": \"agent\", \"flow\": \"f1\", \"request\": {...}}\n{\"id\": \"req-3\", \"service\": \"document-rag\", \"flow\": \"f2\", \"request\": {...}}\n```\n\nResponses may arrive in any order: `req-2`, `req-1`, `req-3`\n\n## Streaming Responses\n\nServices that support streaming (e.g., agent, RAG) send multiple response messages with the same `id`:\n```json\n{\"id\": \"req-1\", \"response\": {\"chunk-type\": \"thought\", \"content\": \"...\", \"end-of-stream\": false}}\n{\"id\": \"req-1\", \"response\": {\"chunk-type\": \"answer\", \"content\": \"...\", \"end-of-stream\": false}}\n{\"id\": \"req-1\", \"response\": {\"chunk-type\": \"answer\", \"content\": \"...\", \"end-of-stream\": true}}\n```\n\nThe `end-of-stream` flag (or service-specific completion flag) indicates the final message.\n\n## Authentication\n\nWhen `GATEWAY_SECRET` is set, include bearer token:\n- As query parameter: `ws://localhost:8088/api/v1/socket?token=<token>`\n- Or in WebSocket subprotocol header\n\n## Benefits Over REST\n\n- **Lower latency**: No TCP/TLS handshake per request\n- **Connection reuse**: Single persistent connection\n- **Reduced overhead**: No HTTP headers per message\n- **True streaming**: Bidirectional real-time communication\n- **Efficient multiplexing**: Concurrent operations without connection pooling\n","operationId":"websocketConnection","security":[{"bearerAuth":[]}],"parameters":[{"name":"Upgrade","in":"header","required":true,"schema":{"type":"string","enum":["websocket"]},"description":"WebSocket upgrade header"},{"name":"Connection","in":"header","required":true,"schema":{"type":"string","enum":["Upgrade"]},"description":"Connection upgrade header"}],"responses":{"101":{"description":"Switching Protocols - WebSocket connection established"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/metrics":{"get":{"tags":["Metrics"],"summary":"Metrics - Prometheus metrics endpoint","description":"Proxy to Prometheus metrics for system monitoring.\n\n## Metrics Overview\n\nExposes system metrics via Prometheus format:\n- **Gateway metrics**: Request rates, latencies, errors\n- **Flow metrics**: Processing throughput, queue depths\n- **System metrics**: Resource usage, health status\n\n## Prometheus Format\n\nReturns metrics in Prometheus text exposition format:\n```\n# HELP metric_name Description\n# TYPE metric_name counter\nmetric_name{label=\"value\"} 123.45\n```\n\n## Available Metrics\n\nCommon metrics include:\n- Request count and rates\n- Response times (histograms)\n- Error rates\n- Active connections\n- Queue depths\n- Processing latencies\n\n## Integration\n\nStandard Prometheus scraping:\n- Configure Prometheus to scrape `/api/metrics`\n- Set appropriate scrape interval\n- Use bearer token if authentication enabled\n\n## Path Parameter\n\nThe `{path}` parameter allows querying specific Prometheus endpoints\nor metrics if the backend Prometheus supports it.\n","operationId":"getMetrics","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Prometheus metrics","content":{"text/plain":{"schema":{"type":"string","example":"# HELP http_requests_total Total HTTP requests\n# TYPE http_requests_total counter\nhttp_requests_total{method=\"POST\",endpoint=\"/api/v1/flow/my-flow/service/agent\"} 1234\n\n# HELP http_request_duration_seconds HTTP request latency\n# TYPE http_request_duration_seconds histogram\nhttp_request_duration_seconds_bucket{le=\"0.1\"} 500\nhttp_request_duration_seconds_bucket{le=\"0.5\"} 950\nhttp_request_duration_seconds_bucket{le=\"1.0\"} 990\nhttp_request_duration_seconds_sum 450.5\nhttp_request_duration_seconds_count 1000\n"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/metrics/{path}":{"get":{"tags":["Metrics"],"summary":"Metrics - Prometheus metrics with path","description":"Proxy to Prometheus metrics with optional path parameter.\n","operationId":"getMetricsPath","security":[{"bearerAuth":[]}],"parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string"},"description":"Path to specific metrics endpoint","example":"query"}],"responses":{"200":{"description":"Prometheus metrics","content":{"text/plain":{"schema":{"type":"string"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Bearer token authentication.\n\nSet via `GATEWAY_SECRET` environment variable on the gateway.\nIf `GATEWAY_SECRET` is not set, authentication is disabled (development mode).\n\nExample:\n```\nAuthorization: Bearer your-secret-token\n```\n"}},"schemas":{"ConfigRequest":{"type":"object","description":"Configuration service request.\n\nSupports operations: config, list, get, put, delete\n","required":["operation"],"properties":{"operation":{"type":"string","enum":["config","list","get","put","delete"],"description":"Operation to perform:\n- `config`: Get complete configuration\n- `list`: List all items of a specific type\n- `get`: Get specific configuration items\n- `put`: Set/update configuration values\n- `delete`: Delete configuration items\n","example":"config"},"type":{"type":"string","description":"Configuration type (required for list, get, put, delete operations).\nCommon types: flow, prompt, token-cost, parameter-type, interface-description\n","example":"flow"},"keys":{"type":"array","description":"Keys to retrieve (for get operation) or delete (for delete operation)","items":{"type":"object","required":["type","key"],"properties":{"type":{"type":"string","description":"Configuration type","example":"flow"},"key":{"type":"string","description":"Configuration key","example":"my-flow"}}}},"values":{"type":"array","description":"Values to set/update (for put operation)","items":{"type":"object","required":["type","key","value"],"properties":{"type":{"type":"string","description":"Configuration type","example":"flow"},"key":{"type":"string","description":"Configuration key","example":"my-flow"},"value":{"type":"object","description":"Configuration value (structure depends on type)","additionalProperties":true,"example":{"blueprint-name":"document-rag","description":"My RAG flow"}}}}}}},"ConfigResponse":{"type":"object","description":"Configuration service response","properties":{"version":{"type":"integer","description":"Configuration version number","example":42},"config":{"type":"object","description":"Complete configuration (returned by 'config' operation)","additionalProperties":true,"example":{"flow":{"default":{"blueprint-name":"document-rag+graph-rag","description":"Default flow"}},"prompt":{"system":"You are a helpful AI assistant"},"token-cost":{"gpt-4":{"prompt":0.03,"completion":0.06}}}},"directory":{"type":"array","description":"List of keys (returned by 'list' operation)","items":{"type":"string"},"example":["default","production","my-flow"]},"values":{"type":"array","description":"Retrieved configuration values (returned by 'get' operation)","items":{"type":"object","properties":{"type":{"type":"string","example":"flow"},"key":{"type":"string","example":"default"},"value":{"type":"object","additionalProperties":true,"example":{"blueprint-name":"document-rag+graph-rag","description":"Default flow"}}}}}}},"ErrorObject":{"type":"object","description":"Structured error response with type and message","properties":{"type":{"type":"string","description":"Error type identifier","example":"gateway-error"},"message":{"type":"string","description":"Human-readable error message","example":"Timeout"}},"required":["type","message"]},"FlowRequest":{"type":"object","description":"Flow service request for managing flow instances and blueprints.\n\nOperations: start-flow, stop-flow, list-flows, get-flow,\nlist-blueprints, get-blueprint, put-blueprint, delete-blueprint\n","required":["operation"],"properties":{"operation":{"type":"string","enum":["start-flow","stop-flow","list-flows","get-flow","list-blueprints","get-blueprint","put-blueprint","delete-blueprint"],"description":"Flow operation:\n- `start-flow`: Start a new flow instance from a blueprint\n- `stop-flow`: Stop a running flow instance\n- `list-flows`: List all running flow instances\n- `get-flow`: Get details of a running flow\n- `list-blueprints`: List available flow blueprints\n- `get-blueprint`: Get blueprint definition\n- `put-blueprint`: Create/update blueprint definition\n- `delete-blueprint`: Delete blueprint definition\n"},"flow-id":{"type":"string","description":"Flow instance ID (required for start-flow, stop-flow, get-flow)","example":"my-flow"},"blueprint-name":{"type":"string","description":"Flow blueprint name (required for start-flow, get-blueprint, put-blueprint, delete-blueprint)","example":"document-rag"},"blueprint-definition":{"type":"object","description":"Flow blueprint definition (required for put-blueprint)","additionalProperties":true,"example":{"description":"Custom RAG pipeline","parameters":{"model":{"type":"llm-model","description":"LLM model for processing","order":1}},"class":{"text-completion:{class}":{"request":"non-persistent://tg/request/text-completion:{class}","response":"non-persistent://tg/response/text-completion:{class}"}},"flow":{"chunker:{id}":{"input":"persistent://tg/flow/chunk:{id}","output":"persistent://tg/flow/chunk-load:{id}"}},"interfaces":{"agent":{"request":"non-persistent://tg/request/agent:{id}","response":"non-persistent://tg/response/agent:{id}"}}}},"description":{"type":"string","description":"Flow description (optional for start-flow)","example":"My document processing flow"},"parameters":{"type":"object","description":"Flow parameters (for start-flow).\nAll values are stored as strings, regardless of input type.\n","additionalProperties":{"type":"string"},"example":{"model":"gpt-4","temperature":"0.7","chunk-size":"1000"}}}},"FlowResponse":{"type":"object","description":"Flow service response","properties":{"flow-id":{"type":"string","description":"Flow instance ID (returned by start-flow)","example":"my-flow"},"flow-ids":{"type":"array","description":"List of running flow IDs (returned by list-flows)","items":{"type":"string"},"example":["default","production","my-flow"]},"blueprint-names":{"type":"array","description":"List of available blueprint names (returned by list-blueprints)","items":{"type":"string"},"example":["document-rag","graph-rag","document-rag+graph-rag"]},"blueprint-definition":{"type":"object","description":"Blueprint definition (returned by get-blueprint)","additionalProperties":true,"example":{"description":"Standard RAG pipeline","parameters":{"model":{"type":"llm-model","order":1}},"class":{"text-completion:{class}":{"request":"non-persistent://tg/request/text-completion:{class}","response":"non-persistent://tg/response/text-completion:{class}"}},"flow":{"chunker:{id}":{"input":"persistent://tg/flow/chunk:{id}","output":"persistent://tg/flow/chunk-load:{id}"}},"interfaces":{"agent":{"request":"non-persistent://tg/request/agent:{id}","response":"non-persistent://tg/response/agent:{id}"}}}},"flow":{"type":"object","description":"Flow instance details (returned by get-flow)","properties":{"blueprint-name":{"type":"string","example":"document-rag"},"description":{"type":"string","example":"My document processing flow"},"parameters":{"type":"object","description":"Flow parameters (all values are strings)","additionalProperties":{"type":"string"},"example":{"model":"gpt-4","temperature":"0.7"}},"interfaces":{"type":"object","description":"Service interfaces with resolved queue names","additionalProperties":true,"example":{"agent":{"request":"non-persistent://tg/request/agent:my-flow","response":"non-persistent://tg/response/agent:my-flow"},"text-load":"persistent://tg/flow/text-document-load:my-flow"}}}},"description":{"type":"string","description":"Description"},"parameters":{"type":"object","description":"Parameters","additionalProperties":{"type":"string"}}}},"DocumentMetadata":{"type":"object","description":"Document metadata for library management","properties":{"url":{"type":"string","description":"Document URL or identifier","example":"https://example.com/document.pdf"},"title":{"type":"string","description":"Document title","example":"Example Document"},"author":{"type":"string","description":"Document author","example":"John Doe"},"date":{"type":"string","description":"Document date","example":"2024-01-15"},"metadata":{"type":"object","description":"Additional metadata fields","additionalProperties":true,"example":{"department":"Engineering","category":"Technical"}}}},"ProcessingMetadata":{"type":"object","description":"Processing metadata for library document processing","properties":{"flow":{"type":"string","description":"Flow ID","example":"my-flow"},"collection":{"type":"string","description":"Collection identifier","example":"default"},"status":{"type":"string","description":"Processing status","enum":["pending","processing","completed","failed"],"example":"completed"},"timestamp":{"type":"string","format":"date-time","description":"Processing timestamp","example":"2024-01-15T10:30:00Z"},"error":{"type":"string","description":"Error message if processing failed","example":"Failed to extract text from PDF"}}},"LibrarianRequest":{"type":"object","description":"Librarian service request for document library management.\n\nOperations: add-document, remove-document, list-documents,\nstart-processing, stop-processing, list-processing\n","required":["operation"],"properties":{"operation":{"type":"string","enum":["add-document","remove-document","list-documents","start-processing","stop-processing","list-processing"],"description":"Library operation:\n- `add-document`: Add document to library\n- `remove-document`: Remove document from library\n- `list-documents`: List documents in library\n- `start-processing`: Start processing library documents\n- `stop-processing`: Stop library processing\n- `list-processing`: List processing status\n"},"flow":{"type":"string","description":"Flow ID","example":"my-flow"},"collection":{"type":"string","description":"Collection identifier","default":"default","example":"default"},"user":{"type":"string","description":"User identifier","default":"trustgraph","example":"alice"},"document-id":{"type":"string","description":"Document identifier","example":"doc-123"},"processing-id":{"type":"string","description":"Processing task identifier","example":"proc-456"},"document-metadata":{"$ref":"#/components/schemas/DocumentMetadata"},"processing-metadata":{"$ref":"#/components/schemas/ProcessingMetadata"},"content":{"type":"string","description":"Document content (for add-document with inline content)","example":"This is the document content..."},"criteria":{"type":"array","description":"Search criteria for filtering documents","items":{"type":"object","required":["key","value","operator"],"properties":{"key":{"type":"string","description":"Metadata field name","example":"author"},"value":{"type":"string","description":"Value to match","example":"John Doe"},"operator":{"type":"string","enum":["eq","ne","gt","lt","contains"],"description":"Comparison operator","example":"eq"}}}}}},"LibrarianResponse":{"type":"object","description":"Librarian service response","properties":{"document-metadata":{"$ref":"#/components/schemas/DocumentMetadata"},"content":{"type":"string","description":"Document content"},"document-metadatas":{"type":"array","description":"List of documents (returned by list-documents)","items":{"$ref":"#/components/schemas/DocumentMetadata"}},"processing-metadatas":{"type":"array","description":"List of processing tasks (returned by list-processing)","items":{"$ref":"#/components/schemas/ProcessingMetadata"}}}},"RdfValue":{"type":"object","description":"RDF value - can be entity/URI or literal","required":["v","e"],"properties":{"v":{"type":"string","description":"Value (URI or literal text)","example":"https://example.com/entity1"},"e":{"type":"boolean","description":"True if entity/URI, false if literal","example":true}}},"Triple":{"type":"object","description":"RDF triple (subject-predicate-object)","required":["s","p","o"],"properties":{"s":{"$ref":"#/components/schemas/RdfValue","description":"Subject"},"p":{"$ref":"#/components/schemas/RdfValue","description":"Predicate"},"o":{"$ref":"#/components/schemas/RdfValue","description":"Object"}}},"KnowledgeRequest":{"type":"object","description":"Knowledge graph core management request.\n\nOperations: list-kg-cores, get-kg-core, put-kg-core, delete-kg-core,\nload-kg-core, unload-kg-core\n","required":["operation"],"properties":{"operation":{"type":"string","enum":["list-kg-cores","get-kg-core","put-kg-core","delete-kg-core","load-kg-core","unload-kg-core"],"description":"Knowledge core operation:\n- `list-kg-cores`: List knowledge cores for user\n- `get-kg-core`: Get knowledge core by ID\n- `put-kg-core`: Store triples and/or embeddings\n- `delete-kg-core`: Delete knowledge core by ID\n- `load-kg-core`: Load knowledge core into flow\n- `unload-kg-core`: Unload knowledge core from flow\n"},"user":{"type":"string","description":"User identifier (for list-kg-cores, put-kg-core, delete-kg-core)","default":"trustgraph","example":"alice"},"id":{"type":"string","description":"Knowledge core ID (for get, put, delete, load, unload)","example":"core-123"},"flow":{"type":"string","description":"Flow ID (for load-kg-core)","example":"my-flow"},"collection":{"type":"string","description":"Collection identifier (for load-kg-core)","default":"default","example":"default"},"triples":{"type":"object","description":"Triples to store (for put-kg-core)","required":["metadata","triples"],"properties":{"metadata":{"type":"object","required":["id","user","collection"],"properties":{"id":{"type":"string","description":"Knowledge core ID","example":"core-123"},"user":{"type":"string","description":"User identifier","example":"alice"},"collection":{"type":"string","description":"Collection identifier","example":"default"},"metadata":{"type":"array","description":"Metadata triples","items":{"$ref":"#/components/schemas/Triple"}}}},"triples":{"type":"array","description":"Knowledge triples","items":{"$ref":"#/components/schemas/Triple"}}}},"graph-embeddings":{"type":"object","description":"Graph embeddings to store (for put-kg-core)","required":["metadata","entities"],"properties":{"metadata":{"type":"object","required":["id","user","collection"],"properties":{"id":{"type":"string","description":"Knowledge core ID","example":"core-123"},"user":{"type":"string","description":"User identifier","example":"alice"},"collection":{"type":"string","description":"Collection identifier","example":"default"},"metadata":{"type":"array","description":"Metadata triples","items":{"$ref":"#/components/schemas/Triple"}}}},"entities":{"type":"array","description":"Entity embeddings","items":{"type":"object","required":["entity","vectors"],"properties":{"entity":{"$ref":"#/components/schemas/RdfValue"},"vectors":{"type":"array","description":"Embedding vectors","items":{"type":"number"},"example":[0.1,0.2,0.3]}}}}}}}},"KnowledgeResponse":{"type":"object","description":"Knowledge service response","properties":{"ids":{"type":"array","description":"List of knowledge core IDs (returned by list-kg-cores)","items":{"type":"string"},"example":["core-123","core-456"]},"triples":{"type":"object","description":"Triples data (returned by get-kg-core, streamed)","properties":{"metadata":{"type":"object","required":["id","user","collection"],"properties":{"id":{"type":"string","description":"Knowledge core ID","example":"core-123"},"user":{"type":"string","description":"User identifier","example":"alice"},"collection":{"type":"string","description":"Collection identifier","example":"default"},"metadata":{"type":"array","description":"Metadata triples","items":{"$ref":"#/components/schemas/Triple"}}}},"triples":{"type":"array","description":"Knowledge triples","items":{"$ref":"#/components/schemas/Triple"}}}},"graph-embeddings":{"type":"object","description":"Graph embeddings data (returned by get-kg-core, streamed)","properties":{"metadata":{"type":"object","required":["id","user","collection"],"properties":{"id":{"type":"string","description":"Knowledge core ID","example":"core-123"},"user":{"type":"string","description":"User identifier","example":"alice"},"collection":{"type":"string","description":"Collection identifier","example":"default"},"metadata":{"type":"array","description":"Metadata triples","items":{"$ref":"#/components/schemas/Triple"}}}},"entities":{"type":"array","description":"Entity embeddings","items":{"type":"object","required":["entity","vectors"],"properties":{"entity":{"$ref":"#/components/schemas/RdfValue"},"vectors":{"type":"array","description":"Embedding vectors","items":{"type":"number"},"example":[0.1,0.2,0.3]}}}}}},"eos":{"type":"boolean","description":"End of stream marker (for streaming responses)","example":true}}},"CollectionRequest":{"type":"object","description":"Collection management request.\n\nOperations: list-collections, update-collection, delete-collection\n","required":["operation"],"properties":{"operation":{"type":"string","enum":["list-collections","update-collection","delete-collection"],"description":"Collection operation:\n- `list-collections`: List collections for user\n- `update-collection`: Create or update collection metadata\n- `delete-collection`: Delete collection\n"},"user":{"type":"string","description":"User identifier","default":"trustgraph","example":"alice"},"collection":{"type":"string","description":"Collection identifier (for update, delete)","example":"research"},"timestamp":{"type":"string","description":"ISO timestamp","format":"date-time","example":"2024-01-15T10:30:00Z"},"name":{"type":"string","description":"Human-readable collection name (for update)","example":"Research Papers"},"description":{"type":"string","description":"Collection description (for update)","example":"Academic research papers on AI and ML"},"tags":{"type":"array","description":"Collection tags for organization (for update)","items":{"type":"string"},"example":["research","AI","academic"]},"tag-filter":{"type":"array","description":"Filter collections by tags (for list)","items":{"type":"string"},"example":["research"]},"limit":{"type":"integer","description":"Maximum number of results (for list)","default":0,"example":100}}},"CollectionResponse":{"type":"object","description":"Collection management response","properties":{"timestamp":{"type":"string","description":"ISO timestamp","format":"date-time","example":"2024-01-15T10:30:00Z"},"collections":{"type":"array","description":"List of collections (returned by list-collections)","items":{"type":"object","required":["user","collection"],"properties":{"user":{"type":"string","description":"User identifier","example":"alice"},"collection":{"type":"string","description":"Collection identifier","example":"research"},"name":{"type":"string","description":"Human-readable collection name","example":"Research Papers"},"description":{"type":"string","description":"Collection description","example":"Academic research papers on AI and ML"},"tags":{"type":"array","description":"Collection tags","items":{"type":"string"},"example":["research","AI","academic"]}}}}}},"AgentRequest":{"type":"object","description":"Agent service request - conversational AI agent that can reason and take actions.\n","required":["question"],"properties":{"question":{"type":"string","description":"User question or prompt for the agent","example":"What is the capital of France?"},"state":{"type":"string","description":"Agent state for continuation (optional, for multi-turn)","example":"agent-state-12345"},"group":{"type":"array","description":"Group identifiers for collaborative agents (optional)","items":{"type":"string"},"example":["research-team"]},"history":{"type":"array","description":"Conversation history (optional, list of previous agent steps)","items":{"type":"object","properties":{"thought":{"type":"string","description":"Agent's reasoning","example":"I need to search for information about Paris"},"action":{"type":"string","description":"Action taken","example":"search"},"arguments":{"type":"object","description":"Action arguments","additionalProperties":{"type":"string"},"example":{"query":"capital of France"}},"observation":{"type":"string","description":"Result of the action","example":"Paris is the capital of France"},"user":{"type":"string","description":"User context for this step","example":"alice"}}}},"user":{"type":"string","description":"User identifier for multi-tenancy","default":"trustgraph","example":"alice"},"streaming":{"type":"boolean","description":"Enable streaming response delivery","default":false,"example":true}}},"AgentResponse":{"type":"object","description":"Agent service response (streaming or legacy format)","properties":{"chunk-type":{"type":"string","description":"Type of streaming chunk (streaming mode only)","enum":["thought","action","observation","answer","error"],"example":"answer"},"content":{"type":"string","description":"Chunk content (streaming mode only)","example":"Paris is the capital of France."},"end-of-message":{"type":"boolean","description":"Current chunk type is complete (streaming mode)","default":false,"example":true},"end-of-dialog":{"type":"boolean","description":"Entire agent dialog is complete (streaming mode)","default":false,"example":true},"answer":{"type":"string","description":"Final answer (legacy non-streaming format)","example":"Paris is the capital of France."},"thought":{"type":"string","description":"Agent reasoning (legacy format)","example":"I should search for information about the capital of France."},"observation":{"type":"string","description":"Observation from actions (legacy format)","example":"Found information about Paris being the capital."},"error":{"type":"object","description":"Error details if request failed","properties":{"message":{"type":"string","description":"Error message","example":"Failed to process agent request"},"code":{"type":"string","description":"Error code","example":"AGENT_ERROR"}}}}},"DocumentRagRequest":{"type":"object","description":"Document RAG (Retrieval-Augmented Generation) query request.\nSearches document embeddings and generates answer using retrieved context.\n","required":["query"],"properties":{"query":{"type":"string","description":"User query or question","example":"What are the key findings in the research papers?"},"user":{"type":"string","description":"User identifier for multi-tenancy","default":"trustgraph","example":"alice"},"collection":{"type":"string","description":"Collection to search within","default":"default","example":"research"},"doc-limit":{"type":"integer","description":"Maximum number of documents to retrieve","default":20,"minimum":1,"maximum":100,"example":10},"streaming":{"type":"boolean","description":"Enable streaming response delivery","default":false,"example":true}}},"DocumentRagResponse":{"type":"object","description":"Document RAG response","properties":{"response":{"type":"string","description":"Generated response based on retrieved documents","example":"The research papers found three key findings..."},"end-of-stream":{"type":"boolean","description":"Indicates streaming is complete (streaming mode)","default":false,"example":true},"error":{"type":"object","description":"Error details if request failed","properties":{"message":{"type":"string","description":"Error message","example":"Failed to retrieve documents"},"type":{"type":"string","description":"Error type","example":"RETRIEVAL_ERROR"}}}}},"GraphRagRequest":{"type":"object","description":"Graph RAG (Retrieval-Augmented Generation) query request.\nSearches knowledge graph and generates answer using retrieved subgraph.\n","required":["query"],"properties":{"query":{"type":"string","description":"User query or question","example":"What connections exist between quantum physics and computer science?"},"user":{"type":"string","description":"User identifier for multi-tenancy","default":"trustgraph","example":"alice"},"collection":{"type":"string","description":"Collection to search within","default":"default","example":"research"},"entity-limit":{"type":"integer","description":"Maximum number of entities to retrieve","default":50,"minimum":1,"maximum":200,"example":30},"triple-limit":{"type":"integer","description":"Maximum number of triples to retrieve per entity","default":30,"minimum":1,"maximum":100,"example":20},"max-subgraph-size":{"type":"integer","description":"Maximum total subgraph size (triples)","default":1000,"minimum":10,"maximum":5000,"example":500},"max-path-length":{"type":"integer","description":"Maximum path length for graph traversal","default":2,"minimum":1,"maximum":5,"example":3},"streaming":{"type":"boolean","description":"Enable streaming response delivery","default":false,"example":true}}},"GraphRagResponse":{"type":"object","description":"Graph RAG response","properties":{"response":{"type":"string","description":"Generated response based on retrieved knowledge graph","example":"Quantum physics and computer science intersect in quantum computing..."},"end-of-stream":{"type":"boolean","description":"Indicates streaming is complete (streaming mode)","default":false,"example":true},"error":{"type":"object","description":"Error details if request failed","properties":{"message":{"type":"string","description":"Error message","example":"Failed to retrieve graph data"},"type":{"type":"string","description":"Error type","example":"GRAPH_ERROR"}}}}},"TextCompletionRequest":{"type":"object","description":"Text completion request - direct LLM completion without RAG.\n","required":["system","prompt"],"properties":{"system":{"type":"string","description":"System prompt that sets behavior and context for the LLM","example":"You are a helpful assistant that provides concise answers."},"prompt":{"type":"string","description":"User prompt or question","example":"Explain the concept of recursion in programming."},"streaming":{"type":"boolean","description":"Enable streaming response delivery","default":false,"example":true}}},"TextCompletionResponse":{"type":"object","description":"Text completion response","required":["response"],"properties":{"response":{"type":"string","description":"Generated text response","example":"Recursion is a programming technique where a function calls itself..."},"in-token":{"type":"integer","description":"Number of input tokens consumed","example":45},"out-token":{"type":"integer","description":"Number of output tokens generated","example":128},"model":{"type":"string","description":"Model used for completion","example":"gpt-4"},"end-of-stream":{"type":"boolean","description":"Indicates streaming is complete (streaming mode)","default":false,"example":true}}},"PromptRequest":{"type":"object","description":"Prompt service request - template-based text generation.\n\nExecute a stored prompt template with variable substitution.\n","required":["id"],"properties":{"id":{"type":"string","description":"Prompt template ID (stored in config)","example":"summarize-document"},"terms":{"type":"object","description":"Template variables as key-value pairs (values are JSON strings)","additionalProperties":{"type":"string"},"example":{"document":"\"This is the document text to summarize...\"","max_length":"\"200\""}},"variables":{"type":"object","description":"Alternative to terms - variables as native JSON values (auto-converted)","additionalProperties":{},"example":{"document":"This is the document text to summarize...","max_length":200}},"streaming":{"type":"boolean","description":"Enable streaming response delivery","default":false,"example":true}}},"PromptResponse":{"type":"object","description":"Prompt service response","properties":{"text":{"type":"string","description":"Generated text response","example":"This document discusses quantum computing and its applications..."},"object":{"type":"string","description":"Structured response (JSON string) if prompt produces objects","example":"{\"summary\": \"Quantum computing overview\", \"key_points\": [...]}"},"end-of-stream":{"type":"boolean","description":"Indicates streaming is complete (streaming mode)","default":false,"example":true}}},"EmbeddingsRequest":{"type":"object","description":"Embeddings request - convert text to vector embedding.\n","required":["text"],"properties":{"text":{"type":"string","description":"Text to convert to embedding vector","example":"Quantum computing uses quantum mechanics principles for computation."}}},"EmbeddingsResponse":{"type":"object","description":"Embeddings response","required":["vectors"],"properties":{"vectors":{"type":"array","description":"Embedding vector (array of floats)","items":{"type":"number"},"example":[0.023,-0.142,0.089,0.234,-0.067,0.156]}}},"McpToolRequest":{"type":"object","description":"MCP tool request - execute Model Context Protocol tool.\n","required":["name"],"properties":{"name":{"type":"string","description":"Tool name to execute","example":"search"},"parameters":{"type":"object","description":"Tool parameters (JSON object, auto-converted to string internally)","additionalProperties":{},"example":{"query":"quantum computing","limit":10}}}},"McpToolResponse":{"type":"object","description":"MCP tool response","properties":{"text":{"type":"string","description":"Text response from tool","example":"Found 10 results for quantum computing..."},"object":{"type":"object","description":"Structured response from tool (JSON object)","additionalProperties":{},"example":{"results":[{"title":"Introduction to Quantum Computing","url":"https://example.com/qc-intro"}]}}}},"TriplesQueryRequest":{"type":"object","description":"Triples query request - query knowledge graph by subject/predicate/object pattern.\n","properties":{"s":{"$ref":"#/components/schemas/RdfValue","description":"Subject filter (optional)"},"p":{"$ref":"#/components/schemas/RdfValue","description":"Predicate filter (optional)"},"o":{"$ref":"#/components/schemas/RdfValue","description":"Object filter (optional)"},"limit":{"type":"integer","description":"Maximum number of triples to return","default":10000,"minimum":1,"maximum":100000,"example":100},"user":{"type":"string","description":"User identifier","default":"trustgraph","example":"alice"},"collection":{"type":"string","description":"Collection to query","default":"default","example":"research"}}},"TriplesQueryResponse":{"type":"object","description":"Triples query response","required":["response"],"properties":{"response":{"type":"array","description":"Matching triples","items":{"$ref":"#/components/schemas/Triple"}}}},"ObjectsQueryRequest":{"type":"object","description":"Objects query request - GraphQL query over knowledge graph.\n","required":["query"],"properties":{"query":{"type":"string","description":"GraphQL query string","example":"query GetPerson($id: ID!) {\n person(id: $id) {\n name\n email\n knows {\n name\n }\n }\n}\n"},"variables":{"type":"object","description":"GraphQL query variables","additionalProperties":{"type":"string"},"example":{"id":"https://example.com/person/alice"}},"operation-name":{"type":"string","description":"Operation name (for multi-operation documents)","example":"GetPerson"},"user":{"type":"string","description":"User identifier","default":"trustgraph","example":"alice"},"collection":{"type":"string","description":"Collection to query","default":"default","example":"research"}}},"ObjectsQueryResponse":{"type":"object","description":"Objects query response (GraphQL format)","properties":{"data":{"description":"GraphQL response data (JSON object or null)","oneOf":[{"type":"object","additionalProperties":{}},{"type":"null"}],"example":{"person":{"name":"Alice","email":"alice@example.com","knows":[{"name":"Bob"},{"name":"Carol"}]}}},"errors":{"type":"array","description":"GraphQL field-level errors","items":{"type":"object","properties":{"message":{"type":"string","description":"Error message","example":"Cannot query field 'age' on type 'Person'"},"path":{"type":"array","description":"Path to error location","items":{"type":"string"},"example":["person","age"]},"extensions":{"type":"object","description":"Additional error metadata","additionalProperties":{"type":"string"}}}}},"extensions":{"type":"object","description":"Query metadata (execution time, etc.)","additionalProperties":{"type":"string"},"example":{"execution_time_ms":"42"}},"error":{"type":"object","description":"System-level error (connection, timeout, etc.)","properties":{"type":{"type":"string","example":"TIMEOUT_ERROR"},"message":{"type":"string","example":"Query execution timeout"}}}}},"NlpQueryRequest":{"type":"object","description":"NLP query request - convert natural language question to structured query.\n","required":["question"],"properties":{"question":{"type":"string","description":"Natural language question","example":"Who does Alice know that works in engineering?"},"max-results":{"type":"integer","description":"Maximum results to return when query is executed","default":100,"minimum":1,"maximum":10000,"example":50}}},"NlpQueryResponse":{"type":"object","description":"NLP query response","required":["graphql-query","variables"],"properties":{"graphql-query":{"type":"string","description":"Generated GraphQL query","example":"query GetConnections($person: ID!) {\n person(id: $person) {\n knows {\n name\n worksFor { department }\n }\n }\n}\n"},"variables":{"type":"object","description":"Query variables","additionalProperties":{"type":"string"},"example":{"person":"https://example.com/person/alice"}},"detected-schemas":{"type":"array","description":"Detected schema types used in query","items":{"type":"string"},"example":["Person","Organization"]},"confidence":{"type":"number","description":"Confidence score for query generation (0.0-1.0)","minimum":0,"maximum":1,"example":0.87},"error":{"type":"object","description":"Error if query generation failed","properties":{"type":{"type":"string","example":"PARSE_ERROR"},"message":{"type":"string","example":"Could not understand question structure"}}}}},"StructuredQueryRequest":{"type":"object","description":"Structured query request - natural language question with automatic execution.\n\nCombines NLP query generation and execution in one call.\n","required":["question"],"properties":{"question":{"type":"string","description":"Natural language question","example":"Who does Alice know that works in engineering?"},"user":{"type":"string","description":"User identifier","default":"trustgraph","example":"alice"},"collection":{"type":"string","description":"Collection to query","default":"default","example":"research"}}},"StructuredQueryResponse":{"type":"object","description":"Structured query response","properties":{"data":{"description":"Query results (JSON object or null)","oneOf":[{"type":"object","additionalProperties":{}},{"type":"null"}],"example":{"person":{"name":"Alice","knows":[{"name":"Bob","worksFor":{"name":"Acme Corp","department":"Engineering"}},{"name":"Carol","worksFor":{"name":"Tech Inc","department":"Engineering"}}]}}},"errors":{"type":"array","description":"Query errors (array of error strings)","items":{"type":"string"},"example":["Could not resolve field 'age' on type 'Person'"]},"error":{"type":"object","description":"System-level error","properties":{"type":{"type":"string","example":"QUERY_GENERATION_ERROR"},"message":{"type":"string","example":"Failed to generate query from question"}}}}},"StructuredDiagRequest":{"type":"object","description":"Structured data diagnosis request - analyze and understand structured data formats.\n\nOperations: detect-type, generate-descriptor, diagnose, schema-selection\n","required":["operation","sample"],"properties":{"operation":{"type":"string","enum":["detect-type","generate-descriptor","diagnose","schema-selection"],"description":"Diagnosis operation:\n- `detect-type`: Identify data format (CSV, JSON, XML)\n- `generate-descriptor`: Create schema descriptor for data\n- `diagnose`: Full analysis (detect + generate descriptor)\n- `schema-selection`: Find matching schemas for data\n"},"sample":{"type":"string","description":"Data sample to analyze (text content)","example":"name,age,email\nAlice,30,alice@example.com\nBob,25,bob@example.com\n"},"type":{"type":"string","description":"Data type (required for generate-descriptor)","enum":["csv","json","xml"],"example":"csv"},"schema-name":{"type":"string","description":"Target schema name for descriptor generation (optional)","example":"person-records"},"options":{"type":"object","description":"Format-specific options (e.g., CSV delimiter)","additionalProperties":{"type":"string"},"example":{"delimiter":",","has_header":"true"}}}},"StructuredDiagResponse":{"type":"object","description":"Structured data diagnosis response","required":["operation"],"properties":{"operation":{"type":"string","description":"Operation that was performed","example":"diagnose"},"detected-type":{"type":"string","description":"Detected data format (for detect-type/diagnose)","enum":["csv","json","xml"],"example":"csv"},"confidence":{"type":"number","description":"Detection confidence score (0.0-1.0)","minimum":0,"maximum":1,"example":0.95},"descriptor":{"type":"object","description":"Generated schema descriptor (for generate-descriptor/diagnose)","additionalProperties":{},"example":{"schema_name":"person-records","type":"csv","fields":[{"name":"name","type":"string"},{"name":"age","type":"integer"},{"name":"email","type":"string"}]}},"metadata":{"type":"object","description":"Additional analysis metadata","additionalProperties":{"type":"string"},"example":{"field_count":"3","record_count":"2","has_header":"true"}},"schema-matches":{"type":"array","description":"Matching schema IDs (for schema-selection)","items":{"type":"string"},"example":["person-schema-v1","contact-schema-v2"]}}},"GraphEmbeddingsQueryRequest":{"type":"object","description":"Graph embeddings query request - find similar entities by vector similarity.\n","required":["vectors"],"properties":{"vectors":{"type":"array","description":"Query embedding vector","items":{"type":"number"},"example":[0.023,-0.142,0.089,0.234,-0.067,0.156]},"limit":{"type":"integer","description":"Maximum number of entities to return","default":10,"minimum":1,"maximum":1000,"example":20},"user":{"type":"string","description":"User identifier","default":"trustgraph","example":"alice"},"collection":{"type":"string","description":"Collection to search","default":"default","example":"research"}}},"GraphEmbeddingsQueryResponse":{"type":"object","description":"Graph embeddings query response","properties":{"entities":{"type":"array","description":"Similar entities (RDF values)","items":{"$ref":"#/components/schemas/RdfValue"},"example":[{"v":"https://example.com/person/alice","e":true},{"v":"https://example.com/person/bob","e":true},{"v":"https://example.com/concept/quantum","e":true}]}}},"DocumentEmbeddingsQueryRequest":{"type":"object","description":"Document embeddings query request - find similar documents by vector similarity.\n","required":["vectors"],"properties":{"vectors":{"type":"array","description":"Query embedding vector","items":{"type":"number"},"example":[0.023,-0.142,0.089,0.234,-0.067,0.156]},"limit":{"type":"integer","description":"Maximum number of document chunks to return","default":10,"minimum":1,"maximum":1000,"example":20},"user":{"type":"string","description":"User identifier","default":"trustgraph","example":"alice"},"collection":{"type":"string","description":"Collection to search","default":"default","example":"research"}}},"DocumentEmbeddingsQueryResponse":{"type":"object","description":"Document embeddings query response","properties":{"chunks":{"type":"array","description":"Similar document chunks (text strings)","items":{"type":"string"},"example":["Quantum computing uses quantum mechanics principles for computation...","Neural networks are computing systems inspired by biological neurons...","Machine learning algorithms learn patterns from data..."]}}},"TextLoadRequest":{"type":"object","description":"Text load request - load text document into processing pipeline.\n\nFire-and-forget operation (no response).\n","required":["text"],"properties":{"text":{"type":"string","description":"Text content (base64 encoded)","format":"byte","example":"VGhpcyBpcyB0aGUgZG9jdW1lbnQgdGV4dC4uLg=="},"id":{"type":"string","description":"Document identifier","example":"doc-123"},"user":{"type":"string","description":"User identifier","default":"trustgraph","example":"alice"},"collection":{"type":"string","description":"Collection for document","default":"default","example":"research"},"charset":{"type":"string","description":"Text character encoding","default":"utf-8","example":"utf-8"},"metadata":{"type":"array","description":"Document metadata as RDF triples","items":{"$ref":"#/components/schemas/Triple"}}}},"DocumentLoadRequest":{"type":"object","description":"Document load request - load binary document (PDF, etc.) into processing pipeline.\n\nFire-and-forget operation (no response).\n","required":["data"],"properties":{"data":{"type":"string","description":"Document data (base64 encoded)","format":"byte","example":"JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9UeXBlL..."},"id":{"type":"string","description":"Document identifier","example":"doc-456"},"user":{"type":"string","description":"User identifier","default":"trustgraph","example":"alice"},"collection":{"type":"string","description":"Collection for document","default":"default","example":"research"},"metadata":{"type":"array","description":"Document metadata as RDF triples","items":{"$ref":"#/components/schemas/Triple"}}}}},"responses":{"Unauthorized":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized"}}}}}},"Error":{"description":"Error response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"oneOf":[{"type":"string","description":"Simple error message"},{"$ref":"#/components/schemas/ErrorObject","description":"Structured error with type and message"}]}}},"examples":{"simpleError":{"summary":"Simple error message","value":{"error":"Invalid flow ID"}},"structuredError":{"summary":"Structured error","value":{"error":{"type":"gateway-error","message":"Timeout"}}}}}}}}}}},"searchIndex":{"store":["section/Overview","section/Service-Types","section/Authentication","section/Field-Naming","section/Error-Responses","tag/Config","tag/Config/operation/configService","tag/Flow","tag/Flow/operation/flowService","tag/Librarian","tag/Librarian/operation/librarianService","tag/Knowledge","tag/Knowledge/operation/knowledgeService","tag/Collection","tag/Collection/operation/collectionManagementService","tag/Flow-Services","tag/Flow-Services/operation/agentService","tag/Flow-Services/operation/documentRagService","tag/Flow-Services/operation/graphRagService","tag/Flow-Services/operation/textCompletionService","tag/Flow-Services/operation/promptService","tag/Flow-Services/operation/embeddingsService","tag/Flow-Services/operation/mcpToolService","tag/Flow-Services/operation/triplesQueryService","tag/Flow-Services/operation/objectsQueryService","tag/Flow-Services/operation/nlpQueryService","tag/Flow-Services/operation/structuredQueryService","tag/Flow-Services/operation/structuredDiagService","tag/Flow-Services/operation/graphEmbeddingsQueryService","tag/Flow-Services/operation/documentEmbeddingsQueryService","tag/Flow-Services/operation/textLoadService","tag/Flow-Services/operation/documentLoadService","tag/ImportExport","tag/ImportExport/operation/importCore","tag/ImportExport/operation/exportCore","tag/WebSocket","tag/WebSocket/operation/websocketConnection","tag/Metrics","tag/Metrics/operation/getMetrics","tag/Metrics/operation/getMetricsPath"],"index":{"version":"2.3.9","fields":["title","description"],"fieldVectors":[["title/0",[0,0.938]],["description/0",[1,2.745,2,2.321,3,3.019,4,0.329,5,1.861,6,0.762,7,1.737,8,1.873,9,1.435,10,0.947,11,2.321,12,2.15,13,3.362,14,2.745,15,1.861,16,1.42,17,1.737,18,1.342,19,2.745,20,1.998,21,3.822,22,2.15,23,1.244,24,1.737,25,1.244,26,1.861,27,1.998,28,2.745,29,3.362,30,2.321]],["title/1",[6,0.508,31,1.414]],["description/1",[3,3.356,4,0.36,5,1.58,6,0.677,7,1.475,8,1.882,9,1.442,10,1.053,12,1.825,13,2.855,14,2.33,15,1.58,18,1.209,19,2.33,20,1.696,23,1.056,25,1.056,32,3.838,33,2.137,34,1.579,35,3.838,36,1.971,37,2.563,38,2.137,39,2.33,40,0.862,41,0.923,42,1.378,43,3.245,44,1.475,45,1.289,46,2.137,47,3.838,48,2.33,49,2.855,50,2.137,51,3.245,52,2.855,53,2.855,54,0.551,55,1.58,56,3.245,57,3.245,58,1.696,59,2.563,60,2.563,61,3.245,62,3.245,63,3.245]],["title/2",[64,3.21]],["description/2",[1,2.964,4,0.304,20,2.158,64,3.903,65,4.347,66,3.482,67,4.941,68,4.882,69,3.26,70,3.253,71,2.322,72,4.347,73,4.128,74,2.964,75,3.631,76,4.128]],["title/3",[77,2.344,78,2.557]],["description/3",[77,2.971,79,2.359,80,0.898,81,5.337,82,5.337,83,5.337,84,4.513,85,2.971]],["title/4",[86,2.162,87,1.084]],["description/4",[4,0.35,31,1.722,33,2.855,79,2.267,86,3.089,88,1.32,89,1.32,90,4.336,91,2.267,92,4.336]],["title/5",[36,2.468]],["description/5",[5,2.25,6,0.66,7,2.1,9,1.406]],["title/6",[6,0.508,7,1.618]],["description/6",[4,0.359,6,0.662,7,2.403,8,2.203,9,1.304,17,1.211,20,1.944,24,1.211,30,1.618,31,2.006,36,2.601,38,1.754,46,2.82,50,3.211,66,2.82,71,2.092,80,0.74,85,1.754,93,2.664,94,3.719,95,1.811,96,2.104,97,1.058,98,2.258,99,5.066,100,2.67,101,2.344,102,1.058,103,3.151,104,3.151,105,1.913,106,1.913,107,1.754,108,2.937,109,3.662,110,3.151,111,2.092,112,2.664,113,2.664,114,3.151,115,1.913,116,3.151,117,3.151,118,3.151,119,1.913,120,1.754,121,1.754,122,1.754,123,2.664,124,2.664,125,2.664,126,2.664,127,2.104]],["title/7",[8,1.614]],["description/7",[5,2.224,6,0.652,8,1.813,9,1.39,37,3.607,38,3.006]],["title/8",[8,1.133,9,0.868,37,2.253,38,1.878]],["description/8",[4,0.348,6,0.633,7,1.845,8,2.215,9,1.235,20,2.456,24,1.576,30,2.465,31,0.959,34,0.897,36,2.106,38,3.552,46,3.395,71,1.358,78,1.734,80,0.69,95,2.288,97,0.959,98,2.106,102,0.959,105,2.491,106,1.734,107,2.672,108,2.74,109,3.711,111,1.358,120,2.672,122,1.59,123,2.415,124,2.415,125,2.415,126,2.415,127,1.907,128,2.856,129,1.907,130,2.415,131,1.734,132,4.8,133,4.102,134,2.856,135,0.959,136,2.856,137,2.856,138,0.959,139,1.734,140,1.097,141,2.856,142,1.59,143,2.856,144,2.415,145,2.856,146,5.247,147,2.856,148,2.415,149,2.856,150,2.124,151,2.856,152,2.124,153,2.415,154,2.856,155,1.907,156,2.856,157,2.415,158,1.025,159,2.124,160,2.856,161,2.856,162,1.907,163,1.176,164,2.856,165,2.856,166,2.124,167,2.856]],["title/9",[39,2.918]],["description/9",[5,2.237,6,0.656,9,1.398,12,2.584,40,1.22]],["title/10",[9,0.964,12,1.782,40,0.842]],["description/10",[4,0.348,6,0.424,8,1.591,9,1.22,12,3.053,24,1.35,39,2.134,40,1.501,45,1.591,54,0.504,72,2.614,85,1.956,98,2.754,129,2.347,144,2.971,150,2.614,168,4.007,169,3.525,170,1.804,171,1.856,172,2.614,173,4.739,174,2.347,175,3.525,176,4.739,177,3.165,178,3.514,179,2.614,180,2.614,181,3.165,182,3.514,183,3.989,184,2.971,185,3.514,186,1.35,187,3.514,188,1.553,189,3.514,190,1.35,191,3.514,192,2.614,193,2.614,194,2.347,195,3.514,196,3.514,197,3.514,198,2.614,199,3.514]],["title/11",[10,1.007]],["description/11",[5,2.224,6,0.652,9,1.39,10,1.131,41,1.299,42,1.939]],["title/12",[9,0.868,10,0.707,41,0.812,42,1.211]],["description/12",[4,0.343,8,1.399,9,0.751,10,1.327,11,2.14,17,1.122,18,1.402,20,1.291,23,1.542,24,1.601,25,1.65,26,1.202,41,1.348,42,2.324,44,1.867,45,0.98,46,2.32,52,2.172,54,0.419,58,1.291,87,1.072,88,1.072,91,2.148,98,1.499,102,0.98,105,1.773,106,1.773,108,2.783,111,1.982,119,1.773,130,2.469,131,1.773,135,0.98,138,0.98,155,1.95,163,1.202,169,3.1,172,2.172,174,1.95,188,2.343,200,2.919,201,2.469,202,1.499,203,2.919,204,1.291,205,1.773,206,1.982,207,2.919,208,1.291,209,4.167,210,3.1,211,2.148,212,1.389,213,1.982,214,2.172,215,3.524,216,2.469,217,2.919,218,2.919,219,2.919,220,2.919,221,2.469,222,2.919,223,4.167,224,2.172,225,1.95,226,2.919,227,2.919,228,2.469,229,1.499,230,1.625,231,1.122,232,2.469,233,2.919]],["title/13",[44,1.847]],["description/13",[5,2.237,6,0.656,9,1.398,44,2.087,45,1.824]],["title/14",[9,0.964,44,1.439,45,1.258]],["description/14",[4,0.35,9,0.901,10,1.121,23,1.301,24,1.345,39,2.125,40,1.202,42,1.697,44,2.566,45,2.01,70,1.949,78,3.25,88,0.901,98,1.797,105,2.87,106,2.87,108,3.157,119,2.87,131,2.87,162,2.338,163,1.441,169,2.604,174,3.157,175,3.516,186,1.345,188,2.089,190,1.345,201,2.96,206,2.726,208,1.547,221,2.96,228,2.96,234,3.5,235,2.604,236,3.5,237,1.441,238,3.5,239,3.5,240,3.5,241,5.352,242,3.5,243,3.5,244,2.125,245,1.441,246,3.5,247,2.604,248,2.96,249,3.5,250,2.96,251,3.5]],["title/15",[6,0.508,8,1.414]],["description/15",[6,0.656,8,1.824,46,3.024,225,3.628,252,5.432]],["title/16",[4,0.147,6,0.34,14,1.709,48,1.709,253,2.094,254,1.88]],["description/16",[0,0.575,2,2.155,4,0.357,6,0.356,14,2.548,17,1.877,27,1.855,31,0.99,48,3.416,71,1.402,76,4.131,80,0.496,86,2.155,87,1.448,89,0.759,91,1.303,150,2.193,163,1.728,171,0.867,179,2.193,190,1.133,205,1.79,206,1.402,208,1.303,211,2.486,213,1.402,229,2.509,230,1.641,231,1.133,235,2.193,237,1.214,245,1.214,253,3.96,254,3.555,255,2.548,256,2.72,257,4.196,258,4.944,259,1.969,260,1.969,261,2.948,262,4.501,263,2.493,264,2.948,265,3.232,266,1.303,267,2.493,268,2.948,269,4.886,270,4.196,271,4.131,272,2.948,273,1.402,274,2.493,275,2.493,276,2.948,277,2.948,278,2.948,279,5.323,280,2.948,281,2.493,282,2.493,283,2.948,284,2.948,285,2.948,286,2.948,287,2.193,288,1.514,289,2.948,290,2.948,291,2.493,292,2.493]],["title/17",[4,0.147,15,1.159,40,0.912,102,0.945,293,0.884]],["description/17",[0,0.613,2,1.612,4,0.347,7,1.207,15,1.806,17,1.207,18,1.317,27,1.939,34,0.987,40,1.445,44,1.686,54,0.726,74,1.907,80,0.738,84,3.71,87,1.129,88,0.808,91,1.939,95,1.293,96,2.097,100,1.907,102,1.934,135,1.473,138,1.473,139,1.907,140,1.207,170,1.612,171,0.923,186,1.207,206,1.493,211,2.235,212,1.493,213,1.493,229,2.253,230,1.748,231,1.686,247,2.336,265,3.498,273,1.493,288,1.612,293,1.72,294,2.655,295,1.748,296,1.907,297,2.664,298,2.097,299,2.253,300,2.253,301,3.14,302,3.71,303,2.336,304,3.14,305,2.097,306,2.336,307,2.336,308,1.388,309,2.097,310,1.612,311,2.097,312,2.336,313,2.655,314,3.14,315,2.655,316,2.655,317,2.655,318,2.336,319,2.336,320,2.336,321,3.14,322,2.655,323,3.14,324,3.14,325,3.14]],["title/18",[4,0.135,10,0.545,15,1.07,41,0.921,102,0.873,293,0.817]],["description/18",[0,0.507,2,1.333,4,0.346,10,0.802,15,1.576,17,0.998,18,0.625,19,1.577,25,0.714,26,2.304,27,2.217,41,1.429,54,0.72,74,1.577,80,0.765,87,0.985,88,0.668,91,1.692,95,1.069,96,1.734,102,1.685,129,1.734,135,1.285,138,1.527,139,3.046,140,0.998,142,2.531,158,1.801,170,1.333,171,0.763,186,0.998,190,0.998,211,2.009,212,1.235,213,1.821,225,1.734,230,1.446,231,1.471,237,1.069,244,2.76,247,1.931,254,2.556,255,1.577,265,3.248,273,1.235,288,1.333,293,1.681,294,2.196,295,2.131,296,1.577,300,2.334,308,1.148,309,1.734,310,1.333,311,1.734,312,1.931,313,2.196,315,2.196,316,2.196,320,2.847,326,1.692,327,5.017,328,2.596,329,2.196,330,2.556,331,2.596,332,3.236,333,2.324,334,2.196,335,3.827,336,2.596,337,2.196,338,2.596,339,3.827,340,2.596,341,2.596,342,2.196,343,2.596,344,2.596,345,2.596,346,2.596,347,2.596,348,2.596,349,2.196,350,2.596,351,2.596,352,2.596,353,2.596,354,2.596,355,2.596,356,2.596,357,2.596,358,2.596,359,1.069,360,2.596,361,3.827,362,2.596,363,2.596,364,2.596,365,2.596,366,1.734,367,2.596,368,1.577,369,2.596]],["title/19",[4,0.147,16,0.884,17,1.082,293,0.884,300,1.445,370,2.094]],["description/19",[0,0.57,2,1.499,4,0.359,10,1.018,16,1.309,17,1.867,19,2.531,27,2.148,40,0.656,41,0.702,49,2.172,50,3.12,51,2.469,66,3.12,70,1.625,71,1.389,74,2.531,75,2.172,79,1.291,80,0.943,87,1.364,88,0.751,89,0.751,91,2.148,94,2.469,97,1.78,100,2.951,102,0.98,121,2.32,142,1.625,170,1.499,180,2.172,198,2.172,206,1.389,211,2.148,212,1.389,213,1.389,230,1.625,231,1.601,254,1.95,256,1.625,273,1.389,288,1.499,293,1.831,295,1.625,300,2.495,302,2.469,311,1.95,329,2.469,366,1.95,370,3.1,371,2.919,372,2.469,373,2.919,374,2.919,375,2.172,376,2.469,377,2.919,378,2.919,379,2.919,380,1.95,381,2.919,382,2.919,383,2.469,384,2.919,385,2.919,386,2.919,387,2.172,388,1.773,389,2.469,390,2.919,391,1.389,392,2.919,393,2.919,394,2.919,395,3.524,396,2.919,397,2.919,398,2.919,399,2.919]],["title/20",[4,0.16,6,0.371,50,1.709,293,0.964,400,3.069]],["description/20",[0,0.554,4,0.362,6,0.577,7,1.091,16,1.913,23,0.781,26,1.169,31,0.953,34,0.892,36,1.457,40,1.245,50,3.547,55,2.154,69,3.973,77,2.274,79,2.313,80,0.477,87,1.051,97,1.606,111,2.275,113,4.687,127,1.896,135,0.953,138,0.953,158,1.466,162,1.896,188,1.254,190,1.091,198,3.038,211,1.805,212,1.35,214,2.111,231,1.091,237,1.169,266,1.254,273,1.942,300,1.457,309,1.896,359,1.169,401,1.723,402,4.783,403,2.838,404,2.838,405,4.084,406,2.838,407,1.942,408,2.838,409,2.838,410,1.723,411,4.084,412,4.783,413,2.4,414,2.4,415,2.4,416,4.084,417,2.111,418,2.727,419,4.084,420,4.084,421,2.838,422,2.111,423,2.4,424,2.4,425,2.4,426,2.111,427,2.838,428,2.838]],["title/21",[4,0.16,16,0.964,18,0.738,204,1.357,253,2.283]],["description/21",[0,0.637,1,1.981,4,0.354,6,0.394,11,1.676,15,1.344,16,1.749,18,1.405,22,1.552,24,1.254,33,1.817,34,1.416,40,1.012,54,0.647,59,2.179,60,2.179,80,0.868,97,1.096,102,1.096,115,3.134,120,1.817,171,0.959,186,1.254,204,2.582,235,2.427,266,1.442,273,1.552,288,1.676,297,3.134,298,3.717,299,2.999,305,3.447,326,1.442,359,1.344,368,1.981,388,1.981,425,2.759,426,2.427,429,3.263,430,3.263,431,3.263,432,2.759,433,2.759,434,2.427,435,4.506,436,1.817,437,3.263,438,2.179,439,2.427,440,1.817,441,3.263,442,3.263,443,3.263,444,5.841,445,3.263,446,3.263,447,4.506,448,3.263,449,3.263,450,3.263,451,3.263,452,3.263,453,2.759,454,1.981,455,2.759,456,3.263]],["title/22",[4,0.126,27,1.067,115,1.466,401,1.466,457,2.042,458,2.697,459,1.466]],["description/22",[0,0.525,1,2.384,2,1.38,4,0.354,6,0.474,7,1.033,16,1.457,20,1.188,23,1.08,24,1.509,27,1.188,34,1.234,40,0.604,48,3.294,54,0.564,55,1.617,78,2.384,79,1.735,80,0.661,87,0.692,88,1.01,89,1.01,95,1.91,97,0.903,101,2,102,0.903,115,1.632,119,1.632,135,0.903,138,0.903,140,1.033,158,1.831,159,2,166,2.92,177,1.795,205,1.632,237,1.107,245,1.91,258,2.273,266,1.188,291,2.273,293,0.845,297,3.294,300,1.38,308,1.188,326,1.188,359,1.107,372,2.273,375,2,401,2.816,422,2,457,4.791,458,4.967,459,2.816,460,4.638,461,1.795,462,3.32,463,3.926,464,3.45,465,3.922,466,2.688,467,2.92,468,2.688,469,2.688,470,2.688,471,2.688,472,4.638,473,2.622,474,3.45,475,2.688,476,2.688,477,2.273,478,2.273,479,2.688,480,3.32,481,1.632,482,2.688,483,2.688,484,2,485,2.688,486,2.688,487,2.688]],["title/23",[4,0.147,25,0.774,41,0.677,54,0.583,488,2.815]],["description/23",[0,0.542,4,0.358,10,0.582,16,0.873,25,1.665,26,1.144,31,0.933,41,0.668,46,1.546,54,0.789,55,1.656,70,1.546,79,2.089,80,0.795,88,1.035,89,1.035,96,1.855,100,2.442,107,2.239,139,1.687,142,1.546,163,1.144,175,2.991,190,1.067,202,2.065,210,2.066,231,2.202,244,3.338,245,1.144,287,2.066,296,2.87,318,2.066,326,2.089,334,3.4,410,1.687,436,1.546,440,3.19,484,2.066,489,2.778,490,4.648,491,2.349,492,4.38,493,4.726,494,4.021,495,2.778,496,2.349,497,2.778,498,4.726,499,4.726,500,2.991,501,4.021,502,4.021,503,2.066,504,2.066,505,2.778,506,3.947,507,2.778,508,3.947,509,2.778,510,3.4,511,2.778,512,2.778,513,2.778,514,2.778,515,2.778,516,2.778,517,2.778,518,2.778,519,2.778]],["title/24",[4,0.135,10,0.545,41,0.625,54,0.373,55,1.07,295,1.447,520,1.736]],["description/24",[0,0.547,3,1.872,4,0.36,6,0.338,10,0.848,23,1.431,25,1.307,30,1.439,31,1.853,34,0.881,36,1.439,41,0.974,54,0.938,55,2.142,69,3.173,77,2.896,78,1.702,79,1.239,80,0.681,86,2.952,88,0.721,89,0.721,92,2.37,97,0.941,109,1.872,115,1.702,121,1.561,142,2.253,155,2.703,158,1.007,159,3.011,188,2.1,193,2.085,202,1.439,208,1.239,266,1.239,288,1.439,309,1.872,319,2.085,330,1.872,332,2.37,368,1.702,387,2.085,454,1.702,458,2.085,461,1.872,473,1.872,481,3.159,491,2.37,510,2.37,520,3.839,521,2.803,522,2.803,523,2.803,524,2.803,525,2.37,526,2.803,527,2.803,528,4.75,529,2.803,530,2.803,531,2.37,532,1.872,533,2.803,534,2.085,535,2.37,536,2.803,537,2.803,538,2.803,539,2.803,540,2.803,541,2.803,542,2.803,543,2.803,544,2.803,545,2.803,546,2.803,547,2.803,548,2.803,549,2.37,550,2.37]],["title/25",[4,0.135,54,0.55,158,0.933,259,1.736,260,1.736,551,1.933]],["description/25",[0,0.521,4,0.356,6,0.323,10,0.819,26,1.61,31,1.313,34,1.228,41,0.94,54,0.903,55,1.1,69,2.611,71,1.271,80,0.658,87,0.688,88,1.006,121,2.176,135,1.313,138,1.313,140,1.502,142,1.488,157,2.26,158,1.66,171,0.786,206,2.419,208,1.181,237,1.61,245,1.61,255,1.623,256,3.334,259,3.087,260,2.611,273,1.271,293,1.452,299,1.372,305,1.785,308,1.728,310,1.372,319,1.988,342,2.26,380,1.785,391,1.271,401,2.807,407,1.271,410,1.623,422,1.988,426,1.988,440,1.488,478,2.26,481,3.287,520,3.615,550,2.26,551,2.908,552,3.306,553,2.672,554,2.672,555,4.938,556,3.784,557,3.909,558,2.672,559,2.672,560,2.672,561,2.672,562,2.672,563,2.672,564,2.672,565,2.672,566,2.26,567,2.672,568,1.988,569,2.672,570,3.909,571,2.672,572,2.672,573,3.909,574,2.672,575,2.672,576,2.672,577,2.672,578,2.672,579,2.672,580,2.672,581,3.306,582,2.672,583,2.672,584,2.672,585,2.672]],["title/26",[4,0.147,54,0.404,158,1.011,245,1.159,256,1.567,586,2.815]],["description/26",[0,0.478,4,0.357,6,0.443,10,0.513,23,1.436,24,0.942,25,1.009,31,0.823,41,0.882,54,0.936,55,2.008,75,1.823,80,0.739,86,3.303,87,0.944,88,0.944,89,0.631,97,0.823,112,2.072,121,2.446,135,1.475,138,1.475,140,1.409,158,1.317,170,2.256,193,2.727,202,1.258,208,1.621,245,2.15,255,1.488,256,2.907,259,2.934,260,2.934,265,2.226,271,3.715,293,1.722,295,1.364,296,1.488,305,1.637,318,1.823,370,2.727,375,1.823,376,2.072,387,1.823,391,1.744,395,2.072,401,3.17,407,1.744,414,3.1,415,2.072,418,1.637,433,2.072,440,1.364,454,2.226,461,1.637,464,3.268,477,2.072,484,1.823,490,2.072,520,3.257,534,1.823,549,2.072,551,2.727,552,2.072,587,2.072,588,2.45,589,3.666,590,2.45,591,2.45,592,2.45,593,3.666,594,2.45,595,2.45,596,2.072,597,2.45,598,3.666,599,2.45,600,2.45,601,2.45,602,2.45,603,2.45,604,2.45,605,2.45,606,2.45,607,2.45]],["title/27",[4,0.135,23,0.715,89,0.669,158,1.375,608,2.198,609,2.198]],["description/27",[0,0.486,4,0.36,17,0.957,23,1.745,24,1.426,31,1.49,34,0.783,40,0.559,45,0.836,55,1.026,58,1.101,59,1.663,60,1.663,77,1.387,79,2.324,80,0.884,89,1.469,98,1.279,105,2.253,107,1.387,109,1.663,120,1.387,121,2.066,129,1.663,131,2.253,135,0.836,138,0.836,140,0.957,158,1.888,171,1.091,188,1.101,190,1.426,208,1.64,212,1.185,237,1.528,255,2.253,293,0.783,296,1.512,308,1.101,310,1.279,326,1.64,366,2.479,380,1.663,391,2.338,407,2.338,410,1.512,436,1.387,440,2.737,454,1.512,464,2.761,465,2.106,481,3.563,525,2.106,555,2.106,566,2.106,568,1.853,608,2.106,609,2.106,610,4.916,611,5.257,612,4.436,613,5.257,614,5.71,615,2.49,616,3.138,617,2.49,618,2.49,619,1.853,620,1.853,621,2.49,622,2.49,623,2.49,624,2.49,625,3.711,626,2.49,627,2.49,628,2.49,629,2.49,630,3.711,631,2.49,632,2.49,633,2.49,634,2.49,635,2.49,636,2.49,637,2.49,638,2.49]],["title/28",[4,0.135,18,0.625,26,1.07,41,0.625,54,0.373,299,1.335,326,1.149]],["description/28",[0,0.575,4,0.351,6,0.356,10,0.618,15,1.728,18,1.447,25,0.811,26,2.73,27,1.303,34,0.926,41,1.353,42,1.058,54,0.864,80,0.896,88,1.257,89,0.759,102,1.641,107,1.641,111,1.996,135,0.99,138,0.99,140,1.133,152,2.193,170,1.514,171,0.867,202,2.155,204,2.353,231,1.133,244,1.79,245,1.728,297,1.79,298,2.802,299,3.358,306,2.193,307,2.193,308,1.303,310,1.514,326,2.16,359,1.214,368,1.79,388,1.79,391,1.402,407,1.402,417,2.193,434,3.121,473,1.969,474,2.193,503,2.193,506,1.969,508,1.969,532,1.969,556,3.121,639,2.493,640,3.121,641,2.948,642,4.196,643,2.948,644,2.948,645,2.948,646,2.493,647,2.948,648,2.193,649,2.193,650,2.493,651,2.493,652,2.948,653,2.948]],["title/29",[4,0.126,16,0.759,18,0.581,40,0.542,54,0.347,229,1.24,299,1.24,326,1.067]],["description/29",[0,0.54,4,0.353,6,0.334,15,1.652,16,1.725,18,1.455,27,2.085,34,0.87,40,1.385,42,0.994,45,0.93,54,0.848,66,1.542,80,0.87,85,1.542,87,0.713,88,1.214,89,0.713,102,1.347,111,1.908,135,0.93,138,0.93,140,1.064,163,1.14,170,1.422,171,0.814,179,2.06,186,1.064,204,2.085,229,3.348,244,1.682,245,1.652,250,2.342,263,2.342,293,0.87,297,2.865,298,2.68,299,3.214,300,1.422,306,2.06,307,2.06,308,1.224,310,1.422,320,2.06,326,2.085,337,2.342,359,1.14,368,1.682,388,1.682,391,1.317,407,1.908,417,2.06,418,1.85,432,2.342,434,2.984,438,1.85,473,1.85,474,2.06,503,2.06,532,1.85,556,2.984,587,2.342,616,2.342,639,2.342,646,2.342,648,2.06,649,2.06,654,2.769,655,2.769,656,2.06,657,2.769,658,2.769,659,2.06,660,2.342,661,2.769,662,1.85,663,2.769,664,2.769]],["title/30",[4,0.147,16,1.275,40,0.632,58,1.794]],["description/30",[0,0.54,4,0.358,10,0.58,11,1.422,12,1.908,16,1.799,18,1.135,20,1.224,22,1.317,23,0.762,25,0.762,34,0.87,40,1.44,45,0.93,53,2.984,54,0.576,58,2.427,72,2.06,80,0.675,87,0.713,88,1.033,89,0.713,102,0.93,106,1.682,111,1.908,120,1.542,131,1.682,135,0.93,138,0.93,139,1.682,140,1.064,163,1.14,168,2.342,171,1.778,174,1.85,177,1.85,181,1.85,183,2.06,184,2.342,186,1.542,190,1.064,192,2.984,194,2.68,202,1.422,204,1.224,213,1.317,224,2.06,229,2.819,245,1.14,266,1.224,281,2.342,293,0.87,303,2.06,308,1.224,359,1.14,391,1.317,407,1.317,438,3.151,439,3.509,467,2.06,492,2.342,500,2.06,619,2.06,620,3.509,656,2.06,659,2.06,662,1.85,665,2.342,666,3.392,667,2.342,668,2.342,669,2.984,670,2.984,671,2.769,672,2.342,673,2.342,674,2.769,675,2.769,676,4.012,677,2.769,678,2.769,679,2.769,680,2.769,681,2.769,682,2.342,683,2.769,684,2.342,685,2.342,686,2.769]],["title/31",[4,0.126,40,0.815,58,1.603,85,1.344,687,2.042,688,2.042]],["description/31",[0,0.521,4,0.358,11,1.372,12,1.271,16,1.228,18,0.94,20,1.181,23,1.076,25,0.735,34,0.84,40,1.43,44,1.027,45,0.897,54,0.384,58,2.248,80,0.45,85,2.176,87,0.688,88,0.688,89,1.393,97,0.897,111,1.859,120,1.488,122,1.488,135,0.897,138,0.897,140,1.027,163,1.1,171,1.717,177,1.785,180,1.988,181,1.785,186,1.502,190,1.027,192,1.988,194,3.087,202,1.372,204,1.181,205,1.623,224,1.988,229,2.779,293,0.84,308,1.181,310,1.372,359,1.1,383,2.26,391,1.271,407,1.271,413,3.306,424,3.306,436,1.488,438,3.087,439,3.784,453,2.26,462,2.26,500,1.988,568,1.988,619,1.988,620,3.438,656,1.988,659,1.988,662,1.785,665,2.26,666,3.306,667,2.26,668,2.26,669,2.908,670,2.908,672,2.26,673,2.26,682,2.26,684,2.26,685,2.26,687,4.301,688,4.301,689,2.672,690,2.672,691,2.672,692,2.672,693,2.672,694,2.672,695,2.672,696,2.672,697,2.672,698,2.672,699,2.672,700,2.672,701,2.672,702,2.672,703,2.672,704,2.672,705,2.672,706,2.672,707,1.988,708,2.672,709,2.672,710,2.672]],["title/32",[21,4.064]],["description/32",[22,2.599,23,1.504,122,3.042,711,3.65]],["title/33",[4,0.135,18,0.625,22,1.236,25,0.715,42,0.933,122,2.133]],["description/33",[0,0.512,4,0.366,5,1.081,10,1.217,11,1.349,18,0.928,22,2.399,23,1.388,25,1.388,26,1.589,41,1.101,42,1.93,44,1.758,45,1.537,54,0.377,58,1.706,80,0.77,87,0.676,88,0.676,89,0.993,91,2.376,95,1.081,97,0.882,122,2.548,163,1.081,171,0.772,186,1.009,188,2.023,204,1.161,206,2.556,208,2.023,210,1.954,211,2.376,212,1.249,213,1.249,231,1.009,237,1.081,266,1.161,303,1.954,322,2.221,359,1.081,459,1.595,504,1.954,506,2.578,508,3.056,640,1.954,648,1.954,669,1.954,670,1.954,707,2.871,711,1.754,712,4.265,713,3.264,714,4.576,715,2.871,716,2.221,717,3.264,718,4.265,719,3.264,720,3.264,721,3.264,722,2.221,723,2.221,724,2.221,725,2.221,726,2.221,727,2.626,728,2.626,729,2.221,730,2.221,731,2.626]],["title/34",[4,0.135,18,0.625,22,1.236,25,0.715,42,0.933,711,2.558]],["description/34",[0,0.494,4,0.367,5,1.043,10,1.162,11,1.929,17,0.973,18,1.077,22,1.787,23,1.363,25,1.456,26,1.547,41,1.192,42,1.901,44,1.721,45,1.504,54,0.363,80,0.754,87,0.652,89,0.967,91,2.34,95,1.043,97,0.85,166,1.883,171,1.105,186,0.973,188,1.98,204,1.119,206,2.518,208,1.98,211,2.451,212,1.204,215,3.177,216,2.141,231,0.973,232,2.141,237,1.043,359,1.043,366,1.691,423,2.141,459,1.537,504,1.883,506,2.509,508,2.992,640,1.883,650,2.141,662,1.691,707,2.795,711,3.535,712,4.19,713,3.177,715,1.883,716,2.141,717,3.177,718,4.19,719,3.177,720,3.177,721,3.177,722,2.141,723,2.141,724,2.141,725,3.177,726,2.141,729,2.141,730,2.141,732,3.757,733,2.532,734,2.532,735,2.141,736,2.532,737,2.532,738,2.532,739,2.532,740,2.532]],["title/35",[28,2.918]],["description/35",[28,3.358,30,2.84]],["title/36",[4,0.16,6,0.371,28,1.864,29,2.283,30,1.576]],["description/36",[0,0.254,1,2.303,2,1.133,3,1.474,4,0.361,5,1.184,6,0.732,7,0.5,8,1.84,9,0.74,10,0.463,12,0.619,13,2.139,14,0.79,15,0.536,17,0.5,18,0.531,19,2.303,23,0.358,24,1.105,25,0.358,28,2.503,29,2.52,30,0.668,31,0.965,33,0.724,36,1.948,37,0.869,38,0.724,39,0.79,40,0.496,41,0.313,42,0.467,43,1.1,44,0.5,45,0.437,48,2.503,49,0.968,50,0.724,52,0.968,53,0.968,54,0.317,55,1.562,56,1.1,57,1.1,58,0.575,59,0.869,60,0.869,61,1.1,62,1.1,63,1.1,64,0.869,65,0.968,66,0.724,67,1.1,70,0.724,71,0.619,73,1.866,74,0.79,77,2.112,79,1.942,80,0.693,86,1.739,87,1.508,89,0.74,90,1.1,91,2.269,93,1.1,95,1.697,98,0.668,101,1.642,107,0.724,127,0.869,152,0.968,158,1.032,162,1.474,163,0.536,171,0.383,172,1.642,183,1.642,186,1.302,188,2.563,190,0.5,194,1.92,205,0.79,211,1.497,213,1.368,214,0.968,225,0.869,230,0.724,231,1.105,237,0.909,256,0.724,262,1.1,265,1.746,266,2.681,267,1.866,274,1.866,275,2.864,282,1.866,287,2.139,288,1.133,292,1.1,295,1.601,311,2.533,317,1.1,330,2.935,333,0.79,349,1.866,410,0.79,418,2.262,436,0.724,440,1.886,454,0.79,459,1.34,480,1.1,481,1.34,496,1.1,531,1.1,532,0.869,534,0.968,535,1.866,581,1.1,596,1.1,649,1.642,651,1.866,660,1.1,715,0.968,735,2.431,741,3.793,742,4.394,743,3.387,744,1.301,745,2.875,746,2.207,747,2.207,748,2.207,749,1.866,750,2.207,751,2.207,752,1.301,753,1.301,754,2.875,755,1.301,756,2.207,757,2.207,758,2.207,759,1.301,760,1.301,761,2.875,762,1.301,763,2.875,764,2.207,765,2.207,766,1.301,767,1.301,768,2.207,769,2.207,770,2.207,771,2.207,772,1.301,773,1.301,774,1.301,775,1.301,776,1.301,777,1.301,778,1.301,779,1.301,780,3.793,781,2.207,782,1.301,783,2.207,784,1.301,785,1.301,786,1.301,787,1.301,788,1.301,789,1.301,790,1.301,791,1.301,792,1.301]],["title/37",[793,2.676]],["description/37",[97,1.846,793,3.061,794,4.649]],["title/38",[4,0.16,33,1.709,793,2.404,795,2.05]],["description/38",[0,0.634,4,0.358,7,1.249,8,1.092,16,1.022,31,1.092,33,1.81,34,1.022,54,0.467,64,2.172,65,2.419,66,1.81,70,1.81,71,1.547,80,0.547,86,2.308,87,0.837,88,0.837,89,1.326,95,1.851,97,1.73,100,1.974,119,1.974,148,2.749,153,3.801,155,2.172,171,1.322,181,2.172,248,2.749,266,1.987,273,1.547,312,3.344,330,2.172,333,2.729,380,2.172,388,1.974,389,2.749,436,1.81,455,2.749,461,2.172,467,2.419,749,3.801,793,3.605,794,2.749,795,4.209,796,2.749,797,3.251,798,3.251,799,5.151,800,3.251,801,3.251,802,3.251,803,4.495,804,3.251,805,3.251,806,3.251,807,3.251,808,3.251,809,3.251,810,5.151,811,4.495,812,3.251,813,3.251,814,3.251]],["title/39",[4,0.16,333,1.864,793,2.404,795,2.05]],["description/39",[95,2.211,190,2.063,333,3.26,793,2.989,795,3.586,796,4.539,815,5.368]]],"invertedIndex":[["",{"_index":4,"title":{"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"33":{},"34":{},"36":{},"38":{},"39":{}},"description":{"0":{},"1":{},"2":{},"4":{},"6":{},"8":{},"10":{},"12":{},"14":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"33":{},"34":{},"36":{},"38":{}}}],["0.1",{"_index":723,"title":{},"description":{"33":{},"34":{}}}],["0.2",{"_index":724,"title":{},"description":{"33":{},"34":{}}}],["0.5",{"_index":580,"title":{},"description":{"25":{}}}],["0.5-0.7",{"_index":577,"title":{},"description":{"25":{}}}],["0.7-0.9",{"_index":574,"title":{},"description":{"25":{}}}],["0.9-1.0",{"_index":571,"title":{},"description":{"25":{}}}],["1",{"_index":135,"title":{},"description":{"8":{},"12":{},"17":{},"18":{},"20":{},"22":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{}}}],["1-100",{"_index":313,"title":{},"description":{"17":{},"18":{}}}],["1-200",{"_index":346,"title":{},"description":{"18":{}}}],["1-5",{"_index":356,"title":{},"description":{"18":{}}}],["10,000",{"_index":514,"title":{},"description":{"23":{}}}],["10-5000",{"_index":354,"title":{},"description":{"18":{}}}],["100,000",{"_index":516,"title":{},"description":{"23":{}}}],["1000",{"_index":355,"title":{},"description":{"18":{}}}],["123.45",{"_index":806,"title":{},"description":{"38":{}}}],["1536",{"_index":447,"title":{},"description":{"21":{}}}],["2",{"_index":138,"title":{},"description":{"8":{},"12":{},"17":{},"18":{},"20":{},"22":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{}}}],["20",{"_index":314,"title":{},"description":{"17":{}}}],["200",{"_index":420,"title":{},"description":{"20":{}}}],["200-1000",{"_index":658,"title":{},"description":{"29":{}}}],["202",{"_index":669,"title":{},"description":{"30":{},"31":{},"33":{}}}],["3",{"_index":140,"title":{},"description":{"8":{},"17":{},"18":{},"22":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{}}}],["30",{"_index":350,"title":{},"description":{"18":{}}}],["3072",{"_index":450,"title":{},"description":{"21":{}}}],["4",{"_index":308,"title":{},"description":{"17":{},"18":{},"22":{},"25":{},"27":{},"28":{},"29":{},"30":{},"31":{}}}],["5",{"_index":310,"title":{},"description":{"17":{},"18":{},"25":{},"27":{},"28":{},"29":{},"31":{}}}],["50",{"_index":347,"title":{},"description":{"18":{}}}],["6",{"_index":340,"title":{},"description":{"18":{}}}],["abstract",{"_index":529,"title":{},"description":{"24":{}}}],["accept",{"_index":670,"title":{},"description":{"30":{},"31":{},"33":{}}}],["access",{"_index":3,"title":{},"description":{"0":{},"1":{},"24":{},"36":{}}}],["action",{"_index":258,"title":{},"description":{"16":{},"22":{}}}],["activ",{"_index":809,"title":{},"description":{"38":{}}}],["actual",{"_index":385,"title":{},"description":{"19":{}}}],["ad",{"_index":173,"title":{},"description":{"10":{}}}],["add",{"_index":168,"title":{},"description":{"10":{},"30":{}}}],["add-docu",{"_index":182,"title":{},"description":{"10":{}}}],["against",{"_index":639,"title":{},"description":{"28":{},"29":{}}}],["agent",{"_index":48,"title":{"16":{}},"description":{"1":{},"16":{},"22":{},"36":{}}}],["agent'",{"_index":276,"title":{},"description":{"16":{}}}],["ai",{"_index":14,"title":{"16":{}},"description":{"0":{},"1":{},"16":{},"36":{}}}],["alic",{"_index":567,"title":{},"description":{"25":{}}}],["all-in-on",{"_index":586,"title":{"26":{}},"description":{}}],["allow",{"_index":248,"title":{},"description":{"14":{},"38":{}}}],["ambigu",{"_index":584,"title":{},"description":{"25":{}}}],["analysi",{"_index":366,"title":{},"description":{"18":{},"19":{},"27":{},"34":{}}}],["analyz",{"_index":609,"title":{"27":{}},"description":{"27":{}}}],["and/or",{"_index":210,"title":{},"description":{"12":{},"23":{},"33":{}}}],["anoth",{"_index":738,"title":{},"description":{"34":{}}}],["answer",{"_index":265,"title":{},"description":{"16":{},"17":{},"18":{},"26":{},"36":{}}}],["api",{"_index":1,"title":{},"description":{"0":{},"2":{},"21":{},"22":{},"36":{}}}],["api/metr",{"_index":811,"title":{},"description":{"38":{}}}],["api/metrics/{path",{"_index":815,"title":{},"description":{"39":{}}}],["api/v1/collection-manag",{"_index":251,"title":{},"description":{"14":{}}}],["api/v1/config",{"_index":127,"title":{},"description":{"6":{},"8":{},"20":{},"36":{}}}],["api/v1/export-cor",{"_index":740,"title":{},"description":{"34":{}}}],["api/v1/flow",{"_index":124,"title":{},"description":{"6":{},"8":{}}}],["api/v1/flow/{flow}/service/ag",{"_index":292,"title":{},"description":{"16":{},"36":{}}}],["api/v1/flow/{flow}/service/document-embed",{"_index":664,"title":{},"description":{"29":{}}}],["api/v1/flow/{flow}/service/document-load",{"_index":710,"title":{},"description":{"31":{}}}],["api/v1/flow/{flow}/service/document-rag",{"_index":325,"title":{},"description":{"17":{}}}],["api/v1/flow/{flow}/service/embed",{"_index":456,"title":{},"description":{"21":{}}}],["api/v1/flow/{flow}/service/graph-embed",{"_index":653,"title":{},"description":{"28":{}}}],["api/v1/flow/{flow}/service/graph-rag",{"_index":369,"title":{},"description":{"18":{}}}],["api/v1/flow/{flow}/service/mcp-tool",{"_index":487,"title":{},"description":{"22":{}}}],["api/v1/flow/{flow}/service/nlp-queri",{"_index":585,"title":{},"description":{"25":{}}}],["api/v1/flow/{flow}/service/object",{"_index":550,"title":{},"description":{"24":{},"25":{}}}],["api/v1/flow/{flow}/service/prompt",{"_index":428,"title":{},"description":{"20":{}}}],["api/v1/flow/{flow}/service/structured-diag",{"_index":638,"title":{},"description":{"27":{}}}],["api/v1/flow/{flow}/service/structured-queri",{"_index":607,"title":{},"description":{"26":{}}}],["api/v1/flow/{flow}/service/text-complet",{"_index":399,"title":{},"description":{"19":{}}}],["api/v1/flow/{flow}/service/text-load",{"_index":686,"title":{},"description":{"30":{}}}],["api/v1/flow/{flow}/service/tripl",{"_index":519,"title":{},"description":{"23":{}}}],["api/v1/flow/{flow}/service/{kind",{"_index":47,"title":{},"description":{"1":{}}}],["api/v1/import-cor",{"_index":731,"title":{},"description":{"33":{}}}],["api/v1/knowledg",{"_index":233,"title":{},"description":{"12":{}}}],["api/v1/librarian",{"_index":199,"title":{},"description":{"10":{}}}],["api/v1/socket",{"_index":792,"title":{},"description":{"36":{}}}],["api/v1/{kind",{"_index":35,"title":{},"description":{"1":{}}}],["appropri",{"_index":812,"title":{},"description":{"38":{}}}],["archiv",{"_index":732,"title":{},"description":{"34":{}}}],["argument",{"_index":291,"title":{},"description":{"16":{},"22":{}}}],["around",{"_index":331,"title":{},"description":{"18":{}}}],["array",{"_index":208,"title":{},"description":{"12":{},"14":{},"16":{},"24":{},"25":{},"26":{},"27":{},"33":{},"34":{}}}],["array_path",{"_index":634,"title":{},"description":{"27":{}}}],["arriv",{"_index":274,"title":{},"description":{"16":{},"36":{}}}],["ask",{"_index":552,"title":{},"description":{"25":{},"26":{}}}],["assist",{"_index":381,"title":{},"description":{"19":{}}}],["associ",{"_index":221,"title":{},"description":{"12":{},"14":{}}}],["asynchron",{"_index":194,"title":{},"description":{"10":{},"30":{},"31":{},"36":{}}}],["attribut",{"_index":704,"title":{},"description":{"31":{}}}],["augment",{"_index":371,"title":{},"description":{"19":{}}}],["authent",{"_index":64,"title":{"2":{}},"description":{"2":{},"36":{},"38":{}}}],["author",{"_index":72,"title":{},"description":{"2":{},"10":{},"30":{}}}],["auto-convert",{"_index":421,"title":{},"description":{"20":{}}}],["autom",{"_index":708,"title":{},"description":{"31":{}}}],["avail",{"_index":155,"title":{},"description":{"8":{},"12":{},"24":{},"38":{}}}],["b",{"_index":365,"title":{},"description":{"18":{}}}],["backend",{"_index":814,"title":{},"description":{"38":{}}}],["background",{"_index":671,"title":{},"description":{"30":{}}}],["backup",{"_index":713,"title":{},"description":{"33":{},"34":{}}}],["base",{"_index":303,"title":{},"description":{"17":{},"30":{},"33":{}}}],["base64",{"_index":666,"title":{},"description":{"30":{},"31":{}}}],["base64.b64encode(doc_bytes).decode('utf-8",{"_index":703,"title":{},"description":{"31":{}}}],["base64.b64encode(text_content.encode('utf-8",{"_index":675,"title":{},"description":{"30":{}}}],["batch",{"_index":453,"title":{},"description":{"21":{},"31":{}}}],["be",{"_index":277,"title":{},"description":{"16":{}}}],["bearer",{"_index":65,"title":{},"description":{"2":{},"36":{},"38":{}}}],["befor",{"_index":590,"title":{},"description":{"26":{}}}],["behavior",{"_index":377,"title":{},"description":{"19":{}}}],["benefit",{"_index":531,"title":{},"description":{"24":{},"36":{}}}],["best",{"_index":360,"title":{},"description":{"18":{}}}],["between",{"_index":648,"title":{},"description":{"28":{},"29":{},"33":{}}}],["beyond",{"_index":471,"title":{},"description":{"22":{}}}],["bidirect",{"_index":750,"title":{},"description":{"36":{}}}],["binari",{"_index":687,"title":{"31":{}},"description":{"31":{}}}],["block",{"_index":779,"title":{},"description":{"36":{}}}],["blueprint",{"_index":38,"title":{"8":{}},"description":{"1":{},"6":{},"7":{},"8":{},"36":{}}}],["blueprint-nam",{"_index":83,"title":{},"description":{"3":{}}}],["bodi",{"_index":715,"title":{},"description":{"33":{},"34":{},"36":{}}}],["both",{"_index":218,"title":{},"description":{"12":{}}}],["built-in",{"_index":132,"title":{},"description":{"8":{}}}],["bulk",{"_index":22,"title":{"33":{},"34":{}},"description":{"0":{},"21":{},"30":{},"32":{},"33":{},"34":{}}}],["c",{"_index":721,"title":{},"description":{"33":{},"34":{}}}],["cach",{"_index":565,"title":{},"description":{"25":{}}}],["calcul",{"_index":474,"title":{},"description":{"22":{},"28":{},"29":{}}}],["call",{"_index":464,"title":{},"description":{"22":{},"26":{},"27":{}}}],["can't",{"_index":604,"title":{},"description":{"26":{}}}],["cap",{"_index":353,"title":{},"description":{"18":{}}}],["capabl",{"_index":460,"title":{},"description":{"22":{}}}],["captur",{"_index":431,"title":{},"description":{"21":{}}}],["case",{"_index":359,"title":{},"description":{"18":{},"20":{},"21":{},"22":{},"28":{},"29":{},"30":{},"31":{},"33":{},"34":{}}}],["charset",{"_index":676,"title":{},"description":{"30":{}}}],["check",{"_index":281,"title":{},"description":{"16":{},"30":{}}}],["chunk",{"_index":229,"title":{"29":{}},"description":{"12":{},"16":{},"17":{},"29":{},"30":{},"31":{}}}],["chunk-typ",{"_index":275,"title":{},"description":{"16":{},"36":{}}}],["citat",{"_index":397,"title":{},"description":{"19":{}}}],["class",{"_index":160,"title":{},"description":{"8":{}}}],["classif",{"_index":425,"title":{},"description":{"20":{},"21":{}}}],["client",{"_index":735,"title":{},"description":{"34":{},"36":{}}}],["client-gener",{"_index":759,"title":{},"description":{"36":{}}}],["cluster",{"_index":441,"title":{},"description":{"21":{}}}],["code",{"_index":375,"title":{},"description":{"19":{},"22":{},"26":{}}}],["coher",{"_index":264,"title":{},"description":{"16":{}}}],["collabor",{"_index":272,"title":{},"description":{"16":{}}}],["collect",{"_index":44,"title":{"13":{},"14":{}},"description":{"1":{},"12":{},"13":{},"14":{},"17":{},"31":{},"33":{},"34":{},"36":{}}}],["collection-manag",{"_index":43,"title":{},"description":{"1":{},"36":{}}}],["combin",{"_index":296,"title":{},"description":{"17":{},"18":{},"23":{},"26":{},"27":{}}}],["comma-separ",{"_index":629,"title":{},"description":{"27":{}}}],["command",{"_index":466,"title":{},"description":{"22":{}}}],["common",{"_index":807,"title":{},"description":{"38":{}}}],["commun",{"_index":751,"title":{},"description":{"36":{}}}],["compar",{"_index":532,"title":{},"description":{"24":{},"28":{},"29":{},"36":{}}}],["comparison",{"_index":433,"title":{},"description":{"21":{},"26":{}}}],["complet",{"_index":17,"title":{"19":{}},"description":{"0":{},"6":{},"12":{},"16":{},"17":{},"18":{},"19":{},"27":{},"34":{},"36":{}}}],["complex",{"_index":478,"title":{},"description":{"22":{},"25":{}}}],["compon",{"_index":503,"title":{},"description":{"23":{},"28":{},"29":{}}}],["comput",{"_index":758,"title":{},"description":{"36":{}}}],["concept",{"_index":642,"title":{},"description":{"28":{}}}],["concurr",{"_index":743,"title":{},"description":{"36":{}}}],["condit",{"_index":768,"title":{},"description":{"36":{}}}],["confid",{"_index":555,"title":{},"description":{"25":{},"27":{}}}],["config",{"_index":36,"title":{"5":{}},"description":{"1":{},"6":{},"8":{},"20":{},"24":{},"36":{}}}],["configur",{"_index":7,"title":{"6":{}},"description":{"0":{},"1":{},"5":{},"6":{},"8":{},"17":{},"20":{},"22":{},"36":{},"38":{}}}],["connect",{"_index":330,"title":{},"description":{"18":{},"24":{},"36":{},"38":{}}}],["connector",{"_index":469,"title":{},"description":{"22":{}}}],["consid",{"_index":517,"title":{},"description":{"23":{}}}],["consist",{"_index":405,"title":{},"description":{"20":{}}}],["constraint",{"_index":379,"title":{},"description":{"19":{}}}],["content",{"_index":186,"title":{},"description":{"10":{},"14":{},"17":{},"18":{},"21":{},"29":{},"30":{},"31":{},"33":{},"34":{},"36":{}}}],["context",{"_index":27,"title":{"22":{}},"description":{"0":{},"16":{},"17":{},"18":{},"19":{},"22":{},"28":{},"29":{}}}],["continu",{"_index":179,"title":{},"description":{"10":{},"16":{},"29":{}}}],["control",{"_index":170,"title":{},"description":{"10":{},"17":{},"18":{},"19":{},"26":{},"28":{},"29":{}}}],["controlled-bi",{"_index":141,"title":{},"description":{"8":{}}}],["conveni",{"_index":601,"title":{},"description":{"26":{}}}],["convers",{"_index":253,"title":{"16":{},"21":{}},"description":{"16":{}}}],["convert",{"_index":305,"title":{},"description":{"17":{},"21":{},"25":{},"26":{}}}],["copi",{"_index":730,"title":{},"description":{"33":{},"34":{}}}],["core",{"_index":42,"title":{"12":{},"33":{},"34":{}},"description":{"1":{},"11":{},"12":{},"14":{},"28":{},"29":{},"33":{},"34":{},"36":{}}}],["core-id",{"_index":719,"title":{},"description":{"33":{},"34":{}}}],["corpu",{"_index":304,"title":{},"description":{"17":{}}}],["correct",{"_index":573,"title":{},"description":{"25":{}}}],["correl",{"_index":767,"title":{},"description":{"36":{}}}],["cosin",{"_index":434,"title":{},"description":{"21":{},"28":{},"29":{}}}],["cost",{"_index":94,"title":{},"description":{"6":{},"19":{}}}],["couldn't",{"_index":599,"title":{},"description":{"26":{}}}],["count",{"_index":388,"title":{},"description":{"19":{},"21":{},"28":{},"29":{},"38":{}}}],["counter",{"_index":804,"title":{},"description":{"38":{}}}],["coverag",{"_index":570,"title":{},"description":{"25":{}}}],["creat",{"_index":105,"title":{},"description":{"6":{},"8":{},"12":{},"14":{},"27":{}}}],["creativ",{"_index":373,"title":{},"description":{"19":{}}}],["criteria",{"_index":176,"title":{},"description":{"10":{}}}],["csv",{"_index":610,"title":{},"description":{"27":{}}}],["csv/json/xml",{"_index":622,"title":{},"description":{"27":{}}}],["current",{"_index":150,"title":{},"description":{"8":{},"10":{},"16":{}}}],["custom",{"_index":120,"title":{},"description":{"6":{},"8":{},"21":{},"27":{},"30":{},"31":{}}}],["data",{"_index":23,"title":{"27":{}},"description":{"0":{},"1":{},"12":{},"14":{},"20":{},"22":{},"24":{},"26":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"36":{}}}],["databas",{"_index":463,"title":{},"description":{"22":{}}}],["dataset",{"_index":637,"title":{},"description":{"27":{}}}],["date",{"_index":680,"title":{},"description":{"30":{}}}],["default",{"_index":139,"title":{},"description":{"8":{},"17":{},"18":{},"23":{},"30":{}}}],["defin",{"_index":159,"title":{},"description":{"8":{},"22":{},"24":{}}}],["definit",{"_index":109,"title":{},"description":{"6":{},"8":{},"24":{},"27":{}}}],["delet",{"_index":108,"title":{},"description":{"6":{},"8":{},"12":{},"14":{}}}],["delete-blueprint",{"_index":167,"title":{},"description":{"8":{}}}],["delete-collect",{"_index":249,"title":{},"description":{"14":{}}}],["delete-kg-cor",{"_index":220,"title":{},"description":{"12":{}}}],["delimit",{"_index":630,"title":{},"description":{"27":{}}}],["dens",{"_index":429,"title":{},"description":{"21":{}}}],["depend",{"_index":445,"title":{},"description":{"21":{}}}],["depth",{"_index":312,"title":{},"description":{"17":{},"18":{},"38":{}}}],["describ",{"_index":679,"title":{},"description":{"30":{}}}],["descript",{"_index":119,"title":{},"description":{"6":{},"12":{},"14":{},"22":{},"38":{}}}],["descriptor",{"_index":613,"title":{},"description":{"27":{}}}],["detail",{"_index":152,"title":{},"description":{"8":{},"28":{},"36":{}}}],["detect",{"_index":568,"title":{},"description":{"25":{},"27":{},"31":{}}}],["detect-typ",{"_index":621,"title":{},"description":{"27":{}}}],["detected-schema",{"_index":569,"title":{},"description":{"25":{}}}],["develop",{"_index":75,"title":{},"description":{"2":{},"19":{},"26":{}}}],["developer-friendli",{"_index":533,"title":{},"description":{"24":{}}}],["diag",{"_index":608,"title":{"27":{}},"description":{"27":{}}}],["diagnos",{"_index":625,"title":{},"description":{"27":{}}}],["diagnosi",{"_index":617,"title":{},"description":{"27":{}}}],["differ",{"_index":678,"title":{},"description":{"30":{}}}],["dimens",{"_index":444,"title":{},"description":{"21":{}}}],["direct",{"_index":370,"title":{"19":{}},"description":{"19":{},"26":{}}}],["directli",{"_index":587,"title":{},"description":{"26":{},"29":{}}}],["disast",{"_index":736,"title":{},"description":{"34":{}}}],["discov",{"_index":473,"title":{},"description":{"22":{},"24":{},"28":{},"29":{}}}],["discover",{"_index":536,"title":{},"description":{"24":{}}}],["discoveri",{"_index":641,"title":{},"description":{"28":{}}}],["display",{"_index":239,"title":{},"description":{"14":{}}}],["distanc",{"_index":435,"title":{},"description":{"21":{}}}],["distinct",{"_index":123,"title":{},"description":{"6":{},"8":{}}}],["distinguish",{"_index":547,"title":{},"description":{"24":{}}}],["doc-limit",{"_index":84,"title":{},"description":{"3":{},"17":{}}}],["doc_byt",{"_index":701,"title":{},"description":{"31":{}}}],["document",{"_index":40,"title":{"10":{},"17":{},"29":{},"30":{},"31":{}},"description":{"1":{},"9":{},"10":{},"14":{},"17":{},"19":{},"20":{},"21":{},"22":{},"27":{},"29":{},"30":{},"31":{},"36":{}}}],["document-embed",{"_index":53,"title":{},"description":{"1":{},"30":{},"36":{}}}],["document-load",{"_index":60,"title":{},"description":{"1":{},"21":{},"27":{},"36":{}}}],["document-rag",{"_index":761,"title":{},"description":{"36":{}}}],["document-rag/graph-rag",{"_index":396,"title":{},"description":{"19":{}}}],["document/graph",{"_index":51,"title":{},"description":{"1":{},"19":{}}}],["docx",{"_index":692,"title":{},"description":{"31":{}}}],["docx→text",{"_index":690,"title":{},"description":{"31":{}}}],["doesn't",{"_index":228,"title":{},"description":{"12":{},"14":{}}}],["dure",{"_index":657,"title":{},"description":{"29":{}}}],["dynam",{"_index":404,"title":{},"description":{"20":{}}}],["e",{"_index":508,"title":{},"description":{"23":{},"28":{},"33":{},"34":{}}}],["e.g",{"_index":101,"title":{},"description":{"6":{},"22":{},"36":{}}}],["each",{"_index":163,"title":{},"description":{"8":{},"12":{},"14":{},"16":{},"23":{},"29":{},"30":{},"31":{},"33":{},"36":{}}}],["effici",{"_index":535,"title":{},"description":{"24":{},"36":{}}}],["emb",{"_index":667,"title":{},"description":{"30":{},"31":{}}}],["embed",{"_index":18,"title":{"21":{},"28":{},"29":{},"33":{},"34":{}},"description":{"0":{},"1":{},"12":{},"17":{},"18":{},"21":{},"28":{},"29":{},"30":{},"31":{},"33":{},"34":{},"36":{}}}],["enabl",{"_index":273,"title":{},"description":{"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"25":{},"38":{}}}],["encod",{"_index":439,"title":{},"description":{"21":{},"30":{},"31":{}}}],["end",{"_index":733,"title":{},"description":{"34":{}}}],["end-of-dialog",{"_index":284,"title":{},"description":{"16":{}}}],["end-of-messag",{"_index":283,"title":{},"description":{"16":{}}}],["end-of-stream",{"_index":311,"title":{},"description":{"17":{},"18":{},"19":{},"36":{}}}],["endpoint",{"_index":33,"title":{"38":{}},"description":{"1":{},"4":{},"21":{},"36":{},"38":{}}}],["engin",{"_index":406,"title":{},"description":{"20":{}}}],["english",{"_index":553,"title":{},"description":{"25":{}}}],["entir",{"_index":285,"title":{},"description":{"16":{}}}],["entiti",{"_index":26,"title":{"28":{}},"description":{"0":{},"12":{},"18":{},"20":{},"23":{},"25":{},"28":{},"33":{},"34":{}}}],["entity-limit",{"_index":344,"title":{},"description":{"18":{}}}],["entity/uri",{"_index":505,"title":{},"description":{"23":{}}}],["entri",{"_index":164,"title":{},"description":{"8":{}}}],["environ",{"_index":68,"title":{},"description":{"2":{}}}],["eo",{"_index":215,"title":{},"description":{"12":{},"34":{}}}],["error",{"_index":86,"title":{"4":{}},"description":{"4":{},"16":{},"24":{},"26":{},"36":{},"38":{}}}],["essenti",{"_index":618,"title":{},"description":{"27":{}}}],["establish",{"_index":752,"title":{},"description":{"36":{}}}],["etc",{"_index":85,"title":{"31":{}},"description":{"3":{},"6":{},"10":{},"29":{},"31":{}}}],["everyth",{"_index":497,"title":{},"description":{"23":{}}}],["exactli",{"_index":524,"title":{},"description":{"24":{}}}],["exampl",{"_index":410,"title":{},"description":{"20":{},"23":{},"25":{},"27":{},"36":{}}}],["execut",{"_index":401,"title":{"22":{}},"description":{"20":{},"22":{},"25":{},"26":{}}}],["exist",{"_index":131,"title":{},"description":{"8":{},"12":{},"14":{},"27":{},"30":{}}}],["expans",{"_index":643,"title":{},"description":{"28":{}}}],["expert",{"_index":382,"title":{},"description":{"19":{}}}],["explicit",{"_index":417,"title":{},"description":{"20":{},"28":{},"29":{}}}],["explor",{"_index":644,"title":{},"description":{"28":{}}}],["export",{"_index":711,"title":{"34":{}},"description":{"32":{},"33":{},"34":{}}}],["expos",{"_index":797,"title":{},"description":{"38":{}}}],["exposit",{"_index":802,"title":{},"description":{"38":{}}}],["extend",{"_index":470,"title":{},"description":{"22":{}}}],["extens",{"_index":697,"title":{},"description":{"31":{}}}],["extern",{"_index":166,"title":{},"description":{"8":{},"22":{},"34":{}}}],["extract",{"_index":424,"title":{},"description":{"20":{},"31":{}}}],["extractor",{"_index":696,"title":{},"description":{"31":{}}}],["f",{"_index":700,"title":{},"description":{"31":{}}}],["f.read",{"_index":702,"title":{},"description":{"31":{}}}],["f1",{"_index":782,"title":{},"description":{"36":{}}}],["f2",{"_index":784,"title":{},"description":{"36":{}}}],["fail",{"_index":598,"title":{},"description":{"26":{}}}],["failur",{"_index":596,"title":{},"description":{"26":{},"36":{}}}],["fals",{"_index":287,"title":{},"description":{"16":{},"23":{},"36":{}}}],["familiar",{"_index":530,"title":{},"description":{"24":{}}}],["faster",{"_index":318,"title":{},"description":{"17":{},"23":{},"26":{}}}],["featur",{"_index":442,"title":{},"description":{"21":{}}}],["field",{"_index":77,"title":{"3":{}},"description":{"3":{},"20":{},"24":{},"27":{},"36":{}}}],["field-level",{"_index":594,"title":{},"description":{"26":{}}}],["fieldname(arg",{"_index":538,"title":{},"description":{"24":{}}}],["file",{"_index":465,"title":{},"description":{"22":{},"27":{}}}],["filter",{"_index":175,"title":{},"description":{"10":{},"14":{},"23":{}}}],["final",{"_index":230,"title":{},"description":{"12":{},"16":{},"17":{},"18":{},"19":{},"36":{}}}],["find",{"_index":326,"title":{"28":{},"29":{}},"description":{"18":{},"21":{},"22":{},"23":{},"27":{},"28":{},"29":{}}}],["fire-and-forget",{"_index":665,"title":{},"description":{"30":{},"31":{}}}],["first",{"_index":650,"title":{},"description":{"28":{},"34":{}}}],["fit",{"_index":615,"title":{},"description":{"27":{}}}],["fix",{"_index":32,"title":{},"description":{"1":{}}}],["flag",{"_index":282,"title":{},"description":{"16":{},"36":{}}}],["flexibl",{"_index":491,"title":{},"description":{"23":{},"24":{}}}],["flight",{"_index":775,"title":{},"description":{"36":{}}}],["flow",{"_index":8,"title":{"7":{},"8":{},"15":{}},"description":{"0":{},"1":{},"6":{},"7":{},"8":{},"10":{},"12":{},"15":{},"36":{},"38":{}}}],["flow'",{"_index":223,"title":{},"description":{"12":{}}}],["flow-blueprint",{"_index":110,"title":{},"description":{"6":{}}}],["flow-host",{"_index":13,"title":{},"description":{"0":{},"1":{},"36":{}}}],["flow-id",{"_index":82,"title":{},"description":{"3":{}}}],["follow",{"_index":214,"title":{},"description":{"12":{},"20":{},"36":{}}}],["format",{"_index":89,"title":{"27":{}},"description":{"4":{},"16":{},"19":{},"22":{},"23":{},"24":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"33":{},"34":{},"36":{},"38":{}}}],["format-specif",{"_index":631,"title":{},"description":{"27":{}}}],["found",{"_index":766,"title":{},"description":{"36":{}}}],["foundat",{"_index":200,"title":{},"description":{"12":{}}}],["full",{"_index":616,"title":{},"description":{"27":{},"29":{}}}],["gateway",{"_index":798,"title":{},"description":{"38":{}}}],["gateway-error",{"_index":90,"title":{},"description":{"4":{},"36":{}}}],["gateway_secret",{"_index":67,"title":{},"description":{"2":{},"36":{}}}],["gather",{"_index":263,"title":{},"description":{"16":{},"29":{}}}],["ge",{"_index":722,"title":{},"description":{"33":{},"34":{}}}],["gener",{"_index":293,"title":{"17":{},"18":{},"19":{},"20":{}},"description":{"17":{},"18":{},"19":{},"22":{},"25":{},"26":{},"27":{},"29":{},"30":{},"31":{}}}],["generate-descriptor",{"_index":623,"title":{},"description":{"27":{}}}],["get-blueprint",{"_index":156,"title":{},"description":{"8":{}}}],["get-flow",{"_index":151,"title":{},"description":{"8":{}}}],["get-kg-cor",{"_index":209,"title":{},"description":{"12":{}}}],["getperson($id",{"_index":545,"title":{},"description":{"24":{}}}],["global",{"_index":5,"title":{},"description":{"0":{},"1":{},"5":{},"7":{},"9":{},"11":{},"13":{},"33":{},"34":{},"36":{}}}],["go",{"_index":672,"title":{},"description":{"30":{},"31":{}}}],["good",{"_index":575,"title":{},"description":{"25":{}}}],["graph",{"_index":41,"title":{"12":{},"18":{},"23":{},"24":{},"28":{}},"description":{"1":{},"11":{},"12":{},"18":{},"19":{},"23":{},"24":{},"25":{},"26":{},"28":{},"33":{},"34":{},"36":{}}}],["graph-awar",{"_index":328,"title":{},"description":{"18":{}}}],["graph-embed",{"_index":52,"title":{},"description":{"1":{},"12":{},"36":{}}}],["graph-rag",{"_index":772,"title":{},"description":{"36":{}}}],["graphql",{"_index":520,"title":{"24":{}},"description":{"24":{},"25":{},"26":{}}}],["ground",{"_index":302,"title":{},"description":{"17":{},"19":{}}}],["group",{"_index":235,"title":{},"description":{"14":{},"16":{},"21":{}}}],["handl",{"_index":193,"title":{},"description":{"10":{},"24":{},"26":{}}}],["handler",{"_index":483,"title":{},"description":{"22":{}}}],["handshak",{"_index":789,"title":{},"description":{"36":{}}}],["happen",{"_index":709,"title":{},"description":{"31":{}}}],["has_head",{"_index":632,"title":{},"description":{"27":{}}}],["head-of-lin",{"_index":778,"title":{},"description":{"36":{}}}],["header",{"_index":73,"title":{},"description":{"2":{},"36":{}}}],["health",{"_index":801,"title":{},"description":{"38":{}}}],["help",{"_index":380,"title":{},"description":{"19":{},"25":{},"27":{},"38":{}}}],["here",{"_index":419,"title":{},"description":{"20":{}}}],["high",{"_index":572,"title":{},"description":{"25":{}}}],["higher",{"_index":315,"title":{},"description":{"17":{},"18":{}}}],["histogram",{"_index":808,"title":{},"description":{"38":{}}}],["histori",{"_index":270,"title":{},"description":{"16":{}}}],["hit",{"_index":358,"title":{},"description":{"18":{}}}],["hop",{"_index":336,"title":{},"description":{"18":{}}}],["host",{"_index":252,"title":{},"description":{"15":{}}}],["html",{"_index":694,"title":{},"description":{"31":{}}}],["http",{"_index":651,"title":{},"description":{"28":{},"36":{}}}],["http://www.w3.org/1999/02/22-rdf-syntax-ns#typ",{"_index":511,"title":{},"description":{"23":{}}}],["https://example.com/ent",{"_index":507,"title":{},"description":{"23":{}}}],["https://example.com/know",{"_index":513,"title":{},"description":{"23":{}}}],["https://example.com/person/alic",{"_index":510,"title":{},"description":{"23":{},"24":{}}}],["https://example.com/type/person",{"_index":512,"title":{},"description":{"23":{}}}],["human-read",{"_index":238,"title":{},"description":{"14":{}}}],["id",{"_index":188,"title":{},"description":{"10":{},"12":{},"14":{},"20":{},"24":{},"27":{},"33":{},"34":{},"36":{}}}],["ident",{"_index":773,"title":{},"description":{"36":{}}}],["identifi",{"_index":237,"title":{},"description":{"14":{},"16":{},"18":{},"20":{},"22":{},"25":{},"27":{},"33":{},"34":{},"36":{}}}],["immedi",{"_index":682,"title":{},"description":{"30":{},"31":{}}}],["implement",{"_index":482,"title":{},"description":{"22":{}}}],["import",{"_index":122,"title":{"33":{}},"description":{"6":{},"8":{},"31":{},"32":{},"33":{}}}],["import/export",{"_index":21,"title":{"32":{}},"description":{"0":{}}}],["in-token",{"_index":390,"title":{},"description":{"19":{}}}],["includ",{"_index":71,"title":{},"description":{"2":{},"6":{},"8":{},"16":{},"19":{},"25":{},"36":{},"38":{}}}],["incorpor",{"_index":341,"title":{},"description":{"18":{}}}],["incorrect",{"_index":582,"title":{},"description":{"25":{}}}],["increment",{"_index":423,"title":{},"description":{"20":{},"34":{}}}],["index",{"_index":438,"title":{},"description":{"21":{},"29":{},"30":{},"31":{}}}],["indic",{"_index":785,"title":{},"description":{"36":{}}}],["individu",{"_index":660,"title":{},"description":{"29":{},"36":{}}}],["info",{"_index":321,"title":{},"description":{"17":{}}}],["inform",{"_index":205,"title":{},"description":{"12":{},"16":{},"22":{},"31":{},"36":{}}}],["infrastructur",{"_index":600,"title":{},"description":{"26":{}}}],["ingest",{"_index":619,"title":{},"description":{"27":{},"30":{},"31":{}}}],["initi",{"_index":727,"title":{},"description":{"33":{}}}],["inlin",{"_index":185,"title":{},"description":{"10":{}}}],["input",{"_index":391,"title":{},"description":{"19":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{}}}],["inspect",{"_index":563,"title":{},"description":{"25":{}}}],["inspect/modifi",{"_index":589,"title":{},"description":{"26":{}}}],["instanc",{"_index":46,"title":{},"description":{"1":{},"6":{},"8":{},"12":{},"15":{},"23":{}}}],["instead",{"_index":534,"title":{},"description":{"24":{},"26":{},"36":{}}}],["integr",{"_index":467,"title":{},"description":{"22":{},"30":{},"38":{}}}],["interfac",{"_index":30,"title":{"36":{}},"description":{"0":{},"6":{},"8":{},"24":{},"35":{},"36":{}}}],["interface-descript",{"_index":118,"title":{},"description":{"6":{}}}],["intermedi",{"_index":606,"title":{},"description":{"26":{}}}],["interv",{"_index":813,"title":{},"description":{"38":{}}}],["introspect",{"_index":528,"title":{},"description":{"24":{}}}],["invalid",{"_index":548,"title":{},"description":{"24":{}}}],["isol",{"_index":324,"title":{},"description":{"17":{}}}],["issu",{"_index":549,"title":{},"description":{"24":{},"26":{}}}],["it'",{"_index":247,"title":{},"description":{"14":{},"17":{},"18":{}}}],["item",{"_index":99,"title":{},"description":{"6":{}}}],["json",{"_index":79,"title":{},"description":{"3":{},"4":{},"19":{},"20":{},"22":{},"23":{},"24":{},"27":{},"36":{}}}],["kebab-cas",{"_index":81,"title":{},"description":{"3":{}}}],["key",{"_index":103,"title":{},"description":{"6":{}}}],["keyword",{"_index":655,"title":{},"description":{"29":{}}}],["kind",{"_index":762,"title":{},"description":{"36":{}}}],["knob",{"_index":343,"title":{},"description":{"18":{}}}],["know",{"_index":557,"title":{},"description":{"25":{}}}],["knowledg",{"_index":10,"title":{"11":{},"12":{},"18":{},"24":{}},"description":{"0":{},"1":{},"11":{},"12":{},"14":{},"18":{},"19":{},"23":{},"24":{},"25":{},"26":{},"28":{},"30":{},"33":{},"34":{},"36":{}}}],["known",{"_index":624,"title":{},"description":{"27":{}}}],["label",{"_index":242,"title":{},"description":{"14":{}}}],["languag",{"_index":260,"title":{"25":{}},"description":{"16":{},"25":{},"26":{}}}],["larg",{"_index":518,"title":{},"description":{"23":{}}}],["larger",{"_index":357,"title":{},"description":{"18":{}}}],["latenc",{"_index":749,"title":{},"description":{"36":{},"38":{}}}],["later",{"_index":684,"title":{},"description":{"30":{},"31":{}}}],["legaci",{"_index":286,"title":{},"description":{"16":{}}}],["less",{"_index":603,"title":{},"description":{"26":{}}}],["leverag",{"_index":329,"title":{},"description":{"18":{},"19":{}}}],["librari",{"_index":12,"title":{"10":{}},"description":{"0":{},"1":{},"9":{},"10":{},"30":{},"31":{},"36":{}}}],["librarian",{"_index":39,"title":{"9":{}},"description":{"1":{},"10":{},"14":{},"36":{}}}],["lifecycl",{"_index":37,"title":{"8":{}},"description":{"1":{},"7":{},"36":{}}}],["limit",{"_index":244,"title":{},"description":{"14":{},"18":{},"23":{},"28":{},"29":{}}}],["list",{"_index":98,"title":{},"description":{"6":{},"8":{},"10":{},"12":{},"14":{},"27":{},"36":{}}}],["list-blueprint",{"_index":154,"title":{},"description":{"8":{}}}],["list-collect",{"_index":243,"title":{},"description":{"14":{}}}],["list-docu",{"_index":189,"title":{},"description":{"10":{}}}],["list-flow",{"_index":149,"title":{},"description":{"8":{}}}],["list-kg-cor",{"_index":207,"title":{},"description":{"12":{}}}],["list-process",{"_index":197,"title":{},"description":{"10":{}}}],["liter",{"_index":509,"title":{},"description":{"23":{}}}],["llm",{"_index":300,"title":{"19":{}},"description":{"17":{},"18":{},"19":{},"20":{},"22":{},"29":{}}}],["load",{"_index":58,"title":{"30":{},"31":{}},"description":{"1":{},"12":{},"27":{},"30":{},"31":{},"33":{},"36":{}}}],["load-kg-cor",{"_index":222,"title":{},"description":{"12":{}}}],["long-term",{"_index":739,"title":{},"description":{"34":{}}}],["low",{"_index":581,"title":{},"description":{"25":{},"36":{}}}],["low-level",{"_index":591,"title":{},"description":{"26":{}}}],["lower",{"_index":317,"title":{},"description":{"17":{},"36":{}}}],["m",{"_index":718,"title":{},"description":{"33":{},"34":{}}}],["main",{"_index":367,"title":{},"description":{"18":{}}}],["maintain",{"_index":290,"title":{},"description":{"16":{}}}],["make",{"_index":224,"title":{},"description":{"12":{},"30":{},"31":{}}}],["manag",{"_index":9,"title":{"8":{},"10":{},"12":{},"14":{}},"description":{"0":{},"1":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"36":{}}}],["mani",{"_index":345,"title":{},"description":{"18":{}}}],["map",{"_index":562,"title":{},"description":{"25":{}}}],["marker",{"_index":216,"title":{},"description":{"12":{},"34":{}}}],["match",{"_index":440,"title":{},"description":{"21":{},"23":{},"25":{},"26":{},"27":{},"36":{}}}],["max",{"_index":515,"title":{},"description":{"23":{}}}],["max-path-length",{"_index":335,"title":{},"description":{"18":{}}}],["max-subgraph-s",{"_index":351,"title":{},"description":{"18":{}}}],["max_length",{"_index":412,"title":{},"description":{"20":{}}}],["mcp",{"_index":457,"title":{"22":{}},"description":{"22":{}}}],["mcp-tool",{"_index":62,"title":{},"description":{"1":{},"36":{}}}],["mean",{"_index":432,"title":{},"description":{"21":{},"29":{}}}],["medium",{"_index":578,"title":{},"description":{"25":{}}}],["messag",{"_index":91,"title":{},"description":{"4":{},"12":{},"16":{},"17":{},"18":{},"19":{},"33":{},"34":{},"36":{}}}],["messagepack",{"_index":712,"title":{},"description":{"33":{},"34":{}}}],["metadata",{"_index":45,"title":{"14":{}},"description":{"1":{},"10":{},"12":{},"13":{},"14":{},"27":{},"29":{},"30":{},"31":{},"33":{},"34":{},"36":{}}}],["metric",{"_index":793,"title":{"37":{},"38":{},"39":{}},"description":{"37":{},"38":{},"39":{}}}],["metric_nam",{"_index":803,"title":{},"description":{"38":{}}}],["metric_name{label=\"valu",{"_index":805,"title":{},"description":{"38":{}}}],["microsoft",{"_index":693,"title":{},"description":{"31":{}}}],["migrat",{"_index":707,"title":{},"description":{"31":{},"33":{},"34":{}}}],["miss",{"_index":319,"title":{},"description":{"17":{},"24":{},"25":{}}}],["ml",{"_index":443,"title":{},"description":{"21":{}}}],["mode",{"_index":76,"title":{},"description":{"2":{},"16":{}}}],["model",{"_index":115,"title":{"22":{}},"description":{"6":{},"21":{},"22":{},"24":{}}}],["modifi",{"_index":564,"title":{},"description":{"25":{}}}],["monitor",{"_index":794,"title":{},"description":{"37":{},"38":{}}}],["more",{"_index":96,"title":{},"description":{"6":{},"17":{},"18":{},"23":{}}}],["move",{"_index":726,"title":{},"description":{"33":{},"34":{}}}],["multi-hop",{"_index":363,"title":{},"description":{"18":{}}}],["multi-ten",{"_index":323,"title":{},"description":{"17":{}}}],["multi-turn",{"_index":289,"title":{},"description":{"16":{}}}],["multipl",{"_index":213,"title":{},"description":{"12":{},"16":{},"17":{},"18":{},"19":{},"30":{},"33":{},"36":{}}}],["multiplex",{"_index":29,"title":{"36":{}},"description":{"0":{},"36":{}}}],["my-flow",{"_index":756,"title":{},"description":{"36":{}}}],["n",{"_index":307,"title":{},"description":{"17":{},"28":{},"29":{}}}],["name",{"_index":78,"title":{"3":{}},"description":{"8":{},"14":{},"22":{},"24":{}}}],["natur",{"_index":259,"title":{"25":{}},"description":{"16":{},"25":{},"26":{}}}],["navig",{"_index":645,"title":{},"description":{"28":{}}}],["need",{"_index":121,"title":{},"description":{"6":{},"19":{},"24":{},"25":{},"26":{},"27":{}}}],["nest",{"_index":525,"title":{},"description":{"24":{},"27":{}}}],["nestedfield",{"_index":543,"title":{},"description":{"24":{}}}],["nestedobject",{"_index":542,"title":{},"description":{"24":{}}}],["new",{"_index":130,"title":{},"description":{"8":{},"12":{}}}],["next",{"_index":734,"title":{},"description":{"34":{}}}],["nlp",{"_index":551,"title":{"25":{}},"description":{"25":{},"26":{}}}],["nlp-queri",{"_index":56,"title":{},"description":{"1":{},"36":{}}}],["non-block",{"_index":744,"title":{},"description":{"36":{}}}],["non-techn",{"_index":560,"title":{},"description":{"25":{}}}],["none",{"_index":668,"title":{},"description":{"30":{},"31":{}}}],["null",{"_index":593,"title":{},"description":{"26":{}}}],["o",{"_index":501,"title":{},"description":{"23":{}}}],["object",{"_index":55,"title":{"24":{}},"description":{"1":{},"20":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"36":{}}}],["object-ori",{"_index":521,"title":{},"description":{"24":{}}}],["observ",{"_index":279,"title":{},"description":{"16":{}}}],["obtain",{"_index":646,"title":{},"description":{"28":{},"29":{}}}],["occur",{"_index":280,"title":{},"description":{"16":{}}}],["omit",{"_index":496,"title":{},"description":{"23":{},"36":{}}}],["on",{"_index":454,"title":{},"description":{"21":{},"24":{},"26":{},"27":{},"36":{}}}],["on-demand",{"_index":178,"title":{},"description":{"10":{}}}],["ongo",{"_index":196,"title":{},"description":{"10":{}}}],["open('document.pdf",{"_index":698,"title":{},"description":{"31":{}}}],["oper",{"_index":24,"title":{},"description":{"0":{},"6":{},"8":{},"10":{},"12":{},"14":{},"21":{},"22":{},"26":{},"27":{},"36":{}}}],["operationname($var",{"_index":537,"title":{},"description":{"24":{}}}],["optim",{"_index":393,"title":{},"description":{"19":{}}}],["option",{"_index":190,"title":{},"description":{"10":{},"14":{},"16":{},"18":{},"20":{},"23":{},"27":{},"30":{},"31":{},"36":{},"39":{}}}],["order",{"_index":649,"title":{},"description":{"28":{},"29":{},"36":{}}}],["organ",{"_index":174,"title":{},"description":{"10":{},"12":{},"14":{},"30":{}}}],["organiz",{"_index":234,"title":{},"description":{"14":{}}}],["out",{"_index":777,"title":{},"description":{"36":{}}}],["out-token",{"_index":392,"title":{},"description":{"19":{}}}],["output",{"_index":407,"title":{},"description":{"20":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{}}}],["output_format",{"_index":409,"title":{},"description":{"20":{}}}],["over",{"_index":295,"title":{"24":{}},"description":{"17":{},"18":{},"19":{},"26":{},"36":{}}}],["overhead",{"_index":747,"title":{},"description":{"36":{}}}],["overlap",{"_index":659,"title":{},"description":{"29":{},"30":{},"31":{}}}],["overview",{"_index":0,"title":{"0":{}},"description":{"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"33":{},"34":{},"36":{},"38":{}}}],["owner",{"_index":236,"title":{},"description":{"14":{}}}],["p",{"_index":499,"title":{},"description":{"23":{}}}],["page",{"_index":695,"title":{},"description":{"31":{}}}],["paper",{"_index":706,"title":{},"description":{"31":{}}}],["param",{"_index":137,"title":{},"description":{"8":{}}}],["paramet",{"_index":95,"title":{},"description":{"6":{},"8":{},"17":{},"18":{},"22":{},"33":{},"34":{},"36":{},"38":{},"39":{}}}],["parameter",{"_index":544,"title":{},"description":{"24":{}}}],["parameter-typ",{"_index":117,"title":{},"description":{"6":{}}}],["pars",{"_index":561,"title":{},"description":{"25":{}}}],["partial",{"_index":387,"title":{},"description":{"19":{},"24":{},"26":{}}}],["pass",{"_index":309,"title":{},"description":{"17":{},"18":{},"20":{},"24":{}}}],["passag",{"_index":654,"title":{},"description":{"29":{}}}],["path",{"_index":333,"title":{"39":{}},"description":{"18":{},"36":{},"38":{},"39":{}}}],["pattern",{"_index":490,"title":{},"description":{"23":{},"26":{}}}],["pattern-bas",{"_index":488,"title":{"23":{}},"description":{}}],["payload",{"_index":764,"title":{},"description":{"36":{}}}],["pdf",{"_index":688,"title":{"31":{}},"description":{"31":{}}}],["pdf→text",{"_index":689,"title":{},"description":{"31":{}}}],["per",{"_index":349,"title":{},"description":{"18":{},"36":{}}}],["perform",{"_index":484,"title":{},"description":{"22":{},"23":{},"26":{}}}],["persist",{"_index":172,"title":{},"description":{"10":{},"12":{},"36":{}}}],["person(id",{"_index":546,"title":{},"description":{"24":{}}}],["pipelin",{"_index":620,"title":{},"description":{"27":{},"30":{},"31":{}}}],["placehold",{"_index":408,"title":{},"description":{"20":{}}}],["plain",{"_index":422,"title":{},"description":{"20":{},"22":{},"25":{}}}],["point",{"_index":165,"title":{},"description":{"8":{}}}],["pool",{"_index":791,"title":{},"description":{"36":{}}}],["popul",{"_index":728,"title":{},"description":{"33":{}}}],["portabl",{"_index":691,"title":{},"description":{"31":{}}}],["posit",{"_index":663,"title":{},"description":{"29":{}}}],["post",{"_index":771,"title":{},"description":{"36":{}}}],["power",{"_index":437,"title":{},"description":{"21":{}}}],["precis",{"_index":592,"title":{},"description":{"26":{}}}],["predefin",{"_index":523,"title":{},"description":{"24":{}}}],["predic",{"_index":494,"title":{},"description":{"23":{}}}],["present",{"_index":769,"title":{},"description":{"36":{}}}],["previou",{"_index":269,"title":{},"description":{"16":{}}}],["price",{"_index":116,"title":{},"description":{"6":{}}}],["probabl",{"_index":576,"title":{},"description":{"25":{}}}],["problem",{"_index":261,"title":{},"description":{"16":{}}}],["process",{"_index":171,"title":{},"description":{"10":{},"16":{},"17":{},"18":{},"21":{},"25":{},"27":{},"28":{},"29":{},"30":{},"31":{},"33":{},"34":{},"36":{},"38":{}}}],["processor",{"_index":146,"title":{},"description":{"8":{}}}],["prometheu",{"_index":795,"title":{"38":{},"39":{}},"description":{"38":{},"39":{}}}],["prompt",{"_index":50,"title":{"20":{}},"description":{"1":{},"6":{},"19":{},"20":{},"36":{}}}],["properti",{"_index":500,"title":{},"description":{"23":{},"30":{},"31":{}}}],["protocol",{"_index":459,"title":{"22":{}},"description":{"22":{},"33":{},"34":{},"36":{}}}],["proven",{"_index":398,"title":{},"description":{"19":{}}}],["provid",{"_index":2,"title":{},"description":{"0":{},"16":{},"17":{},"18":{},"19":{},"22":{},"36":{}}}],["proxi",{"_index":796,"title":{},"description":{"38":{},"39":{}}}],["pure",{"_index":372,"title":{},"description":{"19":{},"22":{}}}],["purpos",{"_index":240,"title":{},"description":{"14":{}}}],["put",{"_index":104,"title":{},"description":{"6":{}}}],["put-blueprint",{"_index":133,"title":{},"description":{"8":{}}}],["put-kg-cor",{"_index":217,"title":{},"description":{"12":{}}}],["python",{"_index":383,"title":{},"description":{"19":{},"31":{}}}],["quantum",{"_index":757,"title":{},"description":{"36":{}}}],["queri",{"_index":54,"title":{"23":{},"24":{},"25":{},"26":{},"28":{},"29":{}},"description":{"1":{},"10":{},"12":{},"17":{},"18":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"28":{},"29":{},"30":{},"31":{},"33":{},"34":{},"36":{},"38":{}}}],["question",{"_index":256,"title":{"26":{}},"description":{"16":{},"19":{},"25":{},"26":{},"36":{}}}],["queu",{"_index":192,"title":{},"description":{"10":{},"30":{},"31":{}}}],["queue",{"_index":153,"title":{},"description":{"8":{},"38":{}}}],["quote_char",{"_index":633,"title":{},"description":{"27":{}}}],["rag",{"_index":15,"title":{"17":{},"18":{}},"description":{"0":{},"1":{},"17":{},"18":{},"21":{},"28":{},"29":{},"36":{}}}],["rate",{"_index":799,"title":{},"description":{"38":{}}}],["raw",{"_index":661,"title":{},"description":{"29":{}}}],["rb",{"_index":699,"title":{},"description":{"31":{}}}],["rdf",{"_index":202,"title":{},"description":{"12":{},"23":{},"24":{},"26":{},"28":{},"30":{},"31":{}}}],["rdfvalu",{"_index":504,"title":{},"description":{"23":{},"33":{},"34":{}}}],["read/writ",{"_index":485,"title":{},"description":{"22":{}}}],["real-tim",{"_index":748,"title":{},"description":{"36":{}}}],["reason",{"_index":254,"title":{"16":{}},"description":{"16":{},"18":{},"19":{}}}],["receiv",{"_index":212,"title":{},"description":{"12":{},"17":{},"18":{},"19":{},"20":{},"27":{},"33":{},"34":{}}}],["recommend",{"_index":626,"title":{},"description":{"27":{}}}],["record_path",{"_index":636,"title":{},"description":{"27":{}}}],["recoveri",{"_index":737,"title":{},"description":{"34":{}}}],["reduc",{"_index":746,"title":{},"description":{"36":{}}}],["refer",{"_index":652,"title":{},"description":{"28":{}}}],["regist",{"_index":472,"title":{},"description":{"22":{}}}],["registr",{"_index":479,"title":{},"description":{"22":{}}}],["relat",{"_index":368,"title":{},"description":{"18":{},"21":{},"24":{},"28":{},"29":{}}}],["relationship",{"_index":142,"title":{},"description":{"8":{},"18":{},"19":{},"23":{},"24":{},"25":{}}}],["releas",{"_index":147,"title":{},"description":{"8":{}}}],["relev",{"_index":320,"title":{},"description":{"17":{},"18":{},"29":{}}}],["remov",{"_index":169,"title":{},"description":{"10":{},"12":{},"14":{}}}],["remove-docu",{"_index":187,"title":{},"description":{"10":{}}}],["repeat",{"_index":427,"title":{},"description":{"20":{}}}],["replac",{"_index":681,"title":{},"description":{"30":{}}}],["replic",{"_index":729,"title":{},"description":{"33":{},"34":{}}}],["repres",{"_index":203,"title":{},"description":{"12":{}}}],["represent",{"_index":430,"title":{},"description":{"21":{}}}],["req-1",{"_index":780,"title":{},"description":{"36":{}}}],["req-123",{"_index":754,"title":{},"description":{"36":{}}}],["req-2",{"_index":781,"title":{},"description":{"36":{}}}],["req-3",{"_index":783,"title":{},"description":{"36":{}}}],["req-456",{"_index":755,"title":{},"description":{"36":{}}}],["request",{"_index":266,"title":{},"description":{"16":{},"20":{},"21":{},"22":{},"24":{},"30":{},"33":{},"36":{},"38":{}}}],["request/quest",{"_index":386,"title":{},"description":{"19":{}}}],["request/respons",{"_index":745,"title":{},"description":{"36":{}}}],["requir",{"_index":19,"title":{},"description":{"0":{},"1":{},"18":{},"19":{},"36":{}}}],["research",{"_index":705,"title":{},"description":{"31":{}}}],["resolv",{"_index":134,"title":{},"description":{"8":{}}}],["resourc",{"_index":148,"title":{},"description":{"8":{},"38":{}}}],["respond",{"_index":384,"title":{},"description":{"19":{}}}],["respons",{"_index":87,"title":{"4":{}},"description":{"12":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"25":{},"26":{},"29":{},"30":{},"31":{},"33":{},"34":{},"36":{},"38":{}}}],["rest",{"_index":742,"title":{},"description":{"36":{}}}],["restor",{"_index":714,"title":{},"description":{"33":{}}}],["result",{"_index":245,"title":{"26":{}},"description":{"14":{},"16":{},"22":{},"23":{},"25":{},"26":{},"28":{},"29":{},"30":{}}}],["retriev",{"_index":102,"title":{"17":{},"18":{}},"description":{"6":{},"8":{},"12":{},"17":{},"18":{},"19":{},"21":{},"22":{},"28":{},"29":{},"30":{}}}],["retrieval-aug",{"_index":294,"title":{},"description":{"17":{},"18":{}}}],["return",{"_index":88,"title":{},"description":{"4":{},"12":{},"14":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"26":{},"28":{},"29":{},"30":{},"31":{},"33":{},"38":{}}}],["reus",{"_index":790,"title":{},"description":{"36":{}}}],["reusabl",{"_index":403,"title":{},"description":{"20":{}}}],["review",{"_index":579,"title":{},"description":{"25":{}}}],["role",{"_index":378,"title":{},"description":{"19":{}}}],["root_el",{"_index":635,"title":{},"description":{"27":{}}}],["rout",{"_index":770,"title":{},"description":{"36":{}}}],["run",{"_index":20,"title":{},"description":{"0":{},"1":{},"2":{},"6":{},"8":{},"12":{},"22":{},"30":{},"31":{}}}],["s",{"_index":498,"title":{},"description":{"23":{}}}],["s/p/o",{"_index":502,"title":{},"description":{"23":{}}}],["same",{"_index":741,"title":{},"description":{"36":{}}}],["sampl",{"_index":614,"title":{},"description":{"27":{}}}],["schema",{"_index":481,"title":{},"description":{"22":{},"24":{},"25":{},"27":{},"36":{}}}],["schema-awar",{"_index":554,"title":{},"description":{"25":{}}}],["schema-driven",{"_index":522,"title":{},"description":{"24":{}}}],["schema-select",{"_index":628,"title":{},"description":{"27":{}}}],["scope",{"_index":342,"title":{},"description":{"18":{},"25":{}}}],["score",{"_index":556,"title":{},"description":{"25":{},"28":{},"29":{}}}],["scrape",{"_index":810,"title":{},"description":{"38":{}}}],["scratch",{"_index":627,"title":{},"description":{"27":{}}}],["script",{"_index":486,"title":{},"description":{"22":{}}}],["search",{"_index":297,"title":{},"description":{"17":{},"21":{},"22":{},"28":{},"29":{}}}],["searchabl",{"_index":673,"title":{},"description":{"30":{},"31":{}}}],["see",{"_index":774,"title":{},"description":{"36":{}}}],["semant",{"_index":298,"title":{},"description":{"17":{},"21":{},"28":{},"29":{}}}],["send",{"_index":267,"title":{},"description":{"16":{},"36":{}}}],["sent",{"_index":725,"title":{},"description":{"33":{},"34":{}}}],["separ",{"_index":112,"title":{},"description":{"6":{},"26":{}}}],["server",{"_index":480,"title":{},"description":{"22":{},"36":{}}}],["servic",{"_index":6,"title":{"1":{},"6":{},"15":{},"16":{},"20":{},"36":{}},"description":{"0":{},"1":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"13":{},"15":{},"16":{},"20":{},"21":{},"22":{},"24":{},"25":{},"26":{},"28":{},"29":{},"36":{}}}],["service-specif",{"_index":763,"title":{},"description":{"36":{}}}],["session",{"_index":760,"title":{},"description":{"36":{}}}],["set",{"_index":70,"title":{},"description":{"2":{},"14":{},"19":{},"23":{},"36":{},"38":{}}}],["share",{"_index":161,"title":{},"description":{"8":{}}}],["show",{"_index":157,"title":{},"description":{"8":{},"25":{}}}],["signal",{"_index":232,"title":{},"description":{"12":{},"34":{}}}],["similar",{"_index":299,"title":{"28":{},"29":{}},"description":{"17":{},"21":{},"25":{},"28":{},"29":{}}}],["simpl",{"_index":477,"title":{},"description":{"22":{},"26":{}}}],["simpler",{"_index":605,"title":{},"description":{"26":{}}}],["simplest",{"_index":588,"title":{},"description":{"26":{}}}],["simultan",{"_index":776,"title":{},"description":{"36":{}}}],["singl",{"_index":288,"title":{},"description":{"16":{},"17":{},"18":{},"19":{},"21":{},"24":{},"36":{}}}],["size",{"_index":337,"title":{},"description":{"18":{},"29":{}}}],["slower",{"_index":316,"title":{},"description":{"17":{},"18":{}}}],["sourc",{"_index":662,"title":{},"description":{"29":{},"30":{},"31":{},"34":{}}}],["specif",{"_index":100,"title":{},"description":{"6":{},"17":{},"19":{},"23":{},"38":{}}}],["specifi",{"_index":492,"title":{},"description":{"23":{},"30":{}}}],["split",{"_index":656,"title":{},"description":{"29":{},"30":{},"31":{}}}],["standard",{"_index":461,"title":{},"description":{"22":{},"24":{},"26":{},"38":{}}}],["start",{"_index":129,"title":{},"description":{"8":{},"10":{},"18":{},"27":{}}}],["start-flow",{"_index":128,"title":{},"description":{"8":{}}}],["start-process",{"_index":191,"title":{},"description":{"10":{}}}],["start/stop/manag",{"_index":126,"title":{},"description":{"6":{},"8":{}}}],["state",{"_index":268,"title":{},"description":{"16":{}}}],["statu",{"_index":181,"title":{},"description":{"10":{},"30":{},"31":{},"38":{}}}],["stay",{"_index":338,"title":{},"description":{"18":{}}}],["step",{"_index":271,"title":{},"description":{"16":{},"26":{}}}],["stop",{"_index":144,"title":{},"description":{"8":{},"10":{}}}],["stop-flow",{"_index":143,"title":{},"description":{"8":{}}}],["stop-process",{"_index":195,"title":{},"description":{"10":{}}}],["storag",{"_index":11,"title":{},"description":{"0":{},"12":{},"21":{},"30":{},"31":{},"33":{},"34":{}}}],["store",{"_index":111,"title":{},"description":{"6":{},"8":{},"12":{},"20":{},"28":{},"29":{},"30":{},"31":{}}}],["store/retriev",{"_index":125,"title":{},"description":{"6":{},"8":{}}}],["stream",{"_index":211,"title":{},"description":{"12":{},"16":{},"17":{},"18":{},"19":{},"20":{},"33":{},"34":{},"36":{}}}],["string",{"_index":418,"title":{},"description":{"20":{},"26":{},"29":{},"36":{}}}],["strong",{"_index":527,"title":{},"description":{"24":{}}}],["structur",{"_index":158,"title":{"25":{},"26":{},"27":{}},"description":{"8":{},"18":{},"20":{},"22":{},"24":{},"25":{},"26":{},"27":{},"36":{}}}],["structured-diag",{"_index":63,"title":{},"description":{"1":{},"36":{}}}],["structured-queri",{"_index":57,"title":{},"description":{"1":{},"36":{}}}],["subfield1",{"_index":540,"title":{},"description":{"24":{}}}],["subfield2",{"_index":541,"title":{},"description":{"24":{}}}],["subgraph",{"_index":327,"title":{},"description":{"18":{}}}],["subject",{"_index":493,"title":{},"description":{"23":{}}}],["subject-predicate-object",{"_index":489,"title":{},"description":{"23":{}}}],["subprotocol",{"_index":787,"title":{},"description":{"36":{}}}],["substitut",{"_index":402,"title":{},"description":{"20":{}}}],["success",{"_index":765,"title":{},"description":{"36":{}}}],["suffici",{"_index":394,"title":{},"description":{"19":{}}}],["suggest",{"_index":583,"title":{},"description":{"25":{}}}],["summar",{"_index":411,"title":{},"description":{"20":{}}}],["support",{"_index":436,"title":{},"description":{"21":{},"23":{},"27":{},"31":{},"36":{},"38":{}}}],["synchron",{"_index":683,"title":{},"description":{"30":{}}}],["syntax",{"_index":495,"title":{},"description":{"23":{}}}],["synthes",{"_index":301,"title":{},"description":{"17":{}}}],["system",{"_index":97,"title":{},"description":{"6":{},"8":{},"19":{},"20":{},"21":{},"22":{},"24":{},"26":{},"31":{},"33":{},"34":{},"37":{},"38":{}}}],["system-level",{"_index":595,"title":{},"description":{"26":{}}}],["t",{"_index":717,"title":{},"description":{"33":{},"34":{}}}],["tag",{"_index":241,"title":{},"description":{"14":{}}}],["take",{"_index":257,"title":{},"description":{"16":{}}}],["taken",{"_index":278,"title":{},"description":{"16":{}}}],["target",{"_index":322,"title":{},"description":{"17":{},"33":{}}}],["task",{"_index":198,"title":{},"description":{"10":{},"19":{},"20":{}}}],["tcp/tl",{"_index":788,"title":{},"description":{"36":{}}}],["templat",{"_index":113,"title":{},"description":{"6":{},"20":{}}}],["template-bas",{"_index":400,"title":{"20":{}},"description":{}}],["term",{"_index":416,"title":{},"description":{"20":{}}}],["termin",{"_index":145,"title":{},"description":{"8":{}}}],["text",{"_index":16,"title":{"19":{},"21":{},"29":{},"30":{}},"description":{"0":{},"19":{},"20":{},"21":{},"22":{},"23":{},"29":{},"30":{},"31":{},"38":{}}}],["text-complet",{"_index":49,"title":{},"description":{"1":{},"19":{},"36":{}}}],["text-embedding-3-larg",{"_index":449,"title":{},"description":{"21":{}}}],["text-embedding-3-smal",{"_index":448,"title":{},"description":{"21":{}}}],["text-embedding-ada-002",{"_index":446,"title":{},"description":{"21":{}}}],["text-load",{"_index":59,"title":{},"description":{"1":{},"21":{},"27":{},"36":{}}}],["text_cont",{"_index":674,"title":{},"description":{"30":{}}}],["third-parti",{"_index":468,"title":{},"description":{"22":{}}}],["thought",{"_index":262,"title":{},"description":{"16":{},"36":{}}}],["three",{"_index":597,"title":{},"description":{"26":{}}}],["through",{"_index":177,"title":{},"description":{"10":{},"22":{},"30":{},"31":{}}}],["throughput",{"_index":800,"title":{},"description":{"38":{}}}],["time",{"_index":455,"title":{},"description":{"21":{},"38":{}}}],["timeout",{"_index":92,"title":{},"description":{"4":{},"24":{}}}],["titl",{"_index":184,"title":{},"description":{"10":{},"30":{}}}],["togeth",{"_index":219,"title":{},"description":{"12":{}}}],["token",{"_index":66,"title":{},"description":{"2":{},"6":{},"19":{},"29":{},"36":{},"38":{}}}],["token-cost",{"_index":114,"title":{},"description":{"6":{}}}],["tool",{"_index":458,"title":{"22":{}},"description":{"22":{},"24":{}}}],["tool-specif",{"_index":476,"title":{},"description":{"22":{}}}],["top",{"_index":306,"title":{},"description":{"17":{},"28":{},"29":{}}}],["total",{"_index":352,"title":{},"description":{"18":{}}}],["track",{"_index":180,"title":{},"description":{"10":{},"19":{},"31":{}}}],["trade-off",{"_index":602,"title":{},"description":{"26":{}}}],["transform",{"_index":426,"title":{},"description":{"20":{},"21":{},"25":{}}}],["travers",{"_index":332,"title":{},"description":{"18":{},"24":{}}}],["tripl",{"_index":25,"title":{"23":{},"33":{},"34":{}},"description":{"0":{},"1":{},"12":{},"18":{},"23":{},"24":{},"26":{},"28":{},"30":{},"31":{},"33":{},"34":{},"36":{}}}],["triple-limit",{"_index":348,"title":{},"description":{"18":{}}}],["triples/subgraph",{"_index":647,"title":{},"description":{"28":{}}}],["true",{"_index":231,"title":{},"description":{"12":{},"16":{},"17":{},"18":{},"19":{},"20":{},"23":{},"28":{},"33":{},"34":{},"36":{}}}],["trustgraph",{"_index":93,"title":{},"description":{"6":{},"36":{}}}],["tupl",{"_index":716,"title":{},"description":{"33":{},"34":{}}}],["two",{"_index":414,"title":{},"description":{"20":{},"26":{}}}],["type",{"_index":31,"title":{"1":{}},"description":{"4":{},"6":{},"8":{},"16":{},"20":{},"23":{},"24":{},"25":{},"26":{},"27":{},"36":{},"38":{}}}],["type-saf",{"_index":526,"title":{},"description":{"24":{}}}],["typic",{"_index":250,"title":{},"description":{"14":{},"29":{}}}],["u",{"_index":720,"title":{},"description":{"33":{},"34":{}}}],["understand",{"_index":255,"title":{},"description":{"16":{},"18":{},"25":{},"26":{},"27":{}}}],["understood",{"_index":559,"title":{},"description":{"25":{}}}],["uniqu",{"_index":162,"title":{},"description":{"8":{},"14":{},"20":{},"36":{}}}],["unit",{"_index":201,"title":{},"description":{"12":{},"14":{}}}],["unknown",{"_index":612,"title":{},"description":{"27":{}}}],["unlik",{"_index":452,"title":{},"description":{"21":{}}}],["unload",{"_index":227,"title":{},"description":{"12":{}}}],["unload-kg-cor",{"_index":226,"title":{},"description":{"12":{}}}],["up",{"_index":334,"title":{},"description":{"18":{},"23":{}}}],["updat",{"_index":106,"title":{},"description":{"6":{},"8":{},"12":{},"14":{},"30":{}}}],["update-collect",{"_index":246,"title":{},"description":{"14":{}}}],["uri",{"_index":640,"title":{},"description":{"28":{},"33":{},"34":{}}}],["url",{"_index":183,"title":{},"description":{"10":{},"30":{},"36":{}}}],["us",{"_index":80,"title":{},"description":{"3":{},"6":{},"8":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"33":{},"34":{},"36":{},"38":{}}}],["usag",{"_index":389,"title":{},"description":{"19":{},"38":{}}}],["user",{"_index":206,"title":{},"description":{"12":{},"14":{},"16":{},"17":{},"19":{},"25":{},"33":{},"34":{}}}],["user-provid",{"_index":136,"title":{},"description":{"8":{}}}],["utf-8",{"_index":677,"title":{},"description":{"30":{}}}],["util",{"_index":61,"title":{},"description":{"1":{},"36":{}}}],["v",{"_index":506,"title":{},"description":{"23":{},"28":{},"33":{},"34":{}}}],["valu",{"_index":107,"title":{},"description":{"6":{},"8":{},"23":{},"27":{},"28":{},"36":{}}}],["var",{"_index":539,"title":{},"description":{"24":{}}}],["vari",{"_index":451,"title":{},"description":{"21":{}}}],["variabl",{"_index":69,"title":{},"description":{"2":{},"20":{},"24":{},"25":{}}}],["vector",{"_index":204,"title":{"21":{}},"description":{"12":{},"21":{},"28":{},"29":{},"30":{},"31":{},"33":{},"34":{}}}],["verifi",{"_index":685,"title":{},"description":{"30":{},"31":{}}}],["via",{"_index":34,"title":{},"description":{"1":{},"8":{},"17":{},"20":{},"21":{},"22":{},"24":{},"25":{},"27":{},"28":{},"29":{},"30":{},"31":{},"38":{}}}],["vs",{"_index":376,"title":{},"description":{"19":{},"26":{}}}],["want",{"_index":395,"title":{},"description":{"19":{},"26":{}}}],["way",{"_index":415,"title":{},"description":{"20":{},"26":{}}}],["weather",{"_index":475,"title":{},"description":{"22":{}}}],["web",{"_index":462,"title":{},"description":{"22":{},"31":{}}}],["websocket",{"_index":28,"title":{"35":{},"36":{}},"description":{"0":{},"35":{},"36":{}}}],["well",{"_index":558,"title":{},"description":{"25":{}}}],["what'",{"_index":364,"title":{},"description":{"18":{}}}],["window",{"_index":339,"title":{},"description":{"18":{}}}],["within",{"_index":225,"title":{},"description":{"12":{},"15":{},"18":{},"36":{}}}],["without",{"_index":74,"title":{},"description":{"2":{},"17":{},"18":{},"19":{},"36":{}}}],["word",{"_index":413,"title":{},"description":{"20":{},"31":{}}}],["workflow",{"_index":566,"title":{},"description":{"25":{},"27":{}}}],["write",{"_index":374,"title":{},"description":{"19":{}}}],["ws://localhost:8088/api/v1/socket",{"_index":753,"title":{},"description":{"36":{}}}],["ws://localhost:8088/api/v1/socket?token=<token",{"_index":786,"title":{},"description":{"36":{}}}],["x",{"_index":361,"title":{},"description":{"18":{}}}],["xml",{"_index":611,"title":{},"description":{"27":{}}}],["y",{"_index":362,"title":{},"description":{"18":{}}}]],"pipeline":[]}},"options":{}};
|
|
|
|
var container = document.getElementById('redoc');
|
|
Redoc.hydrate(__redoc_state, container);
|
|
|
|
</script>
|
|
</body>
|
|
|
|
</html>
|