{"version":3,"sources":["webpack:///./src/pages/docs/api.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","parentName","type","message","className","spec","openapi","isMDXComponent"],"mappings":"wSAYaA,G,oBAAe,S,wMAC5B,IAAMC,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeD,EAAiBK,EAAhC,CAAuCD,WAAYA,EAAYE,QAAQ,cAG5E,iBAAQ,CACN,GAAM,OADR,OAIA,0CAAyB,sBAAQC,WAAW,KAAnB,YAAzB,iBACF,6BAAGA,WAAW,KAAQ,CAChB,KAAQ,sCADd,yBADE,mEAKF,6BAAGA,WAAW,KAAQ,CAChB,KAAQ,mDADd,oBALE,KAQA,iBAAOC,KAAK,OAAOC,QAAS,uBAC1B,oCAD0B,gGAIvB,yCAJuB,iBAKpBH,QAAQ,UAChB,uBAAM,uBAAM,uBACZ,mBAAKI,UAAU,qBACjB,YAAC,IAAD,CAAWC,KAAMC,EAASN,QAAQ,qB,sMAMpCH,EAAWU,gBAAiB","file":"component---src-pages-docs-api-mdx-70e2516246c5ee0bf194.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\n\nimport DefaultLayout from \"/home/runner/work/superset/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nimport SwaggerUI from 'swagger-ui-react';\nimport openapi from 'src/resources/openapi.json';\nimport 'swagger-ui-react/swagger-ui.css';\nimport { Alert } from 'antd';\nexport const _frontmatter = {};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n\n\n    <h2 {...{\n      \"id\": \"api\"\n    }}>{`API`}</h2>\n\n    <p>{`Superset's public `}<strong parentName=\"p\">{`REST API`}</strong>{` follows the\n`}<a parentName=\"p\" {...{\n        \"href\": \"https://swagger.io/specification/\"\n      }}>{`OpenAPI specification`}</a>{`, and is\ndocumented here. The docs bellow are generated using\n`}<a parentName=\"p\" {...{\n        \"href\": \"https://www.npmjs.com/package/swagger-ui-react\"\n      }}>{`Swagger React UI`}</a>{`.`}</p>\n    <Alert type=\"info\" message={<div>\n      <strong>NOTE! </strong>\n      You can find an interactive version of this documentation\n      on your local Superset instance\n      at <strong>/swagger/v1</strong> (if enabled)\n    </div>} mdxType=\"Alert\" />\n    <br /><br /><hr />\n    <div className=\"swagger-container\">\n  <SwaggerUI spec={openapi} mdxType=\"SwaggerUI\" />\n    </div>\n\n    </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}