2026-01-15 11:57:16 +00:00
<!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 >
2026-03-17 20:36:31 +00:00
< 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" > . h o Y m k G { w i d t h : c a l c ( 1 0 0 % - 4 0 % ) ; p a d d i n g : 0 4 0 p x ; } / * ! s c * /
@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(
2026-01-15 11:57:16 +00:00
to bottom,
transparent 0%,
transparent 22px,
#7c7cbb 22px,
#7c7cbb 100%
);}/*!sc*/
2026-03-17 20:36:31 +00:00
tr.last>.kddqHa{background-image:linear-gradient(
2026-01-15 11:57:16 +00:00
to bottom,
#7c7cbb 0%,
#7c7cbb 22px,
transparent 22px,
transparent 100%
);}/*!sc*/
2026-03-17 20:36:31 +00:00
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*/
2026-01-15 11:57:16 +00:00
< / style >
< link href = "https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700" rel = "stylesheet" >
< / head >
< body >
2026-04-07 22:24:59 +01:00
< 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"
2026-01-15 11:57:16 +00:00
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
2026-04-07 22:24:59 +01:00
" 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 . & lt ; / p & gt ;
2026-03-17 20:36:31 +00:00
" 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: & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / h3 & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-04-07 22:24:59 +01:00
< li> Query: triples, rows, nlp-query, structured-query, sparql-query, row-embeddings< /li>
2026-01-15 11:57:16 +00:00
< 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 >
2026-04-07 22:24:59 +01:00
< li > Query: triples, rows, nlp-query, structured-query, sparql-query, row-embeddings< / li >
2026-01-15 11:57:16 +00:00
< li > Data loading: text-load, document-load< / li >
< li > Utilities: mcp-tool, structured-diag< / li >
< / ul >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; code & gt ; GATEWAY_SECRET & lt ; / code & gt ; environment variable is set .
2026-01-15 11:57:16 +00:00
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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; strong & gt ; kebab-case & lt ; / strong & gt ; : & lt ; code & gt ; flow-id & lt ; / code & gt ; , & lt ; code & gt ; blueprint-name & lt ; / code & gt ; , & lt ; code & gt ; doc-limit & lt ; / code & gt ; , etc . & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
">< p > All JSON fields use < strong > kebab-case< / strong > : < code > flow-id< / code > , < code > blueprint-name< / code > , < code > doc-limit< / code > , etc.< / p >
2026-03-17 20:36:31 +00:00
< / 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: & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 ) & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
">< p > Configuration management (global service)< / p >
2026-03-17 20:36:31 +00:00
< / 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 . & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Manage TrustGraph configuration including flows, prompts, token costs, parameter types, and more.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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: & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF">< p > Operation to perform:< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 ) .
2026-01-15 11:57:16 +00:00
Common types: flow, prompt, token-cost, parameter-type, interface-description< /p>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF">< p > Configuration type (required for list, get, put, delete operations).
2026-01-15 11:57:16 +00:00
Common types: flow, prompt, token-cost, parameter-type, interface-description< / p >
2026-03-17 20:36:31 +00:00
< / 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 > < opt
2026-01-15 11:57:16 +00:00
">< p > Flow lifecycle and blueprint management (global service)< / p >
2026-03-17 20:36:31 +00:00
< / 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 . & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Manage flow instances and blueprints.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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: & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF">< p > Flow operation:< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) .
2026-01-15 11:57:16 +00:00
All values are stored as strings, regardless of input type.< /p>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF">< p > Flow parameters (for start-flow).
2026-01-15 11:57:16 +00:00
All values are stored as strings, regardless of input type.< / p >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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--selecte
2026-01-15 11:57:16 +00:00
">< p > Document library management (global service)< / p >
2026-03-17 20:36:31 +00:00
< / 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 . & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Manage document library: add, remove, list documents, and control processing.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-04-07 22:24:59 +01:00
< / 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: & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-04-07 22:24:59 +01:00
< 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>
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF">< p > Library operation:< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-04-07 22:24:59 +01:00
< 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 >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 coll
2026-01-15 11:57:16 +00:00
">< p > Knowledge graph core management (global service)< / p >
2026-03-17 20:36:31 +00:00
< / 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 . & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Manage knowledge graph cores - persistent storage of triples and embeddings.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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: & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF">< p > Knowledge core operation:< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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" selecte
2026-01-15 11:57:16 +00:00
">< p > Collection metadata management (global service)< / p >
2026-03-17 20:36:31 +00:00
< / 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 . & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Manage collection metadata for organizing documents and knowledge.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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: & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF">< p > Collection operation:< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 >
2026-01-15 11:57:16 +00:00
">< p > Services hosted within flow instances< / p >
2026-03-17 20:36:31 +00:00
< / 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 . & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-04-07 22:24:59 +01:00
< li> < code> explain< /code> : Provenance event with inline triples (< code> explain_triples< /code> )< /li>
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > AI agent that can understand questions, reason about them, and take actions.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-04-07 22:24:59 +01:00
< li > < code > explain< / code > : Provenance event with inline triples (< code > explain_triples< / code > )< / li >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF">< p > Local development server< / p >
2026-04-07 22:24:59 +01:00
< / 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 tr
2026-01-15 11:57:16 +00:00
< 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>
2026-04-07 22:24:59 +01:00
< 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>
2026-01-15 11:57:16 +00:00
< li> Final message with < code> end-of-stream: true< /code> < /li>
2026-04-07 22:24:59 +01:00
< li> Session ends with < code> end_of_session: true< /code> < /li>
2026-01-15 11:57:16 +00:00
< /ul>
2026-04-07 22:24:59 +01:00
< 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>
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Retrieval-Augmented Generation over document embeddings.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-04-07 22:24:59 +01:00
< 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 >
2026-01-15 11:57:16 +00:00
< li > Final message with < code > end-of-stream: true< / code > < / li >
2026-04-07 22:24:59 +01:00
< li > Session ends with < code > end_of_session: true< / code > < / li >
2026-01-15 11:57:16 +00:00
< / ul >
2026-04-07 22:24:59 +01:00
< 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 >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF">< p > Local development server< / p >
2026-04-07 22:24:59 +01:00
< / 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
2026-01-15 11:57:16 +00:00
< 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>
2026-04-07 22:24:59 +01:00
< 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>
2026-01-15 11:57:16 +00:00
< li> Final message with < code> end-of-stream: true< /code> < /li>
2026-04-07 22:24:59 +01:00
< li> Session ends with < code> end_of_session: true< /code> < /li>
2026-01-15 11:57:16 +00:00
< /ul>
2026-04-07 22:24:59 +01:00
< 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>
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Retrieval-Augmented Generation over knowledge graph.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-04-07 22:24:59 +01:00
< 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 >
2026-01-15 11:57:16 +00:00
< li > Final message with < code > end-of-stream: true< / code > < / li >
2026-04-07 22:24:59 +01:00
< li > Session ends with < code > end_of_session: true< / code > < / li >
2026-01-15 11:57:16 +00:00
< / ul >
2026-04-07 22:24:59 +01:00
< 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 >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF">< p > Local development server< / p >
2026-04-07 22:24:59 +01:00
< / 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-
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Direct text completion using LLM without retrieval augmentation.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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" > Streamin
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Execute stored prompt templates with variable substitution.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 cla
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Convert text to embedding vectors for semantic similarity search.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 = "hover
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Execute MCP (Model Context Protocol) tools for agent capabilities.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Query knowledge graph using subject-predicate-object patterns.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 ) . & lt ; / p & gt ;
< 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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
< h2 id=" rows-query-overview" > Rows Query Overview< /h2>
< p> GraphQL interface to structured data:< /p>
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
< p> Abstracts structured rows into familiar object model.< /p>
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" 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 >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< p > Abstracts structured rows into familiar object model.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 err
2026-01-15 11:57:16 +00:00
< 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
2026-03-17 20:36:31 +00:00
< 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
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Convert natural language questions to structured GraphQL queries.< / p >
2026-01-15 11:57:16 +00:00
< 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
2026-03-17 20:36:31 +00:00
< 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
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 iLjyy
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
< li> < strong> Rows Query< /strong> : Execute generated query< /li>
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
< h3 id=" nlp-query--rows-query-separate-calls" > NLP Query + Rows Query (separate calls)< /h3>
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Ask natural language questions and get results directly.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< li > < strong > Rows Query< / strong > : Execute generated query< / li >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< h3 id = "nlp-query--rows-query-separate-calls" > NLP Query + Rows Query (separate calls)< / h3 >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 >
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Analyze and understand structured data (CSV, JSON, XML).< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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: & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF">< p > Diagnosis operation:< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Query graph embeddings to find similar entities by vector similarity.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Query document embeddings to find similar text chunks by vector similarity.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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" i
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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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
2026-01-15 11:57:16 +00:00
< h2 id=" text-load-overview" > Text Load Overview< /h2>
< p> Fire-and-forget document loading:< /p>
< ul>
2026-04-07 22:24:59 +01:00
< li> < strong> Input< /strong> : Text content (raw UTF-8 or base64 encoded)< /li>
2026-01-15 11:57:16 +00:00
< 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>
2026-04-07 22:24:59 +01:00
< 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>
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Load text documents into processing pipeline for indexing and embedding.< / p >
2026-01-15 11:57:16 +00:00
< h2 id = "text-load-overview" > Text Load Overview< / h2 >
< p > Fire-and-forget document loading:< / p >
< ul >
2026-04-07 22:24:59 +01:00
< li > < strong > Input< / strong > : Text content (raw UTF-8 or base64 encoded)< / li >
2026-01-15 11:57:16 +00:00
< 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 >
2026-04-07 22:24:59 +01:00
< 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 >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF">< p > Flow instance ID< / p >
2026-04-07 22:24:59 +01:00
< / 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 & lt ; / p & gt ;
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF">< p > Text content, either raw text or base64 encoded for compatibility with older clients< / p >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF">< p > Local development server< / p >
2026-04-07 22:24:59 +01:00
< / 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 cla
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Load binary documents (PDF, Word, etc.) into processing pipeline.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" class="sc-iKGpAq sc-cCYyou dXXcln cFvDiF">< p > Local development server< / p >
2026-04-07 22:24:59 +01:00
< / 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 = "
< 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 = "
2026-01-15 11:57:16 +00:00
">< p > Bulk data import and export< / p >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 ) & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 . & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Import knowledge cores in bulk using streaming MessagePack format.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 . & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Export knowledge cores in bulk using streaming MessagePack format.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
">< p > WebSocket interfaces< / p >
2026-03-17 20:36:31 +00:00
< / 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 . & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > WebSocket interface providing multiplexed access to all TrustGraph services over a single persistent connection.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
">< p > System metrics and monitoring< / p >
2026-03-17 20:36:31 +00:00
< / 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 . & lt ; / p & gt ;
2026-01-15 11:57:16 +00:00
< 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>
2026-03-17 20:36:31 +00:00
" class="sc-iKGpAq sc-cCYyou dXXcln dHaogz">< p > Proxy to Prometheus metrics for system monitoring.< / p >
2026-01-15 11:57:16 +00:00
< 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 >
2026-03-17 20:36:31 +00:00
< / 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 . & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 & lt ; / p & gt ;
" 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 >
2026-01-15 11:57:16 +00:00
< script >
2026-04-07 22:24:59 +01:00
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":"conf
2026-01-15 11:57:16 +00:00
var container = document.getElementById('redoc');
Redoc.hydrate(__redoc_state, container);
< / script >
< / body >
< / html >