"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9339],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>k});var n=a(67294);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){s(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,s=function(e,t){if(null==e)return{};var a,n,s={},r=Object.keys(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||(s[a]=e[a]);return s}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(s[a]=e[a])}return s}var i=n.createContext({}),u=function(e){var t=n.useContext(i),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},p=function(e){var t=u(e.components);return n.createElement(i.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},c=n.forwardRef((function(e,t){var a=e.components,s=e.mdxType,r=e.originalType,i=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),d=u(a),c=s,k=d["".concat(i,".").concat(c)]||d[c]||m[c]||r;return a?n.createElement(k,l(l({ref:t},p),{},{components:a})):n.createElement(k,l({ref:t},p))}));function k(e,t){var a=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var r=a.length,l=new Array(r);l[0]=c;var o={};for(var i in t)hasOwnProperty.call(t,i)&&(o[i]=t[i]);o.originalType=e,o[d]="string"==typeof e?e:s,l[1]=o;for(var u=2;u<r;u++)l[u]=a[u];return n.createElement.apply(null,l)}return n.createElement.apply(null,a)}c.displayName="MDXCreateElement"},85162:(e,t,a)=>{a.d(t,{Z:()=>l});var n=a(67294),s=a(86010);const r={tabItem:"tabItem_Ymn6"};function l(e){var t=e.children,a=e.hidden,l=e.className;return n.createElement("div",{role:"tabpanel",className:(0,s.Z)(r.tabItem,l),hidden:a},t)}},74866:(e,t,a)=>{a.d(t,{Z:()=>y});var n=a(87462),s=a(67294),r=a(86010),l=a(12466),o=a(16550),i=a(91980),u=a(67392),p=a(50012);function d(e){return function(e){var t,a;return null!=(t=null==(a=s.Children.map(e,(function(e){if(!e||(0,s.isValidElement)(e)&&(t=e.props)&&"object"==typeof t&&"value"in t)return e;var t;throw new Error("Docusaurus error: Bad <Tabs> child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.')})))?void 0:a.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function m(e){var t=e.values,a=e.children;return(0,s.useMemo)((function(){var e=null!=t?t:d(a);return function(e){var t=(0,u.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in <Tabs>. Every value needs to be unique.')}(e),e}),[t,a])}function c(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function k(e){var t=e.queryString,a=void 0!==t&&t,n=e.groupId,r=(0,o.k6)(),l=function(e){var t=e.queryString,a=void 0!==t&&t,n=e.groupId;if("string"==typeof a)return a;if(!1===a)return null;if(!0===a&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=n?n:null}({queryString:a,groupId:n});return[(0,i._X)(l),(0,s.useCallback)((function(e){if(l){var t=new URLSearchParams(r.location.search);t.set(l,e),r.replace(Object.assign({},r.location,{search:t.toString()}))}}),[l,r])]}function h(e){var t,a,n,r,l=e.defaultValue,o=e.queryString,i=void 0!==o&&o,u=e.groupId,d=m(e),h=(0,s.useState)((function(){return function(e){var t,a=e.defaultValue,n=e.tabValues;if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(a){if(!c({value:a,tabValues:n}))throw new Error('Docusaurus error: The <Tabs> has a defaultValue "'+a+'" but none of its children has the corresponding value. Available values are: '+n.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return a}var s=null!=(t=n.find((function(e){return e.default})))?t:n[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:l,tabValues:d})})),g=h[0],T=h[1],v=k({queryString:i,groupId:u}),f=v[0],b=v[1],y=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:u}.groupId),a=(0,p.Nk)(t),n=a[0],r=a[1],[n,(0,s.useCallback)((function(e){t&&r.set(e)}),[t,r])]),N=y[0],R=y[1],_=function(){var e=null!=f?f:N;return c({value:e,tabValues:d})?e:null}();return(0,s.useLayoutEffect)((function(){_&&T(_)}),[_]),{selectedValue:g,selectValue:(0,s.useCallback)((function(e){if(!c({value:e,tabValues:d}))throw new Error("Can't select invalid tab value="+e);T(e),b(e),R(e)}),[b,R,d]),tabValues:d}}var g=a(72389);const T={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function v(e){var t=e.className,a=e.block,o=e.selectedValue,i=e.selectValue,u=e.tabValues,p=[],d=(0,l.o5)().blockElementScrollPositionUntilNextRender,m=function(e){var t=e.currentTarget,a=p.indexOf(t),n=u[a].value;n!==o&&(d(t),i(n))},c=function(e){var t,a=null;switch(e.key){case"Enter":m(e);break;case"ArrowRight":var n,s=p.indexOf(e.currentTarget)+1;a=null!=(n=p[s])?n:p[0];break;case"ArrowLeft":var r,l=p.indexOf(e.currentTarget)-1;a=null!=(r=p[l])?r:p[p.length-1]}null==(t=a)||t.focus()};return s.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":a},t)},u.map((function(e){var t=e.value,a=e.label,l=e.attributes;return s.createElement("li",(0,n.Z)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:function(e){return p.push(e)},onKeyDown:c,onClick:m},l,{className:(0,r.Z)("tabs__item",T.tabItem,null==l?void 0:l.className,{"tabs__item--active":o===t})}),null!=a?a:t)})))}function f(e){var t=e.lazy,a=e.children,n=e.selectedValue,r=(Array.isArray(a)?a:[a]).filter(Boolean);if(t){var l=r.find((function(e){return e.props.value===n}));return l?(0,s.cloneElement)(l,{className:"margin-top--md"}):null}return s.createElement("div",{className:"margin-top--md"},r.map((function(e,t){return(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==n})})))}function b(e){var t=h(e);return s.createElement("div",{className:(0,r.Z)("tabs-container",T.tabList)},s.createElement(v,(0,n.Z)({},e,t)),s.createElement(f,(0,n.Z)({},e,t)))}function y(e){var t=(0,g.Z)();return s.createElement(b,(0,n.Z)({key:String(t)},e))}},38384:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>m,contentTitle:()=>p,default:()=>g,frontMatter:()=>u,metadata:()=>d,toc:()=>c});var n=a(87462),s=a(63366),r=(a(67294),a(3905)),l=a(74866),o=a(85162),i=["components"],u={id:"data-management-api",title:"Data management API",sidebar_label:"Data management"},p=void 0,d={unversionedId:"api-reference/data-management-api",id:"api-reference/data-management-api",title:"Data management API",description:"\x3c!--",source:"@site/docs/latest/api-reference/data-management-api.md",sourceDirName:"api-reference",slug:"/api-reference/data-management-api",permalink:"/docs/latest/api-reference/data-management-api",draft:!1,tags:[],version:"current",frontMatter:{id:"data-management-api",title:"Data management API",sidebar_label:"Data management"},sidebar:"docs",previous:{title:"Retention rules",permalink:"/docs/latest/api-reference/retention-rules-api"},next:{title:"Automatic compaction",permalink:"/docs/latest/api-reference/automatic-compaction-api"}},m={},c=[{value:"Segment management",id:"segment-management",level:2},{value:"Segment IDs",id:"segment-ids",level:3},{value:"Mark a single segment unused",id:"mark-a-single-segment-unused",level:3},{value:"URL",id:"url",level:4},{value:"Header",id:"header",level:4},{value:"Responses",id:"responses",level:4},{value:"Sample request",id:"sample-request",level:4},{value:"Sample response",id:"sample-response",level:4},{value:"Mark a single segment as used",id:"mark-a-single-segment-as-used",level:3},{value:"URL",id:"url-1",level:4},{value:"Header",id:"header-1",level:4},{value:"Responses",id:"responses-1",level:4},{value:"Sample request",id:"sample-request-1",level:4},{value:"Sample response",id:"sample-response-1",level:4},{value:"Mark a group of segments unused",id:"mark-a-group-of-segments-unused",level:3},{value:"URL",id:"url-2",level:4},{value:"Request body",id:"request-body",level:4},{value:"Responses",id:"responses-2",level:4},{value:"Sample request",id:"sample-request-2",level:4},{value:"Sample response",id:"sample-response-2",level:4},{value:"Mark a group of segments used",id:"mark-a-group-of-segments-used",level:3},{value:"URL",id:"url-3",level:4},{value:"Request body",id:"request-body-1",level:4},{value:"Responses",id:"responses-3",level:4},{value:"Sample request",id:"sample-request-3",level:4},{value:"Sample response",id:"sample-response-3",level:4},{value:"Mark all segments unused",id:"mark-all-segments-unused",level:3},{value:"URL",id:"url-4",level:4},{value:"Responses",id:"responses-4",level:4},{value:"Sample request",id:"sample-request-4",level:4},{value:"Sample response",id:"sample-response-4",level:4},{value:"Mark all segments used",id:"mark-all-segments-used",level:3},{value:"URL",id:"url-5",level:4},{value:"Header",id:"header-2",level:4},{value:"Responses",id:"responses-5",level:4},{value:"Sample request",id:"sample-request-5",level:4},{value:"Sample response",id:"sample-response-5",level:4},{value:"Segment deletion",id:"segment-deletion",level:2},{value:"Permanently delete segments",id:"permanently-delete-segments",level:3},{value:"URL",id:"url-6",level:4},{value:"Responses",id:"responses-6",level:4},{value:"Sample request",id:"sample-request-6",level:4},{value:"Sample response",id:"sample-response-6",level:4}],k={toc:c},h="wrapper";function g(e){var t=e.components,a=(0,s.Z)(e,i);return(0,r.kt)(h,(0,n.Z)({},k,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"This topic describes the data management API endpoints for Apache Druid.\nThis includes information on how to mark segments as used or unused and delete them from Druid."),(0,r.kt)("p",null,"In this topic, ",(0,r.kt)("inlineCode",{parentName:"p"},"http://ROUTER_IP:ROUTER_PORT")," is a placeholder for your Router service address and port.\nReplace it with the information for your deployment.\nFor example, use ",(0,r.kt)("inlineCode",{parentName:"p"},"http://localhost:8888")," for quickstart deployments."),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"Avoid using indexing or kill tasks and these APIs at the same time for the same datasource and time chunk.")),(0,r.kt)("h2",{id:"segment-management"},"Segment management"),(0,r.kt)("p",null,"You can mark segments as used by sending POST requests to the datasource, but the Coordinator may subsequently mark segments as unused if they meet any configured ",(0,r.kt)("a",{parentName:"p",href:"/docs/latest/operations/rule-configuration#drop-rules"},"drop rules"),".\nEven if these API requests update segments to used, you still need to configure a ",(0,r.kt)("a",{parentName:"p",href:"/docs/latest/operations/rule-configuration#load-rules"},"load rule")," to load them onto Historical processes."),(0,r.kt)("p",null,"When you use these APIs concurrently with an indexing task or a kill task, the behavior is undefined.\nDruid terminates some segments and marks others as used.\nFurthermore, it is possible that all segments could be unused, yet an indexing task might still be able to read data from these segments and complete successfully."),(0,r.kt)("h3",{id:"segment-ids"},"Segment IDs"),(0,r.kt)("p",null,"You must provide segment IDs when using many of the endpoints described in this topic.\nFor information on segment IDs, see ",(0,r.kt)("a",{parentName:"p",href:"/docs/latest/design/segments#segment-identification"},"Segment identification"),".\nFor information on finding segment IDs in the web console, see ",(0,r.kt)("a",{parentName:"p",href:"/docs/latest/operations/web-console#segments"},"Segments"),"."),(0,r.kt)("h3",{id:"mark-a-single-segment-unused"},"Mark a single segment unused"),(0,r.kt)("p",null,'Marks the state of a segment as unused, using the segment ID.\nThis is a "soft delete" of the segment from Historicals.\nTo undo this action, ',(0,r.kt)("a",{parentName:"p",href:"#mark-a-single-segment-as-used"},"mark the segment used"),"."),(0,r.kt)("p",null,"Note that this endpoint returns an HTTP ",(0,r.kt)("inlineCode",{parentName:"p"},"200 OK")," response code even if the segment ID or datasource doesn't exist."),(0,r.kt)("h4",{id:"url"},"URL"),(0,r.kt)("code",{class:"deleteAPI"},"DELETE")," ",(0,r.kt)("code",null,"/druid/coordinator/v1/datasources/:datasource/segments/:segmentId"),(0,r.kt)("h4",{id:"header"},"Header"),(0,r.kt)("p",null,"The following headers are required for this request:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},"Content-Type: application/json\nAccept: application/json, text/plain\n")),(0,r.kt)("h4",{id:"responses"},"Responses"),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"1",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Successfully updated segment")))),(0,r.kt)("hr",null),(0,r.kt)("h4",{id:"sample-request"},"Sample request"),(0,r.kt)("p",null,"The following example updates the segment ",(0,r.kt)("inlineCode",{parentName:"p"},"wikipedia_hour_2015-09-12T16:00:00.000Z_2015-09-12T17:00:00.000Z_2023-08-10T04:12:03.860Z")," from datasource ",(0,r.kt)("inlineCode",{parentName:"p"},"wikipedia_hour")," as ",(0,r.kt)("inlineCode",{parentName:"p"},"unused"),"."),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"2",label:"cURL",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"curl --request DELETE \"http://ROUTER_IP:ROUTER_PORT/druid/coordinator/v1/datasources/wikipedia_hour/segments/wikipedia_hour_2015-09-12T16:00:00.000Z_2015-09-12T17:00:00.000Z_2023-08-10T04:12:03.860Z\" \\\n--header 'Content-Type: application/json' \\\n--header 'Accept: application/json, text/plain'\n"))),(0,r.kt)(o.Z,{value:"3",label:"HTTP",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-HTTP"},"DELETE /druid/coordinator/v1/datasources/wikipedia_hour/segments/wikipedia_hour_2015-09-12T16:00:00.000Z_2015-09-12T17:00:00.000Z_2023-08-10T04:12:03.860Z HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\nContent-Type: application/json\nAccept: application/json, text/plain\n")))),(0,r.kt)("h4",{id:"sample-response"},"Sample response"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show sample response"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'{\n    "segmentStateChanged": true\n}\n'))),(0,r.kt)("h3",{id:"mark-a-single-segment-as-used"},"Mark a single segment as used"),(0,r.kt)("p",null,"Marks the state of a segment as used, using the segment ID."),(0,r.kt)("h4",{id:"url-1"},"URL"),(0,r.kt)("code",{class:"postAPI"},"POST")," ",(0,r.kt)("code",null,"/druid/coordinator/v1/datasources/segments/:segmentId"),(0,r.kt)("h4",{id:"header-1"},"Header"),(0,r.kt)("p",null,"The following headers are required for this request:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},"Content-Type: application/json\nAccept: application/json, text/plain\n")),(0,r.kt)("h4",{id:"responses-1"},"Responses"),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"4",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Successfully updated segments")))),(0,r.kt)("hr",null),(0,r.kt)("h4",{id:"sample-request-1"},"Sample request"),(0,r.kt)("p",null,"The following example updates the segment with ID ",(0,r.kt)("inlineCode",{parentName:"p"},"wikipedia_hour_2015-09-12T18:00:00.000Z_2015-09-12T19:00:00.000Z_2023-08-10T04:12:03.860Z")," to used."),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"5",label:"cURL",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"curl --request POST \"http://ROUTER_IP:ROUTER_PORT/druid/coordinator/v1/datasources/wikipedia_hour/segments/wikipedia_hour_2015-09-12T18:00:00.000Z_2015-09-12T19:00:00.000Z_2023-08-10T04:12:03.860Z\" \\\n--header 'Content-Type: application/json' \\\n--header 'Accept: application/json, text/plain'\n"))),(0,r.kt)(o.Z,{value:"6",label:"HTTP",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-HTTP"},"POST /druid/coordinator/v1/datasources/wikipedia_hour/segments/wikipedia_hour_2015-09-12T18:00:00.000Z_2015-09-12T19:00:00.000Z_2023-08-10T04:12:03.860Z HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\nContent-Type: application/json\nAccept: application/json, text/plain\n")))),(0,r.kt)("h4",{id:"sample-response-1"},"Sample response"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show sample response"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'{\n    "segmentStateChanged": true\n}\n'))),(0,r.kt)("h3",{id:"mark-a-group-of-segments-unused"},"Mark a group of segments unused"),(0,r.kt)("p",null,"Marks the state of a group of segments as unused, using an array of segment IDs or an interval.\nPass the array of segment IDs or interval as a JSON object in the request body."),(0,r.kt)("p",null,"For the interval, specify the start and end times as ISO 8601 strings to identify segments inclusive of the start time and exclusive of the end time.\nDruid only updates the segments completely contained within the specified interval; partially overlapping segments are not affected."),(0,r.kt)("h4",{id:"url-2"},"URL"),(0,r.kt)("code",{class:"postAPI"},"POST")," ",(0,r.kt)("code",null,"/druid/coordinator/v1/datasources/:datasource/markUnused"),(0,r.kt)("h4",{id:"request-body"},"Request body"),(0,r.kt)("p",null,"The group of segments is sent as a JSON request payload that accepts one of the following properties:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Property"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"interval")),(0,r.kt)("td",{parentName:"tr",align:null},"ISO 8601 segments interval."),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},'"2015-09-12T03:00:00.000Z/2015-09-12T05:00:00.000Z"'))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"segmentIds")),(0,r.kt)("td",{parentName:"tr",align:null},"Array of segment IDs."),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},'["segmentId1", "segmentId2"]'))))),(0,r.kt)("h4",{id:"responses-2"},"Responses"),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"7",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Successfully updated segments"))),(0,r.kt)(o.Z,{value:"8",label:"204 NO CONTENT",mdxType:"TabItem"},(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Invalid datasource name"))),(0,r.kt)(o.Z,{value:"9",label:"400 BAD REQUEST",mdxType:"TabItem"},(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Invalid request payload")))),(0,r.kt)("hr",null),(0,r.kt)("h4",{id:"sample-request-2"},"Sample request"),(0,r.kt)("p",null,"The following example marks two segments from the ",(0,r.kt)("inlineCode",{parentName:"p"},"wikipedia_hour")," datasource unused based on their segment IDs."),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"10",label:"cURL",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},'curl "http://ROUTER_IP:ROUTER_PORT/druid/coordinator/v1/datasources/wikipedia_hour/markUnused" \\\n--header \'Content-Type: application/json\' \\\n--data \'{\n    "segmentIds": [\n        "wikipedia_hour_2015-09-12T14:00:00.000Z_2015-09-12T15:00:00.000Z_2023-08-10T04:12:03.860Z",\n        "wikipedia_hour_2015-09-12T04:00:00.000Z_2015-09-12T05:00:00.000Z_2023-08-10T04:12:03.860Z"\n    ]\n}\'\n'))),(0,r.kt)(o.Z,{value:"11",label:"HTTP",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-HTTP"},'POST /druid/coordinator/v1/datasources/wikipedia_hour/markUnused HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\nContent-Type: application/json\nContent-Length: 230\n\n{\n    "segmentIds": [\n        "wikipedia_hour_2015-09-12T14:00:00.000Z_2015-09-12T15:00:00.000Z_2023-08-10T04:12:03.860Z",\n        "wikipedia_hour_2015-09-12T04:00:00.000Z_2015-09-12T05:00:00.000Z_2023-08-10T04:12:03.860Z"\n    ]\n}\n')))),(0,r.kt)("h4",{id:"sample-response-2"},"Sample response"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show sample response"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'{\n    "numChangedSegments": 2\n}\n'))),(0,r.kt)("h3",{id:"mark-a-group-of-segments-used"},"Mark a group of segments used"),(0,r.kt)("p",null,"Marks the state of a group of segments as used, using an array of segment IDs or an interval.\nPass the array of segment IDs or interval as a JSON object in the request body."),(0,r.kt)("p",null,"For the interval, specify the start and end times as ISO 8601 strings to identify segments inclusive of the start time and exclusive of the end time.\nDruid only updates the segments completely contained within the specified interval; partially overlapping segments are not affected."),(0,r.kt)("h4",{id:"url-3"},"URL"),(0,r.kt)("code",{class:"postAPI"},"POST")," ",(0,r.kt)("code",null,"/druid/coordinator/v1/datasources/:datasource/markUsed"),(0,r.kt)("h4",{id:"request-body-1"},"Request body"),(0,r.kt)("p",null,"The group of segments is sent as a JSON request payload that accepts one of the following properties:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Property"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"interval")),(0,r.kt)("td",{parentName:"tr",align:null},"ISO 8601 segments interval."),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},'"2015-09-12T03:00:00.000Z/2015-09-12T05:00:00.000Z"'))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"segmentIds")),(0,r.kt)("td",{parentName:"tr",align:null},"Array of segment IDs."),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},'["segmentId1", "segmentId2"]'))))),(0,r.kt)("h4",{id:"responses-3"},"Responses"),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"12",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Successfully updated segments"))),(0,r.kt)(o.Z,{value:"13",label:"204 NO CONTENT",mdxType:"TabItem"},(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Invalid datasource name"))),(0,r.kt)(o.Z,{value:"14",label:"400 BAD REQUEST",mdxType:"TabItem"},(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Invalid request payload")))),(0,r.kt)("hr",null),(0,r.kt)("h4",{id:"sample-request-3"},"Sample request"),(0,r.kt)("p",null,"The following example marks two segments from the ",(0,r.kt)("inlineCode",{parentName:"p"},"wikipedia_hour")," datasource used based on their segment IDs."),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"15",label:"cURL",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},'curl "http://ROUTER_IP:ROUTER_PORT/druid/coordinator/v1/datasources/wikipedia_hour/markUsed" \\\n--header \'Content-Type: application/json\' \\\n--data \'{\n    "segmentIds": [\n        "wikipedia_hour_2015-09-12T14:00:00.000Z_2015-09-12T15:00:00.000Z_2023-08-10T04:12:03.860Z",\n        "wikipedia_hour_2015-09-12T04:00:00.000Z_2015-09-12T05:00:00.000Z_2023-08-10T04:12:03.860Z"\n    ]\n}\'\n'))),(0,r.kt)(o.Z,{value:"16",label:"HTTP",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-HTTP"},'POST /druid/coordinator/v1/datasources/wikipedia_hour/markUsed HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\nContent-Type: application/json\nContent-Length: 230\n\n{\n    "segmentIds": [\n        "wikipedia_hour_2015-09-12T14:00:00.000Z_2015-09-12T15:00:00.000Z_2023-08-10T04:12:03.860Z",\n        "wikipedia_hour_2015-09-12T04:00:00.000Z_2015-09-12T05:00:00.000Z_2023-08-10T04:12:03.860Z"\n    ]\n}\n')))),(0,r.kt)("h4",{id:"sample-response-3"},"Sample response"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show sample response"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'{\n    "numChangedSegments": 2\n}\n'))),(0,r.kt)("h3",{id:"mark-all-segments-unused"},"Mark all segments unused"),(0,r.kt)("p",null,'Marks the state of all segments of a datasource as unused.\nThis action performs a "soft delete" of the segments from Historicals.'),(0,r.kt)("p",null,"Note that this endpoint returns an HTTP ",(0,r.kt)("inlineCode",{parentName:"p"},"200 OK")," response code even if the datasource doesn't exist."),(0,r.kt)("h4",{id:"url-4"},"URL"),(0,r.kt)("code",{class:"deleteAPI"},"DELETE")," ",(0,r.kt)("code",null,"/druid/coordinator/v1/datasources/:datasource"),(0,r.kt)("h4",{id:"responses-4"},"Responses"),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"17",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Successfully updated segments")))),(0,r.kt)("hr",null),(0,r.kt)("h4",{id:"sample-request-4"},"Sample request"),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"18",label:"cURL",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},'curl --request DELETE "http://ROUTER_IP:ROUTER_PORT/druid/coordinator/v1/datasources/wikipedia_hour"\n'))),(0,r.kt)(o.Z,{value:"19",label:"HTTP",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-HTTP"},"DELETE /druid/coordinator/v1/datasources/wikipedia_hour HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.kt)("h4",{id:"sample-response-4"},"Sample response"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show sample response"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'{\n    "numChangedSegments": 24\n}\n'))),(0,r.kt)("h3",{id:"mark-all-segments-used"},"Mark all segments used"),(0,r.kt)("p",null,"Marks the state of all unused segments of a datasource as used.\nThe endpoint returns the number of changed segments."),(0,r.kt)("p",null,"Note that this endpoint returns an HTTP ",(0,r.kt)("inlineCode",{parentName:"p"},"200 OK")," response code even if the datasource doesn't exist."),(0,r.kt)("h4",{id:"url-5"},"URL"),(0,r.kt)("code",{class:"postAPI"},"POST")," ",(0,r.kt)("code",null,"/druid/coordinator/v1/datasources/:datasource"),(0,r.kt)("h4",{id:"header-2"},"Header"),(0,r.kt)("p",null,"The following headers are required for this request:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},"Content-Type: application/json\nAccept: application/json, text/plain\n")),(0,r.kt)("h4",{id:"responses-5"},"Responses"),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"20",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Successfully updated segments")))),(0,r.kt)("hr",null),(0,r.kt)("h4",{id:"sample-request-5"},"Sample request"),(0,r.kt)("p",null,"The following example updates all unused segments of ",(0,r.kt)("inlineCode",{parentName:"p"},"wikipedia_hour")," to used.\n",(0,r.kt)("inlineCode",{parentName:"p"},"wikipedia_hour")," contains one unused segment eligible to be marked as used."),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"21",label:"cURL",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"curl --request POST \"http://ROUTER_IP:ROUTER_PORT/druid/coordinator/v1/datasources/wikipedia_hour\" \\\n--header 'Content-Type: application/json' \\\n--header 'Accept: application/json, text/plain'\n"))),(0,r.kt)(o.Z,{value:"22",label:"HTTP",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-HTTP"},"POST /druid/coordinator/v1/datasources/wikipedia_hour HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\nContent-Type: application/json\nAccept: application/json, text/plain\n")))),(0,r.kt)("h4",{id:"sample-response-5"},"Sample response"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show sample response"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'{\n    "numChangedSegments": 1\n}\n'))),(0,r.kt)("h2",{id:"segment-deletion"},"Segment deletion"),(0,r.kt)("h3",{id:"permanently-delete-segments"},"Permanently delete segments"),(0,r.kt)("p",null,"The DELETE endpoint sends a ",(0,r.kt)("a",{parentName:"p",href:"/docs/latest/ingestion/tasks"},"kill task")," for a given interval and datasource. The interval value is an ISO 8601 string delimited by ",(0,r.kt)("inlineCode",{parentName:"p"},"_"),". This request permanently deletes all metadata for unused segments and removes them from deep storage."),(0,r.kt)("p",null,"Note that this endpoint returns an HTTP ",(0,r.kt)("inlineCode",{parentName:"p"},"200 OK")," response code even if the datasource doesn't exist."),(0,r.kt)("p",null,"This endpoint supersedes the deprecated endpoint: ",(0,r.kt)("inlineCode",{parentName:"p"},"DELETE /druid/coordinator/v1/datasources/:datasource?kill=true&interval=:interval")),(0,r.kt)("h4",{id:"url-6"},"URL"),(0,r.kt)("code",{class:"deleteAPI"},"DELETE")," ",(0,r.kt)("code",null,"/druid/coordinator/v1/datasources/:datasource/intervals/:interval"),(0,r.kt)("h4",{id:"responses-6"},"Responses"),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"23",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Successfully sent kill task")))),(0,r.kt)("hr",null),(0,r.kt)("h4",{id:"sample-request-6"},"Sample request"),(0,r.kt)("p",null,"The following example sends a kill task to permanently delete segments in the datasource ",(0,r.kt)("inlineCode",{parentName:"p"},"wikipedia_hour")," from the interval ",(0,r.kt)("inlineCode",{parentName:"p"},"2015-09-12")," to ",(0,r.kt)("inlineCode",{parentName:"p"},"2015-09-13"),"."),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"24",label:"cURL",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},'curl --request DELETE "http://ROUTER_IP:ROUTER_PORT/druid/coordinator/v1/datasources/wikipedia_hour/intervals/2015-09-12_2015-09-13"\n'))),(0,r.kt)(o.Z,{value:"25",label:"HTTP",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-HTTP"},"DELETE /druid/coordinator/v1/datasources/wikipedia_hour/intervals/2015-09-12_2015-09-13 HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.kt)("h4",{id:"sample-response-6"},"Sample response"),(0,r.kt)("p",null,"A successful request returns an HTTP ",(0,r.kt)("inlineCode",{parentName:"p"},"200 OK")," and an empty response body."))}g.isMDXComponent=!0}}]);