mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-25 16:36:21 +02:00
3771 lines
882 KiB
HTML
3771 lines
882 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.9">.hoYmkG{width:calc(100% - 40%);padding:0 40px;}/*!sc*/
|
||
@media print,screen and (max-width: 75rem){.hoYmkG{width:100%;padding:40px 40px;}}/*!sc*/
|
||
.eiTXyS{width:calc(100% - 40%);padding:0 40px;}/*!sc*/
|
||
@media print,screen and (max-width: 75rem){.eiTXyS{width:100%;padding:0px 40px;}}/*!sc*/
|
||
data-styled.g4[id="sc-hLseeT"]{content:"hoYmkG,eiTXyS,"}/*!sc*/
|
||
.eTiIZG{padding:40px 0;}/*!sc*/
|
||
.eTiIZG:last-child{min-height:calc(100vh + 1px);}/*!sc*/
|
||
.eTiIZG>.eTiIZG:last-child{min-height:initial;}/*!sc*/
|
||
@media print,screen and (max-width: 75rem){.eTiIZG{padding:0;}}/*!sc*/
|
||
.iUTsUN{padding:40px 0;position:relative;}/*!sc*/
|
||
.iUTsUN:last-child{min-height:calc(100vh + 1px);}/*!sc*/
|
||
.iUTsUN>.iUTsUN:last-child{min-height:initial;}/*!sc*/
|
||
@media print,screen and (max-width: 75rem){.iUTsUN{padding:0;}}/*!sc*/
|
||
.iUTsUN: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-eDDNvO"]{content:"eTiIZG,iUTsUN,"}/*!sc*/
|
||
.dVngAA{width:40%;color:#ffffff;background-color:#263238;padding:0 40px;}/*!sc*/
|
||
@media print,screen and (max-width: 75rem){.dVngAA{width:100%;padding:40px 40px;}}/*!sc*/
|
||
data-styled.g6[id="sc-jTrPJt"]{content:"dVngAA,"}/*!sc*/
|
||
.fYLqku{background-color:#263238;}/*!sc*/
|
||
data-styled.g7[id="sc-gLDzao"]{content:"fYLqku,"}/*!sc*/
|
||
.cmAaWK{display:flex;width:100%;padding:0;}/*!sc*/
|
||
@media print,screen and (max-width: 75rem){.cmAaWK{flex-direction:column;}}/*!sc*/
|
||
data-styled.g8[id="sc-iAEyYj"]{content:"cmAaWK,"}/*!sc*/
|
||
.ePkAIL{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.85714em;line-height:1.6em;color:#333333;}/*!sc*/
|
||
data-styled.g9[id="sc-fsQipe"]{content:"ePkAIL,"}/*!sc*/
|
||
.bcNKdh{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-qRumy"]{content:"bcNKdh,"}/*!sc*/
|
||
.AyivY{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.27em;line-height:1.6em;color:#333333;}/*!sc*/
|
||
data-styled.g11[id="sc-jsMahD"]{content:"AyivY,"}/*!sc*/
|
||
.dEbuTz{color:#ffffff;}/*!sc*/
|
||
data-styled.g12[id="sc-kFuwaQ"]{content:"dEbuTz,"}/*!sc*/
|
||
.fA-dGxt{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-irTswZ"]{content:"fA-dGxt,"}/*!sc*/
|
||
.jSIqAu{cursor:pointer;margin-left:-20px;padding:0;line-height:1;width:20px;display:inline-block;outline:0;}/*!sc*/
|
||
.jSIqAu: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>.jSIqAu::before,h2:hover>.jSIqAu::before,.jSIqAu:hover::before{visibility:visible;}/*!sc*/
|
||
data-styled.g14[id="sc-csCMJq"]{content:"jSIqAu,"}/*!sc*/
|
||
.cNCXIL{height:18px;width:18px;min-width:18px;vertical-align:middle;float:right;transition:transform 0.2s ease-out;transform:rotateZ(-90deg);}/*!sc*/
|
||
.eiOVYa{height:1.3em;width:1.3em;min-width:1.3em;vertical-align:middle;transition:transform 0.2s ease-out;transform:rotateZ(-90deg);}/*!sc*/
|
||
.dTZWxX{height:18px;width:18px;min-width:18px;vertical-align:middle;transition:transform 0.2s ease-out;transform:rotateZ(-90deg);}/*!sc*/
|
||
.iZiZiV{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*/
|
||
.iZiZiV polygon{fill:#1d8127;}/*!sc*/
|
||
.kiMFkB{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*/
|
||
.kiMFkB polygon{fill:#d41f1c;}/*!sc*/
|
||
.ivEQut{height:20px;width:20px;min-width:20px;vertical-align:middle;float:right;transition:transform 0.2s ease-out;transform:rotateZ(0);}/*!sc*/
|
||
.ivEQut polygon{fill:white;}/*!sc*/
|
||
data-styled.g15[id="sc-fbJfz"]{content:"cNCXIL,eiOVYa,dTZWxX,iZiZiV,kiMFkB,ivEQut,"}/*!sc*/
|
||
.kddqHa{border-left:1px solid #7c7cbb;box-sizing:border-box;position:relative;padding:10px 10px 10px 0;}/*!sc*/
|
||
@media screen and (max-width: 50rem){.kddqHa{display:block;overflow:hidden;}}/*!sc*/
|
||
tr:first-of-type>.kddqHa,tr.last>.kddqHa{border-left-width:0;background-position:top left;background-repeat:no-repeat;background-size:1px 100%;}/*!sc*/
|
||
tr:first-of-type>.kddqHa{background-image:linear-gradient(
|
||
to bottom,
|
||
transparent 0%,
|
||
transparent 22px,
|
||
#7c7cbb 22px,
|
||
#7c7cbb 100%
|
||
);}/*!sc*/
|
||
tr.last>.kddqHa{background-image:linear-gradient(
|
||
to bottom,
|
||
#7c7cbb 0%,
|
||
#7c7cbb 22px,
|
||
transparent 22px,
|
||
transparent 100%
|
||
);}/*!sc*/
|
||
tr.last+tr>.kddqHa{border-left-color:transparent;}/*!sc*/
|
||
tr.last:first-child>.kddqHa{background:none;border-left-color:transparent;}/*!sc*/
|
||
data-styled.g18[id="sc-hAtEya"]{content:"kddqHa,"}/*!sc*/
|
||
.eIujjv{vertical-align:top;line-height:20px;white-space:nowrap;font-size:13px;font-family:Courier,monospace;}/*!sc*/
|
||
.eIujjv.deprecated{text-decoration:line-through;color:#707070;}/*!sc*/
|
||
data-styled.g20[id="sc-fGFwA-d"]{content:"eIujjv,"}/*!sc*/
|
||
.bmauLr{border-bottom:1px solid #9fb4be;padding:10px 0;width:75%;box-sizing:border-box;}/*!sc*/
|
||
tr.expanded .bmauLr{border-bottom:none;}/*!sc*/
|
||
@media screen and (max-width: 50rem){.bmauLr{padding:0 20px;border-bottom:none;border-left:1px solid #7c7cbb;}tr.last>.bmauLr{border-left:none;}}/*!sc*/
|
||
data-styled.g21[id="sc-blLsxE"]{content:"bmauLr,"}/*!sc*/
|
||
.bEKmDE{color:#7c7cbb;font-family:Courier,monospace;margin-right:10px;}/*!sc*/
|
||
.bEKmDE::before{content:'';display:inline-block;vertical-align:middle;width:10px;height:1px;background:#7c7cbb;}/*!sc*/
|
||
.bEKmDE::after{content:'';display:inline-block;vertical-align:middle;width:1px;background:#7c7cbb;height:7px;}/*!sc*/
|
||
data-styled.g22[id="sc-ieZDjf"]{content:"bEKmDE,"}/*!sc*/
|
||
.dybric{border-collapse:separate;border-radius:3px;font-size:14px;border-spacing:0;width:100%;}/*!sc*/
|
||
.dybric >tr{vertical-align:middle;}/*!sc*/
|
||
@media screen and (max-width: 50rem){.dybric{display:block;}.dybric >tr,.dybric >tbody>tr{display:block;}}/*!sc*/
|
||
@media screen and (max-width: 50rem) and (-ms-high-contrast:none){.dybric td{float:left;width:100%;}}/*!sc*/
|
||
.dybric .sc-dKfzgG,.dybric .sc-dKfzgG .sc-dKfzgG .sc-dKfzgG,.dybric .sc-dKfzgG .sc-dKfzgG .sc-dKfzgG .sc-dKfzgG .sc-dKfzgG{margin:1em;margin-right:0;background:#fafafa;}/*!sc*/
|
||
.dybric .sc-dKfzgG .sc-dKfzgG,.dybric .sc-dKfzgG .sc-dKfzgG .sc-dKfzgG .sc-dKfzgG,.dybric .sc-dKfzgG .sc-dKfzgG .sc-dKfzgG .sc-dKfzgG .sc-dKfzgG .sc-dKfzgG{background:#ffffff;}/*!sc*/
|
||
data-styled.g24[id="sc-hIqOWV"]{content:"dybric,"}/*!sc*/
|
||
.lbIFgo >ul{list-style:none;padding:0;margin:0;margin:0 -5px;}/*!sc*/
|
||
.lbIFgo >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*/
|
||
.lbIFgo >ul >li.react-tabs__tab--selected{color:#333333;background:#ffffff;}/*!sc*/
|
||
.lbIFgo >ul >li.react-tabs__tab--selected:focus{outline:auto;}/*!sc*/
|
||
.lbIFgo >ul >li:only-child{flex:none;min-width:100px;}/*!sc*/
|
||
.lbIFgo >ul >li.tab-success{color:#1d8127;}/*!sc*/
|
||
.lbIFgo >ul >li.tab-redirect{color:#ffa500;}/*!sc*/
|
||
.lbIFgo >ul >li.tab-info{color:#87ceeb;}/*!sc*/
|
||
.lbIFgo >ul >li.tab-error{color:#d41f1c;}/*!sc*/
|
||
.lbIFgo >.react-tabs__tab-panel{background:#11171a;}/*!sc*/
|
||
.lbIFgo >.react-tabs__tab-panel>div,.lbIFgo >.react-tabs__tab-panel>pre{padding:20px;margin:0;}/*!sc*/
|
||
.lbIFgo >.react-tabs__tab-panel>div>pre{padding:0;}/*!sc*/
|
||
data-styled.g30[id="sc-cyRfQY"]{content:"lbIFgo,"}/*!sc*/
|
||
.dXXcln code[class*='language-'],.dXXcln 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{.dXXcln code[class*='language-'],.dXXcln pre[class*='language-']{text-shadow:none;}}/*!sc*/
|
||
.dXXcln pre[class*='language-']{padding:1em;margin:0.5em 0;overflow:auto;}/*!sc*/
|
||
.dXXcln .token.comment,.dXXcln .token.prolog,.dXXcln .token.doctype,.dXXcln .token.cdata{color:hsl(30, 20%, 50%);}/*!sc*/
|
||
.dXXcln .token.punctuation{opacity:0.7;}/*!sc*/
|
||
.dXXcln .namespace{opacity:0.7;}/*!sc*/
|
||
.dXXcln .token.property,.dXXcln .token.tag,.dXXcln .token.number,.dXXcln .token.constant,.dXXcln .token.symbol{color:#4a8bb3;}/*!sc*/
|
||
.dXXcln .token.boolean{color:#e64441;}/*!sc*/
|
||
.dXXcln .token.selector,.dXXcln .token.attr-name,.dXXcln .token.string,.dXXcln .token.char,.dXXcln .token.builtin,.dXXcln .token.inserted{color:#a0fbaa;}/*!sc*/
|
||
.dXXcln .token.selector+a,.dXXcln .token.attr-name+a,.dXXcln .token.string+a,.dXXcln .token.char+a,.dXXcln .token.builtin+a,.dXXcln .token.inserted+a,.dXXcln .token.selector+a:visited,.dXXcln .token.attr-name+a:visited,.dXXcln .token.string+a:visited,.dXXcln .token.char+a:visited,.dXXcln .token.builtin+a:visited,.dXXcln .token.inserted+a:visited{color:#4ed2ba;text-decoration:underline;}/*!sc*/
|
||
.dXXcln .token.property.string{color:white;}/*!sc*/
|
||
.dXXcln .token.operator,.dXXcln .token.entity,.dXXcln .token.url,.dXXcln .token.variable{color:hsl(40, 90%, 60%);}/*!sc*/
|
||
.dXXcln .token.atrule,.dXXcln .token.attr-value,.dXXcln .token.keyword{color:hsl(350, 40%, 70%);}/*!sc*/
|
||
.dXXcln .token.regex,.dXXcln .token.important{color:#e90;}/*!sc*/
|
||
.dXXcln .token.important,.dXXcln .token.bold{font-weight:bold;}/*!sc*/
|
||
.dXXcln .token.italic{font-style:italic;}/*!sc*/
|
||
.dXXcln .token.entity{cursor:help;}/*!sc*/
|
||
.dXXcln .token.deleted{color:red;}/*!sc*/
|
||
data-styled.g32[id="sc-iKGpAq"]{content:"dXXcln,"}/*!sc*/
|
||
.btblAa{opacity:0.7;transition:opacity 0.3s ease;text-align:right;}/*!sc*/
|
||
.btblAa:focus-within{opacity:1;}/*!sc*/
|
||
.btblAa >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*/
|
||
.btblAa >button :hover,.btblAa >button :focus{background:rgba(255, 255, 255, 0.1);}/*!sc*/
|
||
data-styled.g33[id="sc-gjTGSz"]{content:"btblAa,"}/*!sc*/
|
||
.bNwKoT{position:relative;}/*!sc*/
|
||
data-styled.g37[id="sc-kMrHXi"]{content:"bNwKoT,"}/*!sc*/
|
||
.cnAPdU{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*/
|
||
.cnAPdU polyline{color:white;}/*!sc*/
|
||
data-styled.g38[id="sc-ilEZpr"]{content:"cnAPdU,"}/*!sc*/
|
||
.kKrNCs{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*/
|
||
.kKrNCs 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*/
|
||
.kKrNCs .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*/
|
||
.kKrNCs:hover,.kKrNCs:focus-within{border:1px solid #32329f;color:#32329f;box-shadow:0px 0px 0px 1px #32329f;}/*!sc*/
|
||
data-styled.g39[id="sc-jItqcA"]{content:"kKrNCs,"}/*!sc*/
|
||
.bzXJk{margin-left:10px;text-transform:none;font-size:0.929em;color:black;}/*!sc*/
|
||
data-styled.g41[id="sc-gXSCqT"]{content:"bzXJk,"}/*!sc*/
|
||
.dHaogz{font-family:Roboto,sans-serif;font-weight:400;line-height:1.5em;}/*!sc*/
|
||
.dHaogz p:last-child{margin-bottom:0;}/*!sc*/
|
||
.dHaogz h1{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.85714em;line-height:1.6em;color:#32329f;margin-top:0;}/*!sc*/
|
||
.dHaogz h2{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.57143em;line-height:1.6em;color:#333333;}/*!sc*/
|
||
.dHaogz 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*/
|
||
.dHaogz 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*/
|
||
.dHaogz pre code{background-color:transparent;color:white;padding:0;}/*!sc*/
|
||
.dHaogz pre code:before,.dHaogz pre code:after{content:none;}/*!sc*/
|
||
.dHaogz blockquote{margin:0;margin-bottom:1em;padding:0 15px;color:#777;border-left:4px solid #ddd;}/*!sc*/
|
||
.dHaogz img{max-width:100%;box-sizing:content-box;}/*!sc*/
|
||
.dHaogz ul,.dHaogz ol{padding-left:2em;margin:0;margin-bottom:1em;}/*!sc*/
|
||
.dHaogz ul ul,.dHaogz ol ul,.dHaogz ul ol,.dHaogz ol ol{margin-bottom:0;margin-top:0;}/*!sc*/
|
||
.dHaogz 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*/
|
||
.dHaogz table tr{background-color:#fff;border-top:1px solid #ccc;}/*!sc*/
|
||
.dHaogz table tr:nth-child(2n){background-color:#fafafa;}/*!sc*/
|
||
.dHaogz table th,.dHaogz table td{padding:6px 13px;border:1px solid #ddd;}/*!sc*/
|
||
.dHaogz table th{text-align:left;font-weight:bold;}/*!sc*/
|
||
.dHaogz .share-link{cursor:pointer;margin-left:-20px;padding:0;line-height:1;width:20px;display:inline-block;outline:0;}/*!sc*/
|
||
.dHaogz .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*/
|
||
.dHaogz h1:hover>.share-link::before,.dHaogz h2:hover>.share-link::before,.dHaogz .share-link:hover::before{visibility:visible;}/*!sc*/
|
||
.dHaogz a{text-decoration:auto;color:#32329f;}/*!sc*/
|
||
.dHaogz a:visited{color:#32329f;}/*!sc*/
|
||
.dHaogz a:hover{color:#6868cf;text-decoration:auto;}/*!sc*/
|
||
.cFvDiF{font-family:Roboto,sans-serif;font-weight:400;line-height:1.5em;}/*!sc*/
|
||
.cFvDiF p:last-child{margin-bottom:0;}/*!sc*/
|
||
.cFvDiF p:first-child{margin-top:0;}/*!sc*/
|
||
.cFvDiF p:last-child{margin-bottom:0;}/*!sc*/
|
||
.cFvDiF h1{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.85714em;line-height:1.6em;color:#32329f;margin-top:0;}/*!sc*/
|
||
.cFvDiF h2{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.57143em;line-height:1.6em;color:#333333;}/*!sc*/
|
||
.cFvDiF 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*/
|
||
.cFvDiF 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*/
|
||
.cFvDiF pre code{background-color:transparent;color:white;padding:0;}/*!sc*/
|
||
.cFvDiF pre code:before,.cFvDiF pre code:after{content:none;}/*!sc*/
|
||
.cFvDiF blockquote{margin:0;margin-bottom:1em;padding:0 15px;color:#777;border-left:4px solid #ddd;}/*!sc*/
|
||
.cFvDiF img{max-width:100%;box-sizing:content-box;}/*!sc*/
|
||
.cFvDiF ul,.cFvDiF ol{padding-left:2em;margin:0;margin-bottom:1em;}/*!sc*/
|
||
.cFvDiF ul ul,.cFvDiF ol ul,.cFvDiF ul ol,.cFvDiF ol ol{margin-bottom:0;margin-top:0;}/*!sc*/
|
||
.cFvDiF 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*/
|
||
.cFvDiF table tr{background-color:#fff;border-top:1px solid #ccc;}/*!sc*/
|
||
.cFvDiF table tr:nth-child(2n){background-color:#fafafa;}/*!sc*/
|
||
.cFvDiF table th,.cFvDiF table td{padding:6px 13px;border:1px solid #ddd;}/*!sc*/
|
||
.cFvDiF table th{text-align:left;font-weight:bold;}/*!sc*/
|
||
.cFvDiF .share-link{cursor:pointer;margin-left:-20px;padding:0;line-height:1;width:20px;display:inline-block;outline:0;}/*!sc*/
|
||
.cFvDiF .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*/
|
||
.cFvDiF h1:hover>.share-link::before,.cFvDiF h2:hover>.share-link::before,.cFvDiF .share-link:hover::before{visibility:visible;}/*!sc*/
|
||
.cFvDiF a{text-decoration:auto;color:#32329f;}/*!sc*/
|
||
.cFvDiF a:visited{color:#32329f;}/*!sc*/
|
||
.cFvDiF a:hover{color:#6868cf;text-decoration:auto;}/*!sc*/
|
||
.fTBBlJ{font-family:Roboto,sans-serif;font-weight:400;line-height:1.5em;}/*!sc*/
|
||
.fTBBlJ p:last-child{margin-bottom:0;}/*!sc*/
|
||
.fTBBlJ p:first-child{margin-top:0;}/*!sc*/
|
||
.fTBBlJ p:last-child{margin-bottom:0;}/*!sc*/
|
||
.fTBBlJ p{display:inline-block;}/*!sc*/
|
||
.fTBBlJ h1{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.85714em;line-height:1.6em;color:#32329f;margin-top:0;}/*!sc*/
|
||
.fTBBlJ h2{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.57143em;line-height:1.6em;color:#333333;}/*!sc*/
|
||
.fTBBlJ 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*/
|
||
.fTBBlJ 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*/
|
||
.fTBBlJ pre code{background-color:transparent;color:white;padding:0;}/*!sc*/
|
||
.fTBBlJ pre code:before,.fTBBlJ pre code:after{content:none;}/*!sc*/
|
||
.fTBBlJ blockquote{margin:0;margin-bottom:1em;padding:0 15px;color:#777;border-left:4px solid #ddd;}/*!sc*/
|
||
.fTBBlJ img{max-width:100%;box-sizing:content-box;}/*!sc*/
|
||
.fTBBlJ ul,.fTBBlJ ol{padding-left:2em;margin:0;margin-bottom:1em;}/*!sc*/
|
||
.fTBBlJ ul ul,.fTBBlJ ol ul,.fTBBlJ ul ol,.fTBBlJ ol ol{margin-bottom:0;margin-top:0;}/*!sc*/
|
||
.fTBBlJ 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*/
|
||
.fTBBlJ table tr{background-color:#fff;border-top:1px solid #ccc;}/*!sc*/
|
||
.fTBBlJ table tr:nth-child(2n){background-color:#fafafa;}/*!sc*/
|
||
.fTBBlJ table th,.fTBBlJ table td{padding:6px 13px;border:1px solid #ddd;}/*!sc*/
|
||
.fTBBlJ table th{text-align:left;font-weight:bold;}/*!sc*/
|
||
.fTBBlJ .share-link{cursor:pointer;margin-left:-20px;padding:0;line-height:1;width:20px;display:inline-block;outline:0;}/*!sc*/
|
||
.fTBBlJ .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*/
|
||
.fTBBlJ h1:hover>.share-link::before,.fTBBlJ h2:hover>.share-link::before,.fTBBlJ .share-link:hover::before{visibility:visible;}/*!sc*/
|
||
.fTBBlJ a{text-decoration:auto;color:#32329f;}/*!sc*/
|
||
.fTBBlJ a:visited{color:#32329f;}/*!sc*/
|
||
.fTBBlJ a:hover{color:#6868cf;text-decoration:auto;}/*!sc*/
|
||
data-styled.g42[id="sc-cCYyou"]{content:"dHaogz,cFvDiF,fTBBlJ,"}/*!sc*/
|
||
.dkmSdy{display:inline;}/*!sc*/
|
||
data-styled.g43[id="sc-cjERFZ"]{content:"dkmSdy,"}/*!sc*/
|
||
.fJsoyS{position:relative;}/*!sc*/
|
||
data-styled.g44[id="sc-jegxcw"]{content:"fJsoyS,"}/*!sc*/
|
||
.iLjyyA:hover>.sc-gjTGSz{opacity:1;}/*!sc*/
|
||
data-styled.g49[id="sc-cRZddz"]{content:"iLjyyA,"}/*!sc*/
|
||
.jKIGwd{font-family:Courier,monospace;font-size:13px;white-space:pre;contain:content;overflow-x:auto;}/*!sc*/
|
||
.jKIGwd .redoc-json code>.collapser{display:none;pointer-events:none;}/*!sc*/
|
||
.jKIGwd .callback-function{color:gray;}/*!sc*/
|
||
.jKIGwd .collapser:after{content:'-';cursor:pointer;}/*!sc*/
|
||
.jKIGwd .collapsed>.collapser:after{content:'+';cursor:pointer;}/*!sc*/
|
||
.jKIGwd .ellipsis:after{content:' … ';}/*!sc*/
|
||
.jKIGwd .collapsible{margin-left:2em;}/*!sc*/
|
||
.jKIGwd .hoverable{padding-top:1px;padding-bottom:1px;padding-left:2px;padding-right:2px;border-radius:2px;}/*!sc*/
|
||
.jKIGwd .hovered{background-color:rgba(235, 238, 249, 1);}/*!sc*/
|
||
.jKIGwd .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*/
|
||
.jKIGwd .collapser:focus{outline-color:#fff;outline-style:dotted;outline-width:1px;}/*!sc*/
|
||
.jKIGwd ul{list-style-type:none;padding:0px;margin:0px 0px 0px 26px;}/*!sc*/
|
||
.jKIGwd li{position:relative;display:block;}/*!sc*/
|
||
.jKIGwd .hoverable{display:inline-block;}/*!sc*/
|
||
.jKIGwd .selected{outline-style:solid;outline-width:1px;outline-style:dotted;}/*!sc*/
|
||
.jKIGwd .collapsed>.collapsible{display:none;}/*!sc*/
|
||
.jKIGwd .ellipsis{display:none;}/*!sc*/
|
||
.jKIGwd .collapsed>.ellipsis{display:inherit;}/*!sc*/
|
||
data-styled.g50[id="sc-jMAIzW"]{content:"jKIGwd,"}/*!sc*/
|
||
.eMpCUl{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-dQelHO"]{content:"eMpCUl,"}/*!sc*/
|
||
.ccmcKc{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-bCDidX"]{content:"ccmcKc,"}/*!sc*/
|
||
.gpxHhK{position:relative;}/*!sc*/
|
||
data-styled.g53[id="sc-cPlDXk"]{content:"gpxHhK,"}/*!sc*/
|
||
.dNwfFN{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*/
|
||
.dNwfFN label{color:#ffffff;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:1em;text-transform:none;border:none;}/*!sc*/
|
||
.dNwfFN:hover,.dNwfFN:focus-within{border:none;box-shadow:none;background-color:rgba(38,50,56,0.7);}/*!sc*/
|
||
data-styled.g54[id="sc-BKAtt"]{content:"dNwfFN,"}/*!sc*/
|
||
.ksuOBo{margin-top:15px;}/*!sc*/
|
||
data-styled.g56[id="sc-hVkBjf"]{content:"ksuOBo,"}/*!sc*/
|
||
.bXwTFl.deprecated span.property-name{text-decoration:line-through;color:#707070;}/*!sc*/
|
||
.bXwTFl button{background-color:transparent;border:0;outline:0;font-size:13px;font-family:Courier,monospace;cursor:pointer;padding:0;color:#333333;}/*!sc*/
|
||
.bXwTFl button:focus{font-weight:600;}/*!sc*/
|
||
.bXwTFl .sc-fbJfz{height:1.1em;width:1.1em;}/*!sc*/
|
||
.bXwTFl .sc-fbJfz polygon{fill:#666;}/*!sc*/
|
||
data-styled.g57[id="sc-jhSXcs"]{content:"bXwTFl,"}/*!sc*/
|
||
.bPAaet{vertical-align:middle;font-size:13px;line-height:20px;}/*!sc*/
|
||
data-styled.g58[id="sc-gUrTyB"]{content:"bPAaet,"}/*!sc*/
|
||
.UMvzF{color:rgba(102,102,102,0.9);}/*!sc*/
|
||
data-styled.g59[id="sc-kZGvTq"]{content:"UMvzF,"}/*!sc*/
|
||
.fEQrHJ{color:#666;}/*!sc*/
|
||
data-styled.g60[id="sc-iMfspz"]{content:"fEQrHJ,"}/*!sc*/
|
||
.kEFcTG{color:#666;word-break:break-word;}/*!sc*/
|
||
data-styled.g61[id="sc-jfSnVt"]{content:"kEFcTG,"}/*!sc*/
|
||
.boAHLn{color:#d41f1c;font-size:0.9em;font-weight:normal;margin-left:20px;line-height:1;}/*!sc*/
|
||
data-styled.g62[id="sc-eKYjSU"]{content:"boAHLn,"}/*!sc*/
|
||
.eShQxX{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-ldFCYc+.sc-ldFCYc{margin-left:0;}/*!sc*/
|
||
data-styled.g66[id="sc-ldFCYc"]{content:"eShQxX,"}/*!sc*/
|
||
.iWTprB{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-cmEaii+.sc-cmEaii{margin-left:0;}/*!sc*/
|
||
data-styled.g68[id="sc-cmEaii"]{content:"iWTprB,"}/*!sc*/
|
||
.cLOXvd:after{content:' and ';font-weight:normal;}/*!sc*/
|
||
.cLOXvd:last-child:after{content:none;}/*!sc*/
|
||
.cLOXvd a{text-decoration:auto;color:#32329f;}/*!sc*/
|
||
.cLOXvd a:visited{color:#32329f;}/*!sc*/
|
||
.cLOXvd a:hover{color:#6868cf;text-decoration:auto;}/*!sc*/
|
||
data-styled.g81[id="sc-hNeXkj"]{content:"cLOXvd,"}/*!sc*/
|
||
.ddMcul{white-space:nowrap;}/*!sc*/
|
||
.ddMcul:after{content:' or ';white-space:pre;}/*!sc*/
|
||
.ddMcul:last-child:after,.ddMcul:only-child:after{content:none;}/*!sc*/
|
||
.ddMcul a{text-decoration:auto;color:#32329f;}/*!sc*/
|
||
.ddMcul a:visited{color:#32329f;}/*!sc*/
|
||
.ddMcul a:hover{color:#6868cf;text-decoration:auto;}/*!sc*/
|
||
data-styled.g82[id="sc-dskThK"]{content:"ddMcul,"}/*!sc*/
|
||
.kuPPCO{flex:1 1 auto;cursor:pointer;}/*!sc*/
|
||
data-styled.g83[id="sc-cYRmzp"]{content:"kuPPCO,"}/*!sc*/
|
||
.gZngKQ{width:75%;text-overflow:ellipsis;border-radius:4px;overflow:hidden;}/*!sc*/
|
||
@media screen and (max-width: 50rem){.gZngKQ{margin-top:10px;}}/*!sc*/
|
||
data-styled.g84[id="sc-jTsRVM"]{content:"gZngKQ,"}/*!sc*/
|
||
.qtYpT{display:inline-block;margin:0;}/*!sc*/
|
||
data-styled.g85[id="sc-jOQpHb"]{content:"qtYpT,"}/*!sc*/
|
||
.pzAgN{width:100%;display:flex;margin:1em 0;flex-direction:row;}/*!sc*/
|
||
@media screen and (max-width: 50rem){.pzAgN{flex-direction:column;}}/*!sc*/
|
||
data-styled.g86[id="sc-ftWlEC"]{content:"pzAgN,"}/*!sc*/
|
||
.bSStQp{margin-top:0;margin-bottom:0.5em;}/*!sc*/
|
||
data-styled.g92[id="sc-crPCXn"]{content:"bSStQp,"}/*!sc*/
|
||
.dfuuzt::before{content:'|';display:inline-block;opacity:0.5;width:15px;text-align:center;}/*!sc*/
|
||
.dfuuzt:last-child::after{display:none;}/*!sc*/
|
||
data-styled.g94[id="sc-bqWVmJ"]{content:"dfuuzt,"}/*!sc*/
|
||
.gUaytm{overflow:hidden;}/*!sc*/
|
||
data-styled.g95[id="sc-gHbYXW"]{content:"gUaytm,"}/*!sc*/
|
||
.cNLDQk{display:flex;flex-wrap:wrap;margin-left:-15px;}/*!sc*/
|
||
data-styled.g96[id="sc-etAVuf"]{content:"cNLDQk,"}/*!sc*/
|
||
.FLoTo{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*/
|
||
.FLoTo.get{background-color:#2F8132;}/*!sc*/
|
||
.FLoTo.post{background-color:#186FAF;}/*!sc*/
|
||
.FLoTo.put{background-color:#95507c;}/*!sc*/
|
||
.FLoTo.options{background-color:#947014;}/*!sc*/
|
||
.FLoTo.patch{background-color:#bf581d;}/*!sc*/
|
||
.FLoTo.delete{background-color:#cc3333;}/*!sc*/
|
||
.FLoTo.basic{background-color:#707070;}/*!sc*/
|
||
.FLoTo.link{background-color:#07818F;}/*!sc*/
|
||
.FLoTo.head{background-color:#A23DAD;}/*!sc*/
|
||
.FLoTo.hook{background-color:#32329f;}/*!sc*/
|
||
.FLoTo.schema{background-color:#707070;}/*!sc*/
|
||
data-styled.g100[id="sc-YtoFD"]{content:"FLoTo,"}/*!sc*/
|
||
.fpIsZT{margin:0;padding:0;}/*!sc*/
|
||
.fpIsZT:first-child{padding-bottom:32px;}/*!sc*/
|
||
.sc-imaUOy .sc-imaUOy{font-size:0.929em;}/*!sc*/
|
||
.cjNZVC{margin:0;padding:0;display:none;}/*!sc*/
|
||
.cjNZVC:first-child{padding-bottom:32px;}/*!sc*/
|
||
.sc-imaUOy .sc-imaUOy{font-size:0.929em;}/*!sc*/
|
||
data-styled.g101[id="sc-imaUOy"]{content:"fpIsZT,cjNZVC,"}/*!sc*/
|
||
.cVgssJ{list-style:none inside none;overflow:hidden;text-overflow:ellipsis;padding:0;}/*!sc*/
|
||
data-styled.g102[id="sc-vjKnv"]{content:"cVgssJ,"}/*!sc*/
|
||
.YJdNS{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*/
|
||
.YJdNS:hover{color:#32329f;background-color:#e1e1e1;}/*!sc*/
|
||
.YJdNS .sc-fbJfz{height:1.5em;width:1.5em;}/*!sc*/
|
||
.YJdNS .sc-fbJfz polygon{fill:#333333;}/*!sc*/
|
||
.fUjfPA{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*/
|
||
.fUjfPA:hover{color:#32329f;background-color:#ededed;}/*!sc*/
|
||
.fUjfPA .sc-fbJfz{height:1.5em;width:1.5em;}/*!sc*/
|
||
.fUjfPA .sc-fbJfz polygon{fill:#333333;}/*!sc*/
|
||
data-styled.g103[id="sc-bjMMwc"]{content:"YJdNS,fUjfPA,"}/*!sc*/
|
||
.jZTjzp{display:inline-block;vertical-align:middle;width:calc(100% - 38px);overflow:hidden;text-overflow:ellipsis;}/*!sc*/
|
||
data-styled.g104[id="sc-eIrltV"]{content:"jZTjzp,"}/*!sc*/
|
||
.jKUIUi{font-size:0.8em;margin-top:10px;text-align:center;position:fixed;width:260px;bottom:0;background:#fafafa;}/*!sc*/
|
||
.jKUIUi a,.jKUIUi a:visited,.jKUIUi 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*/
|
||
.jKUIUi img{width:15px;margin-right:5px;}/*!sc*/
|
||
@media screen and (max-width: 50rem){.jKUIUi{width:100%;}}/*!sc*/
|
||
data-styled.g105[id="sc-hAYhfO"]{content:"jKUIUi,"}/*!sc*/
|
||
.dHdMVa{cursor:pointer;position:relative;margin-bottom:5px;}/*!sc*/
|
||
data-styled.g111[id="sc-fYzRkH"]{content:"dHdMVa,"}/*!sc*/
|
||
.dkiPkt{font-family:Courier,monospace;margin-left:10px;flex:1;overflow-x:hidden;text-overflow:ellipsis;}/*!sc*/
|
||
data-styled.g112[id="sc-GJyyy"]{content:"dkiPkt,"}/*!sc*/
|
||
.iWrBta{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*/
|
||
.iWrBta ..sc-GJyyy{color:#ffffff;}/*!sc*/
|
||
.iWrBta: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-jYvNnh"]{content:"iWrBta,"}/*!sc*/
|
||
.ejslkd{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*/
|
||
.kCsPwr{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-eGFuAY"]{content:"ejslkd,kCsPwr,"}/*!sc*/
|
||
.dplsyJ{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-fnxdBX"]{content:"dplsyJ,"}/*!sc*/
|
||
.cNCbuV{padding:10px;}/*!sc*/
|
||
data-styled.g116[id="sc-llcuoK"]{content:"cNCbuV,"}/*!sc*/
|
||
.eobUac{padding:5px;border:1px solid #ccc;background:#fff;word-break:break-all;color:#32329f;}/*!sc*/
|
||
.eobUac >span{color:#333333;}/*!sc*/
|
||
data-styled.g117[id="sc-jnsZEx"]{content:"eobUac,"}/*!sc*/
|
||
.iuCmqI{text-transform:lowercase;margin-left:0;line-height:1.5em;}/*!sc*/
|
||
data-styled.g118[id="sc-dVCGSo"]{content:"iuCmqI,"}/*!sc*/
|
||
.brztng{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*/
|
||
.brztng:focus{outline:auto #1d8127;}/*!sc*/
|
||
.fvWYOy{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*/
|
||
.fvWYOy:focus{outline:auto #d41f1c;}/*!sc*/
|
||
.kwTqVQ{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);cursor:default;}/*!sc*/
|
||
.kwTqVQ:focus{outline:auto #d41f1c;}/*!sc*/
|
||
.kwTqVQ::before{content:"—";font-weight:bold;width:1.5em;text-align:center;display:inline-block;vertical-align:top;}/*!sc*/
|
||
.kwTqVQ:focus{outline:0;}/*!sc*/
|
||
.gSNqow{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*/
|
||
.gSNqow:focus{outline:auto #87ceeb;}/*!sc*/
|
||
.gSNqow::before{content:"—";font-weight:bold;width:1.5em;text-align:center;display:inline-block;vertical-align:top;}/*!sc*/
|
||
.gSNqow:focus{outline:0;}/*!sc*/
|
||
data-styled.g120[id="sc-caslwi"]{content:"brztng,fvWYOy,kwTqVQ,gSNqow,"}/*!sc*/
|
||
.jJkGwY{vertical-align:top;}/*!sc*/
|
||
data-styled.g123[id="sc-fYaxgW"]{content:"jJkGwY,"}/*!sc*/
|
||
.hsJdXF{font-size:1.3em;padding:0.2em 0;margin:3em 0 1.1em;color:#333333;font-weight:normal;}/*!sc*/
|
||
data-styled.g124[id="sc-fJjTez"]{content:"hsJdXF,"}/*!sc*/
|
||
.dUdgLx{margin-bottom:30px;}/*!sc*/
|
||
data-styled.g129[id="sc-iERabE"]{content:"dUdgLx,"}/*!sc*/
|
||
.dKxKge{user-select:none;width:20px;height:20px;align-self:center;display:flex;flex-direction:column;color:#32329f;}/*!sc*/
|
||
data-styled.g130[id="sc-iqavZh"]{content:"dKxKge,"}/*!sc*/
|
||
.kBSkUl{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){.kBSkUl{position:fixed;z-index:20;width:100%;background:#fafafa;display:none;}}/*!sc*/
|
||
@media print{.kBSkUl{display:none;}}/*!sc*/
|
||
data-styled.g131[id="sc-eXHjA-d"]{content:"kBSkUl,"}/*!sc*/
|
||
.laYfRb{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){.laYfRb{display:flex;}}/*!sc*/
|
||
.laYfRb svg{color:#0065FB;}/*!sc*/
|
||
@media print{.laYfRb{display:none;}}/*!sc*/
|
||
data-styled.g132[id="sc-kVmAmQ"]{content:"laYfRb,"}/*!sc*/
|
||
.gRgPoG{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*/
|
||
.gRgPoG *{box-sizing:border-box;-webkit-tap-highlight-color:rgba(255, 255, 255, 0);}/*!sc*/
|
||
data-styled.g133[id="sc-dxnOzf"]{content:"gRgPoG,"}/*!sc*/
|
||
.gfWNtA{z-index:1;position:relative;overflow:hidden;width:calc(100% - 260px);contain:layout;}/*!sc*/
|
||
@media print,screen and (max-width: 50rem){.gfWNtA{width:100%;}}/*!sc*/
|
||
data-styled.g134[id="sc-juTflS"]{content:"gfWNtA,"}/*!sc*/
|
||
.jYOHCb{background:#263238;position:absolute;top:0;bottom:0;right:0;width:calc((100% - 260px) * 0.4);}/*!sc*/
|
||
@media print,screen and (max-width: 75rem){.jYOHCb{display:none;}}/*!sc*/
|
||
data-styled.g135[id="sc-emEvRt"]{content:"jYOHCb,"}/*!sc*/
|
||
.ijJYzO{padding:5px 0;}/*!sc*/
|
||
data-styled.g136[id="sc-kkjMEg"]{content:"ijJYzO,"}/*!sc*/
|
||
.kOlXdP{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-cMlaQv"]{content:"kOlXdP,"}/*!sc*/
|
||
.gtHWGb{position:absolute;left:20px;height:1.8em;width:0.9em;}/*!sc*/
|
||
.gtHWGb path{fill:#333333;}/*!sc*/
|
||
data-styled.g138[id="sc-iJQrDi"]{content:"gtHWGb,"}/*!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-dxnOzf gRgPoG redoc-wrap"><div class="sc-eXHjA-d kBSkUl menu-content" style="top:0px;height:calc(100vh - 0px)"><div role="search" class="sc-kkjMEg ijJYzO"><svg class="sc-iJQrDi gtHWGb 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-cMlaQv kOlXdP search-input" value=""/></div><div class="sc-kMrHXi bNwKoT scrollbar-container undefined"><ul role="menu" class="sc-imaUOy fpIsZT"><li tabindex="0" depth="1" data-item-id="section/Overview" role="menuitem" aria-label="Overview" aria-expanded="false" class="sc-vjKnv cVgssJ"><label class="sc-bjMMwc YJdNS -depth1"><span width="calc(100% - 38px)" title="Overview" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc YJdNS -depth1"><span width="calc(100% - 38px)" title="Service Types" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc YJdNS -depth1"><span width="calc(100% - 38px)" title="Authentication" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc YJdNS -depth1"><span width="calc(100% - 38px)" title="Field Naming" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc YJdNS -depth1"><span width="calc(100% - 38px)" title="Error Responses" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc YJdNS -depth1"><span width="calc(100% - 38px)" title="Config" class="sc-eIrltV jZTjzp">Config</span><svg class="sc-fbJfz cNCXIL" 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-imaUOy cjNZVC"><li tabindex="0" depth="2" data-item-id="tag/Config/operation/configService" role="menuitem" aria-label="Configuration service" aria-expanded="false" class="sc-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc YJdNS -depth1"><span width="calc(100% - 38px)" title="Flow" class="sc-eIrltV jZTjzp">Flow</span><svg class="sc-fbJfz cNCXIL" 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-imaUOy cjNZVC"><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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc YJdNS -depth1"><span width="calc(100% - 38px)" title="Librarian" class="sc-eIrltV jZTjzp">Librarian</span><svg class="sc-fbJfz cNCXIL" 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-imaUOy cjNZVC"><li tabindex="0" depth="2" data-item-id="tag/Librarian/operation/librarianService" role="menuitem" aria-label="Document library management" aria-expanded="false" class="sc-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc YJdNS -depth1"><span width="calc(100% - 38px)" title="Knowledge" class="sc-eIrltV jZTjzp">Knowledge</span><svg class="sc-fbJfz cNCXIL" 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-imaUOy cjNZVC"><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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc YJdNS -depth1"><span width="calc(100% - 38px)" title="Collection" class="sc-eIrltV jZTjzp">Collection</span><svg class="sc-fbJfz cNCXIL" 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-imaUOy cjNZVC"><li tabindex="0" depth="2" data-item-id="tag/Collection/operation/collectionManagementService" role="menuitem" aria-label="Collection metadata management" aria-expanded="false" class="sc-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc YJdNS -depth1"><span width="calc(100% - 38px)" title="Flow Services" class="sc-eIrltV jZTjzp">Flow Services</span><svg class="sc-fbJfz cNCXIL" 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-imaUOy cjNZVC"><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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">Triples query - pattern-based graph queries</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/rowsQueryService" role="menuitem" aria-label="Rows query - GraphQL over structured data" aria-expanded="false" class="sc-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">Rows query - GraphQL over structured data</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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">Document Embeddings Query - find similar text chunks</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/rowEmbeddingsQueryService" role="menuitem" aria-label="Row Embeddings Query - semantic search on structured data" aria-expanded="false" class="sc-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">Row Embeddings Query - semantic search on structured data</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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">Document Load - load binary documents (PDF, etc.)</span></label></li><li tabindex="0" depth="2" data-item-id="tag/Flow-Services/operation/sparqlQueryService" role="menuitem" aria-label="SPARQL query - execute SPARQL 1.1 queries against the knowledge graph" aria-expanded="false" class="sc-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">SPARQL query - execute SPARQL 1.1 queries against the knowledge graph</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-vjKnv cVgssJ"><label class="sc-bjMMwc YJdNS -depth1"><span width="calc(100% - 38px)" title="Import/Export" class="sc-eIrltV jZTjzp">Import/Export</span><svg class="sc-fbJfz cNCXIL" 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-imaUOy cjNZVC"><li tabindex="0" depth="2" data-item-id="tag/ImportExport/operation/documentStream" role="menuitem" aria-label="Stream document content from library" aria-expanded="false" class="sc-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="get" class="sc-YtoFD FLoTo operation-type get">get</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">Stream document content from library</span></label></li><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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="post" class="sc-YtoFD FLoTo operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="get" class="sc-YtoFD FLoTo operation-type get">get</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc YJdNS -depth1"><span width="calc(100% - 38px)" title="WebSocket" class="sc-eIrltV jZTjzp">WebSocket</span><svg class="sc-fbJfz cNCXIL" 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-imaUOy cjNZVC"><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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="get" class="sc-YtoFD FLoTo operation-type get">get</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc YJdNS -depth1"><span width="calc(100% - 38px)" title="Metrics" class="sc-eIrltV jZTjzp">Metrics</span><svg class="sc-fbJfz cNCXIL" 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-imaUOy cjNZVC"><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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="get" class="sc-YtoFD FLoTo operation-type get">get</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">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-vjKnv cVgssJ"><label class="sc-bjMMwc fUjfPA -depth2"><span type="get" class="sc-YtoFD FLoTo operation-type get">get</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eIrltV jZTjzp">Metrics - Prometheus metrics with path</span></label></li></ul></li></ul><div class="sc-hAYhfO jKUIUi"><a target="_blank" rel="noopener noreferrer" href="https://redocly.com/redoc/">API docs by Redocly</a></div></div></div><div class="sc-kVmAmQ laYfRb"><div class="sc-iqavZh dKxKge"><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-juTflS gfWNtA api-content"><div class="sc-eDDNvO eTiIZG"><div class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG api-info"><h1 class="sc-fsQipe sc-crPCXn ePkAIL bSStQp">TrustGraph API Gateway<!-- --> <span>(<!-- -->2.2<!-- -->)</span></h1><p>Download OpenAPI specification<!-- -->:</p><div class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"><div class="sc-gHbYXW gUaytm"><div class="sc-etAVuf cNLDQk"> <span class="sc-bqWVmJ dfuuzt">URL: <a href="https://trustgraph.ai">https://trustgraph.ai</a></span> <span class="sc-bqWVmJ dfuuzt">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-iKGpAq sc-cCYyou dXXcln dHaogz"></div><div data-role="redoc-description" html="<p>REST API for TrustGraph - an AI-powered knowledge graph and RAG system.</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"><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-eDDNvO eTiIZG"><div class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-jsMahD AyivY"><a class="sc-csCMJq jSIqAu" href="#section/Overview" aria-label="section/Overview"></a>Overview</h2></div></div><div class="sc-hLseeT eiTXyS"><div class="sc-iKGpAq sc-cCYyou dXXcln dHaogz 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-eDDNvO eTiIZG"><div class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-jsMahD AyivY"><a class="sc-csCMJq jSIqAu" href="#section/Service-Types" aria-label="section/Service-Types"></a>Service Types</h2></div></div><div class="sc-hLseeT eiTXyS"><div class="sc-iKGpAq sc-cCYyou dXXcln dHaogz 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, rows, nlp-query, structured-query, sparql-query, row-embeddings</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, rows, nlp-query, structured-query, sparql-query, row-embeddings</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-eDDNvO eTiIZG"><div class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-jsMahD AyivY"><a class="sc-csCMJq jSIqAu" href="#section/Authentication" aria-label="section/Authentication"></a>Authentication</h2></div></div><div class="sc-hLseeT eiTXyS"><div class="sc-iKGpAq sc-cCYyou dXXcln dHaogz 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-eDDNvO eTiIZG"><div class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-jsMahD AyivY"><a class="sc-csCMJq jSIqAu" href="#section/Field-Naming" aria-label="section/Field-Naming"></a>Field Naming</h2></div></div><div class="sc-hLseeT eiTXyS"><div class="sc-iKGpAq sc-cCYyou dXXcln dHaogz 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-eDDNvO eTiIZG"><div class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-jsMahD AyivY"><a class="sc-csCMJq jSIqAu" href="#section/Error-Responses" aria-label="section/Error-Responses"></a>Error Responses</h2></div></div><div class="sc-hLseeT eiTXyS"><div class="sc-iKGpAq sc-cCYyou dXXcln dHaogz 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-eDDNvO eTiIZG"><div class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Config" aria-label="tag/Config"></a>Config</h2></div></div><div class="sc-hLseeT eiTXyS"><div class="sc-iKGpAq sc-cCYyou dXXcln dHaogz 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-eDDNvO iUTsUN"><div data-section-id="operation/configService" id="operation/configService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Config/operation/configService" aria-label="tag/Config/operation/configService"></a>Configuration service<!-- --> </h2><div class="sc-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="operation" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">operation</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Enum<!-- -->:</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"config"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"list"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"get"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"put"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"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-iKGpAq sc-cCYyou dXXcln cFvDiF"><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-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">type</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">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-iKGpAq sc-cCYyou dXXcln cFvDiF"><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-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="keys"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand keys"><span class="property-name">keys</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF">Array of </span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">objects</span></div> <div><div html="<p>Keys to retrieve (for get operation) or delete (for delete operation)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Keys to retrieve (for get operation) or delete (for delete operation)</p>
|
||
</div></div></div></td></tr><tr class="last "><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="values"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand values"><span class="property-name">values</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF">Array of </span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">objects</span></div> <div><div html="<p>Values to set/update (for put operation)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Values to set/update (for put operation)</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/config</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/config</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO eTiIZG"><div class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Flow" aria-label="tag/Flow"></a>Flow</h2></div></div><div class="sc-hLseeT eiTXyS"><div class="sc-iKGpAq sc-cCYyou dXXcln dHaogz 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-eDDNvO iUTsUN"><div data-section-id="operation/flowService" id="operation/flowService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Flow/operation/flowService" aria-label="tag/Flow/operation/flowService"></a>Flow lifecycle and blueprint management<!-- --> </h2><div class="sc-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="operation" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">operation</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Enum<!-- -->:</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"start-flow"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"stop-flow"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"list-flows"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"get-flow"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"list-blueprints"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"get-blueprint"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"put-blueprint"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"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-iKGpAq sc-cCYyou dXXcln cFvDiF"><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-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow-id</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Flow instance ID (required for start-flow, stop-flow, get-flow)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><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-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">blueprint-name</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Flow blueprint name (required for start-flow, get-blueprint, put-blueprint, delete-blueprint)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><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-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="blueprint-definition"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand blueprint-definition"><span class="property-name">blueprint-definition</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">object</span></div> <div><div html="<p>Flow blueprint definition (required for put-blueprint)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow blueprint definition (required for put-blueprint)</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="description" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">description</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Flow description (optional for start-flow)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow description (optional for start-flow)</p>
|
||
</div></div></div></td></tr><tr class="last "><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="parameters"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand parameters"><span class="property-name">parameters</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">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-iKGpAq sc-cCYyou dXXcln cFvDiF"><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-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO eTiIZG"><div class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Librarian" aria-label="tag/Librarian"></a>Librarian</h2></div></div><div class="sc-hLseeT eiTXyS"><div class="sc-iKGpAq sc-cCYyou dXXcln dHaogz 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-eDDNvO iUTsUN"><div data-section-id="operation/librarianService" id="operation/librarianService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Librarian/operation/librarianService" aria-label="tag/Librarian/operation/librarianService"></a>Document library management<!-- --> </h2><div class="sc-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="operation" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">operation</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Enum<!-- -->:</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"add-document"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"remove-document"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"list-documents"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"get-document-metadata"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"get-document-content"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"stream-document"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"add-child-document"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"list-children"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"begin-upload"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"upload-chunk"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"complete-upload"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"abort-upload"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"get-upload-status"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"list-uploads"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"start-processing"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"stop-processing"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"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>get-document-metadata</code>: Get document metadata</li>
|
||
<li><code>get-document-content</code>: Get full document content in a single response.
|
||
<strong>Deprecated</strong> — use <code>stream-document</code> instead. Fails for documents
|
||
exceeding the broker&#39;s max message size.</li>
|
||
<li><code>stream-document</code>: Stream document content in chunks. Each response
|
||
includes <code>chunk_index</code> and <code>is_final</code>. Preferred over <code>get-document-content</code>
|
||
for all document sizes.</li>
|
||
<li><code>add-child-document</code>: Add a child document (e.g. page, chunk)</li>
|
||
<li><code>list-children</code>: List child documents of a parent</li>
|
||
<li><code>begin-upload</code>: Start a chunked upload session</li>
|
||
<li><code>upload-chunk</code>: Upload a chunk of data</li>
|
||
<li><code>complete-upload</code>: Finalize a chunked upload</li>
|
||
<li><code>abort-upload</code>: Cancel a chunked upload</li>
|
||
<li><code>get-upload-status</code>: Check upload progress</li>
|
||
<li><code>list-uploads</code>: List active upload sessions</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-iKGpAq sc-cCYyou dXXcln cFvDiF"><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>get-document-metadata</code>: Get document metadata</li>
|
||
<li><code>get-document-content</code>: Get full document content in a single response.
|
||
<strong>Deprecated</strong> — use <code>stream-document</code> instead. Fails for documents
|
||
exceeding the broker's max message size.</li>
|
||
<li><code>stream-document</code>: Stream document content in chunks. Each response
|
||
includes <code>chunk_index</code> and <code>is_final</code>. Preferred over <code>get-document-content</code>
|
||
for all document sizes.</li>
|
||
<li><code>add-child-document</code>: Add a child document (e.g. page, chunk)</li>
|
||
<li><code>list-children</code>: List child documents of a parent</li>
|
||
<li><code>begin-upload</code>: Start a chunked upload session</li>
|
||
<li><code>upload-chunk</code>: Upload a chunk of data</li>
|
||
<li><code>complete-upload</code>: Finalize a chunked upload</li>
|
||
<li><code>abort-upload</code>: Cancel a chunked upload</li>
|
||
<li><code>get-upload-status</code>: Check upload progress</li>
|
||
<li><code>list-uploads</code>: List active upload sessions</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-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Flow ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow ID</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">collection</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"default"</span></div> <div><div html="<p>Collection identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection identifier</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="document-id" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">document-id</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Document identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Document identifier</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="processing-id" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">processing-id</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Processing task identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Processing task identifier</p>
|
||
</div></div></div></td></tr><tr class=""><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="document-metadata"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand document-metadata"><span class="property-name">document-metadata</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">object</span><span class="sc-gUrTyB sc-jfSnVt bPAaet kEFcTG"> (<!-- -->DocumentMetadata<!-- -->) </span></div> <div><div html="<p>Document metadata for library management</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Document metadata for library management</p>
|
||
</div></div></div></td></tr><tr class=""><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="processing-metadata"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand processing-metadata"><span class="property-name">processing-metadata</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">object</span><span class="sc-gUrTyB sc-jfSnVt bPAaet kEFcTG"> (<!-- -->ProcessingMetadata<!-- -->) </span></div> <div><div html="<p>Processing metadata for library document processing</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Processing metadata for library document processing</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="content" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">content</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Document content (for add-document with inline content)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Document content (for add-document with inline content)</p>
|
||
</div></div></div></td></tr><tr class="last "><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="criteria"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand criteria"><span class="property-name">criteria</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF">Array of </span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">objects</span></div> <div><div html="<p>Search criteria for filtering documents</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Search criteria for filtering documents</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/librarian</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/librarian</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO eTiIZG"><div class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Knowledge" aria-label="tag/Knowledge"></a>Knowledge</h2></div></div><div class="sc-hLseeT eiTXyS"><div class="sc-iKGpAq sc-cCYyou dXXcln dHaogz 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-eDDNvO iUTsUN"><div data-section-id="operation/knowledgeService" id="operation/knowledgeService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Knowledge/operation/knowledgeService" aria-label="tag/Knowledge/operation/knowledgeService"></a>Knowledge graph core management<!-- --> </h2><div class="sc-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="operation" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">operation</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Enum<!-- -->:</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"list-kg-cores"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"get-kg-core"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"put-kg-core"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"delete-kg-core"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"load-kg-core"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"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-iKGpAq sc-cCYyou dXXcln cFvDiF"><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-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"trustgraph"</span></div> <div><div html="<p>User identifier (for list-kg-cores, put-kg-core, delete-kg-core)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><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-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">id</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Knowledge core ID (for get, put, delete, load, unload)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><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-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Flow ID (for load-kg-core)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow ID (for load-kg-core)</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">collection</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"default"</span></div> <div><div html="<p>Collection identifier (for load-kg-core)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection identifier (for load-kg-core)</p>
|
||
</div></div></div></td></tr><tr class=""><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="triples"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand triples"><span class="property-name">triples</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">object</span></div> <div><div html="<p>Triples to store (for put-kg-core)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Triples to store (for put-kg-core)</p>
|
||
</div></div></div></td></tr><tr class="last "><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="graph-embeddings"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand graph-embeddings"><span class="property-name">graph-embeddings</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">object</span></div> <div><div html="<p>Graph embeddings to store (for put-kg-core)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Graph embeddings to store (for put-kg-core)</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/knowledge</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/knowledge</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO eTiIZG"><div class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Collection" aria-label="tag/Collection"></a>Collection</h2></div></div><div class="sc-hLseeT eiTXyS"><div class="sc-iKGpAq sc-cCYyou dXXcln dHaogz 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-eDDNvO iUTsUN"><div data-section-id="operation/collectionManagementService" id="operation/collectionManagementService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Collection/operation/collectionManagementService" aria-label="tag/Collection/operation/collectionManagementService"></a>Collection metadata management<!-- --> </h2><div class="sc-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="operation" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">operation</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Enum<!-- -->:</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"list-collections"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"update-collection"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"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-iKGpAq sc-cCYyou dXXcln cFvDiF"><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-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">collection</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Collection identifier (for update, delete)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection identifier (for update, delete)</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="timestamp" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">timestamp</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ"> <!-- --><<!-- -->date-time<!-- -->><!-- --> </span></div> <div><div html="<p>ISO timestamp</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>ISO timestamp</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="name" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">name</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Human-readable collection name (for update)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Human-readable collection name (for update)</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="description" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">description</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Collection description (for update)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection description (for update)</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="tags" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">tags</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF">Array of </span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">strings</span></div> <div><div html="<p>Collection tags for organization (for update)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection tags for organization (for update)</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="tag-filter" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">tag-filter</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF">Array of </span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">strings</span></div> <div><div html="<p>Filter collections by tags (for list)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Filter collections by tags (for list)</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="limit" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">limit</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">integer</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">0</span></div> <div><div html="<p>Maximum number of results (for list)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Maximum number of results (for list)</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/collection-management</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/collection-management</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO eTiIZG"><div class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Flow-Services" aria-label="tag/Flow-Services"></a>Flow Services</h2></div></div><div class="sc-hLseeT eiTXyS"><div class="sc-iKGpAq sc-cCYyou dXXcln dHaogz 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-eDDNvO iUTsUN"><div data-section-id="operation/agentService" id="operation/agentService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Flow-Services/operation/agentService" aria-label="tag/Flow-Services/operation/agentService"></a>Agent service - conversational AI with reasoning<!-- --> </h2><div class="sc-iERabE dUdgLx"><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>explain</code>: Provenance event with inline triples (<code>explain_triples</code>)</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-iKGpAq sc-cCYyou dXXcln dHaogz"><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>explain</code>: Provenance event with inline triples (<code>explain_triples</code>)</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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="question" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">question</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>User question or prompt for the agent</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User question or prompt for the agent</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="state" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">state</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Agent state for continuation (optional, for multi-turn)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Agent state for continuation (optional, for multi-turn)</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="group" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">group</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF">Array of </span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">strings</span></div> <div><div html="<p>Group identifiers for collaborative agents (optional)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Group identifiers for collaborative agents (optional)</p>
|
||
</div></div></div></td></tr><tr class=""><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="history"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand history"><span class="property-name">history</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF">Array of </span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">objects</span></div> <div><div html="<p>Conversation history (optional, list of previous agent steps)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Conversation history (optional, list of previous agent steps)</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"trustgraph"</span></div> <div><div html="<p>User identifier for multi-tenancy</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier for multi-tenancy</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="streaming" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">streaming</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">boolean</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">false</span></div> <div><div html="<p>Enable streaming response delivery</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Enable streaming response delivery</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/agent</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/agent</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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="Explain event with inline provenance triples">Explain event with inline provenance triples</option><option value="Legacy non-streaming response">Legacy non-streaming response</option></select><label>Streaming thought chunk</label></div></div><div><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO iUTsUN"><div data-section-id="operation/documentRagService" id="operation/documentRagService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" 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-iERabE dUdgLx"><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 <code>chunk</code> messages with <code>response</code> content</li>
|
||
<li><code>explain</code> messages with inline provenance triples (<code>explain_triples</code>)</li>
|
||
<li>Final message with <code>end-of-stream: true</code></li>
|
||
<li>Session ends with <code>end_of_session: true</code></li>
|
||
</ul>
|
||
<p>Explain events carry <code>explain_id</code>, <code>explain_graph</code>, and <code>explain_triples</code>
|
||
inline in the stream, so no follow-up knowledge graph query is needed.</p>
|
||
<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-iKGpAq sc-cCYyou dXXcln dHaogz"><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 <code>chunk</code> messages with <code>response</code> content</li>
|
||
<li><code>explain</code> messages with inline provenance triples (<code>explain_triples</code>)</li>
|
||
<li>Final message with <code>end-of-stream: true</code></li>
|
||
<li>Session ends with <code>end_of_session: true</code></li>
|
||
</ul>
|
||
<p>Explain events carry <code>explain_id</code>, <code>explain_graph</code>, and <code>explain_triples</code>
|
||
inline in the stream, so no follow-up knowledge graph query is needed.</p>
|
||
<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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="query" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">query</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>User query or question</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User query or question</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"trustgraph"</span></div> <div><div html="<p>User identifier for multi-tenancy</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier for multi-tenancy</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">collection</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"default"</span></div> <div><div html="<p>Collection to search within</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection to search within</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="doc-limit" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">doc-limit</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">integer</span><span> <span class="sc-gUrTyB sc-cmEaii bPAaet iWTprB"> <!-- -->[ 1 .. 100 ]<!-- --> </span></span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">20</span></div> <div><div html="<p>Maximum number of documents to retrieve</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Maximum number of documents to retrieve</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="streaming" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">streaming</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">boolean</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">false</span></div> <div><div html="<p>Enable streaming response delivery</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Enable streaming response delivery</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/document-rag</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/document-rag</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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="Explain event with inline provenance triples">Explain event with inline provenance triples</option><option value="Streaming complete marker">Streaming complete marker</option></select><label>Complete non-streaming response</label></div></div><div><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO iUTsUN"><div data-section-id="operation/graphRagService" id="operation/graphRagService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" 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-iERabE dUdgLx"><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 <code>chunk</code> messages with <code>response</code> content</li>
|
||
<li><code>explain</code> messages with inline provenance triples (<code>explain_triples</code>)</li>
|
||
<li>Final message with <code>end-of-stream: true</code></li>
|
||
<li>Session ends with <code>end_of_session: true</code></li>
|
||
</ul>
|
||
<p>Explain events carry <code>explain_id</code>, <code>explain_graph</code>, and <code>explain_triples</code>
|
||
inline in the stream, so no follow-up knowledge graph query is needed.</p>
|
||
<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-iKGpAq sc-cCYyou dXXcln dHaogz"><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 <code>chunk</code> messages with <code>response</code> content</li>
|
||
<li><code>explain</code> messages with inline provenance triples (<code>explain_triples</code>)</li>
|
||
<li>Final message with <code>end-of-stream: true</code></li>
|
||
<li>Session ends with <code>end_of_session: true</code></li>
|
||
</ul>
|
||
<p>Explain events carry <code>explain_id</code>, <code>explain_graph</code>, and <code>explain_triples</code>
|
||
inline in the stream, so no follow-up knowledge graph query is needed.</p>
|
||
<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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="query" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">query</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>User query or question</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User query or question</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"trustgraph"</span></div> <div><div html="<p>User identifier for multi-tenancy</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier for multi-tenancy</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">collection</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"default"</span></div> <div><div html="<p>Collection to search within</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection to search within</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="entity-limit" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">entity-limit</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">integer</span><span> <span class="sc-gUrTyB sc-cmEaii bPAaet iWTprB"> <!-- -->[ 1 .. 200 ]<!-- --> </span></span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">50</span></div> <div><div html="<p>Maximum number of entities to retrieve</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Maximum number of entities to retrieve</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="triple-limit" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">triple-limit</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">integer</span><span> <span class="sc-gUrTyB sc-cmEaii bPAaet iWTprB"> <!-- -->[ 1 .. 100 ]<!-- --> </span></span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">30</span></div> <div><div html="<p>Maximum number of triples to retrieve per entity</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><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-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">max-subgraph-size</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">integer</span><span> <span class="sc-gUrTyB sc-cmEaii bPAaet iWTprB"> <!-- -->[ 10 .. 5000 ]<!-- --> </span></span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">1000</span></div> <div><div html="<p>Maximum total subgraph size (triples)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Maximum total subgraph size (triples)</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="max-path-length" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">max-path-length</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">integer</span><span> <span class="sc-gUrTyB sc-cmEaii bPAaet iWTprB"> <!-- -->[ 1 .. 5 ]<!-- --> </span></span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">2</span></div> <div><div html="<p>Maximum path length for graph traversal</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Maximum path length for graph traversal</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="streaming" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">streaming</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">boolean</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">false</span></div> <div><div html="<p>Enable streaming response delivery</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Enable streaming response delivery</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/graph-rag</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/graph-rag</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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="Explain event with inline provenance triples">Explain event with inline provenance triples</option><option value="Streaming complete marker">Streaming complete marker</option></select><label>Complete non-streaming response</label></div></div><div><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO iUTsUN"><div data-section-id="operation/textCompletionService" id="operation/textCompletionService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Flow-Services/operation/textCompletionService" aria-label="tag/Flow-Services/operation/textCompletionService"></a>Text completion - direct LLM generation<!-- --> </h2><div class="sc-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="system" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">system</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>System prompt that sets behavior and context for the LLM</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><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-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">prompt</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>User prompt or question</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User prompt or question</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="streaming" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">streaming</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">boolean</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">false</span></div> <div><div html="<p>Enable streaming response delivery</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Enable streaming response delivery</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/text-completion</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/text-completion</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO iUTsUN"><div data-section-id="operation/promptService" id="operation/promptService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Flow-Services/operation/promptService" aria-label="tag/Flow-Services/operation/promptService"></a>Prompt service - template-based generation<!-- --> </h2><div class="sc-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="id" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">id</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Prompt template ID (stored in config)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Prompt template ID (stored in config)</p>
|
||
</div></div></div></td></tr><tr class=""><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="terms"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand terms"><span class="property-name">terms</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">object</span></div> <div><div html="<p>Template variables as key-value pairs (values are JSON strings)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Template variables as key-value pairs (values are JSON strings)</p>
|
||
</div></div></div></td></tr><tr class=""><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="variables"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand variables"><span class="property-name">variables</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">object</span></div> <div><div html="<p>Alternative to terms - variables as native JSON values (auto-converted)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><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-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">streaming</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">boolean</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">false</span></div> <div><div html="<p>Enable streaming response delivery</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Enable streaming response delivery</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/prompt</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/prompt</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO iUTsUN"><div data-section-id="operation/embeddingsService" id="operation/embeddingsService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Flow-Services/operation/embeddingsService" aria-label="tag/Flow-Services/operation/embeddingsService"></a>Embeddings - text to vector conversion<!-- --> </h2><div class="sc-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="text" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">text</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Text to convert to embedding vector</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Text to convert to embedding vector</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/embeddings</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/embeddings</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO iUTsUN"><div data-section-id="operation/mcpToolService" id="operation/mcpToolService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" 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-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="name" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">name</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Tool name to execute</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Tool name to execute</p>
|
||
</div></div></div></td></tr><tr class="last "><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="parameters"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand parameters"><span class="property-name">parameters</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">object</span></div> <div><div html="<p>Tool parameters (JSON object, auto-converted to string internally)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Tool parameters (JSON object, auto-converted to string internally)</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/mcp-tool</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/mcp-tool</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO iUTsUN"><div data-section-id="operation/triplesQueryService" id="operation/triplesQueryService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Flow-Services/operation/triplesQueryService" aria-label="tag/Flow-Services/operation/triplesQueryService"></a>Triples query - pattern-based graph queries<!-- --> </h2><div class="sc-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="s"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand s"><span class="property-name">s</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">object</span><span class="sc-gUrTyB sc-jfSnVt bPAaet kEFcTG"> (<!-- -->RdfValue<!-- -->) </span></div> <div><div html="<p>Subject filter (optional)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Subject filter (optional)</p>
|
||
</div></div></div></td></tr><tr class=""><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="p"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand p"><span class="property-name">p</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">object</span><span class="sc-gUrTyB sc-jfSnVt bPAaet kEFcTG"> (<!-- -->RdfValue<!-- -->) </span></div> <div><div html="<p>Predicate filter (optional)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Predicate filter (optional)</p>
|
||
</div></div></div></td></tr><tr class=""><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="o"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand o"><span class="property-name">o</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">object</span><span class="sc-gUrTyB sc-jfSnVt bPAaet kEFcTG"> (<!-- -->RdfValue<!-- -->) </span></div> <div><div html="<p>Object filter (optional)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Object filter (optional)</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="limit" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">limit</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">integer</span><span> <span class="sc-gUrTyB sc-cmEaii bPAaet iWTprB"> <!-- -->[ 1 .. 100000 ]<!-- --> </span></span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">10000</span></div> <div><div html="<p>Maximum number of triples to return</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Maximum number of triples to return</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">collection</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"default"</span></div> <div><div html="<p>Collection to query</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection to query</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="g" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">g</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Named graph filter (optional).</p>
|
||
<ul>
|
||
<li>Omitted/null: all graphs</li>
|
||
<li>Empty string: default graph only</li>
|
||
<li>URI string: specific named graph (e.g., urn:graph:source, urn:graph:retrieval)</li>
|
||
</ul>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Named graph filter (optional).</p>
|
||
<ul>
|
||
<li>Omitted/null: all graphs</li>
|
||
<li>Empty string: default graph only</li>
|
||
<li>URI string: specific named graph (e.g., urn:graph:source, urn:graph:retrieval)</li>
|
||
</ul>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="streaming" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">streaming</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">boolean</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">false</span></div> <div><div html="<p>Enable streaming response delivery</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Enable streaming response delivery</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="batch-size" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">batch-size</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">integer</span><span> <span class="sc-gUrTyB sc-cmEaii bPAaet iWTprB"> <!-- -->[ 1 .. 1000 ]<!-- --> </span></span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">20</span></div> <div><div html="<p>Number of triples per streaming batch</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Number of triples per streaming batch</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/triples</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/triples</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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/rowsQueryService" data-section-id="tag/Flow-Services/operation/rowsQueryService" class="sc-eDDNvO iUTsUN"><div data-section-id="operation/rowsQueryService" id="operation/rowsQueryService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Flow-Services/operation/rowsQueryService" aria-label="tag/Flow-Services/operation/rowsQueryService"></a>Rows query - GraphQL over structured data<!-- --> </h2><div class="sc-iERabE dUdgLx"><div html="<p>Query structured data using GraphQL for row-oriented data access.</p>
|
||
<h2 id="rows-query-overview">Rows Query Overview</h2>
|
||
<p>GraphQL interface to structured data:</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 structured rows 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-iKGpAq sc-cCYyou dXXcln dHaogz"><p>Query structured data using GraphQL for row-oriented data access.</p>
|
||
<h2 id="rows-query-overview">Rows Query Overview</h2>
|
||
<p>GraphQL interface to structured data:</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 structured rows 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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="query" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">query</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>GraphQL query string</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>GraphQL query string</p>
|
||
</div></div></div></td></tr><tr class=""><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="variables"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand variables"><span class="property-name">variables</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">object</span></div> <div><div html="<p>GraphQL query variables</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>GraphQL query variables</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="operation-name" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">operation-name</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Operation name (for multi-operation documents)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Operation name (for multi-operation documents)</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="collection" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">collection</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"default"</span></div> <div><div html="<p>Collection to query</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection to query</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/rows</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/rows</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO iUTsUN"><div data-section-id="operation/nlpQueryService" id="operation/nlpQueryService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" 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-iERabE dUdgLx"><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>rows
|
||
<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-iKGpAq sc-cCYyou dXXcln dHaogz"><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>rows
|
||
<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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="question" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">question</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Natural language question</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Natural language question</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="max-results" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">max-results</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">integer</span><span> <span class="sc-gUrTyB sc-cmEaii bPAaet iWTprB"> <!-- -->[ 1 .. 10000 ]<!-- --> </span></span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">100</span></div> <div><div html="<p>Maximum results to return when query is executed</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Maximum results to return when query is executed</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/nlp-query</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/nlp-query</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO iUTsUN"><div data-section-id="operation/structuredQueryService" id="operation/structuredQueryService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" 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-iERabE dUdgLx"><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>Rows 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--rows-query-separate-calls">NLP Query + Rows 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-iKGpAq sc-cCYyou dXXcln dHaogz"><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>Rows 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--rows-query-separate-calls">NLP Query + Rows 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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="question" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">question</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Natural language question</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Natural language question</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="collection" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">collection</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"default"</span></div> <div><div html="<p>Collection to query</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection to query</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/structured-query</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/structured-query</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO iUTsUN"><div data-section-id="operation/structuredDiagService" id="operation/structuredDiagService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Flow-Services/operation/structuredDiagService" aria-label="tag/Flow-Services/operation/structuredDiagService"></a>Structured Diag - analyze structured data formats<!-- --> </h2><div class="sc-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="operation" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">operation</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Enum<!-- -->:</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"detect-type"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"generate-descriptor"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"diagnose"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"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-iKGpAq sc-cCYyou dXXcln cFvDiF"><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-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">sample</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Data sample to analyze (text content)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Data sample to analyze (text content)</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="type" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">type</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Enum<!-- -->:</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"csv"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"json"</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"xml"</span> </div> <div><div html="<p>Data type (required for generate-descriptor)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Data type (required for generate-descriptor)</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="schema-name" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">schema-name</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Target schema name for descriptor generation (optional)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Target schema name for descriptor generation (optional)</p>
|
||
</div></div></div></td></tr><tr class="last "><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="options"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand options"><span class="property-name">options</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">object</span></div> <div><div html="<p>Format-specific options (e.g., CSV delimiter)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Format-specific options (e.g., CSV delimiter)</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/structured-diag</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/structured-diag</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO iUTsUN"><div data-section-id="operation/graphEmbeddingsQueryService" id="operation/graphEmbeddingsQueryService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Flow-Services/operation/graphEmbeddingsQueryService" aria-label="tag/Flow-Services/operation/graphEmbeddingsQueryService"></a>Graph Embeddings Query - find similar entities<!-- --> </h2><div class="sc-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="vectors" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">vectors</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF">Array of </span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">numbers</span></div> <div><div html="<p>Query embedding vector</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Query embedding vector</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="limit" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">limit</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">integer</span><span> <span class="sc-gUrTyB sc-cmEaii bPAaet iWTprB"> <!-- -->[ 1 .. 1000 ]<!-- --> </span></span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">10</span></div> <div><div html="<p>Maximum number of entities to return</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Maximum number of entities to return</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="collection" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">collection</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"default"</span></div> <div><div html="<p>Collection to search</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection to search</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/graph-embeddings</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/graph-embeddings</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO iUTsUN"><div data-section-id="operation/documentEmbeddingsQueryService" id="operation/documentEmbeddingsQueryService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" 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-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="vectors" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">vectors</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF">Array of </span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">numbers</span></div> <div><div html="<p>Query embedding vector</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Query embedding vector</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="limit" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">limit</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">integer</span><span> <span class="sc-gUrTyB sc-cmEaii bPAaet iWTprB"> <!-- -->[ 1 .. 1000 ]<!-- --> </span></span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">10</span></div> <div><div html="<p>Maximum number of document chunks to return</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Maximum number of document chunks to return</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="collection" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">collection</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"default"</span></div> <div><div html="<p>Collection to search</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection to search</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/document-embeddings</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/document-embeddings</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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/rowEmbeddingsQueryService" data-section-id="tag/Flow-Services/operation/rowEmbeddingsQueryService" class="sc-eDDNvO iUTsUN"><div data-section-id="operation/rowEmbeddingsQueryService" id="operation/rowEmbeddingsQueryService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Flow-Services/operation/rowEmbeddingsQueryService" aria-label="tag/Flow-Services/operation/rowEmbeddingsQueryService"></a>Row Embeddings Query - semantic search on structured data<!-- --> </h2><div class="sc-iERabE dUdgLx"><div html="<p>Query row embeddings to find similar rows by vector similarity on indexed fields.
|
||
Enables fuzzy/semantic matching on structured data.</p>
|
||
<h2 id="row-embeddings-query-overview">Row Embeddings Query Overview</h2>
|
||
<p>Find rows whose indexed field values are semantically similar to a query:</p>
|
||
<ul>
|
||
<li><strong>Input</strong>: Query embedding vector, schema name, optional index filter</li>
|
||
<li><strong>Search</strong>: Compare against stored row index embeddings</li>
|
||
<li><strong>Output</strong>: Matching rows with index values and similarity scores</li>
|
||
</ul>
|
||
<p>Core component of semantic search on structured data.</p>
|
||
<h2 id="use-cases">Use Cases</h2>
|
||
<ul>
|
||
<li><strong>Fuzzy name matching</strong>: Find customers by approximate name</li>
|
||
<li><strong>Semantic field search</strong>: Find products by description similarity</li>
|
||
<li><strong>Data deduplication</strong>: Identify potential duplicate records</li>
|
||
<li><strong>Entity resolution</strong>: Match records across datasets</li>
|
||
</ul>
|
||
<h2 id="process">Process</h2>
|
||
<ol>
|
||
<li>Obtain query embedding (via embeddings service)</li>
|
||
<li>Query stored row index embeddings for the specified schema</li>
|
||
<li>Calculate cosine similarity</li>
|
||
<li>Return top N most similar index entries</li>
|
||
<li>Use index values to retrieve full rows via GraphQL</li>
|
||
</ol>
|
||
<h2 id="response-format">Response Format</h2>
|
||
<p>Each match includes:</p>
|
||
<ul>
|
||
<li><code>index_name</code>: The indexed field(s) that matched</li>
|
||
<li><code>index_value</code>: The actual values for those fields</li>
|
||
<li><code>text</code>: The text that was embedded</li>
|
||
<li><code>score</code>: Similarity score (higher = more similar)</li>
|
||
</ul>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"><p>Query row embeddings to find similar rows by vector similarity on indexed fields.
|
||
Enables fuzzy/semantic matching on structured data.</p>
|
||
<h2 id="row-embeddings-query-overview">Row Embeddings Query Overview</h2>
|
||
<p>Find rows whose indexed field values are semantically similar to a query:</p>
|
||
<ul>
|
||
<li><strong>Input</strong>: Query embedding vector, schema name, optional index filter</li>
|
||
<li><strong>Search</strong>: Compare against stored row index embeddings</li>
|
||
<li><strong>Output</strong>: Matching rows with index values and similarity scores</li>
|
||
</ul>
|
||
<p>Core component of semantic search on structured data.</p>
|
||
<h2 id="use-cases">Use Cases</h2>
|
||
<ul>
|
||
<li><strong>Fuzzy name matching</strong>: Find customers by approximate name</li>
|
||
<li><strong>Semantic field search</strong>: Find products by description similarity</li>
|
||
<li><strong>Data deduplication</strong>: Identify potential duplicate records</li>
|
||
<li><strong>Entity resolution</strong>: Match records across datasets</li>
|
||
</ul>
|
||
<h2 id="process">Process</h2>
|
||
<ol>
|
||
<li>Obtain query embedding (via embeddings service)</li>
|
||
<li>Query stored row index embeddings for the specified schema</li>
|
||
<li>Calculate cosine similarity</li>
|
||
<li>Return top N most similar index entries</li>
|
||
<li>Use index values to retrieve full rows via GraphQL</li>
|
||
</ol>
|
||
<h2 id="response-format">Response Format</h2>
|
||
<p>Each match includes:</p>
|
||
<ul>
|
||
<li><code>index_name</code>: The indexed field(s) that matched</li>
|
||
<li><code>index_value</code>: The actual values for those fields</li>
|
||
<li><code>text</code>: The text that was embedded</li>
|
||
<li><code>score</code>: Similarity score (higher = more similar)</li>
|
||
</ul>
|
||
</div></div><div class="sc-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="vectors" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">vectors</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF">Array of </span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">numbers</span></div> <div><div html="<p>Query embedding vector</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Query embedding vector</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="schema_name" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">schema_name</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Schema name to search within</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Schema name to search within</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="index_name" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">index_name</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Optional index name to filter search to specific index</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Optional index name to filter search to specific index</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="limit" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">limit</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">integer</span><span> <span class="sc-gUrTyB sc-cmEaii bPAaet iWTprB"> <!-- -->[ 1 .. 1000 ]<!-- --> </span></span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">10</span></div> <div><div html="<p>Maximum number of matches to return</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Maximum number of matches to return</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="collection" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">collection</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"default"</span></div> <div><div html="<p>Collection to search</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection to search</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/row-embeddings</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/row-embeddings</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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 customer names" selected="">Find similar customer names</option><option value="Search specific index">Search specific index</option></select><label>Find similar customer names</label></div></div><div><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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">"schema_name"</span>: <span class="token string">"customers"</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">"sales"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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">200</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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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">"matches"</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">"index_name"</span>: <span class="token string">"full_name"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"index_value"</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">"John"</span>,</div></li><li><div class="hoverable collapsed"><span class="token string">"Smith"</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">"text"</span>: <span class="token string">"John Smith"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"score"</span>: <span class="token number">0.95</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">"index_name"</span>: <span class="token string">"full_name"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"index_value"</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">"Jon"</span>,</div></li><li><div class="hoverable collapsed"><span class="token string">"Smythe"</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">"text"</span>: <span class="token string">"Jon Smythe"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"score"</span>: <span class="token number">0.82</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">"index_name"</span>: <span class="token string">"full_name"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"index_value"</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">"Jonathan"</span>,</div></li><li><div class="hoverable collapsed"><span class="token string">"Schmidt"</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">"text"</span>: <span class="token string">"Jonathan Schmidt"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"score"</span>: <span class="token number">0.76</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_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/textLoadService" data-section-id="tag/Flow-Services/operation/textLoadService" class="sc-eDDNvO iUTsUN"><div data-section-id="operation/textLoadService" id="operation/textLoadService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Flow-Services/operation/textLoadService" aria-label="tag/Flow-Services/operation/textLoadService"></a>Text Load - load text documents<!-- --> </h2><div class="sc-iERabE dUdgLx"><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 (raw UTF-8 or 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 may be sent as raw UTF-8 text:</p>
|
||
<pre><code><span class="token punctuation">{</span>
|
||
<span class="token string">"text"</span><span class="token punctuation">:</span> <span class="token string">"Cancer survival: 2.74× higher hazard ratio"</span>
|
||
<span class="token punctuation">}</span>
|
||
</code></pre>
|
||
<p>Older clients may still send base64 encoded text:</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-iKGpAq sc-cCYyou dXXcln dHaogz"><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 (raw UTF-8 or 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 may be sent as raw UTF-8 text:</p>
|
||
<pre><code><span class="token punctuation">{</span>
|
||
<span class="token string">"text"</span><span class="token punctuation">:</span> <span class="token string">"Cancer survival: 2.74× higher hazard ratio"</span>
|
||
<span class="token punctuation">}</span>
|
||
</code></pre>
|
||
<p>Older clients may still send base64 encoded text:</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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="text" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">text</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Text content, either raw text or base64 encoded for compatibility with older clients</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Text content, either raw text or base64 encoded for compatibility with older clients</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="id" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">id</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Document identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Document identifier</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">collection</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"default"</span></div> <div><div html="<p>Collection for document</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection for document</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="charset" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">charset</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"utf-8"</span></div> <div><div html="<p>Text character encoding</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Text character encoding</p>
|
||
</div></div></div></td></tr><tr class="last "><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="metadata"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand metadata"><span class="property-name">metadata</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF">Array of </span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">objects</span><span class="sc-gUrTyB sc-jfSnVt bPAaet kEFcTG"> (<!-- -->Triple<!-- -->) </span></div> <div><div html="<p>Document metadata as RDF triples</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Document metadata as RDF triples</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">202<!-- --> </strong><div html="<p>Document accepted for processing</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Document accepted for processing</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/text-load</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/text-load</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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 using base64 text">Load with RDF metadata using base64 text</option></select><label>Load text document</label></div></div><div><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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 is the document text..."</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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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/Flow-Services/operation/documentLoadService" data-section-id="tag/Flow-Services/operation/documentLoadService" class="sc-eDDNvO iUTsUN"><div data-section-id="operation/documentLoadService" id="operation/documentLoadService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" 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-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="data" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">data</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ"> <!-- --><<!-- -->byte<!-- -->><!-- --> </span></div> <div><div html="<p>Document data (base64 encoded)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Document data (base64 encoded)</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="id" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">id</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>Document identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Document identifier</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"trustgraph"</span></div> <div><div html="<p>User identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">collection</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"default"</span></div> <div><div html="<p>Collection for document</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection for document</p>
|
||
</div></div></div></td></tr><tr class="last "><td class="sc-hAtEya sc-fGFwA-d sc-jhSXcs kddqHa eIujjv bXwTFl" kind="field" title="metadata"><span class="sc-ieZDjf bEKmDE"></span><button aria-label="expand metadata"><span class="property-name">metadata</span><svg class="sc-fbJfz dTZWxX" 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-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF">Array of </span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">objects</span><span class="sc-gUrTyB sc-jfSnVt bPAaet kEFcTG"> (<!-- -->Triple<!-- -->) </span></div> <div><div html="<p>Document metadata as RDF triples</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Document metadata as RDF triples</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">202<!-- --> </strong><div html="<p>Document accepted for processing</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Document accepted for processing</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/document-load</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/document-load</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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_99hlq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_99hlq_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_99hlq_0" aria-labelledby="tab_R_99hlq_0"><div><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9phlq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9phlq_0" tabindex="0" data-rttab="true">202</li><li class="tab-error" role="tab" id="tab_R_9phlq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9phlq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9phlq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9phlq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9phlq_0" aria-labelledby="tab_R_9phlq_0"><div><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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_9phlq_1" aria-labelledby="tab_R_9phlq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9phlq_2" aria-labelledby="tab_R_9phlq_2"></div></div></div></div></div></div><div id="tag/Flow-Services/operation/sparqlQueryService" data-section-id="tag/Flow-Services/operation/sparqlQueryService" class="sc-eDDNvO iUTsUN"><div data-section-id="operation/sparqlQueryService" id="operation/sparqlQueryService" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Flow-Services/operation/sparqlQueryService" aria-label="tag/Flow-Services/operation/sparqlQueryService"></a>SPARQL query - execute SPARQL 1.1 queries against the knowledge graph<!-- --> </h2><div class="sc-iERabE dUdgLx"><div html="<p>Execute a SPARQL 1.1 query against the knowledge graph.</p>
|
||
<h2 id="supported-query-types">Supported Query Types</h2>
|
||
<ul>
|
||
<li><strong>SELECT</strong>: Returns variable bindings as a table of results</li>
|
||
<li><strong>ASK</strong>: Returns true/false for existence checks</li>
|
||
<li><strong>CONSTRUCT</strong>: Returns a set of triples built from a template</li>
|
||
<li><strong>DESCRIBE</strong>: Returns triples describing matched resources</li>
|
||
</ul>
|
||
<h2 id="sparql-features">SPARQL Features</h2>
|
||
<p>Supports standard SPARQL 1.1 features including:</p>
|
||
<ul>
|
||
<li>Basic Graph Patterns (BGPs) with triple pattern matching</li>
|
||
<li>OPTIONAL, UNION, FILTER</li>
|
||
<li>BIND, VALUES</li>
|
||
<li>ORDER BY, LIMIT, OFFSET, DISTINCT</li>
|
||
<li>GROUP BY with aggregates (COUNT, SUM, AVG, MIN, MAX, GROUP_CONCAT)</li>
|
||
<li>Built-in functions (isIRI, STR, REGEX, CONTAINS, etc.)</li>
|
||
</ul>
|
||
<h2 id="query-examples">Query Examples</h2>
|
||
<p>Find all entities of a type:</p>
|
||
<pre><code class="language-sparql">SELECT <span class="token operator">?</span>s <span class="token operator">?</span>label WHERE <span class="token punctuation">{</span>
|
||
<span class="token operator">?</span>s <span class="token operator">&lt;</span>http<span class="token punctuation">:</span><span class="token operator">/</span><span class="token operator">/</span>www<span class="token punctuation">.</span>w3<span class="token punctuation">.</span>org<span class="token operator">/</span><span class="token number">1999</span><span class="token operator">/</span><span class="token number">02</span><span class="token operator">/</span><span class="token number">22</span><span class="token operator">-</span>rdf<span class="token operator">-</span>syntax<span class="token operator">-</span>ns#type<span class="token operator">></span> <span class="token operator">&lt;</span>http<span class="token punctuation">:</span><span class="token operator">/</span><span class="token operator">/</span>example<span class="token punctuation">.</span>com<span class="token operator">/</span>Person<span class="token operator">></span> <span class="token punctuation">.</span>
|
||
<span class="token operator">?</span>s <span class="token operator">&lt;</span>http<span class="token punctuation">:</span><span class="token operator">/</span><span class="token operator">/</span>www<span class="token punctuation">.</span>w3<span class="token punctuation">.</span>org<span class="token operator">/</span><span class="token number">2000</span><span class="token operator">/</span><span class="token number">01</span><span class="token operator">/</span>rdf<span class="token operator">-</span>schema#label<span class="token operator">></span> <span class="token operator">?</span>label <span class="token punctuation">.</span>
|
||
<span class="token punctuation">}</span>
|
||
LIMIT <span class="token number">10</span>
|
||
</code></pre>
|
||
<p>Check if an entity exists:</p>
|
||
<pre><code class="language-sparql">ASK <span class="token punctuation">{</span> <span class="token operator">&lt;</span>http<span class="token punctuation">:</span><span class="token operator">/</span><span class="token operator">/</span>example<span class="token punctuation">.</span>com<span class="token operator">/</span>alice<span class="token operator">></span> <span class="token operator">?</span>p <span class="token operator">?</span>o <span class="token punctuation">}</span>
|
||
</code></pre>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"><p>Execute a SPARQL 1.1 query against the knowledge graph.</p>
|
||
<h2 id="supported-query-types">Supported Query Types</h2>
|
||
<ul>
|
||
<li><strong>SELECT</strong>: Returns variable bindings as a table of results</li>
|
||
<li><strong>ASK</strong>: Returns true/false for existence checks</li>
|
||
<li><strong>CONSTRUCT</strong>: Returns a set of triples built from a template</li>
|
||
<li><strong>DESCRIBE</strong>: Returns triples describing matched resources</li>
|
||
</ul>
|
||
<h2 id="sparql-features">SPARQL Features</h2>
|
||
<p>Supports standard SPARQL 1.1 features including:</p>
|
||
<ul>
|
||
<li>Basic Graph Patterns (BGPs) with triple pattern matching</li>
|
||
<li>OPTIONAL, UNION, FILTER</li>
|
||
<li>BIND, VALUES</li>
|
||
<li>ORDER BY, LIMIT, OFFSET, DISTINCT</li>
|
||
<li>GROUP BY with aggregates (COUNT, SUM, AVG, MIN, MAX, GROUP_CONCAT)</li>
|
||
<li>Built-in functions (isIRI, STR, REGEX, CONTAINS, etc.)</li>
|
||
</ul>
|
||
<h2 id="query-examples">Query Examples</h2>
|
||
<p>Find all entities of a type:</p>
|
||
<pre><code class="language-sparql">SELECT <span class="token operator">?</span>s <span class="token operator">?</span>label WHERE <span class="token punctuation">{</span>
|
||
<span class="token operator">?</span>s <span class="token operator"><</span>http<span class="token punctuation">:</span><span class="token operator">/</span><span class="token operator">/</span>www<span class="token punctuation">.</span>w3<span class="token punctuation">.</span>org<span class="token operator">/</span><span class="token number">1999</span><span class="token operator">/</span><span class="token number">02</span><span class="token operator">/</span><span class="token number">22</span><span class="token operator">-</span>rdf<span class="token operator">-</span>syntax<span class="token operator">-</span>ns#type<span class="token operator">></span> <span class="token operator"><</span>http<span class="token punctuation">:</span><span class="token operator">/</span><span class="token operator">/</span>example<span class="token punctuation">.</span>com<span class="token operator">/</span>Person<span class="token operator">></span> <span class="token punctuation">.</span>
|
||
<span class="token operator">?</span>s <span class="token operator"><</span>http<span class="token punctuation">:</span><span class="token operator">/</span><span class="token operator">/</span>www<span class="token punctuation">.</span>w3<span class="token punctuation">.</span>org<span class="token operator">/</span><span class="token number">2000</span><span class="token operator">/</span><span class="token number">01</span><span class="token operator">/</span>rdf<span class="token operator">-</span>schema#label<span class="token operator">></span> <span class="token operator">?</span>label <span class="token punctuation">.</span>
|
||
<span class="token punctuation">}</span>
|
||
LIMIT <span class="token number">10</span>
|
||
</code></pre>
|
||
<p>Check if an entity exists:</p>
|
||
<pre><code class="language-sparql">ASK <span class="token punctuation">{</span> <span class="token operator"><</span>http<span class="token punctuation">:</span><span class="token operator">/</span><span class="token operator">/</span>example<span class="token punctuation">.</span>com<span class="token operator">/</span>alice<span class="token operator">></span> <span class="token operator">?</span>p <span class="token operator">?</span>o <span class="token punctuation">}</span>
|
||
</code></pre>
|
||
</div></div><div class="sc-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="flow" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">flow</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">my-flow</span></div><div><div html="<p>Flow instance ID</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Flow instance ID</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/json</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="query" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">query</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><div html="<p>SPARQL 1.1 query string</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>SPARQL 1.1 query string</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"trustgraph"</span></div> <div><div html="<p>User/keyspace identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User/keyspace identifier</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="collection" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">collection</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"default"</span></div> <div><div html="<p>Collection identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Collection identifier</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="limit" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">limit</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">integer</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">10000</span></div> <div><div html="<p>Safety limit on number of results</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Safety limit on number of results</p>
|
||
</div></div></div></td></tr></tbody></table><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Successful response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Successful response</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/flow/{flow}/service/sparql-query</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/flow/{flow}/service/sparql-query</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Request samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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_99ilq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_99ilq_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_99ilq_0" aria-labelledby="tab_R_99ilq_0"><div><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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="SELECT query" selected="">SELECT query</option><option value="ASK query">ASK query</option></select><label>SELECT query</label></div></div><div><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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">"SELECT ?s ?p ?o WHERE { ?s ?p ?o } LIMIT 10"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"user"</span>: <span class="token string">"trustgraph"</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></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_9pilq_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_9pilq_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_9pilq_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9pilq_1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_9pilq_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_9pilq_2" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_9pilq_0" aria-labelledby="tab_R_9pilq_0"><div><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Example</span><div class="sc-jItqcA sc-BKAtt kKrNCs dNwfFN"><svg class="sc-ilEZpr cnAPdU" 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="SELECT result" selected="">SELECT result</option><option value="ASK result">ASK result</option></select><label>SELECT result</label></div></div><div><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-type"</span>: <span class="token string">"select"</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="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"s"</span>,</div></li><li><div class="hoverable collapsed"><span class="token string">"p"</span>,</div></li><li><div class="hoverable collapsed"><span class="token string">"o"</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">"bindings"</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">"values"</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">"t"</span>: <span class="token string">"i"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"i"</span>: <span class="token string">"</span><a href="http://example.com/alice">http://example.com/alice</a><span class="token string">"</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">"t"</span>: <span class="token string">"i"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"i"</span>: <span class="token string">"</span><a href="http://www.w3.org/1999/02/22-rdf-syntax-ns#type">http://www.w3.org/1999/02/22-rdf-syntax-ns#type</a><span class="token string">"</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">"t"</span>: <span class="token string">"i"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"i"</span>: <span class="token string">"</span><a href="http://example.com/Person">http://example.com/Person</a><span class="token string">"</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></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_9pilq_1" aria-labelledby="tab_R_9pilq_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_9pilq_2" aria-labelledby="tab_R_9pilq_2"></div></div></div></div></div></div><div id="tag/ImportExport" data-section-id="tag/ImportExport" class="sc-eDDNvO eTiIZG"><div class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/ImportExport" aria-label="tag/ImportExport"></a>Import/Export</h2></div></div><div class="sc-hLseeT eiTXyS"><div class="sc-iKGpAq sc-cCYyou dXXcln dHaogz 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/documentStream" data-section-id="tag/ImportExport/operation/documentStream" class="sc-eDDNvO iUTsUN"><div data-section-id="operation/documentStream" id="operation/documentStream" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/ImportExport/operation/documentStream" aria-label="tag/ImportExport/operation/documentStream"></a>Stream document content from library<!-- --> </h2><div class="sc-iERabE dUdgLx"><div html="<p>Streams the raw content of a document stored in the library.
|
||
Returns the document content in chunked transfer encoding.</p>
|
||
<h2 id="parameters">Parameters</h2>
|
||
<ul>
|
||
<li><code>user</code>: User identifier (required)</li>
|
||
<li><code>document-id</code>: Document IRI to retrieve (required)</li>
|
||
<li><code>chunk-size</code>: Size of each response chunk in bytes (optional, default: 1MB)</li>
|
||
</ul>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"><p>Streams the raw content of a document stored in the library.
|
||
Returns the document content in chunked transfer encoding.</p>
|
||
<h2 id="parameters">Parameters</h2>
|
||
<ul>
|
||
<li><code>user</code>: User identifier (required)</li>
|
||
<li><code>document-id</code>: Document IRI to retrieve (required)</li>
|
||
<li><code>chunk-size</code>: Size of each response chunk in bytes (optional, default: 1MB)</li>
|
||
</ul>
|
||
</div></div><div class="sc-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">query<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">user=trustgraph</span></div><div><div html="<p>User identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier</p>
|
||
</div></div></div></td></tr><tr class=""><td kind="field" title="document-id" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">document-id</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">document-id=urn:trustgraph:doc:abc123</span></div><div><div html="<p>Document IRI to retrieve</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Document IRI to retrieve</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="chunk-size" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">chunk-size</span></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">integer</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Default:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">1048576</span></div> <div><div html="<p>Chunk size in bytes (default 1MB)</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Chunk size in bytes (default 1MB)</p>
|
||
</div></div></div></td></tr></tbody></table></div><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Document content streamed as raw bytes</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Document content streamed as raw bytes</p>
|
||
</div></button></div><div><button class="sc-caslwi kwTqVQ" disabled=""><strong class="sc-fYaxgW jJkGwY">400<!-- --> </strong><div html="<p>Missing required parameters</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Missing required parameters</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="get" class="sc-eGFuAY kCsPwr http-verb get">get</span><span class="sc-GJyyy dkiPkt">/api/v1/document-stream</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/document-stream</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-error 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">401</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">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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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_175ma_1" aria-labelledby="tab_R_175ma_1"></div></div></div></div></div></div><div id="tag/ImportExport/operation/importCore" data-section-id="tag/ImportExport/operation/importCore" class="sc-eDDNvO iUTsUN"><div data-section-id="operation/importCore" id="operation/importCore" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/ImportExport/operation/importCore" aria-label="tag/ImportExport/operation/importCore"></a>Import Core - bulk import triples and embeddings<!-- --> </h2><div class="sc-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">query<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="id" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">id</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">id=core-123</span></div><div><div html="<p>Knowledge core ID to import</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Knowledge core ID to import</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">user=alice</span></div><div><div html="<p>User identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier</p>
|
||
</div></div></div></td></tr></tbody></table></div><h5 class="sc-irTswZ fA-dGxt">Request Body schema: <span class="sc-gXSCqT bzXJk">application/msgpack</span><div class="sc-gUrTyB sc-eKYjSU sc-dVCGSo bPAaet boAHLn iuCmqI">required</div></h5><div html="" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"></div><div><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ"> <!-- --><<!-- -->binary<!-- -->><!-- --> </span></div> <div><div html="<p>MessagePack stream of knowledge data</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>MessagePack stream of knowledge data</p>
|
||
</div></div></div></div><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">202<!-- --> </strong><div html="<p>Import accepted and processing</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Import accepted and processing</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="post" class="sc-eGFuAY ejslkd http-verb post">post</span><span class="sc-GJyyy dkiPkt">/api/v1/import-core</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/import-core</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success 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">202</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">401</li><li class="tab-error" role="tab" id="tab_R_176ma_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_176ma_2" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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_176ma_1" aria-labelledby="tab_R_176ma_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_176ma_2" aria-labelledby="tab_R_176ma_2"></div></div></div></div></div></div><div id="tag/ImportExport/operation/exportCore" data-section-id="tag/ImportExport/operation/exportCore" class="sc-eDDNvO iUTsUN"><div data-section-id="operation/exportCore" id="operation/exportCore" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/ImportExport/operation/exportCore" aria-label="tag/ImportExport/operation/exportCore"></a>Export Core - bulk export triples and embeddings<!-- --> </h2><div class="sc-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">query<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="id" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">id</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">id=core-123</span></div><div><div html="<p>Knowledge core ID to export</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Knowledge core ID to export</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="user" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">user</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">user=alice</span></div><div><div html="<p>User identifier</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>User identifier</p>
|
||
</div></div></div></td></tr></tbody></table></div><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Export stream</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Export stream</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="get" class="sc-eGFuAY kCsPwr http-verb get">get</span><span class="sc-GJyyy dkiPkt">/api/v1/export-core</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/export-core</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-error react-tabs__tab--selected" role="tab" id="tab_R_177ma_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_177ma_0" tabindex="0" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab_R_177ma_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_177ma_1" data-rttab="true">500</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_177ma_0" aria-labelledby="tab_R_177ma_0"><div><div class="sc-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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_177ma_1" aria-labelledby="tab_R_177ma_1"></div></div></div></div></div></div><div id="tag/WebSocket" data-section-id="tag/WebSocket" class="sc-eDDNvO eTiIZG"><div class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/WebSocket" aria-label="tag/WebSocket"></a>WebSocket</h2></div></div><div class="sc-hLseeT eiTXyS"><div class="sc-iKGpAq sc-cCYyou dXXcln dHaogz 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-eDDNvO iUTsUN"><div data-section-id="operation/websocketConnection" id="operation/websocketConnection" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/WebSocket/operation/websocketConnection" aria-label="tag/WebSocket/operation/websocketConnection"></a>WebSocket - multiplexed service interface<!-- --> </h2><div class="sc-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">header<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class=""><td kind="field" title="Upgrade" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">Upgrade</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Value<!-- -->:</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"websocket"</span> </div> <div><div html="<p>WebSocket upgrade header</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>WebSocket upgrade header</p>
|
||
</div></div></div></td></tr><tr class="last "><td kind="field" title="Connection" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">Connection</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div><div><span class="sc-gUrTyB bPAaet"> <!-- -->Value<!-- -->:</span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">"Upgrade"</span> </div> <div><div html="<p>Connection upgrade header</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Connection upgrade header</p>
|
||
</div></div></div></td></tr></tbody></table></div><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi gSNqow" disabled=""><strong class="sc-fYaxgW jJkGwY">101<!-- --> </strong><div html="<p>Switching Protocols - WebSocket connection established</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Switching Protocols - WebSocket connection established</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="get" class="sc-eGFuAY kCsPwr http-verb get">get</span><span class="sc-GJyyy dkiPkt">/api/v1/socket</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/v1/socket</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO eTiIZG"><div class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Metrics" aria-label="tag/Metrics"></a>Metrics</h2></div></div><div class="sc-hLseeT eiTXyS"><div class="sc-iKGpAq sc-cCYyou dXXcln dHaogz 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-eDDNvO iUTsUN"><div data-section-id="operation/getMetrics" id="operation/getMetrics" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Metrics/operation/getMetrics" aria-label="tag/Metrics/operation/getMetrics"></a>Metrics - Prometheus metrics endpoint<!-- --> </h2><div class="sc-iERabE dUdgLx"><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-iKGpAq sc-cCYyou dXXcln dHaogz"><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-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Prometheus metrics</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Prometheus metrics</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="get" class="sc-eGFuAY kCsPwr http-verb get">get</span><span class="sc-GJyyy dkiPkt">/api/metrics</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/metrics</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-eDDNvO iUTsUN"><div data-section-id="operation/getMetricsPath" id="operation/getMetricsPath" class="sc-iAEyYj cmAaWK"><div class="sc-hLseeT hoYmkG"><h2 class="sc-qRumy bcNKdh"><a class="sc-csCMJq jSIqAu" href="#tag/Metrics/operation/getMetricsPath" aria-label="tag/Metrics/operation/getMetricsPath"></a>Metrics - Prometheus metrics with path<!-- --> </h2><div class="sc-iERabE dUdgLx"><div html="<p>Proxy to Prometheus metrics with optional path parameter.</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz"><p>Proxy to Prometheus metrics with optional path parameter.</p>
|
||
</div></div><div class="sc-ftWlEC pzAgN"><div class="sc-cYRmzp kuPPCO"><h5 class="sc-irTswZ sc-jOQpHb fA-dGxt qtYpT">Authorizations:</h5><svg class="sc-fbJfz eiOVYa" 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-jTsRVM gZngKQ"><span class="sc-dskThK ddMcul"><span class="sc-hNeXkj cLOXvd"><i>bearerAuth</i></span></span></div></div><div><h5 class="sc-irTswZ fA-dGxt">path<!-- --> Parameters</h5><table class="sc-hIqOWV dybric"><tbody><tr class="last "><td kind="field" title="path" class="sc-hAtEya sc-fGFwA-d kddqHa eIujjv"><span class="sc-ieZDjf bEKmDE"></span><span class="property-name">path</span><div class="sc-gUrTyB sc-eKYjSU bPAaet boAHLn">required</div></td><td class="sc-blLsxE bmauLr"><div><div><span class="sc-gUrTyB sc-kZGvTq bPAaet UMvzF"></span><span class="sc-gUrTyB sc-iMfspz bPAaet fEQrHJ">string</span></div> <div><span class="sc-gUrTyB bPAaet"> <!-- -->Example:<!-- --> </span> <span class="sc-gUrTyB sc-ldFCYc bPAaet eShQxX">query</span></div><div><div html="<p>Path to specific metrics endpoint</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Path to specific metrics endpoint</p>
|
||
</div></div></div></td></tr></tbody></table></div><div><h3 class="sc-fJjTez hsJdXF">Responses</h3><div><button class="sc-caslwi brztng"><svg class="sc-fbJfz iZiZiV" 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-fYaxgW jJkGwY">200<!-- --> </strong><div html="<p>Prometheus metrics</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Prometheus metrics</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">401<!-- --> </strong><div html="<p>Unauthorized - Invalid or missing bearer token</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Unauthorized - Invalid or missing bearer token</p>
|
||
</div></button></div><div><button class="sc-caslwi fvWYOy"><svg class="sc-fbJfz kiMFkB" 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-fYaxgW jJkGwY">500<!-- --> </strong><div html="<p>Error response</p>
|
||
" class="sc-iKGpAq sc-cCYyou sc-cjERFZ dXXcln fTBBlJ dkmSdy"><p>Error response</p>
|
||
</div></button></div></div></div><div class="sc-jTrPJt sc-gLDzao dVngAA fYLqku"><div class="sc-fYzRkH dHdMVa"><button class="sc-jYvNnh iWrBta"><span type="get" class="sc-eGFuAY kCsPwr http-verb get">get</span><span class="sc-GJyyy dkiPkt">/api/metrics/{path}</span><svg class="sc-fbJfz ivEQut" 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-fnxdBX dplsyJ"><div class="sc-llcuoK cNCbuV"><div html="<p>Local development server</p>
|
||
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF"><p>Local development server</p>
|
||
</div><div tabindex="0" role="button"><div class="sc-jnsZEx eobUac"><span>http://localhost:8088</span>/api/metrics/{path}</div></div></div></div></div><div><h3 class="sc-kFuwaQ dEbuTz"> <!-- -->Response samples<!-- --> </h3><div class="sc-cyRfQY lbIFgo" 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-cPlDXk gpxHhK"><span class="sc-bCDidX ccmcKc">Content type</span><div class="sc-dQelHO eMpCUl">application/json</div></div><div class="sc-hVkBjf ksuOBo"><div class="sc-cRZddz iLjyyA"><div class="sc-gjTGSz btblAa"><button><div class="sc-jegxcw fJsoyS">Copy</div></button></div><div tabindex="0" class="sc-iKGpAq dXXcln sc-jMAIzW jKIGwd"><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-emEvRt jYOHCb"></div></div></div>
|
||
<script>
|
||
const __redoc_state = {"menu":{"activeItemIdx":-1},"spec":{"data":{"openapi":"3.1.0","info":{"title":"TrustGraph API Gateway","version":"2.2","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, rows, nlp-query, structured-query, sparql-query, row-embeddings\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- `explain`: Provenance event with inline triples (`explain_triples`)\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}},"explainEvent":{"summary":"Explain event with inline provenance triples","value":{"chunk-type":"explain","content":"","explain_id":"urn:trustgraph:agent:abc123","explain_graph":"urn:graph:retrieval","explain_triples":[{"s":{"t":"i","i":"urn:trustgraph:agent:abc123"},"p":{"t":"i","i":"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"},"o":{"t":"i","i":"https://trustgraph.ai/ns/AgentSession"}},{"s":{"t":"i","i":"urn:trustgraph:agent:abc123"},"p":{"t":"i","i":"https://trustgraph.ai/ns/query"},"o":{"t":"l","v":"Explain quantum computing"}}],"end-of-message":true,"end-of-dialog":false}},"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 `chunk` messages with `response` content\n- `explain` messages with inline provenance triples (`explain_triples`)\n- Final message with `end-of-stream: true`\n- Session ends with `end_of_session: true`\n\nExplain events carry `explain_id`, `explain_graph`, and `explain_triples`\ninline in the stream, so no follow-up knowledge graph query is needed.\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}},"explainEvent":{"summary":"Explain event with inline provenance triples","value":{"message_type":"explain","explain_id":"urn:trustgraph:question:abc123","explain_graph":"urn:graph:retrieval","explain_triples":[{"s":{"t":"i","i":"urn:trustgraph:question:abc123"},"p":{"t":"i","i":"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"},"o":{"t":"i","i":"https://trustgraph.ai/ns/DocumentRagQuestion"}},{"s":{"t":"i","i":"urn:trustgraph:question:abc123"},"p":{"t":"i","i":"https://trustgraph.ai/ns/query"},"o":{"t":"l","v":"What are the key findings in the research papers?"}}],"end-of-stream":false,"end_of_session":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 `chunk` messages with `response` content\n- `explain` messages with inline provenance triples (`explain_triples`)\n- Final message with `end-of-stream: true`\n- Session ends with `end_of_session: true`\n\nExplain events carry `explain_id`, `explain_graph`, and `explain_triples`\ninline in the stream, so no follow-up knowledge graph query is needed.\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}},"explainEvent":{"summary":"Explain event with inline provenance triples","value":{"message_type":"explain","explain_id":"urn:trustgraph:question:abc123","explain_graph":"urn:graph:retrieval","explain_triples":[{"s":{"t":"i","i":"urn:trustgraph:question:abc123"},"p":{"t":"i","i":"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"},"o":{"t":"i","i":"https://trustgraph.ai/ns/GraphRagQuestion"}},{"s":{"t":"i","i":"urn:trustgraph:question:abc123"},"p":{"t":"i","i":"https://trustgraph.ai/ns/query"},"o":{"t":"l","v":"What connections exist between quantum physics and computer science?"}}],"end_of_stream":false,"end_of_session":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/rows":{"post":{"tags":["Flow Services"],"summary":"Rows query - GraphQL over structured data","description":"Query structured data using GraphQL for row-oriented data access.\n\n## Rows Query Overview\n\nGraphQL interface to structured data:\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 structured rows 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":"rowsQueryService","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/RowsQueryRequest"},"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/RowsQueryResponse"},"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/rows\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. **Rows 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 + Rows 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/row-embeddings":{"post":{"tags":["Flow Services"],"summary":"Row Embeddings Query - semantic search on structured data","description":"Query row embeddings to find similar rows by vector similarity on indexed fields.\nEnables fuzzy/semantic matching on structured data.\n\n## Row Embeddings Query Overview\n\nFind rows whose indexed field values are semantically similar to a query:\n- **Input**: Query embedding vector, schema name, optional index filter\n- **Search**: Compare against stored row index embeddings\n- **Output**: Matching rows with index values and similarity scores\n\nCore component of semantic search on structured data.\n\n## Use Cases\n\n- **Fuzzy name matching**: Find customers by approximate name\n- **Semantic field search**: Find products by description similarity\n- **Data deduplication**: Identify potential duplicate records\n- **Entity resolution**: Match records across datasets\n\n## Process\n\n1. Obtain query embedding (via embeddings service)\n2. Query stored row index embeddings for the specified schema\n3. Calculate cosine similarity\n4. Return top N most similar index entries\n5. Use index values to retrieve full rows via GraphQL\n\n## Response Format\n\nEach match includes:\n- `index_name`: The indexed field(s) that matched\n- `index_value`: The actual values for those fields\n- `text`: The text that was embedded\n- `score`: Similarity score (higher = more similar)\n","operationId":"rowEmbeddingsQueryService","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/RowEmbeddingsQueryRequest"},"examples":{"basicQuery":{"summary":"Find similar customer names","value":{"vectors":[0.023,-0.142,0.089,0.234,-0.067,0.156,0.201,-0.178],"schema_name":"customers","limit":10,"user":"alice","collection":"sales"}},"filteredQuery":{"summary":"Search specific index","value":{"vectors":[0.1,-0.2,0.3,-0.4,0.5],"schema_name":"products","index_name":"description","limit":20}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RowEmbeddingsQueryResponse"},"examples":{"similarRows":{"summary":"Similar rows found","value":{"matches":[{"index_name":"full_name","index_value":["John","Smith"],"text":"John Smith","score":0.95},{"index_name":"full_name","index_value":["Jon","Smythe"],"text":"Jon Smythe","score":0.82},{"index_name":"full_name","index_value":["Jonathan","Schmidt"],"text":"Jonathan Schmidt","score":0.76}]}}}}}},"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 (raw UTF-8 or 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 may be sent as raw UTF-8 text:\n```\n{\n \"text\": \"Cancer survival: 2.74× higher hazard ratio\"\n}\n```\n\nOlder clients may still send base64 encoded text:\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":"This is the document text...","id":"doc-123","user":"alice","collection":"research"}},"withMetadata":{"summary":"Load with RDF metadata using base64 text","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/flow/{flow}/service/sparql-query":{"post":{"tags":["Flow Services"],"summary":"SPARQL query - execute SPARQL 1.1 queries against the knowledge graph","description":"Execute a SPARQL 1.1 query against the knowledge graph.\n\n## Supported Query Types\n\n- **SELECT**: Returns variable bindings as a table of results\n- **ASK**: Returns true/false for existence checks\n- **CONSTRUCT**: Returns a set of triples built from a template\n- **DESCRIBE**: Returns triples describing matched resources\n\n## SPARQL Features\n\nSupports standard SPARQL 1.1 features including:\n- Basic Graph Patterns (BGPs) with triple pattern matching\n- OPTIONAL, UNION, FILTER\n- BIND, VALUES\n- ORDER BY, LIMIT, OFFSET, DISTINCT\n- GROUP BY with aggregates (COUNT, SUM, AVG, MIN, MAX, GROUP_CONCAT)\n- Built-in functions (isIRI, STR, REGEX, CONTAINS, etc.)\n\n## Query Examples\n\nFind all entities of a type:\n```sparql\nSELECT ?s ?label WHERE {\n ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/Person> .\n ?s <http://www.w3.org/2000/01/rdf-schema#label> ?label .\n}\nLIMIT 10\n```\n\nCheck if an entity exists:\n```sparql\nASK { <http://example.com/alice> ?p ?o }\n```\n","operationId":"sparqlQueryService","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":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"SPARQL 1.1 query string"},"user":{"type":"string","default":"trustgraph","description":"User/keyspace identifier"},"collection":{"type":"string","default":"default","description":"Collection identifier"},"limit":{"type":"integer","default":10000,"description":"Safety limit on number of results"}}},"examples":{"selectQuery":{"summary":"SELECT query","value":{"query":"SELECT ?s ?p ?o WHERE { ?s ?p ?o } LIMIT 10","user":"trustgraph","collection":"default"}},"askQuery":{"summary":"ASK query","value":{"query":"ASK { <http://example.com/alice> ?p ?o }"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"query-type":{"type":"string","enum":["select","ask","construct","describe"]},"variables":{"type":"array","items":{"type":"string"},"description":"Variable names (SELECT only)"},"bindings":{"type":"array","items":{"type":"object","properties":{"values":{"type":"array","items":{"$ref":"#/components/schemas/RdfValue"}}}},"description":"Result rows (SELECT only)"},"ask-result":{"type":"boolean","description":"Boolean result (ASK only)"},"triples":{"type":"array","description":"Result triples (CONSTRUCT/DESCRIBE only)"},"error":{"type":"object","properties":{"type":{"type":"string"},"message":{"type":"string"}}}}},"examples":{"selectResult":{"summary":"SELECT result","value":{"query-type":"select","variables":["s","p","o"],"bindings":[{"values":[{"t":"i","i":"http://example.com/alice"},{"t":"i","i":"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"},{"t":"i","i":"http://example.com/Person"}]}]}},"askResult":{"summary":"ASK result","value":{"query-type":"ask","ask-result":true}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/Error"}}}},"/api/v1/document-stream":{"get":{"tags":["Import/Export"],"summary":"Stream document content from library","description":"Streams the raw content of a document stored in the library.\nReturns the document content in chunked transfer encoding.\n\n## Parameters\n\n- `user`: User identifier (required)\n- `document-id`: Document IRI to retrieve (required)\n- `chunk-size`: Size of each response chunk in bytes (optional, default: 1MB)\n","operationId":"documentStream","security":[{"bearerAuth":[]}],"parameters":[{"name":"user","in":"query","required":true,"schema":{"type":"string"},"description":"User identifier","example":"trustgraph"},{"name":"document-id","in":"query","required":true,"schema":{"type":"string"},"description":"Document IRI to retrieve","example":"urn:trustgraph:doc:abc123"},{"name":"chunk-size","in":"query","required":false,"schema":{"type":"integer","default":1048576},"description":"Chunk size in bytes (default 1MB)"}],"responses":{"200":{"description":"Document content streamed as raw bytes","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Missing required parameters"},"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,\nget-document-metadata, stream-document, add-child-document,\nlist-children, begin-upload, upload-chunk, complete-upload,\nabort-upload, get-upload-status, list-uploads,\nstart-processing, stop-processing, list-processing\n","required":["operation"],"properties":{"operation":{"type":"string","enum":["add-document","remove-document","list-documents","get-document-metadata","get-document-content","stream-document","add-child-document","list-children","begin-upload","upload-chunk","complete-upload","abort-upload","get-upload-status","list-uploads","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- `get-document-metadata`: Get document metadata\n- `get-document-content`: Get full document content in a single response.\n **Deprecated** — use `stream-document` instead. Fails for documents\n exceeding the broker's max message size.\n- `stream-document`: Stream document content in chunks. Each response\n includes `chunk_index` and `is_final`. Preferred over `get-document-content`\n for all document sizes.\n- `add-child-document`: Add a child document (e.g. page, chunk)\n- `list-children`: List child documents of a parent\n- `begin-upload`: Start a chunked upload session\n- `upload-chunk`: Upload a chunk of data\n- `complete-upload`: Finalize a chunked upload\n- `abort-upload`: Cancel a chunked upload\n- `get-upload-status`: Check upload progress\n- `list-uploads`: List active upload sessions\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 Term - typed representation of a value in the knowledge graph.\n\nTerm types (discriminated by `t` field):\n- `i`: IRI (URI reference)\n- `l`: Literal (string value, optionally with datatype or language tag)\n- `r`: Quoted triple (RDF-star reification)\n- `b`: Blank node\n","properties":{"t":{"type":"string","description":"Term type discriminator","enum":["i","l","r","b"],"example":"i"},"i":{"type":"string","description":"IRI value (when t=i)","example":"http://example.com/Person1"},"v":{"type":"string","description":"Literal value (when t=l)","example":"John Doe"},"d":{"type":"string","description":"Datatype IRI for literal (when t=l, optional)","example":"http://www.w3.org/2001/XMLSchema#integer"},"l":{"type":"string","description":"Language tag for literal (when t=l, optional)","example":"en"},"r":{"type":"object","description":"Quoted triple (when t=r) - contains s, p, o as nested Term objects with the same structure","properties":{"s":{"type":"object","description":"Subject term"},"p":{"type":"object","description":"Predicate term"},"o":{"type":"object","description":"Object term"}}}},"required":["t"],"examples":[{"description":"IRI term","value":{"t":"i","i":"http://schema.org/name"}},{"description":"Literal term","value":{"t":"l","v":"John Doe"}},{"description":"Literal with language tag","value":{"t":"l","v":"Bonjour","l":"fr"}}]},"Triple":{"type":"object","description":"RDF triple (subject-predicate-object), optionally scoped to a named graph.\n","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"},"g":{"type":"string","description":"Named graph URI (optional)","example":"urn:graph:source"}}},"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}}},"Triple-2":{"type":"object","description":"RDF triple representing a subject-predicate-object statement in the knowledge graph,\noptionally scoped to a named graph.\n\nExample: (Person1) -[has name]-> (\"John Doe\")\n","properties":{"s":{"$ref":"#/components/schemas/RdfValue","description":"Subject - the entity the statement is about"},"p":{"$ref":"#/components/schemas/RdfValue","description":"Predicate - the property or relationship"},"o":{"$ref":"#/components/schemas/RdfValue","description":"Object - the value or target entity"},"g":{"type":"string","description":"Named graph URI (optional). When absent, the triple is in the default graph.\nWell-known graphs:\n- (empty/absent): Core knowledge facts\n- urn:graph:source: Extraction provenance\n- urn:graph:retrieval: Query-time explainability\n","example":"urn:graph:source"}},"required":["s","p","o"],"example":{"s":{"t":"i","i":"http://example.com/Person1"},"p":{"t":"i","i":"http://schema.org/name"},"o":{"t":"l","v":"John Doe"}}},"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","final-answer","explain","error"],"example":"answer"},"content":{"type":"string","description":"Chunk content (streaming mode only)","example":"Paris is the capital of France."},"message_type":{"type":"string","description":"Message type - \"chunk\" for agent chunks, \"explain\" for explainability events","enum":["chunk","explain"],"example":"chunk"},"explain_id":{"type":"string","description":"Explainability node URI (for explain messages)","example":"urn:trustgraph:agent:abc123"},"explain_graph":{"type":"string","description":"Named graph containing the explainability data","example":"urn:graph:retrieval"},"explain_triples":{"type":"array","description":"Provenance triples for this explain event (inline, no follow-up query needed)","items":{"$ref":"#/components/schemas/Triple-2"}},"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 message","properties":{"message_type":{"type":"string","description":"Type of message - \"chunk\" for LLM response chunks, \"explain\" for explainability events","enum":["chunk","explain"],"example":"chunk"},"response":{"type":"string","description":"Generated response text (for chunk messages)","example":"Based on the policy documents, customers can return items within 30 days..."},"explain_id":{"type":"string","description":"Explainability node URI (for explain messages)","example":"urn:trustgraph:question:abc123"},"explain_graph":{"type":"string","description":"Named graph containing the explainability data","example":"urn:graph:retrieval"},"explain_triples":{"type":"array","description":"Provenance triples for this explain event (inline, no follow-up query needed)","items":{"$ref":"#/components/schemas/Triple-2"}},"end-of-stream":{"type":"boolean","description":"Indicates LLM response stream is complete","default":false,"example":true},"end_of_session":{"type":"boolean","description":"Indicates entire session is complete (all messages sent)","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 message","properties":{"message_type":{"type":"string","description":"Type of message - \"chunk\" for LLM response chunks, \"explain\" for explainability events","enum":["chunk","explain"],"example":"chunk"},"response":{"type":"string","description":"Generated response text (for chunk messages)","example":"Quantum physics and computer science intersect in quantum computing..."},"explain_id":{"type":"string","description":"Explainability node URI (for explain messages)","example":"urn:trustgraph:question:abc123"},"explain_graph":{"type":"string","description":"Named graph containing the explainability data","example":"urn:graph:retrieval"},"explain_triples":{"type":"array","description":"Provenance triples for this explain event (inline, no follow-up query needed)","items":{"$ref":"#/components/schemas/Triple-2"}},"end_of_stream":{"type":"boolean","description":"Indicates LLM response stream is complete","default":false,"example":true},"end_of_session":{"type":"boolean","description":"Indicates entire session is complete (all messages sent)","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"},"g":{"type":"string","description":"Named graph filter (optional).\n- Omitted/null: all graphs\n- Empty string: default graph only\n- URI string: specific named graph (e.g., urn:graph:source, urn:graph:retrieval)\n","example":"urn:graph:source"},"streaming":{"type":"boolean","description":"Enable streaming response delivery","default":false,"example":true},"batch-size":{"type":"integer","description":"Number of triples per streaming batch","default":20,"minimum":1,"maximum":1000,"example":50}}},"TriplesQueryResponse":{"type":"object","description":"Triples query response","required":["response"],"properties":{"response":{"type":"array","description":"Matching triples","items":{"$ref":"#/components/schemas/Triple"}}}},"RowsQueryRequest":{"type":"object","description":"Rows query request - GraphQL query over structured data.\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"}}},"RowsQueryResponse":{"type":"object","description":"Rows 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 with matching entities and similarity scores","properties":{"entities":{"type":"array","description":"Matching graph entities with similarity scores","items":{"type":"object","properties":{"entity":{"$ref":"#/components/schemas/RdfValue","description":"Matching graph entity"},"score":{"type":"number","description":"Similarity score (higher is more similar)","example":0.92}}},"example":[{"entity":{"t":"i","i":"https://example.com/person/alice"},"score":0.95},{"entity":{"t":"i","i":"https://example.com/concept/quantum"},"score":0.82}]}}},"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 with matching chunks and similarity scores","properties":{"chunks":{"type":"array","description":"Matching document chunks with similarity scores","items":{"type":"object","properties":{"chunk_id":{"type":"string","description":"Chunk identifier URI","example":"urn:trustgraph:chunk:abc123"},"score":{"type":"number","description":"Similarity score (higher is more similar)","example":0.89}}},"example":[{"chunk_id":"urn:trustgraph:chunk:abc123","score":0.95},{"chunk_id":"urn:trustgraph:chunk:def456","score":0.82}]}}},"RowEmbeddingsQueryRequest":{"type":"object","description":"Row embeddings query request - find similar rows by vector similarity on indexed fields.\nEnables semantic/fuzzy matching on structured data.\n","required":["vectors","schema_name"],"properties":{"vectors":{"type":"array","description":"Query embedding vector","items":{"type":"number"},"example":[0.023,-0.142,0.089,0.234,-0.067,0.156]},"schema_name":{"type":"string","description":"Schema name to search within","example":"customers"},"index_name":{"type":"string","description":"Optional index name to filter search to specific index","example":"full_name"},"limit":{"type":"integer","description":"Maximum number of matches 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":"sales"}}},"RowEmbeddingsQueryResponse":{"type":"object","description":"Row embeddings query response with matching row index information","properties":{"error":{"type":"object","description":"Error information if query failed","properties":{"type":{"type":"string","description":"Error type identifier","example":"row-embeddings-query-error"},"message":{"type":"string","description":"Human-readable error message","example":"Schema not found"}}},"matches":{"type":"array","description":"List of matching row index entries with similarity scores","items":{"type":"object","properties":{"index_name":{"type":"string","description":"Name of the indexed field(s)","example":"full_name"},"index_value":{"type":"array","description":"Values of the indexed fields for this row","items":{"type":"string"},"example":["John","Smith"]},"text":{"type":"string","description":"The text that was embedded for this index entry","example":"John Smith"},"score":{"type":"number","description":"Similarity score (higher is more similar)","example":0.89}}}}},"example":{"matches":[{"index_name":"full_name","index_value":["John","Smith"],"text":"John Smith","score":0.95},{"index_name":"full_name","index_value":["Jon","Smythe"],"text":"Jon Smythe","score":0.82},{"index_name":"full_name","index_value":["Jonathan","Schmidt"],"text":"Jonathan Schmidt","score":0.76}]}},"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, either raw text or base64 encoded for compatibility with older clients","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/rowsQueryService","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/rowEmbeddingsQueryService","tag/Flow-Services/operation/textLoadService","tag/Flow-Services/operation/documentLoadService","tag/Flow-Services/operation/sparqlQueryService","tag/ImportExport","tag/ImportExport/operation/documentStream","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.981]],["description/0",[1,2.848,2,2.423,3,3.123,4,0.36,5,1.962,6,0.83,7,1.838,8,1.995,9,1.556,10,0.981,11,2.423,12,1.962,13,3.467,14,2.848,15,1.962,16,1.429,17,1.838,18,1.289,19,2.619,20,2.099,21,3.928,22,2.252,23,1.114,24,1.838,25,1.114,26,1.723,27,2.099,28,2.848,29,3.467,30,2.423]],["title/1",[6,0.56,31,1.43]],["description/1",[3,3.453,4,0.393,5,1.655,6,0.734,7,1.55,8,1.997,9,1.558,10,1.085,12,1.655,13,2.923,14,2.401,15,1.655,18,1.157,19,2.208,20,1.77,23,0.94,25,0.94,32,3.902,33,2.208,34,1.58,35,3.902,36,2.043,37,2.633,38,2.208,39,2.401,40,0.827,41,0.94,42,1.364,43,3.312,44,1.55,45,1.364,46,2.208,47,3.902,48,2.401,49,2.923,50,2.208,51,3.312,52,2.923,53,2.923,54,0.462,55,2.208,56,3.312,57,3.312,58,3.902,59,3.902,60,1.77,61,2.633,62,2.633,63,3.312,64,3.312,65,3.312]],["title/2",[66,3.336]],["description/2",[1,3.073,4,0.333,20,2.265,66,4.031,67,4.476,68,3.618,69,5.071,70,4.993,71,3.073,72,3.128,73,2.118,74,4.476,75,4.238,76,3.073,77,3.741,78,4.238]],["title/3",[79,2.28,80,2.464]],["description/3",[79,2.856,81,2.474,82,0.945,83,5.454,84,5.454,85,5.454,86,4.63,87,2.856]],["title/4",[88,2.28,89,1.049]],["description/4",[4,0.382,31,1.722,33,2.967,81,2.378,88,3.22,90,1.185,91,1.344,92,4.45,93,2.378,94,4.45]],["title/5",[36,2.589]],["description/5",[5,2.368,6,0.718,7,2.217,9,1.523]],["title/6",[6,0.56,7,1.729]],["description/6",[4,0.392,6,0.721,7,2.54,8,2.346,9,1.416,17,1.285,20,2.045,24,1.285,30,1.694,31,2.008,36,2.717,38,1.831,46,2.937,50,3.34,68,2.937,73,1.912,82,0.781,87,1.694,95,2.746,96,3.826,97,1.79,98,1.991,99,1.131,100,2.361,101,5.188,102,2.774,103,2.424,104,0.999,105,3.235,106,3.235,107,1.991,108,1.991,109,1.574,110,3.042,111,3.787,112,3.235,113,1.912,114,2.746,115,2.424,116,3.235,117,1.991,118,3.235,119,3.235,120,3.235,121,1.831,122,1.694,123,1.574,124,1.831,125,2.424,126,2.746,127,2.746,128,2.746,129,2.183]],["title/7",[8,1.729]],["description/7",[5,2.34,6,0.709,8,1.929,9,1.506,37,3.724,38,3.123]],["title/8",[8,1.229,9,0.959,37,2.372,38,1.989]],["description/8",[4,0.38,6,0.691,7,1.953,8,2.358,9,1.342,20,2.581,24,1.671,30,2.576,31,0.964,34,0.906,36,2.203,38,3.692,46,3.53,73,1.244,80,1.661,82,0.729,97,2.259,99,1.026,100,2.203,104,0.906,107,2.589,108,1.806,109,2.393,110,2.839,111,3.839,113,1.244,122,2.576,124,1.661,125,2.198,126,2.49,127,2.49,128,2.49,129,1.98,130,2.934,131,1.98,132,2.49,133,1.661,134,4.175,135,4.207,136,2.934,137,0.964,138,2.934,139,2.934,140,0.964,141,1.661,142,1.093,143,2.934,144,1.661,145,2.934,146,2.49,147,2.934,148,5.373,149,2.934,150,2.198,151,2.934,152,2.198,153,2.934,154,2.198,155,2.49,156,2.934,157,1.98,158,2.934,159,2.49,160,0.906,161,2.198,162,2.934,163,2.934,164,1.98,165,1.093,166,2.49,167,2.934,168,2.198,169,2.934]],["title/9",[39,3.042]],["description/9",[5,2.354,6,0.713,9,1.515,12,2.354,40,1.176]],["title/10",[9,1.061,12,1.649,40,0.824]],["description/10",[4,0.381,6,0.463,8,1.698,9,1.325,12,2.783,24,1.431,39,2.218,40,1.447,45,1.698,54,0.427,74,2.701,87,1.888,100,2.875,131,2.432,146,3.06,152,2.701,170,4.121,171,3.637,172,1.888,173,1.874,174,2.701,175,4.855,176,2.432,177,2.988,178,4.855,179,3.276,180,3.604,181,2.701,182,2.701,183,3.276,184,3.604,185,4.113,186,3.06,187,2.432,188,1.26,189,3.604,190,1.635,191,3.604,192,1.184,193,3.604,194,2.701,195,2.701,196,2.432,197,3.604,198,3.604,199,3.604,200,2.701,201,3.604]],["title/11",[10,1.048]],["description/11",[5,2.34,6,0.709,9,1.506,10,1.17,41,1.329,42,1.929]],["title/12",[9,0.959,10,0.745,41,0.847,42,1.229]],["description/12",[4,0.375,8,1.494,9,0.818,10,1.373,11,2.238,17,1.191,18,1.348,20,1.361,23,1.382,24,1.697,25,1.478,26,1.117,41,1.382,42,2.314,44,1.977,45,1.049,46,2.419,52,2.247,54,0.355,60,1.361,89,1.029,90,0.966,93,2.259,100,1.57,104,0.926,107,1.846,108,1.846,110,2.884,113,1.812,121,1.697,132,2.545,133,1.697,137,0.985,140,0.985,157,2.024,165,1.117,171,3.202,174,2.247,176,2.024,190,2.462,202,2.999,203,2.545,204,1.697,205,2.999,206,1.272,207,1.846,208,1.939,209,2.999,210,1.361,211,4.274,212,3.202,213,1.977,214,1.459,215,2.08,216,2.247,217,3.627,218,2.545,219,2.999,220,2.999,221,2.999,222,2.999,223,2.545,224,2.999,225,4.274,226,2.247,227,2.024,228,2.999,229,2.999,230,2.545,231,1.361,232,1.697,233,1.191,234,2.545,235,2.999]],["title/13",[44,1.963]],["description/13",[5,2.354,6,0.713,9,1.515,44,2.204,45,1.941]],["title/14",[9,1.061,44,1.545,45,1.36]],["description/14",[4,0.383,9,0.98,10,1.161,23,1.166,24,1.426,39,2.21,40,1.161,42,1.693,44,2.71,45,2.141,72,1.88,80,3.101,90,0.812,100,1.88,107,2.98,108,2.98,110,3.268,121,2.741,133,2.741,164,2.423,165,1.337,171,2.69,176,3.268,177,2.98,188,1.256,190,2.197,192,1.18,203,3.048,208,2.661,210,1.629,223,3.048,230,3.048,236,3.591,237,2.423,238,3.591,239,1.337,240,3.591,241,3.591,242,3.591,243,5.479,244,3.048,245,3.591,246,2.032,247,1.426,248,3.591,249,2.69,250,3.048,251,3.591,252,3.048,253,3.591]],["title/15",[6,0.56,8,1.522]],["description/15",[6,0.713,8,1.941,46,3.141,227,3.745,254,5.55]],["title/16",[4,0.164,6,0.379,14,1.814,48,1.814,255,2.208,256,1.989]],["description/16",[0,0.588,2,2.218,4,0.391,6,0.381,14,2.607,17,1.964,25,0.713,27,1.922,31,0.973,48,3.514,73,1.256,78,4.197,82,0.513,88,2.218,89,1.375,91,0.759,93,1.344,152,2.219,165,1.578,173,0.86,181,2.219,187,1.998,192,0.973,207,1.823,208,1.344,210,1.344,213,2.267,215,1.441,231,2.243,232,1.676,233,1.176,237,1.998,239,1.103,247,1.176,255,4.043,256,3.641,257,2.607,258,2.799,259,4.235,260,5.041,261,1.998,262,1.998,263,2.961,264,4.58,265,2.514,266,2.961,267,3.321,268,1.344,269,2.219,270,2.961,271,4.944,272,4.235,273,4.197,274,2.961,275,1.344,276,2.514,277,2.514,278,2.961,279,2.961,280,2.961,281,5.396,282,2.219,283,1.998,284,2.219,285,2.219,286,2.961,287,2.219,288,2.514,289,2.961,290,2.961,291,2.961,292,2.961,293,2.219,294,1.551,295,2.961,296,2.961,297,2.514,298,2.514]],["title/17",[4,0.164,15,1.25,40,0.895,104,0.91,299,0.968]],["description/17",[0,0.588,2,1.551,4,0.379,7,1.176,10,0.628,15,1.796,17,1.176,18,1.22,25,0.713,27,1.922,34,0.914,40,1.369,41,0.713,44,1.682,54,0.639,76,1.823,82,0.734,86,3.595,89,1.02,90,0.669,93,2.243,97,1.176,98,1.823,102,1.823,104,1.763,123,1.441,137,1.391,140,1.391,141,1.676,142,1.103,172,1.551,173,0.86,187,2.858,188,1.036,208,1.344,213,2.143,214,1.441,215,1.441,231,2.243,232,1.676,233,1.964,249,2.219,267,3.514,275,1.344,282,3.173,283,1.998,284,2.219,285,3.173,294,1.551,299,1.773,300,2.514,301,1.676,302,1.823,303,2.218,304,1.676,305,2.061,306,2.218,307,2.961,308,3.595,309,2.219,310,2.961,311,1.998,312,1.998,313,1.998,314,1.256,315,1.998,316,1.441,317,1.998,318,2.219,319,2.219,320,2.514,321,2.514,322,2.514,323,2.514,324,2.514,325,2.219,326,2.514,327,2.961,328,1.998,329,2.514,330,2.514,331,2.219,332,2.219,333,2.219,334,2.961,335,2.514,336,2.961,337,2.961,338,2.961]],["title/18",[4,0.152,10,0.578,15,1.156,41,0.961,104,0.842,299,0.896]],["description/18",[0,0.494,2,1.302,4,0.378,10,0.947,15,1.58,17,0.987,18,0.562,19,1.407,25,0.898,26,2.079,27,2.252,41,1.466,54,0.629,76,1.53,82,0.775,89,0.898,90,0.562,93,2.028,97,0.987,98,1.53,104,1.533,123,1.21,131,1.678,137,1.224,140,1.468,141,2.81,142,0.926,144,2.53,160,1.533,172,1.302,173,0.722,187,2.515,188,0.869,192,0.817,213,1.972,214,1.21,215,1.813,227,1.678,231,1.128,232,1.407,233,1.775,239,0.926,246,2.53,249,1.863,256,2.515,257,1.53,267,3.273,275,1.128,282,2.792,283,1.678,284,1.863,285,2.792,294,1.302,299,1.747,300,2.111,301,2.109,302,1.53,306,2.34,314,1.054,315,1.678,316,1.21,317,1.678,318,1.863,319,1.863,320,2.111,321,2.111,322,2.111,323,2.111,324,2.111,325,1.863,326,2.111,328,1.678,329,2.111,333,2.792,339,1.48,340,4.964,341,2.486,342,2.111,343,2.515,344,2.486,345,3.163,346,2.293,347,2.111,348,3.726,349,2.486,350,1.863,351,2.486,352,3.726,353,2.486,354,2.486,355,2.111,356,2.486,357,2.486,358,2.486,359,2.486,360,2.486,361,2.486,362,2.111,363,2.486,364,2.486,365,2.486,366,2.486,367,2.486,368,2.486,369,2.486,370,2.486,371,2.486,372,0.987,373,2.486,374,3.726,375,2.486,376,2.486,377,2.486,378,2.486,379,1.678,380,2.486,381,1.53,382,2.486]],["title/19",[4,0.164,16,0.91,17,1.17,299,0.968,306,1.543,383,2.208]],["description/19",[0,0.595,2,1.57,4,0.393,10,1.055,16,1.32,17,1.977,19,2.419,27,2.259,40,0.636,41,0.722,49,2.247,50,3.247,51,2.545,68,3.247,72,1.57,73,1.272,76,2.63,77,2.247,81,1.361,82,0.994,89,1.307,90,0.678,91,0.769,93,2.259,96,2.545,99,1.898,102,3.064,104,0.926,123,2.08,144,1.697,172,1.57,182,2.247,200,2.247,208,1.361,213,1.977,214,1.459,215,1.459,232,1.697,233,1.697,256,2.024,258,1.697,275,1.361,283,2.024,294,1.57,299,1.959,301,1.697,306,2.607,308,2.545,317,2.024,342,2.545,379,2.024,383,3.202,384,2.999,385,2.545,386,2.999,387,2.999,388,2.247,389,2.545,390,2.999,391,2.999,392,2.999,393,2.024,394,2.999,395,2.999,396,2.545,397,2.999,398,2.545,399,2.999,400,2.247,401,1.697,402,2.545,403,2.999,404,1.361,405,2.999,406,2.999,407,2.999,408,3.627,409,2.999,410,2.999,411,2.999]],["title/20",[4,0.179,6,0.412,50,1.815,299,1.053,412,3.206]],["description/20",[0,0.579,4,0.396,6,0.63,7,1.158,16,1.923,23,0.702,26,1.086,31,0.958,34,0.9,36,1.527,40,1.203,50,3.688,71,3.746,79,2.193,81,2.431,82,0.505,89,1.009,99,1.714,113,2.079,115,4.252,129,1.968,137,0.958,140,0.958,160,1.293,164,1.968,190,1.323,192,0.958,200,3.138,213,1.663,214,1.419,216,2.184,233,1.158,239,1.086,268,1.323,275,1.9,306,1.527,315,1.968,372,1.158,413,1.527,414,4.902,415,2.916,416,2.916,417,4.188,418,2.916,419,2.607,420,1.9,421,2.916,422,2.916,423,1.65,424,4.188,425,4.902,426,2.475,427,2.475,428,2.475,429,4.188,430,2.184,431,2.827,432,4.188,433,4.188,434,2.916,435,2.184,436,2.475,437,2.475,438,2.475,439,2.184,440,2.916,441,2.916]],["title/21",[4,0.179,16,0.99,18,0.725,206,1.36,255,2.402]],["description/21",[0,0.665,1,2.061,4,0.387,6,0.43,11,1.754,15,1.42,16,1.759,18,1.351,22,1.63,24,1.33,33,1.896,34,1.426,40,0.979,54,0.546,61,2.26,62,2.26,82,0.916,99,1.171,104,1.034,117,3.253,122,1.754,173,0.972,188,1.171,206,2.534,237,2.26,268,1.52,275,1.52,294,1.754,303,2.768,304,3.224,305,2.908,311,3.567,339,1.33,372,1.33,381,2.061,401,1.896,438,2.843,439,2.509,442,3.349,443,3.349,444,3.349,445,2.843,446,2.843,447,2.26,448,4.618,449,1.754,450,3.349,451,2.061,452,2.26,453,1.63,454,3.349,455,2.843,456,3.349,457,5.976,458,3.349,459,3.349,460,4.618,461,3.349,462,3.349,463,3.349,464,3.349,465,3.349,466,2.843,467,2.061,468,2.843,469,3.349]],["title/22",[4,0.141,27,1.151,117,1.562,413,1.329,470,2.154,471,2.835,472,1.562]],["description/22",[0,0.548,1,2.479,2,1.447,4,0.387,6,0.518,7,1.097,16,1.468,20,1.253,23,0.97,24,1.6,27,1.253,34,1.244,40,0.586,48,3.419,54,0.477,80,2.28,81,1.827,82,0.698,89,0.665,90,0.911,91,1.033,97,1.888,99,0.966,103,2.07,104,0.853,117,1.7,121,1.564,137,0.908,140,0.908,142,1.029,160,1.613,161,2.07,168,3.018,179,1.864,207,1.7,239,1.029,247,1.888,260,2.345,268,1.253,297,2.345,299,0.908,303,2.909,306,1.447,314,1.171,339,1.097,372,1.097,385,2.345,388,2.07,413,2.489,419,1.96,435,2.07,470,4.922,471,5.114,472,2.926,473,4.754,474,1.7,475,3.419,476,4.028,477,3.562,478,4.035,479,2.762,480,3.018,481,2.762,482,2.762,483,2.762,484,2.762,485,4.754,486,2.718,487,3.208,488,2.762,489,2.762,490,2.345,491,2.345,492,2.762,493,3.419,494,1.564,495,2.762,496,2.762,497,2.07,498,2.762,499,2.762,500,2.762]],["title/23",[4,0.164,25,0.71,41,0.71,54,0.499,501,2.947]],["description/23",[0,0.567,4,0.391,10,0.605,16,0.881,25,1.491,26,1.063,31,0.938,41,0.687,46,1.615,54,0.666,72,1.495,81,2.197,82,0.839,90,0.932,91,1.058,98,1.757,102,2.538,109,2.007,141,1.615,144,1.615,165,1.063,177,2.538,192,0.938,204,2.335,212,2.138,233,2.329,246,3.185,247,1.133,293,2.138,302,2.981,331,2.138,339,1.923,347,3.501,419,2.007,423,1.615,449,1.495,453,2.854,497,2.138,502,2.854,503,4.216,504,2.423,505,3.975,506,4.843,507,4.125,508,2.854,509,2.423,510,2.854,511,4.111,512,4.111,513,3.09,514,3.501,515,4.125,516,1.926,517,2.138,518,2.854,519,4.081,520,2.854,521,4.081,522,2.854,523,3.501,524,2.423,525,2.854,526,2.854,527,2.854,528,2.423,529,2.854,530,2.854,531,2.854,532,2.854]],["title/24",[4,0.152,23,0.657,54,0.323,55,1.543,160,0.842,301,1.543,533,1.678]],["description/24",[0,0.572,3,1.944,4,0.394,6,0.37,23,1.417,25,1,30,1.508,31,1.855,34,0.889,36,1.508,54,0.79,55,2.35,71,2.996,79,2.79,80,1.63,81,1.307,82,0.719,88,3.081,90,0.651,91,0.739,94,2.445,99,1.007,111,1.944,117,1.773,123,1.402,144,2.35,157,2.802,160,1.645,161,3.111,190,2.209,195,2.158,210,1.307,268,1.307,294,1.508,315,1.944,332,2.158,343,1.944,345,2.445,381,1.773,400,2.158,419,2.369,467,1.773,471,2.158,474,1.773,486,1.944,494,3.016,504,2.445,523,2.445,533,3.621,534,2.88,535,2.88,536,2.88,537,2.88,538,2.445,539,2.88,540,2.88,541,4.868,542,2.88,543,2.88,544,2.445,545,1.773,546,2.88,547,2.158,548,2.445,549,2.88,550,2.88,551,2.88,552,2.88,553,2.88,554,2.88,555,2.88,556,2.88,557,2.88,558,2.88,559,2.88,560,2.88,561,2.88,562,2.445,563,2.445]],["title/25",[4,0.152,54,0.472,160,0.842,261,1.84,262,1.84,564,2.043]],["description/25",[0,0.545,4,0.39,6,0.353,10,0.85,26,1.494,31,1.318,34,1.239,41,0.966,54,0.761,71,2.468,73,1.165,82,0.695,89,0.661,90,0.907,123,1.952,137,1.318,140,1.318,142,1.494,144,1.554,159,2.331,160,1.463,173,0.797,208,2.364,210,1.246,239,1.494,247,1.593,257,1.69,258,3.468,261,3.197,262,2.707,275,1.246,299,1.557,305,1.336,311,1.853,314,1.701,316,1.336,332,2.058,355,2.331,393,1.853,404,1.246,413,2.481,419,1.336,420,1.246,423,1.554,435,2.058,439,2.058,453,1.336,491,2.331,494,3.137,533,3.411,563,2.331,564,3.005,565,3.005,566,2.746,567,2.746,568,5.073,569,3.516,570,4.011,571,2.746,572,2.746,573,2.746,574,2.746,575,2.746,576,2.746,577,2.746,578,2.746,579,2.331,580,2.746,581,2.058,582,2.746,583,4.011,584,2.746,585,2.746,586,4.011,587,2.746,588,2.746,589,2.746,590,2.746,591,2.746,592,2.746,593,2.746,594,3.404,595,2.746,596,2.746,597,2.746,598,2.746]],["title/26",[4,0.164,54,0.349,160,0.91,247,1.17,258,1.668,599,2.947]],["description/26",[0,0.5,4,0.39,6,0.484,10,0.534,23,1.288,24,1.001,25,0.906,31,0.828,41,0.906,54,0.789,55,2.13,77,1.888,82,0.781,88,3.445,89,0.906,90,0.851,91,0.646,99,0.881,114,2.139,123,2.192,137,1.48,140,1.48,142,1.402,160,1.162,172,2.359,195,2.82,204,1.426,210,1.707,247,2.124,257,1.551,258,3.027,261,3.04,262,3.04,267,2.316,273,3.824,299,1.843,301,1.426,302,1.551,311,1.7,331,1.888,383,2.82,388,1.888,389,2.139,400,1.888,404,1.707,408,2.139,413,2.8,419,1.831,420,1.707,427,3.194,428,2.139,431,1.7,446,2.139,453,1.226,467,2.316,474,1.551,477,3.375,490,2.139,497,1.888,503,1.888,533,3.075,547,1.888,562,2.139,564,2.82,565,1.888,600,2.139,601,2.52,602,3.763,603,2.52,604,2.52,605,2.52,606,3.763,607,2.52,608,2.52,609,2.139,610,2.52,611,3.763,612,2.52,613,2.52,614,2.52,615,2.52,616,2.52,617,2.52,618,2.52,619,2.52,620,2.52]],["title/27",[4,0.152,23,0.657,91,0.699,160,1.232,621,2.315,622,2.315]],["description/27",[0,0.508,4,0.393,17,1.017,23,1.562,24,1.513,31,1.494,34,0.791,40,0.543,45,0.895,60,1.162,61,1.728,62,1.728,79,1.341,81,2.443,82,0.933,91,1.499,100,1.341,107,2.344,109,1.246,111,1.728,122,1.341,123,1.853,131,1.728,133,2.156,137,0.841,140,0.841,142,0.954,160,1.663,173,1.106,190,1.162,192,1.251,210,1.728,214,1.246,239,1.419,257,2.344,299,0.841,302,1.576,314,1.086,316,1.246,339,1.513,379,2.57,393,1.728,404,2.285,419,1.246,420,2.285,423,1.449,449,1.341,453,2.451,467,1.576,477,2.854,478,2.173,494,3.399,538,2.173,568,2.173,579,2.173,581,1.918,621,2.173,622,2.173,623,5.037,624,5.384,625,4.548,626,5.384,627,5.844,628,2.561,629,2.854,630,2.561,631,2.561,632,1.918,633,1.918,634,2.561,635,2.561,636,2.561,637,2.561,638,3.809,639,2.561,640,2.561,641,2.561,642,2.561,643,3.809,644,2.561,645,2.561,646,2.561,647,2.561,648,2.561,649,2.561,650,2.173,651,2.561]],["title/28",[4,0.152,18,0.616,26,1.016,41,0.657,54,0.323,305,1.327,339,1.083]],["description/28",[0,0.601,4,0.383,6,0.389,10,0.642,15,1.825,18,1.391,25,0.729,26,2.524,27,1.374,34,0.935,41,1.387,42,1.059,54,0.728,82,0.945,90,1.131,91,0.776,104,1.546,109,1.473,113,1.825,137,0.995,140,0.995,142,1.128,154,2.268,172,1.585,173,0.879,204,2.435,206,2.311,233,1.202,246,1.714,247,1.709,303,1.585,304,2.435,305,3.253,312,2.043,313,2.043,314,1.284,316,1.473,339,1.988,372,1.202,381,1.863,401,1.714,404,1.374,420,1.374,430,2.268,447,2.904,486,2.043,487,2.043,516,2.043,519,2.043,521,2.043,545,1.863,569,2.904,652,1.863,653,3.224,654,3.028,655,4.303,656,3.028,657,3.028,658,3.028,659,2.268,660,3.028,661,2.268,662,2.043,663,2.57,664,2.57,665,3.028,666,3.028]],["title/29",[4,0.141,16,0.784,18,0.574,40,0.538,54,0.3,231,1.151,305,1.235,339,1.008]],["description/29",[0,0.565,4,0.386,6,0.366,15,1.745,16,1.736,18,1.398,27,2.194,34,0.879,40,1.336,42,0.995,45,0.995,54,0.715,68,1.611,82,0.918,87,1.49,89,0.685,90,1.093,91,0.73,104,1.271,113,1.745,137,0.935,140,0.935,142,1.06,165,1.06,172,1.49,173,0.826,181,2.132,188,0.995,206,2.05,231,3.024,246,1.611,247,1.634,252,2.415,265,2.415,299,0.935,303,2.532,304,2.329,305,3.115,306,1.49,312,1.92,313,1.92,314,1.207,316,1.385,333,2.132,339,1.92,350,2.132,372,1.13,381,1.751,401,1.611,404,1.291,420,1.867,430,2.132,431,1.92,445,2.415,447,2.777,451,1.751,486,1.92,487,1.92,516,1.92,545,1.751,569,2.777,600,2.415,629,2.132,652,1.751,659,2.132,661,2.132,662,1.92,667,2.845,668,2.845,669,2.132,670,2.845,671,2.845,672,2.132,673,2.415,674,2.132,675,1.92,676,2.845,677,2.845]],["title/30",[4,0.141,18,0.574,23,0.611,54,0.3,55,1.436,160,0.784,303,1.329,304,1.436]],["description/30",[0,0.577,4,0.378,6,0.374,16,1.291,18,1.406,23,1.179,26,1.083,34,1.291,42,1.016,54,0.698,55,3.522,73,1.233,79,2.802,80,2.77,82,0.724,89,0.7,90,0.657,91,0.745,98,1.789,104,0.898,109,2.603,113,1.772,121,1.645,122,1.522,137,0.955,140,0.955,142,1.083,160,1.291,165,1.083,166,2.467,173,0.844,177,1.789,192,0.955,206,1.772,239,1.083,275,1.319,303,2.562,304,2.77,305,3.084,312,1.962,313,1.962,314,1.233,316,1.414,328,1.962,339,2.125,372,1.154,398,2.467,404,1.319,420,1.319,447,1.962,451,3.9,453,2.872,487,1.962,494,2.365,505,2.178,516,1.962,533,1.789,545,1.789,569,3.302,629,2.178,650,2.467,652,1.789,659,2.178,678,2.907,679,2.907,680,2.907,681,2.907,682,2.907,683,2.907,684,2.907,685,2.907,686,4.179,687,2.907,688,2.907,689,2.907,690,2.907,691,2.907,692,2.907]],["title/31",[4,0.164,16,1.303,40,0.625,60,1.915]],["description/31",[0,0.53,4,0.392,10,0.566,11,1.398,12,1.666,16,1.915,18,1.053,20,1.211,22,1.299,23,0.643,25,0.643,34,0.824,40,1.371,45,0.933,53,2.943,54,0.465,60,2.485,74,2,82,0.681,89,0.643,90,0.888,91,0.684,104,0.824,108,1.643,113,1.666,122,1.398,133,1.511,137,0.877,140,0.877,141,1.511,142,0.994,165,0.994,170,2.265,173,1.764,176,1.801,179,1.801,183,1.801,185,2,186,2.265,188,1.373,192,0.877,194,2.943,196,2.65,204,1.511,206,1.132,215,1.299,226,2,231,2.485,247,1.06,268,1.211,269,2,287,2,299,0.877,309,2,314,1.132,328,1.801,372,1.06,404,1.211,420,1.211,451,2.868,452,3.145,480,2,505,2,513,2,632,2,633,3.492,669,2,672,2,674,2.943,675,1.801,693,2.265,694,4.66,695,3.334,696,2.265,697,2.265,698,2.943,699,2.943,700,2.669,701,2.265,702,2.265,703,2,704,2.669,705,2.669,706,2.669,707,2.669,708,2.669,709,2.669,710,2,711,2.669,712,2.669,713,2.669,714,3.928,715,2.669,716,2.265,717,2.669,718,2.669,719,2.265,720,2.669,721,2.265,722,2.265,723,2.669]],["title/32",[4,0.141,40,0.802,60,1.716,87,1.329,724,2.154,725,2.154]],["description/32",[0,0.545,4,0.391,11,1.438,12,1.165,16,1.239,18,0.907,20,1.246,23,0.966,25,0.661,34,0.848,40,1.379,44,1.091,45,0.96,54,0.325,60,2.364,82,0.476,87,2.1,89,0.661,90,0.621,91,1.421,99,0.96,113,1.701,122,1.438,124,1.554,137,0.902,140,0.902,142,1.023,165,1.023,173,1.735,179,1.853,182,2.058,183,1.853,188,1.403,192,0.902,194,2.058,196,3.197,204,1.554,206,1.165,207,1.69,226,2.058,231,2.514,299,0.902,314,1.165,316,1.336,372,1.091,396,2.331,404,1.246,420,1.246,426,3.404,437,3.404,449,1.438,451,2.916,452,3.516,466,2.331,475,2.331,513,2.058,581,2.058,632,2.058,633,3.55,669,2.058,672,2.058,675,1.853,693,2.331,695,3.404,696,2.331,697,2.331,698,3.005,699,3.005,701,2.331,702,2.331,719,2.331,721,2.331,722,2.331,724,4.423,725,4.423,726,2.746,727,2.746,728,2.746,729,2.746,730,2.746,731,2.746,732,2.746,733,2.746,734,2.746,735,2.746,736,2.746,737,2.746,738,2.746,739,2.746,740,2.746,741,2.746,742,2.746,743,2.746,744,2.058,745,2.746,746,2.746,747,2.746]],["title/33",[4,0.124,10,0.472,41,0.537,54,0.406,413,1.167,652,1.371,748,2.91,749,1.891]],["description/33",[4,0.391,10,0.705,25,1.268,26,1.712,31,1.51,41,1.107,54,0.623,71,2.047,72,1.742,73,1.41,87,1.742,90,1.284,109,1.618,115,2.492,125,2.492,133,2.601,134,2.823,150,2.492,177,2.047,192,1.093,237,2.244,244,3.901,246,2.601,247,1.321,287,3.443,339,1.321,401,1.882,413,1.742,423,1.882,449,2.406,453,2.236,455,3.901,474,2.047,503,3.443,511,4.469,512,2.823,514,2.823,524,2.823,528,2.823,565,3.443,652,2.047,662,2.244,716,3.901,748,5.06,749,3.901,750,4.595,751,4.595,752,3.326,753,3.326,754,3.326,755,3.326,756,3.326,757,3.326,758,3.326,759,3.326,760,3.326,761,3.326,762,3.326,763,3.326,764,3.326,765,3.326,766,3.326,767,3.326,768,3.326,769,3.326,770,3.326,771,3.326,772,3.326,773,3.326,774,3.326]],["title/34",[21,4.196]],["description/34",[22,2.717,23,1.345,124,3.16,775,3.768]],["title/35",[12,1.491,40,0.745,188,1.229,213,1.396]],["description/35",[4,0.362,12,1.991,19,3.258,40,1.319,89,1.131,90,1.062,97,1.865,104,1.45,113,1.991,141,2.658,165,1.749,188,2.013,192,1.543,208,2.611,213,1.865,231,2.611,239,1.749,350,3.518,452,3.169,674,3.518,776,4.696,777,4.696,778,4.696,779,4.696,780,4.696,781,4.696,782,4.696]],["title/36",[4,0.152,18,0.616,22,1.327,25,0.657,42,0.954,124,2.258]],["description/36",[0,0.536,4,0.4,5,1.145,10,1.26,11,1.414,18,0.895,22,2.515,23,1.245,25,1.245,26,1.475,41,1.13,42,1.924,44,1.863,45,1.64,54,0.319,60,1.797,82,0.813,89,0.65,90,0.61,91,1.016,93,2.497,97,1.072,99,0.944,124,2.655,165,1.005,173,0.784,188,0.944,190,2.128,206,1.145,208,2.497,210,2.128,212,2.022,213,2.186,214,1.314,215,1.314,233,1.072,239,1.005,268,1.225,309,2.022,335,2.291,372,1.072,472,1.661,517,2.022,519,2.673,521,3.166,653,2.022,661,2.022,698,2.022,699,2.022,703,2.022,744,2.967,775,1.822,783,4.386,784,3.362,785,4.691,786,2.967,787,2.291,788,3.362,789,4.386,790,3.362,791,3.362,792,3.362,793,2.291,794,2.291,795,2.291,796,2.291,797,2.699,798,2.699,799,2.291,800,2.291,801,2.699]],["title/37",[4,0.152,18,0.616,22,1.327,25,0.657,42,0.954,775,2.693]],["description/37",[0,0.517,4,0.401,5,1.104,10,1.203,11,2.019,17,1.034,18,1.038,22,1.876,23,1.223,25,1.306,26,1.436,41,1.223,42,1.896,44,1.824,45,1.606,54,0.308,82,0.796,89,0.627,91,0.989,93,2.459,97,1.034,99,0.91,168,1.95,173,1.119,188,0.91,190,2.083,206,1.104,208,2.459,210,2.083,213,2.255,214,1.267,217,3.273,218,2.209,233,1.034,234,2.209,239,0.969,319,1.95,372,1.034,379,1.756,436,2.209,472,1.602,517,1.95,519,2.602,521,3.099,653,1.95,663,2.209,675,1.756,703,2.889,710,1.95,744,2.889,775,3.658,783,4.31,784,3.273,786,1.95,787,2.209,788,3.273,789,4.31,790,3.273,791,3.273,792,3.273,793,2.209,794,2.209,795,2.209,796,2.209,799,2.209,800,2.209,802,3.856,803,2.603,804,2.603,805,2.603,806,2.603,807,2.603,808,2.603]],["title/38",[28,3.042]],["description/38",[28,3.477,30,2.958]],["title/39",[4,0.179,6,0.412,28,1.973,29,2.402,30,1.679]],["description/39",[0,0.266,1,2.397,2,1.19,3,1.533,4,0.394,5,1.254,6,0.798,7,0.533,8,1.962,9,0.807,10,0.482,12,0.569,13,2.215,14,0.825,15,0.569,17,0.533,18,0.514,19,2.204,23,0.323,24,1.174,25,0.323,28,2.603,29,2.608,30,0.702,31,0.971,33,0.759,36,2.039,37,0.905,38,0.759,39,0.825,40,0.482,41,0.323,42,0.469,43,1.138,44,0.533,45,0.469,48,2.603,49,1.005,50,0.759,52,1.005,53,1.005,54,0.269,56,1.138,57,1.138,60,0.608,61,0.905,62,0.905,63,1.138,64,1.138,65,1.138,66,0.905,67,1.005,68,0.759,69,1.138,72,0.702,73,0.569,75,1.929,76,0.825,79,2.039,81,2.045,82,0.733,88,1.822,89,1.445,91,0.758,92,1.138,93,2.387,95,1.138,97,1.68,100,0.702,103,1.702,109,0.653,129,0.905,154,1.005,160,0.913,164,1.533,165,0.499,173,0.389,174,1.702,185,1.702,188,1.217,190,2.693,192,0.441,196,1.995,207,0.825,213,1.382,215,1.439,216,1.005,227,0.905,232,0.759,233,1.174,239,0.846,258,0.759,264,1.138,267,1.819,268,2.816,269,1.702,276,1.929,277,2.954,288,1.929,293,2.215,294,1.19,298,1.138,301,1.673,317,2.628,318,1.005,330,1.138,343,3.042,346,0.825,362,1.929,419,1.895,423,0.759,431,2.349,449,0.702,453,1.694,467,0.825,472,1.398,493,1.138,494,1.286,509,1.138,544,1.138,545,0.825,547,1.005,548,1.929,594,1.138,609,1.138,662,1.533,664,1.929,673,1.138,710,2.215,786,1.005,809,3.894,810,4.508,811,3.48,812,1.341,813,2.956,814,2.272,815,2.272,816,2.272,817,1.929,818,2.272,819,2.272,820,1.341,821,1.341,822,2.956,823,1.341,824,2.272,825,2.272,826,2.272,827,1.341,828,2.956,829,1.341,830,2.956,831,2.272,832,2.272,833,1.341,834,1.341,835,2.272,836,2.272,837,2.272,838,2.272,839,1.341,840,1.341,841,1.341,842,1.341,843,1.341,844,1.341,845,1.341,846,1.341,847,3.894,848,2.272,849,1.341,850,2.272,851,1.341,852,1.341,853,1.341,854,1.341,855,1.341,856,1.341,857,1.341,858,1.341,859,1.341]],["title/40",[860,2.798]],["description/40",[99,1.964,860,3.179,861,4.767]],["title/41",[4,0.179,33,1.815,860,2.536,862,2.164]],["description/41",[0,0.662,4,0.391,7,1.325,8,1.167,16,1.031,31,1.096,33,1.889,34,1.031,54,0.395,66,2.252,67,2.5,68,1.889,72,1.748,73,1.415,82,0.578,88,2.412,89,0.804,90,0.754,91,1.353,97,1.829,99,1.845,102,2.054,121,1.889,150,2.5,155,3.91,157,2.252,173,1.337,183,2.252,250,2.833,268,2.09,275,1.514,325,3.451,343,2.252,346,2.835,393,2.252,401,1.889,402,2.833,449,1.748,468,2.833,474,2.054,480,2.5,817,3.91,860,3.747,861,2.833,862,4.349,863,2.833,864,3.337,865,3.337,866,5.275,867,3.337,868,3.337,869,3.337,870,4.607,871,3.337,872,3.337,873,3.337,874,3.337,875,3.337,876,3.337,877,5.275,878,4.607,879,3.337,880,3.337,881,3.337]],["title/42",[4,0.179,346,1.973,860,2.536,862,2.164]],["description/42",[97,2.179,192,1.802,346,3.376,860,3.105,862,3.702,863,4.656,882,5.486]]],"invertedIndex":[["",{"_index":4,"title":{"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"36":{},"37":{},"39":{},"41":{},"42":{}},"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":{},"32":{},"33":{},"35":{},"36":{},"37":{},"39":{},"41":{}}}],["0.1",{"_index":794,"title":{},"description":{"36":{},"37":{}}}],["0.2",{"_index":795,"title":{},"description":{"36":{},"37":{}}}],["0.5",{"_index":593,"title":{},"description":{"25":{}}}],["0.5-0.7",{"_index":590,"title":{},"description":{"25":{}}}],["0.7-0.9",{"_index":587,"title":{},"description":{"25":{}}}],["0.9-1.0",{"_index":584,"title":{},"description":{"25":{}}}],["1",{"_index":137,"title":{},"description":{"8":{},"12":{},"17":{},"18":{},"20":{},"22":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{}}}],["1-100",{"_index":326,"title":{},"description":{"17":{},"18":{}}}],["1-200",{"_index":359,"title":{},"description":{"18":{}}}],["1-5",{"_index":369,"title":{},"description":{"18":{}}}],["1.1",{"_index":749,"title":{"33":{}},"description":{"33":{}}}],["10",{"_index":772,"title":{},"description":{"33":{}}}],["10,000",{"_index":527,"title":{},"description":{"23":{}}}],["10-5000",{"_index":367,"title":{},"description":{"18":{}}}],["100,000",{"_index":529,"title":{},"description":{"23":{}}}],["1000",{"_index":368,"title":{},"description":{"18":{}}}],["123.45",{"_index":873,"title":{},"description":{"41":{}}}],["1536",{"_index":460,"title":{},"description":{"21":{}}}],["1mb",{"_index":781,"title":{},"description":{"35":{}}}],["2",{"_index":140,"title":{},"description":{"8":{},"12":{},"17":{},"18":{},"20":{},"22":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{}}}],["2.74",{"_index":706,"title":{},"description":{"31":{}}}],["20",{"_index":327,"title":{},"description":{"17":{}}}],["200",{"_index":433,"title":{},"description":{"20":{}}}],["200-1000",{"_index":671,"title":{},"description":{"29":{}}}],["202",{"_index":698,"title":{},"description":{"31":{},"32":{},"36":{}}}],["3",{"_index":142,"title":{},"description":{"8":{},"17":{},"18":{},"22":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{}}}],["30",{"_index":363,"title":{},"description":{"18":{}}}],["3072",{"_index":463,"title":{},"description":{"21":{}}}],["4",{"_index":314,"title":{},"description":{"17":{},"18":{},"22":{},"25":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{}}}],["5",{"_index":316,"title":{},"description":{"17":{},"18":{},"25":{},"27":{},"28":{},"29":{},"30":{},"32":{}}}],["50",{"_index":360,"title":{},"description":{"18":{}}}],["6",{"_index":353,"title":{},"description":{"18":{}}}],["abstract",{"_index":542,"title":{},"description":{"24":{}}}],["accept",{"_index":699,"title":{},"description":{"31":{},"32":{},"36":{}}}],["access",{"_index":3,"title":{},"description":{"0":{},"1":{},"24":{},"39":{}}}],["action",{"_index":260,"title":{},"description":{"16":{},"22":{}}}],["activ",{"_index":876,"title":{},"description":{"41":{}}}],["actual",{"_index":398,"title":{},"description":{"19":{},"30":{}}}],["ad",{"_index":175,"title":{},"description":{"10":{}}}],["add",{"_index":170,"title":{},"description":{"10":{},"31":{}}}],["add-docu",{"_index":184,"title":{},"description":{"10":{}}}],["against",{"_index":652,"title":{"33":{}},"description":{"28":{},"29":{},"30":{},"33":{}}}],["agent",{"_index":48,"title":{"16":{}},"description":{"1":{},"16":{},"22":{},"39":{}}}],["agent'",{"_index":278,"title":{},"description":{"16":{}}}],["aggreg",{"_index":760,"title":{},"description":{"33":{}}}],["ai",{"_index":14,"title":{"16":{}},"description":{"0":{},"1":{},"16":{},"39":{}}}],["alic",{"_index":580,"title":{},"description":{"25":{}}}],["all-in-on",{"_index":599,"title":{"26":{}},"description":{}}],["allow",{"_index":250,"title":{},"description":{"14":{},"41":{}}}],["ambigu",{"_index":597,"title":{},"description":{"25":{}}}],["analysi",{"_index":379,"title":{},"description":{"18":{},"19":{},"27":{},"37":{}}}],["analyz",{"_index":622,"title":{"27":{}},"description":{"27":{}}}],["and/or",{"_index":212,"title":{},"description":{"12":{},"23":{},"36":{}}}],["anoth",{"_index":806,"title":{},"description":{"37":{}}}],["answer",{"_index":267,"title":{},"description":{"16":{},"17":{},"18":{},"26":{},"39":{}}}],["api",{"_index":1,"title":{},"description":{"0":{},"2":{},"21":{},"22":{},"39":{}}}],["api/metr",{"_index":878,"title":{},"description":{"41":{}}}],["api/metrics/{path",{"_index":882,"title":{},"description":{"42":{}}}],["api/v1/collection-manag",{"_index":253,"title":{},"description":{"14":{}}}],["api/v1/config",{"_index":129,"title":{},"description":{"6":{},"8":{},"20":{},"39":{}}}],["api/v1/document-stream",{"_index":782,"title":{},"description":{"35":{}}}],["api/v1/export-cor",{"_index":808,"title":{},"description":{"37":{}}}],["api/v1/flow",{"_index":126,"title":{},"description":{"6":{},"8":{}}}],["api/v1/flow/{flow}/service/ag",{"_index":298,"title":{},"description":{"16":{},"39":{}}}],["api/v1/flow/{flow}/service/document-embed",{"_index":677,"title":{},"description":{"29":{}}}],["api/v1/flow/{flow}/service/document-load",{"_index":747,"title":{},"description":{"32":{}}}],["api/v1/flow/{flow}/service/document-rag",{"_index":338,"title":{},"description":{"17":{}}}],["api/v1/flow/{flow}/service/embed",{"_index":469,"title":{},"description":{"21":{}}}],["api/v1/flow/{flow}/service/graph-embed",{"_index":666,"title":{},"description":{"28":{}}}],["api/v1/flow/{flow}/service/graph-rag",{"_index":382,"title":{},"description":{"18":{}}}],["api/v1/flow/{flow}/service/mcp-tool",{"_index":500,"title":{},"description":{"22":{}}}],["api/v1/flow/{flow}/service/nlp-queri",{"_index":598,"title":{},"description":{"25":{}}}],["api/v1/flow/{flow}/service/prompt",{"_index":441,"title":{},"description":{"20":{}}}],["api/v1/flow/{flow}/service/row",{"_index":563,"title":{},"description":{"24":{},"25":{}}}],["api/v1/flow/{flow}/service/row-embed",{"_index":692,"title":{},"description":{"30":{}}}],["api/v1/flow/{flow}/service/sparql-queri",{"_index":774,"title":{},"description":{"33":{}}}],["api/v1/flow/{flow}/service/structured-diag",{"_index":651,"title":{},"description":{"27":{}}}],["api/v1/flow/{flow}/service/structured-queri",{"_index":620,"title":{},"description":{"26":{}}}],["api/v1/flow/{flow}/service/text-complet",{"_index":411,"title":{},"description":{"19":{}}}],["api/v1/flow/{flow}/service/text-load",{"_index":723,"title":{},"description":{"31":{}}}],["api/v1/flow/{flow}/service/tripl",{"_index":532,"title":{},"description":{"23":{}}}],["api/v1/flow/{flow}/service/{kind",{"_index":47,"title":{},"description":{"1":{}}}],["api/v1/import-cor",{"_index":801,"title":{},"description":{"36":{}}}],["api/v1/knowledg",{"_index":235,"title":{},"description":{"12":{}}}],["api/v1/librarian",{"_index":201,"title":{},"description":{"10":{}}}],["api/v1/socket",{"_index":859,"title":{},"description":{"39":{}}}],["api/v1/{kind",{"_index":35,"title":{},"description":{"1":{}}}],["appropri",{"_index":879,"title":{},"description":{"41":{}}}],["approxim",{"_index":681,"title":{},"description":{"30":{}}}],["archiv",{"_index":802,"title":{},"description":{"37":{}}}],["argument",{"_index":297,"title":{},"description":{"16":{},"22":{}}}],["around",{"_index":344,"title":{},"description":{"18":{}}}],["array",{"_index":210,"title":{},"description":{"12":{},"14":{},"16":{},"24":{},"25":{},"26":{},"27":{},"36":{},"37":{}}}],["array_path",{"_index":647,"title":{},"description":{"27":{}}}],["arriv",{"_index":276,"title":{},"description":{"16":{},"39":{}}}],["ask",{"_index":565,"title":{},"description":{"25":{},"26":{},"33":{}}}],["assist",{"_index":394,"title":{},"description":{"19":{}}}],["associ",{"_index":223,"title":{},"description":{"12":{},"14":{}}}],["asynchron",{"_index":196,"title":{},"description":{"10":{},"31":{},"32":{},"39":{}}}],["attribut",{"_index":741,"title":{},"description":{"32":{}}}],["augment",{"_index":384,"title":{},"description":{"19":{}}}],["authent",{"_index":66,"title":{"2":{}},"description":{"2":{},"39":{},"41":{}}}],["author",{"_index":74,"title":{},"description":{"2":{},"10":{},"31":{}}}],["auto-convert",{"_index":434,"title":{},"description":{"20":{}}}],["autom",{"_index":745,"title":{},"description":{"32":{}}}],["avail",{"_index":157,"title":{},"description":{"8":{},"12":{},"24":{},"41":{}}}],["avg",{"_index":762,"title":{},"description":{"33":{}}}],["b",{"_index":378,"title":{},"description":{"18":{}}}],["backend",{"_index":881,"title":{},"description":{"41":{}}}],["background",{"_index":700,"title":{},"description":{"31":{}}}],["backup",{"_index":784,"title":{},"description":{"36":{},"37":{}}}],["base",{"_index":309,"title":{},"description":{"17":{},"31":{},"36":{}}}],["base64",{"_index":695,"title":{},"description":{"31":{},"32":{}}}],["base64.b64encode(doc_bytes).decode('utf-8",{"_index":740,"title":{},"description":{"32":{}}}],["base64.b64encode(text_content.encode('utf-8",{"_index":713,"title":{},"description":{"31":{}}}],["basic",{"_index":756,"title":{},"description":{"33":{}}}],["batch",{"_index":466,"title":{},"description":{"21":{},"32":{}}}],["be",{"_index":279,"title":{},"description":{"16":{}}}],["bearer",{"_index":67,"title":{},"description":{"2":{},"39":{},"41":{}}}],["befor",{"_index":603,"title":{},"description":{"26":{}}}],["behavior",{"_index":390,"title":{},"description":{"19":{}}}],["benefit",{"_index":544,"title":{},"description":{"24":{},"39":{}}}],["best",{"_index":373,"title":{},"description":{"18":{}}}],["between",{"_index":661,"title":{},"description":{"28":{},"29":{},"36":{}}}],["beyond",{"_index":484,"title":{},"description":{"22":{}}}],["bgp",{"_index":757,"title":{},"description":{"33":{}}}],["bidirect",{"_index":818,"title":{},"description":{"39":{}}}],["binari",{"_index":724,"title":{"32":{}},"description":{"32":{}}}],["bind",{"_index":751,"title":{},"description":{"33":{}}}],["block",{"_index":846,"title":{},"description":{"39":{}}}],["blueprint",{"_index":38,"title":{"8":{}},"description":{"1":{},"6":{},"7":{},"8":{},"39":{}}}],["blueprint-nam",{"_index":85,"title":{},"description":{"3":{}}}],["bodi",{"_index":786,"title":{},"description":{"36":{},"37":{},"39":{}}}],["both",{"_index":220,"title":{},"description":{"12":{}}}],["built",{"_index":755,"title":{},"description":{"33":{}}}],["built-in",{"_index":134,"title":{},"description":{"8":{},"33":{}}}],["bulk",{"_index":22,"title":{"36":{},"37":{}},"description":{"0":{},"21":{},"31":{},"34":{},"36":{},"37":{}}}],["byte",{"_index":780,"title":{},"description":{"35":{}}}],["c",{"_index":792,"title":{},"description":{"36":{},"37":{}}}],["cach",{"_index":578,"title":{},"description":{"25":{}}}],["calcul",{"_index":487,"title":{},"description":{"22":{},"28":{},"29":{},"30":{}}}],["call",{"_index":477,"title":{},"description":{"22":{},"26":{},"27":{}}}],["can't",{"_index":617,"title":{},"description":{"26":{}}}],["cancer",{"_index":704,"title":{},"description":{"31":{}}}],["cap",{"_index":366,"title":{},"description":{"18":{}}}],["capabl",{"_index":473,"title":{},"description":{"22":{}}}],["captur",{"_index":444,"title":{},"description":{"21":{}}}],["carri",{"_index":321,"title":{},"description":{"17":{},"18":{}}}],["case",{"_index":372,"title":{},"description":{"18":{},"20":{},"21":{},"22":{},"28":{},"29":{},"30":{},"31":{},"32":{},"36":{},"37":{}}}],["charset",{"_index":714,"title":{},"description":{"31":{}}}],["check",{"_index":287,"title":{},"description":{"16":{},"31":{},"33":{}}}],["chunk",{"_index":231,"title":{"29":{}},"description":{"12":{},"16":{},"17":{},"18":{},"29":{},"31":{},"32":{},"35":{}}}],["chunk-siz",{"_index":779,"title":{},"description":{"35":{}}}],["chunk-typ",{"_index":277,"title":{},"description":{"16":{},"39":{}}}],["citat",{"_index":410,"title":{},"description":{"19":{}}}],["class",{"_index":162,"title":{},"description":{"8":{}}}],["classif",{"_index":438,"title":{},"description":{"20":{},"21":{}}}],["client",{"_index":710,"title":{},"description":{"31":{},"37":{},"39":{}}}],["client-gener",{"_index":827,"title":{},"description":{"39":{}}}],["cluster",{"_index":454,"title":{},"description":{"21":{}}}],["code",{"_index":388,"title":{},"description":{"19":{},"22":{},"26":{}}}],["coher",{"_index":266,"title":{},"description":{"16":{}}}],["collabor",{"_index":274,"title":{},"description":{"16":{}}}],["collect",{"_index":44,"title":{"13":{},"14":{}},"description":{"1":{},"12":{},"13":{},"14":{},"17":{},"32":{},"36":{},"37":{},"39":{}}}],["collection-manag",{"_index":43,"title":{},"description":{"1":{},"39":{}}}],["combin",{"_index":302,"title":{},"description":{"17":{},"18":{},"23":{},"26":{},"27":{}}}],["comma-separ",{"_index":642,"title":{},"description":{"27":{}}}],["command",{"_index":479,"title":{},"description":{"22":{}}}],["common",{"_index":874,"title":{},"description":{"41":{}}}],["commun",{"_index":819,"title":{},"description":{"39":{}}}],["compar",{"_index":545,"title":{},"description":{"24":{},"28":{},"29":{},"30":{},"39":{}}}],["comparison",{"_index":446,"title":{},"description":{"21":{},"26":{}}}],["complet",{"_index":17,"title":{"19":{}},"description":{"0":{},"6":{},"12":{},"16":{},"17":{},"18":{},"19":{},"27":{},"37":{},"39":{}}}],["complex",{"_index":491,"title":{},"description":{"22":{},"25":{}}}],["compon",{"_index":516,"title":{},"description":{"23":{},"28":{},"29":{},"30":{}}}],["comput",{"_index":826,"title":{},"description":{"39":{}}}],["concept",{"_index":655,"title":{},"description":{"28":{}}}],["concurr",{"_index":811,"title":{},"description":{"39":{}}}],["condit",{"_index":835,"title":{},"description":{"39":{}}}],["confid",{"_index":568,"title":{},"description":{"25":{},"27":{}}}],["config",{"_index":36,"title":{"5":{}},"description":{"1":{},"6":{},"8":{},"20":{},"24":{},"39":{}}}],["configur",{"_index":7,"title":{"6":{}},"description":{"0":{},"1":{},"5":{},"6":{},"8":{},"17":{},"20":{},"22":{},"39":{},"41":{}}}],["connect",{"_index":343,"title":{},"description":{"18":{},"24":{},"39":{},"41":{}}}],["connector",{"_index":482,"title":{},"description":{"22":{}}}],["consid",{"_index":530,"title":{},"description":{"23":{}}}],["consist",{"_index":417,"title":{},"description":{"20":{}}}],["constraint",{"_index":392,"title":{},"description":{"19":{}}}],["construct",{"_index":754,"title":{},"description":{"33":{}}}],["contain",{"_index":769,"title":{},"description":{"33":{}}}],["content",{"_index":188,"title":{"35":{}},"description":{"10":{},"14":{},"17":{},"18":{},"21":{},"29":{},"31":{},"32":{},"35":{},"36":{},"37":{},"39":{}}}],["context",{"_index":27,"title":{"22":{}},"description":{"0":{},"16":{},"17":{},"18":{},"19":{},"22":{},"28":{},"29":{}}}],["continu",{"_index":181,"title":{},"description":{"10":{},"16":{},"29":{}}}],["control",{"_index":172,"title":{},"description":{"10":{},"17":{},"18":{},"19":{},"26":{},"28":{},"29":{}}}],["controlled-bi",{"_index":143,"title":{},"description":{"8":{}}}],["conveni",{"_index":614,"title":{},"description":{"26":{}}}],["convers",{"_index":255,"title":{"16":{},"21":{}},"description":{"16":{}}}],["convert",{"_index":311,"title":{},"description":{"17":{},"21":{},"25":{},"26":{}}}],["copi",{"_index":800,"title":{},"description":{"36":{},"37":{}}}],["core",{"_index":42,"title":{"12":{},"36":{},"37":{}},"description":{"1":{},"11":{},"12":{},"14":{},"28":{},"29":{},"30":{},"36":{},"37":{},"39":{}}}],["core-id",{"_index":790,"title":{},"description":{"36":{},"37":{}}}],["corpu",{"_index":310,"title":{},"description":{"17":{}}}],["correct",{"_index":586,"title":{},"description":{"25":{}}}],["correl",{"_index":834,"title":{},"description":{"39":{}}}],["cosin",{"_index":447,"title":{},"description":{"21":{},"28":{},"29":{},"30":{}}}],["cost",{"_index":96,"title":{},"description":{"6":{},"19":{}}}],["couldn't",{"_index":612,"title":{},"description":{"26":{}}}],["count",{"_index":401,"title":{},"description":{"19":{},"21":{},"28":{},"29":{},"33":{},"41":{}}}],["counter",{"_index":871,"title":{},"description":{"41":{}}}],["coverag",{"_index":583,"title":{},"description":{"25":{}}}],["creat",{"_index":107,"title":{},"description":{"6":{},"8":{},"12":{},"14":{},"27":{}}}],["creativ",{"_index":386,"title":{},"description":{"19":{}}}],["criteria",{"_index":178,"title":{},"description":{"10":{}}}],["csv",{"_index":623,"title":{},"description":{"27":{}}}],["csv/json/xml",{"_index":635,"title":{},"description":{"27":{}}}],["current",{"_index":152,"title":{},"description":{"8":{},"10":{},"16":{}}}],["custom",{"_index":122,"title":{},"description":{"6":{},"8":{},"21":{},"27":{},"30":{},"31":{},"32":{}}}],["data",{"_index":23,"title":{"24":{},"27":{},"30":{}},"description":{"0":{},"1":{},"12":{},"14":{},"20":{},"22":{},"24":{},"26":{},"27":{},"30":{},"31":{},"32":{},"34":{},"36":{},"37":{},"39":{}}}],["databas",{"_index":476,"title":{},"description":{"22":{}}}],["dataset",{"_index":650,"title":{},"description":{"27":{},"30":{}}}],["date",{"_index":717,"title":{},"description":{"31":{}}}],["dedupl",{"_index":683,"title":{},"description":{"30":{}}}],["default",{"_index":141,"title":{},"description":{"8":{},"17":{},"18":{},"23":{},"31":{},"35":{}}}],["defin",{"_index":161,"title":{},"description":{"8":{},"22":{},"24":{}}}],["definit",{"_index":111,"title":{},"description":{"6":{},"8":{},"24":{},"27":{}}}],["delet",{"_index":110,"title":{},"description":{"6":{},"8":{},"12":{},"14":{}}}],["delete-blueprint",{"_index":169,"title":{},"description":{"8":{}}}],["delete-collect",{"_index":251,"title":{},"description":{"14":{}}}],["delete-kg-cor",{"_index":222,"title":{},"description":{"12":{}}}],["delimit",{"_index":643,"title":{},"description":{"27":{}}}],["dens",{"_index":442,"title":{},"description":{"21":{}}}],["depend",{"_index":458,"title":{},"description":{"21":{}}}],["depth",{"_index":325,"title":{},"description":{"17":{},"18":{},"41":{}}}],["describ",{"_index":716,"title":{},"description":{"31":{},"33":{}}}],["descript",{"_index":121,"title":{},"description":{"6":{},"12":{},"14":{},"22":{},"30":{},"41":{}}}],["descriptor",{"_index":626,"title":{},"description":{"27":{}}}],["detail",{"_index":154,"title":{},"description":{"8":{},"28":{},"39":{}}}],["detect",{"_index":581,"title":{},"description":{"25":{},"27":{},"32":{}}}],["detect-typ",{"_index":634,"title":{},"description":{"27":{}}}],["detected-schema",{"_index":582,"title":{},"description":{"25":{}}}],["develop",{"_index":77,"title":{},"description":{"2":{},"19":{},"26":{}}}],["developer-friendli",{"_index":546,"title":{},"description":{"24":{}}}],["diag",{"_index":621,"title":{"27":{}},"description":{"27":{}}}],["diagnos",{"_index":638,"title":{},"description":{"27":{}}}],["diagnosi",{"_index":630,"title":{},"description":{"27":{}}}],["differ",{"_index":715,"title":{},"description":{"31":{}}}],["dimens",{"_index":457,"title":{},"description":{"21":{}}}],["direct",{"_index":383,"title":{"19":{}},"description":{"19":{},"26":{}}}],["directli",{"_index":600,"title":{},"description":{"26":{},"29":{}}}],["disast",{"_index":804,"title":{},"description":{"37":{}}}],["discov",{"_index":486,"title":{},"description":{"22":{},"24":{},"28":{},"29":{}}}],["discover",{"_index":549,"title":{},"description":{"24":{}}}],["discoveri",{"_index":654,"title":{},"description":{"28":{}}}],["display",{"_index":241,"title":{},"description":{"14":{}}}],["distanc",{"_index":448,"title":{},"description":{"21":{}}}],["distinct",{"_index":125,"title":{},"description":{"6":{},"8":{},"33":{}}}],["distinguish",{"_index":560,"title":{},"description":{"24":{}}}],["doc-limit",{"_index":86,"title":{},"description":{"3":{},"17":{}}}],["doc_byt",{"_index":738,"title":{},"description":{"32":{}}}],["document",{"_index":40,"title":{"10":{},"17":{},"29":{},"31":{},"32":{},"35":{}},"description":{"1":{},"9":{},"10":{},"14":{},"17":{},"19":{},"20":{},"21":{},"22":{},"27":{},"29":{},"31":{},"32":{},"35":{},"39":{}}}],["document-embed",{"_index":53,"title":{},"description":{"1":{},"31":{},"39":{}}}],["document-id",{"_index":777,"title":{},"description":{"35":{}}}],["document-load",{"_index":62,"title":{},"description":{"1":{},"21":{},"27":{},"39":{}}}],["document-rag",{"_index":828,"title":{},"description":{"39":{}}}],["document-rag/graph-rag",{"_index":409,"title":{},"description":{"19":{}}}],["document/graph",{"_index":51,"title":{},"description":{"1":{},"19":{}}}],["docx",{"_index":729,"title":{},"description":{"32":{}}}],["docx→text",{"_index":727,"title":{},"description":{"32":{}}}],["doesn't",{"_index":230,"title":{},"description":{"12":{},"14":{}}}],["duplic",{"_index":685,"title":{},"description":{"30":{}}}],["dure",{"_index":670,"title":{},"description":{"29":{}}}],["dynam",{"_index":416,"title":{},"description":{"20":{}}}],["e",{"_index":521,"title":{},"description":{"23":{},"28":{},"36":{},"37":{}}}],["e.g",{"_index":103,"title":{},"description":{"6":{},"22":{},"39":{}}}],["each",{"_index":165,"title":{},"description":{"8":{},"12":{},"14":{},"16":{},"23":{},"29":{},"30":{},"31":{},"32":{},"35":{},"36":{},"39":{}}}],["effici",{"_index":548,"title":{},"description":{"24":{},"39":{}}}],["emb",{"_index":696,"title":{},"description":{"31":{},"32":{}}}],["embed",{"_index":18,"title":{"21":{},"28":{},"29":{},"30":{},"36":{},"37":{}},"description":{"0":{},"1":{},"12":{},"17":{},"18":{},"21":{},"28":{},"29":{},"30":{},"31":{},"32":{},"36":{},"37":{},"39":{}}}],["enabl",{"_index":275,"title":{},"description":{"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"25":{},"30":{},"41":{}}}],["encod",{"_index":452,"title":{},"description":{"21":{},"31":{},"32":{},"35":{}}}],["end",{"_index":319,"title":{},"description":{"17":{},"18":{},"37":{}}}],["end-of-dialog",{"_index":290,"title":{},"description":{"16":{}}}],["end-of-messag",{"_index":289,"title":{},"description":{"16":{}}}],["end-of-stream",{"_index":317,"title":{},"description":{"17":{},"18":{},"19":{},"39":{}}}],["end_of_sess",{"_index":320,"title":{},"description":{"17":{},"18":{}}}],["endpoint",{"_index":33,"title":{"41":{}},"description":{"1":{},"4":{},"21":{},"39":{},"41":{}}}],["engin",{"_index":418,"title":{},"description":{"20":{}}}],["english",{"_index":566,"title":{},"description":{"25":{}}}],["entir",{"_index":291,"title":{},"description":{"16":{}}}],["entiti",{"_index":26,"title":{"28":{}},"description":{"0":{},"12":{},"18":{},"20":{},"23":{},"25":{},"28":{},"30":{},"33":{},"36":{},"37":{}}}],["entity-limit",{"_index":357,"title":{},"description":{"18":{}}}],["entity/uri",{"_index":518,"title":{},"description":{"23":{}}}],["entri",{"_index":166,"title":{},"description":{"8":{},"30":{}}}],["environ",{"_index":70,"title":{},"description":{"2":{}}}],["eo",{"_index":217,"title":{},"description":{"12":{},"37":{}}}],["error",{"_index":88,"title":{"4":{}},"description":{"4":{},"16":{},"24":{},"26":{},"39":{},"41":{}}}],["essenti",{"_index":631,"title":{},"description":{"27":{}}}],["establish",{"_index":820,"title":{},"description":{"39":{}}}],["etc",{"_index":87,"title":{"32":{}},"description":{"3":{},"6":{},"10":{},"29":{},"32":{},"33":{}}}],["event",{"_index":284,"title":{},"description":{"16":{},"17":{},"18":{}}}],["everyth",{"_index":510,"title":{},"description":{"23":{}}}],["exactli",{"_index":537,"title":{},"description":{"24":{}}}],["exampl",{"_index":423,"title":{},"description":{"20":{},"23":{},"25":{},"27":{},"33":{},"39":{}}}],["execut",{"_index":413,"title":{"22":{},"33":{}},"description":{"20":{},"22":{},"25":{},"26":{},"33":{}}}],["exist",{"_index":133,"title":{},"description":{"8":{},"12":{},"14":{},"27":{},"31":{},"33":{}}}],["expans",{"_index":656,"title":{},"description":{"28":{}}}],["expert",{"_index":395,"title":{},"description":{"19":{}}}],["explain",{"_index":282,"title":{},"description":{"16":{},"17":{},"18":{}}}],["explain_graph",{"_index":323,"title":{},"description":{"17":{},"18":{}}}],["explain_id",{"_index":322,"title":{},"description":{"17":{},"18":{}}}],["explain_tripl",{"_index":285,"title":{},"description":{"16":{},"17":{},"18":{}}}],["explicit",{"_index":430,"title":{},"description":{"20":{},"28":{},"29":{}}}],["explor",{"_index":657,"title":{},"description":{"28":{}}}],["export",{"_index":775,"title":{"37":{}},"description":{"34":{},"36":{},"37":{}}}],["expos",{"_index":864,"title":{},"description":{"41":{}}}],["exposit",{"_index":869,"title":{},"description":{"41":{}}}],["extend",{"_index":483,"title":{},"description":{"22":{}}}],["extens",{"_index":734,"title":{},"description":{"32":{}}}],["extern",{"_index":168,"title":{},"description":{"8":{},"22":{},"37":{}}}],["extract",{"_index":437,"title":{},"description":{"20":{},"32":{}}}],["extractor",{"_index":733,"title":{},"description":{"32":{}}}],["f",{"_index":737,"title":{},"description":{"32":{}}}],["f.read",{"_index":739,"title":{},"description":{"32":{}}}],["f1",{"_index":849,"title":{},"description":{"39":{}}}],["f2",{"_index":851,"title":{},"description":{"39":{}}}],["fail",{"_index":611,"title":{},"description":{"26":{}}}],["failur",{"_index":609,"title":{},"description":{"26":{},"39":{}}}],["fals",{"_index":293,"title":{},"description":{"16":{},"23":{},"39":{}}}],["familiar",{"_index":543,"title":{},"description":{"24":{}}}],["faster",{"_index":331,"title":{},"description":{"17":{},"23":{},"26":{}}}],["featur",{"_index":455,"title":{},"description":{"21":{},"33":{}}}],["field",{"_index":79,"title":{"3":{}},"description":{"3":{},"20":{},"24":{},"27":{},"30":{},"39":{}}}],["field(",{"_index":689,"title":{},"description":{"30":{}}}],["field-level",{"_index":607,"title":{},"description":{"26":{}}}],["fieldname(arg",{"_index":551,"title":{},"description":{"24":{}}}],["file",{"_index":478,"title":{},"description":{"22":{},"27":{}}}],["filter",{"_index":177,"title":{},"description":{"10":{},"14":{},"23":{},"30":{},"33":{}}}],["final",{"_index":232,"title":{},"description":{"12":{},"16":{},"17":{},"18":{},"19":{},"39":{}}}],["find",{"_index":339,"title":{"28":{},"29":{}},"description":{"18":{},"21":{},"22":{},"23":{},"27":{},"28":{},"29":{},"30":{},"33":{}}}],["fire-and-forget",{"_index":693,"title":{},"description":{"31":{},"32":{}}}],["first",{"_index":663,"title":{},"description":{"28":{},"37":{}}}],["fit",{"_index":628,"title":{},"description":{"27":{}}}],["fix",{"_index":32,"title":{},"description":{"1":{}}}],["flag",{"_index":288,"title":{},"description":{"16":{},"39":{}}}],["flexibl",{"_index":504,"title":{},"description":{"23":{},"24":{}}}],["flight",{"_index":842,"title":{},"description":{"39":{}}}],["flow",{"_index":8,"title":{"7":{},"8":{},"15":{}},"description":{"0":{},"1":{},"6":{},"7":{},"8":{},"10":{},"12":{},"15":{},"39":{},"41":{}}}],["flow'",{"_index":225,"title":{},"description":{"12":{}}}],["flow-blueprint",{"_index":112,"title":{},"description":{"6":{}}}],["flow-host",{"_index":13,"title":{},"description":{"0":{},"1":{},"39":{}}}],["flow-id",{"_index":84,"title":{},"description":{"3":{}}}],["follow",{"_index":216,"title":{},"description":{"12":{},"20":{},"39":{}}}],["follow-up",{"_index":324,"title":{},"description":{"17":{},"18":{}}}],["format",{"_index":91,"title":{"27":{}},"description":{"4":{},"16":{},"19":{},"22":{},"23":{},"24":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"36":{},"37":{},"39":{},"41":{}}}],["format-specif",{"_index":644,"title":{},"description":{"27":{}}}],["found",{"_index":833,"title":{},"description":{"39":{}}}],["foundat",{"_index":202,"title":{},"description":{"12":{}}}],["full",{"_index":629,"title":{},"description":{"27":{},"29":{},"30":{}}}],["function",{"_index":765,"title":{},"description":{"33":{}}}],["fuzzi",{"_index":680,"title":{},"description":{"30":{}}}],["fuzzy/semant",{"_index":678,"title":{},"description":{"30":{}}}],["gateway",{"_index":865,"title":{},"description":{"41":{}}}],["gateway-error",{"_index":92,"title":{},"description":{"4":{},"39":{}}}],["gateway_secret",{"_index":69,"title":{},"description":{"2":{},"39":{}}}],["gather",{"_index":265,"title":{},"description":{"16":{},"29":{}}}],["ge",{"_index":793,"title":{},"description":{"36":{},"37":{}}}],["gener",{"_index":299,"title":{"17":{},"18":{},"19":{},"20":{}},"description":{"17":{},"18":{},"19":{},"22":{},"25":{},"26":{},"27":{},"29":{},"31":{},"32":{}}}],["generate-descriptor",{"_index":636,"title":{},"description":{"27":{}}}],["get-blueprint",{"_index":158,"title":{},"description":{"8":{}}}],["get-flow",{"_index":153,"title":{},"description":{"8":{}}}],["get-kg-cor",{"_index":211,"title":{},"description":{"12":{}}}],["getperson($id",{"_index":558,"title":{},"description":{"24":{}}}],["global",{"_index":5,"title":{},"description":{"0":{},"1":{},"5":{},"7":{},"9":{},"11":{},"13":{},"36":{},"37":{},"39":{}}}],["go",{"_index":701,"title":{},"description":{"31":{},"32":{}}}],["good",{"_index":588,"title":{},"description":{"25":{}}}],["graph",{"_index":41,"title":{"12":{},"18":{},"23":{},"28":{},"33":{}},"description":{"1":{},"11":{},"12":{},"17":{},"18":{},"19":{},"23":{},"25":{},"26":{},"28":{},"33":{},"36":{},"37":{},"39":{}}}],["graph-awar",{"_index":341,"title":{},"description":{"18":{}}}],["graph-embed",{"_index":52,"title":{},"description":{"1":{},"12":{},"39":{}}}],["graph-rag",{"_index":839,"title":{},"description":{"39":{}}}],["graphql",{"_index":533,"title":{"24":{}},"description":{"24":{},"25":{},"26":{},"30":{}}}],["ground",{"_index":308,"title":{},"description":{"17":{},"19":{}}}],["group",{"_index":237,"title":{},"description":{"14":{},"16":{},"21":{},"33":{}}}],["group_concat",{"_index":764,"title":{},"description":{"33":{}}}],["handl",{"_index":195,"title":{},"description":{"10":{},"24":{},"26":{}}}],["handler",{"_index":496,"title":{},"description":{"22":{}}}],["handshak",{"_index":856,"title":{},"description":{"39":{}}}],["happen",{"_index":746,"title":{},"description":{"32":{}}}],["has_head",{"_index":645,"title":{},"description":{"27":{}}}],["hazard",{"_index":707,"title":{},"description":{"31":{}}}],["head-of-lin",{"_index":845,"title":{},"description":{"39":{}}}],["header",{"_index":75,"title":{},"description":{"2":{},"39":{}}}],["health",{"_index":868,"title":{},"description":{"41":{}}}],["help",{"_index":393,"title":{},"description":{"19":{},"25":{},"27":{},"41":{}}}],["here",{"_index":432,"title":{},"description":{"20":{}}}],["high",{"_index":585,"title":{},"description":{"25":{}}}],["higher",{"_index":328,"title":{},"description":{"17":{},"18":{},"30":{},"31":{}}}],["histogram",{"_index":875,"title":{},"description":{"41":{}}}],["histori",{"_index":272,"title":{},"description":{"16":{}}}],["hit",{"_index":371,"title":{},"description":{"18":{}}}],["hop",{"_index":349,"title":{},"description":{"18":{}}}],["host",{"_index":254,"title":{},"description":{"15":{}}}],["html",{"_index":731,"title":{},"description":{"32":{}}}],["http",{"_index":664,"title":{},"description":{"28":{},"39":{}}}],["http://example.com/alic",{"_index":773,"title":{},"description":{"33":{}}}],["http://example.com/person",{"_index":770,"title":{},"description":{"33":{}}}],["http://www.w3.org/1999/02/22-rdf-syntax-ns#typ",{"_index":524,"title":{},"description":{"23":{},"33":{}}}],["http://www.w3.org/2000/01/rdf-schema#label",{"_index":771,"title":{},"description":{"33":{}}}],["https://example.com/ent",{"_index":520,"title":{},"description":{"23":{}}}],["https://example.com/know",{"_index":526,"title":{},"description":{"23":{}}}],["https://example.com/person/alic",{"_index":523,"title":{},"description":{"23":{},"24":{}}}],["https://example.com/type/person",{"_index":525,"title":{},"description":{"23":{}}}],["human-read",{"_index":240,"title":{},"description":{"14":{}}}],["id",{"_index":190,"title":{},"description":{"10":{},"12":{},"14":{},"20":{},"24":{},"27":{},"36":{},"37":{},"39":{}}}],["ident",{"_index":840,"title":{},"description":{"39":{}}}],["identifi",{"_index":239,"title":{},"description":{"14":{},"16":{},"18":{},"20":{},"22":{},"25":{},"27":{},"30":{},"35":{},"36":{},"37":{},"39":{}}}],["immedi",{"_index":719,"title":{},"description":{"31":{},"32":{}}}],["implement",{"_index":495,"title":{},"description":{"22":{}}}],["import",{"_index":124,"title":{"36":{}},"description":{"6":{},"8":{},"32":{},"34":{},"36":{}}}],["import/export",{"_index":21,"title":{"34":{}},"description":{"0":{}}}],["in-token",{"_index":403,"title":{},"description":{"19":{}}}],["includ",{"_index":73,"title":{},"description":{"2":{},"6":{},"8":{},"16":{},"19":{},"25":{},"30":{},"33":{},"39":{},"41":{}}}],["incorpor",{"_index":354,"title":{},"description":{"18":{}}}],["incorrect",{"_index":595,"title":{},"description":{"25":{}}}],["increment",{"_index":436,"title":{},"description":{"20":{},"37":{}}}],["index",{"_index":451,"title":{},"description":{"21":{},"29":{},"30":{},"31":{},"32":{}}}],["index_nam",{"_index":688,"title":{},"description":{"30":{}}}],["index_valu",{"_index":690,"title":{},"description":{"30":{}}}],["indic",{"_index":852,"title":{},"description":{"39":{}}}],["individu",{"_index":673,"title":{},"description":{"29":{},"39":{}}}],["info",{"_index":334,"title":{},"description":{"17":{}}}],["inform",{"_index":207,"title":{},"description":{"12":{},"16":{},"22":{},"32":{},"39":{}}}],["infrastructur",{"_index":613,"title":{},"description":{"26":{}}}],["ingest",{"_index":632,"title":{},"description":{"27":{},"31":{},"32":{}}}],["initi",{"_index":797,"title":{},"description":{"36":{}}}],["inlin",{"_index":187,"title":{},"description":{"10":{},"16":{},"17":{},"18":{}}}],["input",{"_index":404,"title":{},"description":{"19":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{}}}],["inspect",{"_index":576,"title":{},"description":{"25":{}}}],["inspect/modifi",{"_index":602,"title":{},"description":{"26":{}}}],["instanc",{"_index":46,"title":{},"description":{"1":{},"6":{},"8":{},"12":{},"15":{},"23":{}}}],["instead",{"_index":547,"title":{},"description":{"24":{},"26":{},"39":{}}}],["integr",{"_index":480,"title":{},"description":{"22":{},"31":{},"41":{}}}],["interfac",{"_index":30,"title":{"39":{}},"description":{"0":{},"6":{},"8":{},"24":{},"38":{},"39":{}}}],["interface-descript",{"_index":120,"title":{},"description":{"6":{}}}],["intermedi",{"_index":619,"title":{},"description":{"26":{}}}],["interv",{"_index":880,"title":{},"description":{"41":{}}}],["introspect",{"_index":541,"title":{},"description":{"24":{}}}],["invalid",{"_index":561,"title":{},"description":{"24":{}}}],["iri",{"_index":778,"title":{},"description":{"35":{}}}],["isiri",{"_index":766,"title":{},"description":{"33":{}}}],["isol",{"_index":337,"title":{},"description":{"17":{}}}],["issu",{"_index":562,"title":{},"description":{"24":{},"26":{}}}],["it'",{"_index":249,"title":{},"description":{"14":{},"17":{},"18":{}}}],["item",{"_index":101,"title":{},"description":{"6":{}}}],["json",{"_index":81,"title":{},"description":{"3":{},"4":{},"19":{},"20":{},"22":{},"23":{},"24":{},"27":{},"39":{}}}],["kebab-cas",{"_index":83,"title":{},"description":{"3":{}}}],["key",{"_index":105,"title":{},"description":{"6":{}}}],["keyword",{"_index":668,"title":{},"description":{"29":{}}}],["kind",{"_index":829,"title":{},"description":{"39":{}}}],["knob",{"_index":356,"title":{},"description":{"18":{}}}],["know",{"_index":570,"title":{},"description":{"25":{}}}],["knowledg",{"_index":10,"title":{"11":{},"12":{},"18":{},"33":{}},"description":{"0":{},"1":{},"11":{},"12":{},"14":{},"17":{},"18":{},"19":{},"23":{},"25":{},"26":{},"28":{},"31":{},"33":{},"36":{},"37":{},"39":{}}}],["known",{"_index":637,"title":{},"description":{"27":{}}}],["label",{"_index":244,"title":{},"description":{"14":{},"33":{}}}],["languag",{"_index":262,"title":{"25":{}},"description":{"16":{},"25":{},"26":{}}}],["larg",{"_index":531,"title":{},"description":{"23":{}}}],["larger",{"_index":370,"title":{},"description":{"18":{}}}],["latenc",{"_index":817,"title":{},"description":{"39":{},"41":{}}}],["later",{"_index":721,"title":{},"description":{"31":{},"32":{}}}],["legaci",{"_index":292,"title":{},"description":{"16":{}}}],["less",{"_index":616,"title":{},"description":{"26":{}}}],["leverag",{"_index":342,"title":{},"description":{"18":{},"19":{}}}],["librari",{"_index":12,"title":{"10":{},"35":{}},"description":{"0":{},"1":{},"9":{},"10":{},"31":{},"32":{},"35":{},"39":{}}}],["librarian",{"_index":39,"title":{"9":{}},"description":{"1":{},"10":{},"14":{},"39":{}}}],["lifecycl",{"_index":37,"title":{"8":{}},"description":{"1":{},"7":{},"39":{}}}],["limit",{"_index":246,"title":{},"description":{"14":{},"18":{},"23":{},"28":{},"29":{},"33":{}}}],["list",{"_index":100,"title":{},"description":{"6":{},"8":{},"10":{},"12":{},"14":{},"27":{},"39":{}}}],["list-blueprint",{"_index":156,"title":{},"description":{"8":{}}}],["list-collect",{"_index":245,"title":{},"description":{"14":{}}}],["list-docu",{"_index":191,"title":{},"description":{"10":{}}}],["list-flow",{"_index":151,"title":{},"description":{"8":{}}}],["list-kg-cor",{"_index":209,"title":{},"description":{"12":{}}}],["list-process",{"_index":199,"title":{},"description":{"10":{}}}],["liter",{"_index":522,"title":{},"description":{"23":{}}}],["llm",{"_index":306,"title":{"19":{}},"description":{"17":{},"18":{},"19":{},"20":{},"22":{},"29":{}}}],["load",{"_index":60,"title":{"31":{},"32":{}},"description":{"1":{},"12":{},"27":{},"31":{},"32":{},"36":{},"39":{}}}],["load-kg-cor",{"_index":224,"title":{},"description":{"12":{}}}],["long-term",{"_index":807,"title":{},"description":{"37":{}}}],["low",{"_index":594,"title":{},"description":{"25":{},"39":{}}}],["low-level",{"_index":604,"title":{},"description":{"26":{}}}],["lower",{"_index":330,"title":{},"description":{"17":{},"39":{}}}],["m",{"_index":789,"title":{},"description":{"36":{},"37":{}}}],["main",{"_index":380,"title":{},"description":{"18":{}}}],["maintain",{"_index":296,"title":{},"description":{"16":{}}}],["make",{"_index":226,"title":{},"description":{"12":{},"31":{},"32":{}}}],["manag",{"_index":9,"title":{"8":{},"10":{},"12":{},"14":{}},"description":{"0":{},"1":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"39":{}}}],["mani",{"_index":358,"title":{},"description":{"18":{}}}],["map",{"_index":575,"title":{},"description":{"25":{}}}],["marker",{"_index":218,"title":{},"description":{"12":{},"37":{}}}],["match",{"_index":453,"title":{},"description":{"21":{},"23":{},"25":{},"26":{},"27":{},"30":{},"33":{},"39":{}}}],["max",{"_index":528,"title":{},"description":{"23":{},"33":{}}}],["max-path-length",{"_index":348,"title":{},"description":{"18":{}}}],["max-subgraph-s",{"_index":364,"title":{},"description":{"18":{}}}],["max_length",{"_index":425,"title":{},"description":{"20":{}}}],["mcp",{"_index":470,"title":{"22":{}},"description":{"22":{}}}],["mcp-tool",{"_index":64,"title":{},"description":{"1":{},"39":{}}}],["mean",{"_index":445,"title":{},"description":{"21":{},"29":{}}}],["medium",{"_index":591,"title":{},"description":{"25":{}}}],["messag",{"_index":93,"title":{},"description":{"4":{},"12":{},"16":{},"17":{},"18":{},"19":{},"36":{},"37":{},"39":{}}}],["messagepack",{"_index":783,"title":{},"description":{"36":{},"37":{}}}],["metadata",{"_index":45,"title":{"14":{}},"description":{"1":{},"10":{},"12":{},"13":{},"14":{},"27":{},"29":{},"31":{},"32":{},"36":{},"37":{},"39":{}}}],["metric",{"_index":860,"title":{"40":{},"41":{},"42":{}},"description":{"40":{},"41":{},"42":{}}}],["metric_nam",{"_index":870,"title":{},"description":{"41":{}}}],["metric_name{label=\"valu",{"_index":872,"title":{},"description":{"41":{}}}],["microsoft",{"_index":730,"title":{},"description":{"32":{}}}],["migrat",{"_index":744,"title":{},"description":{"32":{},"36":{},"37":{}}}],["min",{"_index":763,"title":{},"description":{"33":{}}}],["miss",{"_index":332,"title":{},"description":{"17":{},"24":{},"25":{}}}],["ml",{"_index":456,"title":{},"description":{"21":{}}}],["mode",{"_index":78,"title":{},"description":{"2":{},"16":{}}}],["model",{"_index":117,"title":{"22":{}},"description":{"6":{},"21":{},"22":{},"24":{}}}],["modifi",{"_index":577,"title":{},"description":{"25":{}}}],["monitor",{"_index":861,"title":{},"description":{"40":{},"41":{}}}],["more",{"_index":98,"title":{},"description":{"6":{},"17":{},"18":{},"23":{},"30":{}}}],["move",{"_index":796,"title":{},"description":{"36":{},"37":{}}}],["multi-hop",{"_index":376,"title":{},"description":{"18":{}}}],["multi-ten",{"_index":336,"title":{},"description":{"17":{}}}],["multi-turn",{"_index":295,"title":{},"description":{"16":{}}}],["multipl",{"_index":215,"title":{},"description":{"12":{},"16":{},"17":{},"18":{},"19":{},"31":{},"36":{},"39":{}}}],["multiplex",{"_index":29,"title":{"39":{}},"description":{"0":{},"39":{}}}],["my-flow",{"_index":824,"title":{},"description":{"39":{}}}],["n",{"_index":313,"title":{},"description":{"17":{},"28":{},"29":{},"30":{}}}],["name",{"_index":80,"title":{"3":{}},"description":{"8":{},"14":{},"22":{},"24":{},"30":{}}}],["natur",{"_index":261,"title":{"25":{}},"description":{"16":{},"25":{},"26":{}}}],["navig",{"_index":658,"title":{},"description":{"28":{}}}],["need",{"_index":123,"title":{},"description":{"6":{},"17":{},"18":{},"19":{},"24":{},"25":{},"26":{},"27":{}}}],["nest",{"_index":538,"title":{},"description":{"24":{},"27":{}}}],["nestedfield",{"_index":556,"title":{},"description":{"24":{}}}],["nestedobject",{"_index":555,"title":{},"description":{"24":{}}}],["new",{"_index":132,"title":{},"description":{"8":{},"12":{}}}],["next",{"_index":803,"title":{},"description":{"37":{}}}],["nlp",{"_index":564,"title":{"25":{}},"description":{"25":{},"26":{}}}],["nlp-queri",{"_index":56,"title":{},"description":{"1":{},"39":{}}}],["non-block",{"_index":812,"title":{},"description":{"39":{}}}],["non-techn",{"_index":573,"title":{},"description":{"25":{}}}],["none",{"_index":697,"title":{},"description":{"31":{},"32":{}}}],["null",{"_index":606,"title":{},"description":{"26":{}}}],["o",{"_index":514,"title":{},"description":{"23":{},"33":{}}}],["object",{"_index":419,"title":{},"description":{"20":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"39":{}}}],["observ",{"_index":281,"title":{},"description":{"16":{}}}],["obtain",{"_index":659,"title":{},"description":{"28":{},"29":{},"30":{}}}],["occur",{"_index":286,"title":{},"description":{"16":{}}}],["offset",{"_index":759,"title":{},"description":{"33":{}}}],["older",{"_index":709,"title":{},"description":{"31":{}}}],["omit",{"_index":509,"title":{},"description":{"23":{},"39":{}}}],["on",{"_index":467,"title":{},"description":{"21":{},"24":{},"26":{},"27":{},"39":{}}}],["on-demand",{"_index":180,"title":{},"description":{"10":{}}}],["ongo",{"_index":198,"title":{},"description":{"10":{}}}],["open('document.pdf",{"_index":735,"title":{},"description":{"32":{}}}],["oper",{"_index":24,"title":{},"description":{"0":{},"6":{},"8":{},"10":{},"12":{},"14":{},"21":{},"22":{},"26":{},"27":{},"39":{}}}],["operationname($var",{"_index":550,"title":{},"description":{"24":{}}}],["optim",{"_index":406,"title":{},"description":{"19":{}}}],["option",{"_index":192,"title":{},"description":{"10":{},"14":{},"16":{},"18":{},"20":{},"23":{},"27":{},"30":{},"31":{},"32":{},"33":{},"35":{},"39":{},"42":{}}}],["order",{"_index":662,"title":{},"description":{"28":{},"29":{},"33":{},"39":{}}}],["organ",{"_index":176,"title":{},"description":{"10":{},"12":{},"14":{},"31":{}}}],["organiz",{"_index":236,"title":{},"description":{"14":{}}}],["out",{"_index":844,"title":{},"description":{"39":{}}}],["out-token",{"_index":405,"title":{},"description":{"19":{}}}],["output",{"_index":420,"title":{},"description":{"20":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{}}}],["output_format",{"_index":422,"title":{},"description":{"20":{}}}],["over",{"_index":301,"title":{"24":{}},"description":{"17":{},"18":{},"19":{},"26":{},"39":{}}}],["overhead",{"_index":815,"title":{},"description":{"39":{}}}],["overlap",{"_index":672,"title":{},"description":{"29":{},"31":{},"32":{}}}],["overview",{"_index":0,"title":{"0":{}},"description":{"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"36":{},"37":{},"39":{},"41":{}}}],["owner",{"_index":238,"title":{},"description":{"14":{}}}],["p",{"_index":512,"title":{},"description":{"23":{},"33":{}}}],["page",{"_index":732,"title":{},"description":{"32":{}}}],["paper",{"_index":743,"title":{},"description":{"32":{}}}],["param",{"_index":139,"title":{},"description":{"8":{}}}],["paramet",{"_index":97,"title":{},"description":{"6":{},"8":{},"17":{},"18":{},"22":{},"35":{},"36":{},"37":{},"39":{},"41":{},"42":{}}}],["parameter",{"_index":557,"title":{},"description":{"24":{}}}],["parameter-typ",{"_index":119,"title":{},"description":{"6":{}}}],["pars",{"_index":574,"title":{},"description":{"25":{}}}],["partial",{"_index":400,"title":{},"description":{"19":{},"24":{},"26":{}}}],["pass",{"_index":315,"title":{},"description":{"17":{},"18":{},"20":{},"24":{}}}],["passag",{"_index":667,"title":{},"description":{"29":{}}}],["path",{"_index":346,"title":{"42":{}},"description":{"18":{},"39":{},"41":{},"42":{}}}],["pattern",{"_index":503,"title":{},"description":{"23":{},"26":{},"33":{}}}],["pattern-bas",{"_index":501,"title":{"23":{}},"description":{}}],["payload",{"_index":831,"title":{},"description":{"39":{}}}],["pdf",{"_index":725,"title":{"32":{}},"description":{"32":{}}}],["pdf→text",{"_index":726,"title":{},"description":{"32":{}}}],["per",{"_index":362,"title":{},"description":{"18":{},"39":{}}}],["perform",{"_index":497,"title":{},"description":{"22":{},"23":{},"26":{}}}],["persist",{"_index":174,"title":{},"description":{"10":{},"12":{},"39":{}}}],["person(id",{"_index":559,"title":{},"description":{"24":{}}}],["pipelin",{"_index":633,"title":{},"description":{"27":{},"31":{},"32":{}}}],["placehold",{"_index":421,"title":{},"description":{"20":{}}}],["plain",{"_index":435,"title":{},"description":{"20":{},"22":{},"25":{}}}],["point",{"_index":167,"title":{},"description":{"8":{}}}],["pool",{"_index":858,"title":{},"description":{"39":{}}}],["popul",{"_index":798,"title":{},"description":{"36":{}}}],["portabl",{"_index":728,"title":{},"description":{"32":{}}}],["posit",{"_index":676,"title":{},"description":{"29":{}}}],["post",{"_index":838,"title":{},"description":{"39":{}}}],["potenti",{"_index":684,"title":{},"description":{"30":{}}}],["power",{"_index":450,"title":{},"description":{"21":{}}}],["precis",{"_index":605,"title":{},"description":{"26":{}}}],["predefin",{"_index":536,"title":{},"description":{"24":{}}}],["predic",{"_index":507,"title":{},"description":{"23":{}}}],["present",{"_index":836,"title":{},"description":{"39":{}}}],["previou",{"_index":271,"title":{},"description":{"16":{}}}],["price",{"_index":118,"title":{},"description":{"6":{}}}],["probabl",{"_index":589,"title":{},"description":{"25":{}}}],["problem",{"_index":263,"title":{},"description":{"16":{}}}],["process",{"_index":173,"title":{},"description":{"10":{},"16":{},"17":{},"18":{},"21":{},"25":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"36":{},"37":{},"39":{},"41":{}}}],["processor",{"_index":148,"title":{},"description":{"8":{}}}],["product",{"_index":682,"title":{},"description":{"30":{}}}],["prometheu",{"_index":862,"title":{"41":{},"42":{}},"description":{"41":{},"42":{}}}],["prompt",{"_index":50,"title":{"20":{}},"description":{"1":{},"6":{},"19":{},"20":{},"39":{}}}],["properti",{"_index":513,"title":{},"description":{"23":{},"31":{},"32":{}}}],["protocol",{"_index":472,"title":{"22":{}},"description":{"22":{},"36":{},"37":{},"39":{}}}],["proven",{"_index":283,"title":{},"description":{"16":{},"17":{},"18":{},"19":{}}}],["provid",{"_index":2,"title":{},"description":{"0":{},"16":{},"17":{},"18":{},"19":{},"22":{},"39":{}}}],["proxi",{"_index":863,"title":{},"description":{"41":{},"42":{}}}],["pure",{"_index":385,"title":{},"description":{"19":{},"22":{}}}],["purpos",{"_index":242,"title":{},"description":{"14":{}}}],["put",{"_index":106,"title":{},"description":{"6":{}}}],["put-blueprint",{"_index":135,"title":{},"description":{"8":{}}}],["put-kg-cor",{"_index":219,"title":{},"description":{"12":{}}}],["python",{"_index":396,"title":{},"description":{"19":{},"32":{}}}],["quantum",{"_index":825,"title":{},"description":{"39":{}}}],["queri",{"_index":54,"title":{"23":{},"24":{},"25":{},"26":{},"28":{},"29":{},"30":{},"33":{}},"description":{"1":{},"10":{},"12":{},"17":{},"18":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"36":{},"37":{},"39":{},"41":{}}}],["question",{"_index":258,"title":{"26":{}},"description":{"16":{},"19":{},"25":{},"26":{},"39":{}}}],["queu",{"_index":194,"title":{},"description":{"10":{},"31":{},"32":{}}}],["queue",{"_index":155,"title":{},"description":{"8":{},"41":{}}}],["quote_char",{"_index":646,"title":{},"description":{"27":{}}}],["rag",{"_index":15,"title":{"17":{},"18":{}},"description":{"0":{},"1":{},"17":{},"18":{},"21":{},"28":{},"29":{},"39":{}}}],["rate",{"_index":866,"title":{},"description":{"41":{}}}],["ratio",{"_index":708,"title":{},"description":{"31":{}}}],["raw",{"_index":674,"title":{},"description":{"29":{},"31":{},"35":{}}}],["rb",{"_index":736,"title":{},"description":{"32":{}}}],["rdf",{"_index":204,"title":{},"description":{"12":{},"23":{},"26":{},"28":{},"31":{},"32":{}}}],["rdfvalu",{"_index":517,"title":{},"description":{"23":{},"36":{},"37":{}}}],["read/writ",{"_index":498,"title":{},"description":{"22":{}}}],["real-tim",{"_index":816,"title":{},"description":{"39":{}}}],["reason",{"_index":256,"title":{"16":{}},"description":{"16":{},"18":{},"19":{}}}],["receiv",{"_index":214,"title":{},"description":{"12":{},"17":{},"18":{},"19":{},"20":{},"27":{},"36":{},"37":{}}}],["recommend",{"_index":639,"title":{},"description":{"27":{}}}],["record",{"_index":686,"title":{},"description":{"30":{}}}],["record_path",{"_index":649,"title":{},"description":{"27":{}}}],["recoveri",{"_index":805,"title":{},"description":{"37":{}}}],["reduc",{"_index":814,"title":{},"description":{"39":{}}}],["refer",{"_index":665,"title":{},"description":{"28":{}}}],["regex",{"_index":768,"title":{},"description":{"33":{}}}],["regist",{"_index":485,"title":{},"description":{"22":{}}}],["registr",{"_index":492,"title":{},"description":{"22":{}}}],["relat",{"_index":381,"title":{},"description":{"18":{},"21":{},"24":{},"28":{},"29":{}}}],["relationship",{"_index":144,"title":{},"description":{"8":{},"18":{},"19":{},"23":{},"24":{},"25":{}}}],["releas",{"_index":149,"title":{},"description":{"8":{}}}],["relev",{"_index":333,"title":{},"description":{"17":{},"18":{},"29":{}}}],["remov",{"_index":171,"title":{},"description":{"10":{},"12":{},"14":{}}}],["remove-docu",{"_index":189,"title":{},"description":{"10":{}}}],["repeat",{"_index":440,"title":{},"description":{"20":{}}}],["replac",{"_index":718,"title":{},"description":{"31":{}}}],["replic",{"_index":799,"title":{},"description":{"36":{},"37":{}}}],["repres",{"_index":205,"title":{},"description":{"12":{}}}],["represent",{"_index":443,"title":{},"description":{"21":{}}}],["req-1",{"_index":847,"title":{},"description":{"39":{}}}],["req-123",{"_index":822,"title":{},"description":{"39":{}}}],["req-2",{"_index":848,"title":{},"description":{"39":{}}}],["req-3",{"_index":850,"title":{},"description":{"39":{}}}],["req-456",{"_index":823,"title":{},"description":{"39":{}}}],["request",{"_index":268,"title":{},"description":{"16":{},"20":{},"21":{},"22":{},"24":{},"31":{},"36":{},"39":{},"41":{}}}],["request/quest",{"_index":399,"title":{},"description":{"19":{}}}],["request/respons",{"_index":813,"title":{},"description":{"39":{}}}],["requir",{"_index":19,"title":{},"description":{"0":{},"1":{},"18":{},"19":{},"35":{},"39":{}}}],["research",{"_index":742,"title":{},"description":{"32":{}}}],["resolut",{"_index":687,"title":{},"description":{"30":{}}}],["resolv",{"_index":136,"title":{},"description":{"8":{}}}],["resourc",{"_index":150,"title":{},"description":{"8":{},"33":{},"41":{}}}],["respond",{"_index":397,"title":{},"description":{"19":{}}}],["respons",{"_index":89,"title":{"4":{}},"description":{"12":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"25":{},"26":{},"29":{},"30":{},"31":{},"32":{},"35":{},"36":{},"37":{},"39":{},"41":{}}}],["rest",{"_index":810,"title":{},"description":{"39":{}}}],["restor",{"_index":785,"title":{},"description":{"36":{}}}],["result",{"_index":247,"title":{"26":{}},"description":{"14":{},"16":{},"22":{},"23":{},"25":{},"26":{},"28":{},"29":{},"31":{},"33":{}}}],["retriev",{"_index":104,"title":{"17":{},"18":{}},"description":{"6":{},"8":{},"12":{},"17":{},"18":{},"19":{},"21":{},"22":{},"28":{},"29":{},"30":{},"31":{},"35":{}}}],["retrieval-aug",{"_index":300,"title":{},"description":{"17":{},"18":{}}}],["return",{"_index":90,"title":{},"description":{"4":{},"12":{},"14":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"26":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"35":{},"36":{},"41":{}}}],["reus",{"_index":857,"title":{},"description":{"39":{}}}],["reusabl",{"_index":415,"title":{},"description":{"20":{}}}],["review",{"_index":592,"title":{},"description":{"25":{}}}],["role",{"_index":391,"title":{},"description":{"19":{}}}],["root_el",{"_index":648,"title":{},"description":{"27":{}}}],["rout",{"_index":837,"title":{},"description":{"39":{}}}],["row",{"_index":55,"title":{"24":{},"30":{}},"description":{"1":{},"24":{},"26":{},"30":{}}}],["row-embed",{"_index":59,"title":{},"description":{"1":{}}}],["row-ori",{"_index":534,"title":{},"description":{"24":{}}}],["run",{"_index":20,"title":{},"description":{"0":{},"1":{},"2":{},"6":{},"8":{},"12":{},"22":{},"31":{},"32":{}}}],["s",{"_index":511,"title":{},"description":{"23":{},"33":{}}}],["s/p/o",{"_index":515,"title":{},"description":{"23":{}}}],["same",{"_index":809,"title":{},"description":{"39":{}}}],["sampl",{"_index":627,"title":{},"description":{"27":{}}}],["schema",{"_index":494,"title":{},"description":{"22":{},"24":{},"25":{},"27":{},"30":{},"39":{}}}],["schema-awar",{"_index":567,"title":{},"description":{"25":{}}}],["schema-driven",{"_index":535,"title":{},"description":{"24":{}}}],["schema-select",{"_index":641,"title":{},"description":{"27":{}}}],["scope",{"_index":355,"title":{},"description":{"18":{},"25":{}}}],["score",{"_index":569,"title":{},"description":{"25":{},"28":{},"29":{},"30":{}}}],["scrape",{"_index":877,"title":{},"description":{"41":{}}}],["scratch",{"_index":640,"title":{},"description":{"27":{}}}],["script",{"_index":499,"title":{},"description":{"22":{}}}],["search",{"_index":303,"title":{"30":{}},"description":{"17":{},"21":{},"22":{},"28":{},"29":{},"30":{}}}],["searchabl",{"_index":702,"title":{},"description":{"31":{},"32":{}}}],["see",{"_index":841,"title":{},"description":{"39":{}}}],["select",{"_index":750,"title":{},"description":{"33":{}}}],["semant",{"_index":304,"title":{"30":{}},"description":{"17":{},"21":{},"28":{},"29":{},"30":{}}}],["send",{"_index":269,"title":{},"description":{"16":{},"31":{},"39":{}}}],["sent",{"_index":703,"title":{},"description":{"31":{},"36":{},"37":{}}}],["separ",{"_index":114,"title":{},"description":{"6":{},"26":{}}}],["server",{"_index":493,"title":{},"description":{"22":{},"39":{}}}],["servic",{"_index":6,"title":{"1":{},"6":{},"15":{},"16":{},"20":{},"39":{}},"description":{"0":{},"1":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"13":{},"15":{},"16":{},"20":{},"21":{},"22":{},"24":{},"25":{},"26":{},"28":{},"29":{},"30":{},"39":{}}}],["service-specif",{"_index":830,"title":{},"description":{"39":{}}}],["session",{"_index":318,"title":{},"description":{"17":{},"18":{},"39":{}}}],["set",{"_index":72,"title":{},"description":{"2":{},"14":{},"19":{},"23":{},"33":{},"39":{},"41":{}}}],["share",{"_index":163,"title":{},"description":{"8":{}}}],["show",{"_index":159,"title":{},"description":{"8":{},"25":{}}}],["signal",{"_index":234,"title":{},"description":{"12":{},"37":{}}}],["similar",{"_index":305,"title":{"28":{},"29":{}},"description":{"17":{},"21":{},"25":{},"28":{},"29":{},"30":{}}}],["simpl",{"_index":490,"title":{},"description":{"22":{},"26":{}}}],["simpler",{"_index":618,"title":{},"description":{"26":{}}}],["simplest",{"_index":601,"title":{},"description":{"26":{}}}],["simultan",{"_index":843,"title":{},"description":{"39":{}}}],["singl",{"_index":294,"title":{},"description":{"16":{},"17":{},"18":{},"19":{},"21":{},"24":{},"39":{}}}],["size",{"_index":350,"title":{},"description":{"18":{},"29":{},"35":{}}}],["slower",{"_index":329,"title":{},"description":{"17":{},"18":{}}}],["sourc",{"_index":675,"title":{},"description":{"29":{},"31":{},"32":{},"37":{}}}],["sparql",{"_index":748,"title":{"33":{}},"description":{"33":{}}}],["sparql-queri",{"_index":58,"title":{},"description":{"1":{}}}],["specif",{"_index":102,"title":{},"description":{"6":{},"17":{},"19":{},"23":{},"41":{}}}],["specifi",{"_index":505,"title":{},"description":{"23":{},"30":{},"31":{}}}],["split",{"_index":669,"title":{},"description":{"29":{},"31":{},"32":{}}}],["standard",{"_index":474,"title":{},"description":{"22":{},"24":{},"26":{},"33":{},"41":{}}}],["start",{"_index":131,"title":{},"description":{"8":{},"10":{},"18":{},"27":{}}}],["start-flow",{"_index":130,"title":{},"description":{"8":{}}}],["start-process",{"_index":193,"title":{},"description":{"10":{}}}],["start/stop/manag",{"_index":128,"title":{},"description":{"6":{},"8":{}}}],["state",{"_index":270,"title":{},"description":{"16":{}}}],["statu",{"_index":183,"title":{},"description":{"10":{},"31":{},"32":{},"41":{}}}],["stay",{"_index":351,"title":{},"description":{"18":{}}}],["step",{"_index":273,"title":{},"description":{"16":{},"26":{}}}],["still",{"_index":711,"title":{},"description":{"31":{}}}],["stop",{"_index":146,"title":{},"description":{"8":{},"10":{}}}],["stop-flow",{"_index":145,"title":{},"description":{"8":{}}}],["stop-process",{"_index":197,"title":{},"description":{"10":{}}}],["storag",{"_index":11,"title":{},"description":{"0":{},"12":{},"21":{},"31":{},"32":{},"36":{},"37":{}}}],["store",{"_index":113,"title":{},"description":{"6":{},"8":{},"12":{},"20":{},"28":{},"29":{},"30":{},"31":{},"32":{},"35":{}}}],["store/retriev",{"_index":127,"title":{},"description":{"6":{},"8":{}}}],["str",{"_index":767,"title":{},"description":{"33":{}}}],["stream",{"_index":213,"title":{"35":{}},"description":{"12":{},"16":{},"17":{},"18":{},"19":{},"20":{},"35":{},"36":{},"37":{},"39":{}}}],["string",{"_index":431,"title":{},"description":{"20":{},"26":{},"29":{},"39":{}}}],["strong",{"_index":540,"title":{},"description":{"24":{}}}],["structur",{"_index":160,"title":{"24":{},"25":{},"26":{},"27":{},"30":{}},"description":{"8":{},"18":{},"20":{},"22":{},"24":{},"25":{},"26":{},"27":{},"30":{},"39":{}}}],["structured-diag",{"_index":65,"title":{},"description":{"1":{},"39":{}}}],["structured-queri",{"_index":57,"title":{},"description":{"1":{},"39":{}}}],["subfield1",{"_index":553,"title":{},"description":{"24":{}}}],["subfield2",{"_index":554,"title":{},"description":{"24":{}}}],["subgraph",{"_index":340,"title":{},"description":{"18":{}}}],["subject",{"_index":506,"title":{},"description":{"23":{}}}],["subject-predicate-object",{"_index":502,"title":{},"description":{"23":{}}}],["subprotocol",{"_index":854,"title":{},"description":{"39":{}}}],["substitut",{"_index":414,"title":{},"description":{"20":{}}}],["success",{"_index":832,"title":{},"description":{"39":{}}}],["suffici",{"_index":407,"title":{},"description":{"19":{}}}],["suggest",{"_index":596,"title":{},"description":{"25":{}}}],["sum",{"_index":761,"title":{},"description":{"33":{}}}],["summar",{"_index":424,"title":{},"description":{"20":{}}}],["support",{"_index":449,"title":{},"description":{"21":{},"23":{},"27":{},"32":{},"33":{},"39":{},"41":{}}}],["surviv",{"_index":705,"title":{},"description":{"31":{}}}],["synchron",{"_index":720,"title":{},"description":{"31":{}}}],["syntax",{"_index":508,"title":{},"description":{"23":{}}}],["synthes",{"_index":307,"title":{},"description":{"17":{}}}],["system",{"_index":99,"title":{},"description":{"6":{},"8":{},"19":{},"20":{},"21":{},"22":{},"24":{},"26":{},"32":{},"36":{},"37":{},"40":{},"41":{}}}],["system-level",{"_index":608,"title":{},"description":{"26":{}}}],["t",{"_index":788,"title":{},"description":{"36":{},"37":{}}}],["tabl",{"_index":752,"title":{},"description":{"33":{}}}],["tag",{"_index":243,"title":{},"description":{"14":{}}}],["take",{"_index":259,"title":{},"description":{"16":{}}}],["taken",{"_index":280,"title":{},"description":{"16":{}}}],["target",{"_index":335,"title":{},"description":{"17":{},"36":{}}}],["task",{"_index":200,"title":{},"description":{"10":{},"19":{},"20":{}}}],["tcp/tl",{"_index":855,"title":{},"description":{"39":{}}}],["templat",{"_index":115,"title":{},"description":{"6":{},"20":{},"33":{}}}],["template-bas",{"_index":412,"title":{"20":{}},"description":{}}],["term",{"_index":429,"title":{},"description":{"20":{}}}],["termin",{"_index":147,"title":{},"description":{"8":{}}}],["text",{"_index":16,"title":{"19":{},"21":{},"29":{},"31":{}},"description":{"0":{},"19":{},"20":{},"21":{},"22":{},"23":{},"29":{},"30":{},"31":{},"32":{},"41":{}}}],["text-complet",{"_index":49,"title":{},"description":{"1":{},"19":{},"39":{}}}],["text-embedding-3-larg",{"_index":462,"title":{},"description":{"21":{}}}],["text-embedding-3-smal",{"_index":461,"title":{},"description":{"21":{}}}],["text-embedding-ada-002",{"_index":459,"title":{},"description":{"21":{}}}],["text-load",{"_index":61,"title":{},"description":{"1":{},"21":{},"27":{},"39":{}}}],["text_cont",{"_index":712,"title":{},"description":{"31":{}}}],["third-parti",{"_index":481,"title":{},"description":{"22":{}}}],["those",{"_index":691,"title":{},"description":{"30":{}}}],["thought",{"_index":264,"title":{},"description":{"16":{},"39":{}}}],["three",{"_index":610,"title":{},"description":{"26":{}}}],["through",{"_index":179,"title":{},"description":{"10":{},"22":{},"31":{},"32":{}}}],["throughput",{"_index":867,"title":{},"description":{"41":{}}}],["time",{"_index":468,"title":{},"description":{"21":{},"41":{}}}],["timeout",{"_index":94,"title":{},"description":{"4":{},"24":{}}}],["titl",{"_index":186,"title":{},"description":{"10":{},"31":{}}}],["togeth",{"_index":221,"title":{},"description":{"12":{}}}],["token",{"_index":68,"title":{},"description":{"2":{},"6":{},"19":{},"29":{},"39":{},"41":{}}}],["token-cost",{"_index":116,"title":{},"description":{"6":{}}}],["tool",{"_index":471,"title":{"22":{}},"description":{"22":{},"24":{}}}],["tool-specif",{"_index":489,"title":{},"description":{"22":{}}}],["top",{"_index":312,"title":{},"description":{"17":{},"28":{},"29":{},"30":{}}}],["total",{"_index":365,"title":{},"description":{"18":{}}}],["track",{"_index":182,"title":{},"description":{"10":{},"19":{},"32":{}}}],["trade-off",{"_index":615,"title":{},"description":{"26":{}}}],["transfer",{"_index":776,"title":{},"description":{"35":{}}}],["transform",{"_index":439,"title":{},"description":{"20":{},"21":{},"25":{}}}],["travers",{"_index":345,"title":{},"description":{"18":{},"24":{}}}],["tripl",{"_index":25,"title":{"23":{},"36":{},"37":{}},"description":{"0":{},"1":{},"12":{},"16":{},"17":{},"18":{},"23":{},"24":{},"26":{},"28":{},"31":{},"32":{},"33":{},"36":{},"37":{},"39":{}}}],["triple-limit",{"_index":361,"title":{},"description":{"18":{}}}],["triples/subgraph",{"_index":660,"title":{},"description":{"28":{}}}],["true",{"_index":233,"title":{},"description":{"12":{},"16":{},"17":{},"18":{},"19":{},"20":{},"23":{},"28":{},"36":{},"37":{},"39":{}}}],["true/fals",{"_index":753,"title":{},"description":{"33":{}}}],["trustgraph",{"_index":95,"title":{},"description":{"6":{},"39":{}}}],["tupl",{"_index":787,"title":{},"description":{"36":{},"37":{}}}],["two",{"_index":427,"title":{},"description":{"20":{},"26":{}}}],["type",{"_index":31,"title":{"1":{}},"description":{"4":{},"6":{},"8":{},"16":{},"20":{},"23":{},"24":{},"25":{},"26":{},"27":{},"33":{},"39":{},"41":{}}}],["type-saf",{"_index":539,"title":{},"description":{"24":{}}}],["typic",{"_index":252,"title":{},"description":{"14":{},"29":{}}}],["u",{"_index":791,"title":{},"description":{"36":{},"37":{}}}],["understand",{"_index":257,"title":{},"description":{"16":{},"18":{},"25":{},"26":{},"27":{}}}],["understood",{"_index":572,"title":{},"description":{"25":{}}}],["union",{"_index":758,"title":{},"description":{"33":{}}}],["uniqu",{"_index":164,"title":{},"description":{"8":{},"14":{},"20":{},"39":{}}}],["unit",{"_index":203,"title":{},"description":{"12":{},"14":{}}}],["unknown",{"_index":625,"title":{},"description":{"27":{}}}],["unlik",{"_index":465,"title":{},"description":{"21":{}}}],["unload",{"_index":229,"title":{},"description":{"12":{}}}],["unload-kg-cor",{"_index":228,"title":{},"description":{"12":{}}}],["up",{"_index":347,"title":{},"description":{"18":{},"23":{}}}],["updat",{"_index":108,"title":{},"description":{"6":{},"8":{},"12":{},"14":{},"31":{}}}],["update-collect",{"_index":248,"title":{},"description":{"14":{}}}],["uri",{"_index":653,"title":{},"description":{"28":{},"36":{},"37":{}}}],["url",{"_index":185,"title":{},"description":{"10":{},"31":{},"39":{}}}],["us",{"_index":82,"title":{},"description":{"3":{},"6":{},"8":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"36":{},"37":{},"39":{},"41":{}}}],["usag",{"_index":402,"title":{},"description":{"19":{},"41":{}}}],["user",{"_index":208,"title":{},"description":{"12":{},"14":{},"16":{},"17":{},"19":{},"25":{},"35":{},"36":{},"37":{}}}],["user-provid",{"_index":138,"title":{},"description":{"8":{}}}],["utf-8",{"_index":694,"title":{},"description":{"31":{}}}],["util",{"_index":63,"title":{},"description":{"1":{},"39":{}}}],["v",{"_index":519,"title":{},"description":{"23":{},"28":{},"36":{},"37":{}}}],["valu",{"_index":109,"title":{},"description":{"6":{},"8":{},"23":{},"27":{},"28":{},"30":{},"33":{},"39":{}}}],["var",{"_index":552,"title":{},"description":{"24":{}}}],["vari",{"_index":464,"title":{},"description":{"21":{}}}],["variabl",{"_index":71,"title":{},"description":{"2":{},"20":{},"24":{},"25":{},"33":{}}}],["vector",{"_index":206,"title":{"21":{}},"description":{"12":{},"21":{},"28":{},"29":{},"30":{},"31":{},"32":{},"36":{},"37":{}}}],["verifi",{"_index":722,"title":{},"description":{"31":{},"32":{}}}],["via",{"_index":34,"title":{},"description":{"1":{},"8":{},"17":{},"20":{},"21":{},"22":{},"24":{},"25":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"41":{}}}],["vs",{"_index":389,"title":{},"description":{"19":{},"26":{}}}],["want",{"_index":408,"title":{},"description":{"19":{},"26":{}}}],["way",{"_index":428,"title":{},"description":{"20":{},"26":{}}}],["weather",{"_index":488,"title":{},"description":{"22":{}}}],["web",{"_index":475,"title":{},"description":{"22":{},"32":{}}}],["websocket",{"_index":28,"title":{"38":{},"39":{}},"description":{"0":{},"38":{},"39":{}}}],["well",{"_index":571,"title":{},"description":{"25":{}}}],["what'",{"_index":377,"title":{},"description":{"18":{}}}],["whose",{"_index":679,"title":{},"description":{"30":{}}}],["window",{"_index":352,"title":{},"description":{"18":{}}}],["within",{"_index":227,"title":{},"description":{"12":{},"15":{},"18":{},"39":{}}}],["without",{"_index":76,"title":{},"description":{"2":{},"17":{},"18":{},"19":{},"39":{}}}],["word",{"_index":426,"title":{},"description":{"20":{},"32":{}}}],["workflow",{"_index":579,"title":{},"description":{"25":{},"27":{}}}],["write",{"_index":387,"title":{},"description":{"19":{}}}],["ws://localhost:8088/api/v1/socket",{"_index":821,"title":{},"description":{"39":{}}}],["ws://localhost:8088/api/v1/socket?token=<token",{"_index":853,"title":{},"description":{"39":{}}}],["x",{"_index":374,"title":{},"description":{"18":{}}}],["xml",{"_index":624,"title":{},"description":{"27":{}}}],["y",{"_index":375,"title":{},"description":{"18":{}}}]],"pipeline":[]}},"options":{}};
|
||
|
||
var container = document.getElementById('redoc');
|
||
Redoc.hydrate(__redoc_state, container);
|
||
|
||
</script>
|
||
</body>
|
||
|
||
</html>
|