[{"data":1,"prerenderedAt":590},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fapi\u002Freference":3},{"id":4,"title":5,"body":6,"description":581,"extension":582,"meta":583,"navigation":584,"path":585,"redirect":586,"seo":587,"stem":588,"__hash__":589},"docs\u002Fdocs\u002Fapi\u002Freference.md","DBConvert Streams API Reference",{"type":7,"value":8,"toc":567},"minimark",[9,13,17,28,31,47,55,60,75,78,82,85,115,118,149,156,159,162,174,181,184,220,223,240,243,262,265,268,343,347,422,426,429,445,459,462,494,500,504,511,524,528,536,540,553,557,560,563],[10,11,5],"h1",{"id":12},"dbconvert-streams-api-reference",[14,15,16],"p",{},"Use this page to find the exact endpoint contract for the current DBConvert Streams backend.",[14,18,19,27],{},[20,21,22],"strong",{},[23,24,26],"a",{"href":25},"#full-contract","Jump to full API contract"," — interactive Swagger UI with all endpoints, schemas, and Try it out.",[14,29,30],{},"Start here when you need:",[32,33,34,38,41,44],"ul",{},[35,36,37],"li",{},"the required headers for an API request",[35,39,40],{},"the correct endpoint group for a workflow",[35,42,43],{},"the exact request body, response schema, or status code for an operation",[35,45,46],{},"the live Swagger UI for the checked-in OpenAPI contract",[14,48,49,50,54],{},"For copy-paste examples and workflow walkthroughs, use the linked guides in ",[23,51,53],{"href":52},"#choose-the-right-guide","Choose the right guide",".",[56,57,59],"h2",{"id":58},"prerequisites","Prerequisites",[32,61,62,65,68],{},[35,63,64],{},"A running DBConvert Streams API server",[35,66,67],{},"Your API base URL",[35,69,70,71],{},"Access to the authentication values described in ",[23,72,74],{"href":73},"#authentication-headers","Authentication headers",[14,76,77],{},"On a new installation, open DBConvert Streams once, connect your account, and obtain the required authentication values before starting API-only workflows.",[56,79,81],{"id":80},"verify-the-api-is-reachable","Verify the API is reachable",[14,83,84],{},"Check the unauthenticated health endpoint first:",[86,87,92],"pre",{"className":88,"code":89,"language":90,"meta":91,"style":91},"language-bash shiki shiki-themes github-light github-dark","curl -X GET \"http:\u002F\u002F127.0.0.1:8020\u002Fapi\u002Fv1\u002Fhealth\"\n","bash","",[93,94,95],"code",{"__ignoreMap":91},[96,97,100,104,108,112],"span",{"class":98,"line":99},"line",1,[96,101,103],{"class":102},"sScJk","curl",[96,105,107],{"class":106},"sj4cs"," -X",[96,109,111],{"class":110},"sZZnC"," GET",[96,113,114],{"class":110}," \"http:\u002F\u002F127.0.0.1:8020\u002Fapi\u002Fv1\u002Fhealth\"\n",[14,116,117],{},"Expected response:",[86,119,123],{"className":120,"code":121,"language":122,"meta":91,"style":91},"language-json shiki shiki-themes github-light github-dark","{\n  \"ping\": \"ok\"\n}\n","json",[93,124,125,131,143],{"__ignoreMap":91},[96,126,127],{"class":98,"line":99},[96,128,130],{"class":129},"sVt8B","{\n",[96,132,134,137,140],{"class":98,"line":133},2,[96,135,136],{"class":106},"  \"ping\"",[96,138,139],{"class":129},": ",[96,141,142],{"class":110},"\"ok\"\n",[96,144,146],{"class":98,"line":145},3,[96,147,148],{"class":129},"}\n",[14,150,151,152,155],{},"If your deployment is not listening on ",[93,153,154],{},"127.0.0.1:8020",", keep the same API path and replace the host and port with your own base URL.",[56,157,74],{"id":158},"authentication-headers",[14,160,161],{},"Most endpoints in the current contract require both of these headers:",[32,163,164,169],{},[35,165,166],{},[93,167,168],{},"X-API-Key",[35,170,171],{},[93,172,173],{},"X-Install-ID",[14,175,176,177,54],{},"You can obtain both values on the ",[23,178,180],{"href":179},"\u002Faccount","Account page",[14,182,183],{},"Use this request pattern for authenticated REST calls unless the endpoint description says otherwise:",[86,185,187],{"className":88,"code":186,"language":90,"meta":91,"style":91},"curl -X GET \"http:\u002F\u002F127.0.0.1:8020\u002Fapi\u002Fv1\u002Fuser\" \\\n  -H \"X-API-Key: YOUR_API_KEY\" \\\n  -H \"X-Install-ID: YOUR_INSTALL_ID\"\n",[93,188,189,203,213],{"__ignoreMap":91},[96,190,191,193,195,197,200],{"class":98,"line":99},[96,192,103],{"class":102},[96,194,107],{"class":106},[96,196,111],{"class":110},[96,198,199],{"class":110}," \"http:\u002F\u002F127.0.0.1:8020\u002Fapi\u002Fv1\u002Fuser\"",[96,201,202],{"class":106}," \\\n",[96,204,205,208,211],{"class":98,"line":133},[96,206,207],{"class":106},"  -H",[96,209,210],{"class":110}," \"X-API-Key: YOUR_API_KEY\"",[96,212,202],{"class":106},[96,214,215,217],{"class":98,"line":145},[96,216,207],{"class":106},[96,218,219],{"class":110}," \"X-Install-ID: YOUR_INSTALL_ID\"\n",[14,221,222],{},"Current exceptions in the embedded contract:",[32,224,225,230,235],{},[35,226,227],{},[93,228,229],{},"\u002Fhealth",[35,231,232],{},[93,233,234],{},"\u002Fready",[35,236,237],{},[93,238,239],{},"\u002Fsystem\u002Fdefaults",[14,241,242],{},"Special case for WebSocket LSP endpoints:",[32,244,245],{},[35,246,247,250,251,254,255,250,258,261],{},[93,248,249],{},"\u002Flsp\u002Fws"," and ",[93,252,253],{},"\u002Flsp\u002Fduckdb\u002Fws"," also accept ",[93,256,257],{},"api_key",[93,259,260],{},"install_id"," query parameters when the client cannot send custom headers during the WebSocket handshake",[56,263,53],{"id":264},"choose-the-right-guide",[14,266,267],{},"Use the Swagger UI on this page for exact schemas. Use the pages below when you need workflow steps or copy-paste examples.",[269,270,271,284],"table",{},[272,273,274],"thead",{},[275,276,277,281],"tr",{},[278,279,280],"th",{},"If you need to...",[278,282,283],{},"Read this guide",[285,286,287,299,310,321,332],"tbody",{},[275,288,289,293],{},[290,291,292],"td",{},"Create, test, clone, or inspect connections",[290,294,295],{},[23,296,298],{"href":297},"\u002Fdocs\u002Fapi\u002Fconnections","Connections API",[275,300,301,304],{},[290,302,303],{},"Create stream configs and control runs",[290,305,306],{},[23,307,309],{"href":308},"\u002Fdocs\u002Fapi\u002Fstreams","Streams API",[275,311,312,315],{},[290,313,314],{},"Read local files, cloud storage, or file metadata",[290,316,317],{},[23,318,320],{"href":319},"\u002Fdocs\u002Fapi\u002Ffiles-and-storage","Files & Storage Workflows",[275,322,323,326],{},[290,324,325],{},"Run federated or DuckDB-backed queries",[290,327,328],{},[23,329,331],{"href":330},"\u002Fdocs\u002Fapi\u002Ffederated-queries","Federated Query Workflows",[275,333,334,337],{},[290,335,336],{},"Inspect runtime logs and operational state",[290,338,339],{},[23,340,342],{"href":341},"\u002Fdocs\u002Fapi\u002Flogs-and-monitoring","Logs & Monitoring Workflows",[56,344,346],{"id":345},"use-the-swagger-contract-effectively","Use the Swagger contract effectively",[348,349,350,353,363,401,415],"ol",{},[35,351,352],{},"Confirm the base URL shown in Swagger matches your deployment.",[35,354,355,356,359,360,362],{},"Open ",[20,357,358],{},"Authorize"," and enter the authentication values from ",[23,361,74],{"href":73}," if you need authenticated routes.",[35,364,365,366],{},"Open the tag that matches your task:\n",[32,367,368,374,380,389,395],{},[35,369,370,373],{},[93,371,372],{},"User Management"," for user state and optional config warm-up",[35,375,376,379],{},[93,377,378],{},"Connections Management"," for database, files, metadata, and query endpoints",[35,381,382,250,385,388],{},[93,383,384],{},"Stream Configuration",[93,386,387],{},"Stream Operations"," for stream lifecycle work",[35,390,391,394],{},[93,392,393],{},"Files"," for file reads, row edits, summaries, counts, and S3 helpers",[35,396,397,400],{},[93,398,399],{},"Health"," for readiness and runtime checks",[35,402,403,404],{},"Expand the operation you need and inspect:\n",[32,405,406,409,412],{},[35,407,408],{},"required path and query parameters",[35,410,411],{},"request body schema",[35,413,414],{},"response examples and status codes",[35,416,417,418,421],{},"Use ",[20,419,420],{},"Try it out"," only after you confirm the selected server and headers are correct.",[56,423,425],{"id":424},"verification-checks","Verification checks",[14,427,428],{},"Use these checks before relying on a route in automation:",[86,430,432],{"className":88,"code":431,"language":90,"meta":91,"style":91},"curl -X GET \"http:\u002F\u002F127.0.0.1:8020\u002Fapi\u002Fv1\u002Fready\"\n",[93,433,434],{"__ignoreMap":91},[96,435,436,438,440,442],{"class":98,"line":99},[96,437,103],{"class":102},[96,439,107],{"class":106},[96,441,111],{"class":110},[96,443,444],{"class":110}," \"http:\u002F\u002F127.0.0.1:8020\u002Fapi\u002Fv1\u002Fready\"\n",[32,446,447,453],{},[35,448,449,452],{},[93,450,451],{},"200"," means the API is ready to serve requests",[35,454,455,458],{},[93,456,457],{},"503"," means the API is not ready",[14,460,461],{},"Optional config warm-up for diagnostics or post-restart validation uses the same authenticated request pattern:",[86,463,465],{"className":88,"code":464,"language":90,"meta":91,"style":91},"curl -X GET \"http:\u002F\u002F127.0.0.1:8020\u002Fapi\u002Fv1\u002Fuser\u002Fconfigs\" \\\n  -H \"X-API-Key: YOUR_API_KEY\" \\\n  -H \"X-Install-ID: YOUR_INSTALL_ID\"\n",[93,466,467,480,488],{"__ignoreMap":91},[96,468,469,471,473,475,478],{"class":98,"line":99},[96,470,103],{"class":102},[96,472,107],{"class":106},[96,474,111],{"class":110},[96,476,477],{"class":110}," \"http:\u002F\u002F127.0.0.1:8020\u002Fapi\u002Fv1\u002Fuser\u002Fconfigs\"",[96,479,202],{"class":106},[96,481,482,484,486],{"class":98,"line":133},[96,483,207],{"class":106},[96,485,210],{"class":110},[96,487,202],{"class":106},[96,489,490,492],{"class":98,"line":145},[96,491,207],{"class":106},[96,493,219],{"class":110},[14,495,496,499],{},[93,497,498],{},"\u002Fuser\u002Fconfigs"," is available for manual warm-up or forced refresh, but the current backend also auto-initializes user configs on the first authenticated request.",[56,501,503],{"id":502},"troubleshooting","Troubleshooting",[505,506,508],"h3",{"id":507},"_401-unauthorized",[93,509,510],{},"401 Unauthorized",[32,512,513,519],{},[35,514,515,516,518],{},"Confirm the authentication headers from ",[23,517,74],{"href":73}," are present on the request",[35,520,521,522],{},"Re-check the Swagger server selector before using ",[20,523,420],{},[505,525,527],{"id":526},"swagger-points-to-the-wrong-host-or-port","Swagger points to the wrong host or port",[32,529,530,533],{},[35,531,532],{},"The embedded contract includes local server entries",[35,534,535],{},"If your deployment uses a different host, keep the same route path and substitute your own base URL when issuing requests outside Swagger",[505,537,539],{"id":538},"missing-user-configs-after-restart-or-cache-clear","Missing user configs after restart or cache clear",[32,541,542,548],{},[35,543,544,545,547],{},"Call ",[93,546,498],{}," once to force a refresh",[35,549,550,551],{},"Retry the original authenticated request after the warm-up returns ",[93,552,451],{},[56,554,556],{"id":555},"full-contract","Full contract",[14,558,559],{},"The embedded Swagger UI below is the canonical checked-in endpoint contract used by this docs site. Use it for exact request and response shapes.",[561,562],"swagger-u-i",{},[564,565,566],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":91,"searchDepth":133,"depth":133,"links":568},[569,570,571,572,573,574,575,580],{"id":58,"depth":133,"text":59},{"id":80,"depth":133,"text":81},{"id":158,"depth":133,"text":74},{"id":264,"depth":133,"text":53},{"id":345,"depth":133,"text":346},{"id":424,"depth":133,"text":425},{"id":502,"depth":133,"text":503,"children":576},[577,578,579],{"id":507,"depth":145,"text":510},{"id":526,"depth":145,"text":527},{"id":538,"depth":145,"text":539},{"id":555,"depth":133,"text":556},"Use the embedded Swagger contract to verify authentication, browse endpoint groups, and inspect exact request and response schemas.","md",{},false,"\u002Fdocs\u002Fapi\u002Freference",null,{"title":5,"description":581},"docs\u002Fapi\u002Freference","mqt5Ql7u-S_QJIBnvgfCAB1NNXyQhhVF55r6AFmuxIw",1783896283400]