(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{"1Yst":function(e,t,n){"use strict";n.r(t),n.d(t,"_frontmatter",(function(){return p})),n.d(t,"default",(function(){return m}));n("2DKY");var a=n("+KLJ"),c=n("k1TG"),r=n("8o2o"),o=(n("q1tI"),n("7ljp")),b=n("hhGP"),i=n("bcBd"),s=n("LCvR"),p=(n("ttYw"),n("qKvR"),{});void 0!==p&&p&&p===Object(p)&&Object.isExtensible(p)&&!p.hasOwnProperty("__filemeta")&&Object.defineProperty(p,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/pages/docs/api.mdx"}});var l={_frontmatter:p},u=b.a;function m(e){var t=e.components,n=Object(r.a)(e,["components"]);return Object(o.b)(u,Object(c.a)({},l,n,{components:t,mdxType:"MDXLayout"}),Object(o.b)("h2",{id:"api"},"API"),Object(o.b)("p",null,"Superset's public ",Object(o.b)("strong",{parentName:"p"},"REST API")," follows the\n",Object(o.b)("a",Object(c.a)({parentName:"p"},{href:"https://swagger.io/specification/"}),"OpenAPI specification"),", and is\ndocumented here. The docs bellow are generated using\n",Object(o.b)("a",Object(c.a)({parentName:"p"},{href:"https://www.npmjs.com/package/swagger-ui-react"}),"Swagger React UI"),"."),Object(o.b)(a.a,{type:"info",message:Object(o.b)("div",null,Object(o.b)("strong",null,"NOTE! "),"You can find an interactive version of this documentation on your local Superset instance at ",Object(o.b)("strong",null,"/swagger/v1")," (if enabled)"),mdxType:"Alert"}),Object(o.b)("br",null),Object(o.b)("br",null),Object(o.b)("hr",null),Object(o.b)("div",{className:"swagger-container"},Object(o.b)(i.a,{spec:s,mdxType:"SwaggerUI"})))}void 0!==m&&m&&m===Object(m)&&Object.isExtensible(m)&&!m.hasOwnProperty("__filemeta")&&Object.defineProperty(m,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/pages/docs/api.mdx"}}),m.isMDXComponent=!0}}]);
//# sourceMappingURL=component---src-pages-docs-api-mdx-70e2516246c5ee0bf194.js.map