List scan jobs (source and hosted) ordered by (created_at DESC, job_id DESC) with opaque cursor pagination. Supports filtering by visibility, status, scan type, repository name, source_url, source_version, and vulnerability count. Use latest_only=true to collapse repeated scans of the same (source_url, source_version) to the newest row per combo.
Pagination
GET /mcp-hub/scans?limit=20 # first pageGET /mcp-hub/scans?limit=20&cursor=<next_cursor> # subsequent pages
The response includes next_cursor (an opaque base64url string). Pass it back verbatim as the cursor query parameter to fetch the next page. When next_cursor is null you have reached the end of the result set. The cursor is treated as opaque; do not decode or construct it manually.
By default total is not returned. Pass ?include_total=true to opt in โ it costs a separate COUNT(*) round-trip per request and is intended only for UIs that need a โShowing X of Nโ counter.
Enterprise data-license feature: requires MCP Hub API access enabled for your organization, otherwise returns 403. Contact support@enkryptai.com.
GET
/
mcp-hub
/
scans
List Scans
curl --request GET \ --url https://api.enkryptai.com/mcp-hub/scans \ --header 'apikey: <api-key>'
Opaque pagination cursor returned by the previous response as next_cursor. Omit on the first page. Treat as opaque โ do not decode or construct manually.
When true, the response includes a total count of rows matching the filters. Costs an extra COUNT(*) round-trip per page request; omit by default for cursor pagination's constant-time-per-page property.
When true, applies all other filters first, then dedupes results by (source_url, source_version), keeping the newest row per group by created_at. Pagination applies to the deduped list and total reflects the deduped count. Intended for scan_type=source. Returns 400 if the filters would require dedupe over more than 5000 matching rows.
Inclusive upper bound on the vulnerability count (total_vulnerabilities <= N). A "fewer than 7 vulnerabilities" filter is max_total_vulnerabilities=6.
Required range: x >= 0
Response
Paginated list of scans
Cursor-paginated list of scans. Page by passing the previous response's next_cursor back as the cursor query parameter. When next_cursor is null you have reached the end of the result set.
Total rows matching the filters. Only populated when the request set ?include_total=true; omitted by default because counting arbitrary filtered subsets defeats the point of cursor pagination.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Enkrypt AI","colors":{"primary":"#ff6b6b","light":"#ff8a80","dark":"#ee5a24"},"logo":{"light":"https://mintcdn.com/enkryptai-42/7kWxrBaXsO0YvXjU/logo/light-logo.png?fit=max\u0026auto=format\u0026n=7kWxrBaXsO0YvXjU\u0026q=85\u0026s=3e4d5072cef08dc6b8885a03a7821b72","dark":"https://mintcdn.com/enkryptai-42/7kWxrBaXsO0YvXjU/logo/dark-logo.png?fit=max\u0026auto=format\u0026n=7kWxrBaXsO0YvXjU\u0026q=85\u0026s=2134a9f8208236db09c1727430559527"},"favicon":"https://mintcdn.com/enkryptai-42/rjcjkOmgLVUKmbck/favicon.svg?fit=max\u0026auto=format\u0026n=rjcjkOmgLVUKmbck\u0026q=85\u0026s=89efba126b5f4577a46794f171d766f0","appearance":{"default":"light","strict":false},"background":{"decoration":"gradient","color":{"light":"#fff5f5","dark":"#1a0f0f"}},"navbar":{"links":[{"href":"https://app.enkryptai.com/login","label":"Login"},{"href":"https://www.enkryptai.com/request-a-demo","label":"Schedule Demo"}],"primary":{"type":"button","label":"Learn More","href":"https://enkryptai.com"}},"footer":{"socials":{"x":"https://x.com/enkryptai","linkedin":"https://www.linkedin.com/company/enkryptai","website":"https://enkryptai.com"}},"styling":{"codeblocks":"system","latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"enkryptai-42","hasAudioNarration":false,"actualSubdomain":"enkryptai-42","customDomains":["docs.enkryptai.com"],"gitSource":{"type":"github","owner":"enkryptai","repo":"sentry","deployBranch":"docs-wip","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af47357808e60191c70d9b2","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API Reference","count":340},{"language":"default","tag":"Get Started","count":65},{"language":"default","tag":"๐๏ธ Archived","count":48},{"language":"default","tag":"Get Started for Guardrails","count":39},{"language":"default","tag":"Examples","count":35},{"language":"default","tag":"๐ด Red Team API","count":30},{"language":"default","tag":"๐ก๏ธ Guardrails API Endpoints","count":24},{"language":"default","tag":"Red Team (Legacy)","count":22},{"language":"default","tag":"Guardrails Policy (Legacy)","count":11},{"language":"default","tag":"Get Started for Red Team","count":11}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/mcp-hub-api-reference/endpoint/list-scans","slug":"/api-reference/mcp-hub-api-reference/endpoint/list-scans","pageMetadata":{"openapi":"GET /mcp-hub/scans","title":"List Scans","description":"List scan jobs (source and hosted) ordered by `(created_at DESC, job_id DESC)` with **opaque cursor pagination**. Supports filtering by visibility, status, scan type, repository name, `source_url`, `source_version`, and vulnerability count. Use `latest_only=true` to collapse repeated scans of the same `(source_url, source_version)` to the newest row per combo.\n\n## Pagination\n\n```\nGET /mcp-hub/scans?limit=20 # first page\nGET /mcp-hub/scans?limit=20\u0026cursor=\u003cnext_cursor> # subsequent pages\n```\n\nThe response includes `next_cursor` (an opaque base64url string). Pass it back verbatim as the `cursor` query parameter to fetch the next page. When `next_cursor` is `null` you have reached the end of the result set. The cursor is treated as **opaque**; do not decode or construct it manually.\n\nBy default `total` is **not** returned. Pass `?include_total=true` to opt in โ it costs a separate COUNT(\\*) round-trip per request and is intended only for UIs that need a \"Showing X of N\" counter.\n\n**Enterprise data-license feature:** requires MCP Hub API access enabled for your organization, otherwise returns `403`. Contact support@enkryptai.com.","href":"/api-reference/mcp-hub-api-reference/endpoint/list-scans"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n h2: \"h2\",\n p: \"p\",\n pre: \"pre\",\n span: \"span\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n }, {CodeBlock} = _components;\n if (!CodeBlock) _missingMdxReference(\"CodeBlock\", true);\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"List scan jobs (source and hosted) ordered by \", _jsx(_components.code, {\n children: \"(created_at DESC, job_id DESC)\"\n }), \" with \", _jsx(_components.strong, {\n children: \"opaque cursor pagination\"\n }), \". Supports filtering by visibility, status, scan type, repository name, \", _jsx(_components.code, {\n children: \"source_url\"\n }), \", \", _jsx(_components.code, {\n children: \"source_version\"\n }), \", and vulnerability count. Use \", _jsx(_components.code, {\n children: \"latest_only=true\"\n }), \" to collapse repeated scans of the same \", _jsx(_components.code, {\n children: \"(source_url, source_version)\"\n }), \" to the newest row per combo.\"]\n }), \"\\n\", _jsx(_components.h2, {\n children: \"Pagination\"\n }), \"\\n\", _jsx(CodeBlock, {\n numberOfLines: \"3\",\n language: \"text\",\n children: _jsx(_components.pre, {\n className: \"shiki shiki-themes github-light-default dark-plus\",\n style: {\n backgroundColor: \"#ffffff\",\n \"--shiki-dark-bg\": \"#0B0C0E\",\n color: \"#1f2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n language: \"text\",\n children: _jsxs(_components.code, {\n language: \"text\",\n numberOfLines: \"3\",\n children: [_jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n children: \"GET /mcp-hub/scans?limit=20 # first page\"\n })\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n children: \"GET /mcp-hub/scans?limit=20\u0026cursor=\u003cnext_cursor> # subsequent pages\"\n })\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {})\n })]\n })\n })\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The response includes \", _jsx(_components.code, {\n children: \"next_cursor\"\n }), \" (an opaque base64url string). Pass it back verbatim as the \", _jsx(_components.code, {\n children: \"cursor\"\n }), \" query parameter to fetch the next page. When \", _jsx(_components.code, {\n children: \"next_cursor\"\n }), \" is \", _jsx(_components.code, {\n children: \"null\"\n }), \" you have reached the end of the result set. The cursor is treated as \", _jsx(_components.strong, {\n children: \"opaque\"\n }), \"; do not decode or construct it manually.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"By default \", _jsx(_components.code, {\n children: \"total\"\n }), \" is \", _jsx(_components.strong, {\n children: \"not\"\n }), \" returned. Pass \", _jsx(_components.code, {\n children: \"?include_total=true\"\n }), \" to opt in โ it costs a separate COUNT(*) round-trip per request and is intended only for UIs that need a โShowing X of Nโ counter.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Enterprise data-license feature:\"\n }), \" requires MCP Hub API access enabled for your organization, otherwise returns \", _jsx(_components.code, {\n children: \"403\"\n }), \". Contact \", _jsx(_components.a, {\n href: \"mailto:support@enkryptai.com\",\n children: \"support@enkryptai.com\"\n }), \".\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\nfunction _missingMdxReference(id, component) {\n throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\n}\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"openapi":"GET /mcp-hub/scans","title":"List Scans","description":"List scan jobs (source and hosted) ordered by `(created_at DESC, job_id DESC)` with **opaque cursor pagination**. Supports filtering by visibility, status, scan type, repository name, `source_url`, `source_version`, and vulnerability count. Use `latest_only=true` to collapse repeated scans of the same `(source_url, source_version)` to the newest row per combo.\n\n## Pagination\n\n```\nGET /mcp-hub/scans?limit=20 # first page\nGET /mcp-hub/scans?limit=20\u0026cursor=\u003cnext_cursor> # subsequent pages\n```\n\nThe response includes `next_cursor` (an opaque base64url string). Pass it back verbatim as the `cursor` query parameter to fetch the next page. When `next_cursor` is `null` you have reached the end of the result set. The cursor is treated as **opaque**; do not decode or construct it manually.\n\nBy default `total` is **not** returned. Pass `?include_total=true` to opt in โ it costs a separate COUNT(\\*) round-trip per request and is intended only for UIs that need a \"Showing X of N\" counter.\n\n**Enterprise data-license feature:** requires MCP Hub API access enabled for your organization, otherwise returns `403`. Contact support@enkryptai.com.","href":"/api-reference/mcp-hub-api-reference/endpoint/list-scans"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"List Scans","operationId":"mcp_hub_list_scans","tags":["MCP Hub"],"description":"List scan jobs (source and hosted) ordered by `(created_at DESC, job_id DESC)` with **opaque cursor pagination**. Supports filtering by visibility, status, scan type, repository name, `source_url`, `source_version`, and vulnerability count. Use `latest_only=true` to collapse repeated scans of the same `(source_url, source_version)` to the newest row per combo.\n\n## Pagination\n\n```\nGET /mcp-hub/scans?limit=20 # first page\nGET /mcp-hub/scans?limit=20\u0026cursor=\u003cnext_cursor> # subsequent pages\n```\n\nThe response includes `next_cursor` (an opaque base64url string). Pass it back verbatim as the `cursor` query parameter to fetch the next page. When `next_cursor` is `null` you have reached the end of the result set. The cursor is treated as **opaque**; do not decode or construct it manually.\n\nBy default `total` is **not** returned. Pass `?include_total=true` to opt in โ it costs a separate COUNT(\\*) round-trip per request and is intended only for UIs that need a \"Showing X of N\" counter.\n\n**Enterprise data-license feature:** requires MCP Hub API access enabled for your organization, otherwise returns `403`. Contact support@enkryptai.com.","x-enkrypt-pagination":{"style":"cursor","sort_order":["created_at DESC","job_id DESC"],"cursor_param":"cursor","next_cursor_field":"next_cursor","first_page":"/mcp-hub/scans?limit=20","next_page":"/mcp-hub/scans?limit=20\u0026cursor=\u003ccopy next_cursor verbatim>","opaque":true,"include_total_query_param":"include_total"},"parameters":["224e8f18-bdc6-4056-9c98-97634c0fac6c","9f6735b8-0ad6-4a03-b705-16fd5ac45cdb","8ac1f7c2-93d7-4e3a-8530-0f4d94ba7989","284f22bd-eb5e-4fc9-a898-5e4132114b31","8085a28a-d955-450b-9aad-65eae346f87b","e97b1be4-e07c-4100-b8d2-807ed036ace6","c04c4f72-5e8a-4abf-a9fa-68546599347f","2688372d-ef56-403f-9a31-b1ae6c94a091","337303c0-444c-4a68-8b45-00bed50712e1","a7755d53-eaed-4593-89d9-07375f85dca5","070c9463-1422-4339-84d9-e86e8b622e0d","f19674c7-effd-46fb-94e1-a1500b48131f","d20074fe-bc3a-4c88-b23f-2e07005d95c8","cd82db6d-658b-4d41-a701-5b695ef2753b","2eea33ee-b02f-4bc1-997c-50e781f4a02e"],"responses":{"200":"85cd6f42-e0b8-4609-8562-7fd146d6bb76","400":"b7994750-8199-48db-9577-274350b96379","401":"9d8b6117-ba1d-46ba-8656-5c209485e1b5","403":"a54099d6-6c7a-4d4a-9488-d1f50ec06e35","422":"9d9a87b4-d103-46f2-8d1c-2057cbb43435"},"method":"get","type":"path","servers":["46d259d2-9225-46ce-aca1-4e05427371e5"],"security":["8565320a-4e60-418d-8700-2d1d509f0638"],"path":"/mcp-hub/scans","baseUrlOptions":["https://api.enkryptai.com"],"title":"List Scans","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"224e8f18-bdc6-4056-9c98-97634c0fac6c":{"in":"query","name":"limit","required":false,"description":"Page size (max 200).","schema":{"type":"integer","minimum":1,"maximum":200,"default":50,"example":50,"isRequired":false,"description":"Page size (max 200).","uniqueKey":"","typeLabel":"integer"}},"9f6735b8-0ad6-4a03-b705-16fd5ac45cdb":{"in":"query","name":"cursor","required":false,"description":"Opaque pagination cursor returned by the previous response as `next_cursor`. Omit on the first page. Treat as opaque โ do not decode or construct manually.","schema":{"type":"string","maxLength":4096,"example":"eyJjcmVhdGVkX2F0IjoiMjAyNi0wNi0yNVQxMTozMjoxMS4xMjM0NTYrMDA6MDAiLCJqb2JfaWQiOiJhYmMtMTIzIn0","isRequired":false,"description":"Opaque pagination cursor returned by the previous response as `next_cursor`. Omit on the first page. Treat as opaque โ do not decode or construct manually.","uniqueKey":"","typeLabel":"string"}},"8ac1f7c2-93d7-4e3a-8530-0f4d94ba7989":{"in":"query","name":"include_total","required":false,"description":"When `true`, the response includes a `total` count of rows matching the filters. Costs an extra COUNT(\\*) round-trip per page request; omit by default for cursor pagination's constant-time-per-page property.","schema":{"type":"boolean","default":false,"isRequired":false,"description":"When `true`, the response includes a `total` count of rows matching the filters. Costs an extra COUNT(\\*) round-trip per page request; omit by default for cursor pagination's constant-time-per-page property.","uniqueKey":"","typeLabel":"boolean"}},"284f22bd-eb5e-4fc9-a898-5e4132114b31":{"in":"query","name":"is_official","required":false,"description":"Filter to only official scans (`true`) or only non-official (`false`). Omit for both.","schema":{"type":"boolean","isRequired":false,"description":"Filter to only official scans (`true`) or only non-official (`false`). Omit for both.","uniqueKey":"","typeLabel":"boolean"}},"8085a28a-d955-450b-9aad-65eae346f87b":{"in":"query","name":"is_private","required":false,"description":"Filter to only private scans (`true`) or only public (`false`). Omit for both.","schema":{"type":"boolean","isRequired":false,"description":"Filter to only private scans (`true`) or only public (`false`). Omit for both.","uniqueKey":"","typeLabel":"boolean"}},"e97b1be4-e07c-4100-b8d2-807ed036ace6":{"in":"query","name":"job_status","required":false,"description":"Filter by job status","schema":{"type":"string","enum":["initializing","downloading","discovering_tools","scanning_tools","completed","failed","connecting","discovering","analyzing"],"isRequired":false,"description":"Filter by job status","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"c04c4f72-5e8a-4abf-a9fa-68546599347f":{"in":"query","name":"repo_name","required":false,"description":"Case-insensitive substring match on repo / server name","schema":{"type":"string","maxLength":500,"isRequired":false,"description":"Case-insensitive substring match on repo / server name","uniqueKey":"","typeLabel":"string"}},"2688372d-ef56-403f-9a31-b1ae6c94a091":{"in":"query","name":"scan_type","required":false,"description":"`source` or `hosted`","schema":{"type":"string","enum":["source","hosted"],"isRequired":false,"description":"`source` or `hosted`","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"337303c0-444c-4a68-8b45-00bed50712e1":{"in":"query","name":"job_id","required":false,"description":"Exact job UUID match","schema":{"type":"string","format":"uuid","isRequired":false,"description":"Exact job UUID match","uniqueKey":"","typeLabel":"string\u003cuuid>"}},"a7755d53-eaed-4593-89d9-07375f85dca5":{"in":"query","name":"source_url","required":false,"description":"Exact match on `source_url`.","schema":{"type":"string","maxLength":2000,"isRequired":false,"description":"Exact match on `source_url`.","uniqueKey":"","typeLabel":"string"}},"070c9463-1422-4339-84d9-e86e8b622e0d":{"in":"query","name":"source_version","required":false,"description":"Exact match on `source_version` (npm version or git commit).","schema":{"type":"string","maxLength":200,"isRequired":false,"description":"Exact match on `source_version` (npm version or git commit).","uniqueKey":"","typeLabel":"string"}},"f19674c7-effd-46fb-94e1-a1500b48131f":{"in":"query","name":"latest_only","required":false,"description":"When `true`, applies all other filters first, then dedupes results by `(source_url, source_version)`, keeping the newest row per group by `created_at`. Pagination applies to the deduped list and `total` reflects the deduped count. Intended for `scan_type=source`. Returns `400` if the filters would require dedupe over more than 5000 matching rows.","schema":{"type":"boolean","default":false,"isRequired":false,"description":"When `true`, applies all other filters first, then dedupes results by `(source_url, source_version)`, keeping the newest row per group by `created_at`. Pagination applies to the deduped list and `total` reflects the deduped count. Intended for `scan_type=source`. Returns `400` if the filters would require dedupe over more than 5000 matching rows.","uniqueKey":"","typeLabel":"boolean"}},"d20074fe-bc3a-4c88-b23f-2e07005d95c8":{"in":"query","name":"total_vulnerabilities","required":false,"description":"Exact match on the scan's vulnerability count.","schema":{"type":"integer","minimum":0,"isRequired":false,"description":"Exact match on the scan's vulnerability count.","uniqueKey":"","typeLabel":"integer"}},"cd82db6d-658b-4d41-a701-5b695ef2753b":{"in":"query","name":"min_total_vulnerabilities","required":false,"description":"Inclusive lower bound on the vulnerability count (`total_vulnerabilities >= N`).","schema":{"type":"integer","minimum":0,"isRequired":false,"description":"Inclusive lower bound on the vulnerability count (`total_vulnerabilities >= N`).","uniqueKey":"","typeLabel":"integer"}},"2eea33ee-b02f-4bc1-997c-50e781f4a02e":{"in":"query","name":"max_total_vulnerabilities","required":false,"description":"Inclusive upper bound on the vulnerability count (`total_vulnerabilities \u003c= N`). A \"fewer than 7 vulnerabilities\" filter is `max_total_vulnerabilities=6`.","schema":{"type":"integer","minimum":0,"isRequired":false,"description":"Inclusive upper bound on the vulnerability count (`total_vulnerabilities \u003c= N`). A \"fewer than 7 vulnerabilities\" filter is `max_total_vulnerabilities=6`.","uniqueKey":"","typeLabel":"integer"}}},"responses":{"85cd6f42-e0b8-4609-8562-7fd146d6bb76":{"description":"Paginated list of scans","content":{"application/json":{"schema":{"title":"MCPHubScanListResponse","type":"object","required":["items","limit"],"description":"Cursor-paginated list of scans. Page by passing the previous response's `next_cursor` back as the `cursor` query parameter. When `next_cursor` is `null` you have reached the end of the result set.","properties":{"items":{"type":"array","items":{"title":"MCPHubScanListItem","type":"object","required":["job_id","job_status","user_email","created_at"],"description":"Slim representation of a scan row for the list endpoint.","properties":{"job_id":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].job_id","typeLabel":"string"},"job_status":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].job_status","typeLabel":"string"},"user_email":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].user_email","typeLabel":"string"},"created_at":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].created_at","typeLabel":"string"},"scan_type":{"oneOf":[{"type":"string","enum":["source","hosted",null],"uniqueKey":"\\items.items.[INDEX].scan_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["source","hosted",null],"uniqueKey":"\\items.items.[INDEX].scan_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].scan_type","typeLabel":"enum\u003cstring> | null"},"repo_name":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].repo_name.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"\\items.items.[INDEX].repo_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].repo_name","typeLabel":"string | null"},"is_official":{"oneOf":[{"type":"boolean","uniqueKey":"\\items.items.[INDEX].is_official.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"\\items.items.[INDEX].is_official.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].is_official","typeLabel":"boolean | null"},"is_private":{"oneOf":[{"type":"boolean","uniqueKey":"\\items.items.[INDEX].is_private.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"\\items.items.[INDEX].is_private.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].is_private","typeLabel":"boolean | null"},"org_id":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].org_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"\\items.items.[INDEX].org_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].org_id","typeLabel":"string | null"},"user_id":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].user_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"\\items.items.[INDEX].user_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].user_id","typeLabel":"string | null"},"project_name":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].project_name.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"\\items.items.[INDEX].project_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].project_name","typeLabel":"string | null"},"registry_name":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].registry_name.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"\\items.items.[INDEX].registry_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].registry_name","typeLabel":"string | null"},"source_url":{"oneOf":[{"type":"string","description":"Source URL of the scanned package or repository (source scans only).","uniqueKey":"\\items.items.[INDEX].source_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"Source URL of the scanned package or repository (source scans only).","uniqueKey":"\\items.items.[INDEX].source_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].source_url","typeLabel":"string | null"},"source_version":{"oneOf":[{"type":"string","description":"Source version or git commit of the scanned source (source scans only).","uniqueKey":"\\items.items.[INDEX].source_version.oneOf.0","typeLabel":"string"},{"type":"null","description":"Source version or git commit of the scanned source (source scans only).","uniqueKey":"\\items.items.[INDEX].source_version.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].source_version","typeLabel":"string | null"},"scan_version":{"oneOf":[{"type":"string","description":"Scanner version that produced this row. Multiple rows can share `(source_url, source_version)` but differ on `scan_version`; use `latest_only=true` to collapse to the newest per group.","uniqueKey":"\\items.items.[INDEX].scan_version.oneOf.0","typeLabel":"string"},{"type":"null","description":"Scanner version that produced this row. Multiple rows can share `(source_url, source_version)` but differ on `scan_version`; use `latest_only=true` to collapse to the newest per group.","uniqueKey":"\\items.items.[INDEX].scan_version.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].scan_version","typeLabel":"string | null"},"completed_at":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].completed_at.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"\\items.items.[INDEX].completed_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].completed_at","typeLabel":"string | null"},"total_vulnerabilities":{"oneOf":[{"type":"integer","uniqueKey":"\\items.items.[INDEX].total_vulnerabilities.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"\\items.items.[INDEX].total_vulnerabilities.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].total_vulnerabilities","typeLabel":"integer | null"},"overall_severity":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].overall_severity.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"\\items.items.[INDEX].overall_severity.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].overall_severity","typeLabel":"string | null"}},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"MCPHubScanListItem ยท object"},"isRequired":true,"uniqueKey":"\\items","typeLabel":"MCPHubScanListItem ยท object[]"},"limit":{"type":"integer","description":"The page size used for this response.","isRequired":true,"uniqueKey":"limit","typeLabel":"integer"},"next_cursor":{"oneOf":[{"type":"string","description":"Opaque cursor for the next page, or `null` on the last page. Pass back verbatim as `?cursor=...` โ treat as opaque.","example":"eyJjcmVhdGVkX2F0IjoiMjAyNi0wNi0yNVQxMTozMjoxMS4xMjM0NTYrMDA6MDAiLCJqb2JfaWQiOiJhYmMtMTIzIn0","uniqueKey":"next_cursor.oneOf.0","typeLabel":"string"},{"type":"null","description":"Opaque cursor for the next page, or `null` on the last page. Pass back verbatim as `?cursor=...` โ treat as opaque.","example":"eyJjcmVhdGVkX2F0IjoiMjAyNi0wNi0yNVQxMTozMjoxMS4xMjM0NTYrMDA6MDAiLCJqb2JfaWQiOiJhYmMtMTIzIn0","uniqueKey":"next_cursor.oneOf.1","typeLabel":"null"}],"uniqueKey":"next_cursor","typeLabel":"string | null"},"total":{"oneOf":[{"type":"integer","description":"Total rows matching the filters. Only populated when the request set `?include_total=true`; omitted by default because counting arbitrary filtered subsets defeats the point of cursor pagination.","uniqueKey":"total.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Total rows matching the filters. Only populated when the request set `?include_total=true`; omitted by default because counting arbitrary filtered subsets defeats the point of cursor pagination.","uniqueKey":"total.oneOf.1","typeLabel":"null"}],"uniqueKey":"total","typeLabel":"integer | null"}},"uniqueKey":"","typeLabel":"MCPHubScanListResponse ยท object"},"examples":{"Example":{"title":"Example","value":{"items":[{"job_id":"\u003cstring>","job_status":"\u003cstring>","user_email":"\u003cstring>","created_at":"\u003cstring>","scan_type":"source","repo_name":"\u003cstring>","is_official":true,"is_private":true,"org_id":"\u003cstring>","user_id":"\u003cstring>","project_name":"\u003cstring>","registry_name":"\u003cstring>","source_url":"\u003cstring>","source_version":"\u003cstring>","scan_version":"\u003cstring>","completed_at":"\u003cstring>","total_vulnerabilities":123,"overall_severity":"\u003cstring>"}],"limit":123,"next_cursor":"eyJjcmVhdGVkX2F0IjoiMjAyNi0wNi0yNVQxMTozMjoxMS4xMjM0NTYrMDA6MDAiLCJqb2JfaWQiOiJhYmMtMTIzIn0","total":123}}},"exampleType":"generated"}},"exampleType":"generated"},"b7994750-8199-48db-9577-274350b96379":{"description":"The filters cannot be satisfied as given โ either `latest_only=true` would require dedupe over more than 5000 matching rows, or `min_total_vulnerabilities` exceeds `max_total_vulnerabilities`. Narrow the filters and retry.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"latest_only_cap":{"title":"latest_only_cap","value":{"detail":"latest_only requires fetching more than 5000 rows; please narrow filters (e.g. source_url, scan_type, org_id)."}},"vulnerability_bounds_inverted":{"title":"vulnerability_bounds_inverted","value":{"detail":"min_total_vulnerabilities cannot exceed max_total_vulnerabilities"}}},"exampleType":"examples"}},"exampleType":"examples"},"9d8b6117-ba1d-46ba-8656-5c209485e1b5":{"description":"Unauthorized โ missing or invalid Authorization header","content":{"application/json":{"schema":{"title":"MCPHubAuthErrorResponse","type":"object","description":"Error envelope returned by the MCP Hub auth/permission failures.","properties":{"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"}},"uniqueKey":"","typeLabel":"MCPHubAuthErrorResponse ยท object"},"examples":{"Example":{"title":"Example","value":{"detail":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"a54099d6-6c7a-4d4a-9488-d1f50ec06e35":{"description":"Forbidden โ your organization does not have access to the MCP Hub APIs. These retrieval/list endpoints are an enterprise data-license feature; contact support@enkryptai.com to enable access.","content":{"application/json":{"schema":{"title":"MCPHubForbiddenResponse","type":"object","description":"Error envelope returned when the caller's organization lacks MCP Hub API access (enterprise data-license feature).","properties":{"code":{"type":"integer","example":403,"uniqueKey":"code","typeLabel":"integer"},"error":{"type":"string","example":"Forbidden","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","example":"MCP Hub APIs are an enterprise feature not enabled for your organization. Contact us at support@enkryptai.com for access.","uniqueKey":"message","typeLabel":"string"},"request_id":{"type":"string","uniqueKey":"request_id","typeLabel":"string"},"time":{"type":"number","uniqueKey":"time","typeLabel":"number"}},"uniqueKey":"","typeLabel":"MCPHubForbiddenResponse ยท object"},"examples":{"Example":{"title":"Example","value":{"code":403,"error":"Forbidden","message":"MCP Hub APIs are an enterprise feature not enabled for your organization. Contact us at support@enkryptai.com for access.","request_id":"\u003cstring>","time":123}}},"exampleType":"generated"}},"exampleType":"generated"},"9d9a87b4-d103-46f2-8d1c-2057cbb43435":{"description":"Validation error","content":{"application/json":{"schema":{"title":"MCPHubValidationError","type":"object","description":"FastAPI-style validation error response.","properties":{"detail":{"type":"array","items":{"type":"object","required":["loc","msg","type"],"properties":{"loc":{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"}},"uniqueKey":"detail.items.[INDEX]","typeLabel":"object"},"uniqueKey":"detail","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"MCPHubValidationError ยท object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"8565320a-4e60-418d-8700-2d1d509f0638":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"apikey","scopes":[],"schemeName":"apiKeyAuth"}}},"servers":{"46d259d2-9225-46ce-aca1-4e05427371e5":{"url":"https://api.enkryptai.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"apikey","scopes":[],"schemeName":"apiKeyAuth"},"schema":{"title":"apikey","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"apikey"}],"title":"apiKeyAuth"}]},"originalFileLocation":"enkrypt-openapi.json"},"subdomain":"enkryptai-42","siteName":"Enkrypt AI","title":"List Scans - Enkrypt AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-01T11:41:33.256Z","originalFileLocation":"api-reference/mcp-hub-api-reference/endpoint/list-scans.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"List scan jobs (source and hosted) ordered by (created_at DESC, job_id DESC) with opaque cursor pagination. Supports filtering by visibility, status, scan type, repository name, source_url, source_version, and vulnerability count. Use latest_only=true to collapse repeated scans of the same (source_url, source_version) to the newest row per combo. ## Pagination GET /mcp-hub/scans?limit=20 # first page GET /mcp-hub/scans?limit=20\u0026amp;cursor= # subsequent pages The response includes next_cursor (an opaque base64url string). Pass it back verbatim as the cursor query parameter to fetch the next page. When next_cursor is null you have reached the end of the result set. The cursor is treated as opaque; do not decode or construct it manually. By default total is not returned. Pass ?include_total=true to opt in โ it costs a separate COUNT(\\*) round-trip per request and is intended only for UIs that need a \u0026quot;Showing X of N\u0026quot; counter. Enterprise data-license feature: requires MCP Hub API access enabled for your organization, otherwise returns 403. Contact support@enkryptai.com.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Enkrypt AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List Scans - Enkrypt AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"List scan jobs (source and hosted) ordered by (created_at DESC, job_id DESC) with opaque cursor pagination. Supports filtering by visibility, status, scan type, repository name, source_url, source_version, and vulnerability count. Use latest_only=true to collapse repeated scans of the same (source_url, source_version) to the newest row per combo. ## Pagination GET /mcp-hub/scans?limit=20 # first page GET /mcp-hub/scans?limit=20\u0026amp;cursor= # subsequent pages The response includes next_cursor (an opaque base64url string). Pass it back verbatim as the cursor query parameter to fetch the next page. When next_cursor is null you have reached the end of the result set. The cursor is treated as opaque; do not decode or construct it manually. By default total is not returned. Pass ?include_total=true to opt in โ it costs a separate COUNT(\\*) round-trip per request and is intended only for UIs that need a \u0026quot;Showing X of N\u0026quot; counter. Enterprise data-license feature: requires MCP Hub API access enabled for your organization, otherwise returns 403. Contact support@enkryptai.com.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Enkrypt AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.enkryptai.com/api-reference/mcp-hub-api-reference/endpoint/list-scans\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://enkryptai-42.mintlify.site/_mintlify/api/og/v2?division=%F0%9F%94%92+MCP+Hub+API\u0026amp;title=List+Scans\u0026amp;description=List+scan+jobs+%28source+and+hosted%29+ordered+by+%60%28created_at+DESC%2C+job_id+DESC%29%60+with+**opaque+cursor+pagination**.+Supports+filtering+by+visibility%2C+status%2C+scan\u0026amp;theme=5c5765592b2aa2fed5d07d28\u0026amp;signature=2ab3cd9148134d0362f881fc2c7aa8a8c0b7af003faac6e2a7dedf69d715baa9\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"List Scans - Enkrypt AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"List scan jobs (source and hosted) ordered by (created_at DESC, job_id DESC) with opaque cursor pagination. Supports filtering by visibility, status, scan type, repository name, source_url, source_version, and vulnerability count. Use latest_only=true to collapse repeated scans of the same (source_url, source_version) to the newest row per combo. ## Pagination GET /mcp-hub/scans?limit=20 # first page GET /mcp-hub/scans?limit=20\u0026amp;cursor= # subsequent pages The response includes next_cursor (an opaque base64url string). Pass it back verbatim as the cursor query parameter to fetch the next page. When next_cursor is null you have reached the end of the result set. The cursor is treated as opaque; do not decode or construct it manually. By default total is not returned. Pass ?include_total=true to opt in โ it costs a separate COUNT(\\*) round-trip per request and is intended only for UIs that need a \u0026quot;Showing X of N\u0026quot; counter. Enterprise data-license feature: requires MCP Hub API access enabled for your organization, otherwise returns 403. Contact support@enkryptai.com.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://enkryptai-42.mintlify.site/_mintlify/api/og/v2?division=%F0%9F%94%92+MCP+Hub+API\u0026amp;title=List+Scans\u0026amp;description=List+scan+jobs+%28source+and+hosted%29+ordered+by+%60%28created_at+DESC%2C+job_id+DESC%29%60+with+**opaque+cursor+pagination**.+Supports+filtering+by+visibility%2C+status%2C+scan\u0026amp;theme=5c5765592b2aa2fed5d07d28\u0026amp;signature=2ab3cd9148134d0362f881fc2c7aa8a8c0b7af003faac6e2a7dedf69d715baa9\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Enkrypt AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff6b6b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.enkryptai.com/api-reference/mcp-hub-api-reference/endpoint/list-scans\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/mcp-hub-api-reference/endpoint/list-scans.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.enkryptai.com/#organization\",\"name\":\"Enkrypt AI\",\"url\":\"https://docs.enkryptai.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/enkryptai-42/7kWxrBaXsO0YvXjU/logo/light-logo.png?fit=max\u0026auto=format\u0026n=7kWxrBaXsO0YvXjU\u0026q=85\u0026s=3e4d5072cef08dc6b8885a03a7821b72\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.enkryptai.com#website\",\"name\":\"Enkrypt AI\",\"url\":\"https://docs.enkryptai.com\",\"publisher\":{\"@id\":\"https://docs.enkryptai.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.enkryptai.com/api-reference/mcp-hub-api-reference/endpoint/list-scans#webpage\",\"url\":\"https://docs.enkryptai.com/api-reference/mcp-hub-api-reference/endpoint/list-scans\",\"name\":\"List Scans\",\"description\":\"List scan jobs (source and hosted) ordered by (created_at DESC, job_id DESC) with opaque cursor pagination. Supports filtering by visibility, status, scan type, repository name, source_url, source_version, and vulnerability count. Use latest_only=true to collapse repeated scans of the same (source_url, source_version) to the newest row per combo. ## Pagination GET /mcp-hub/scans?limit=20 # first page GET /mcp-hub/scans?limit=20\u0026cursor= # subsequent pages The response includes next_cursor (an opaque base64url string). Pass it back verbatim as the cursor query parameter to fetch the next page. When next_cursor is null you have reached the end of the result set. The cursor is treated as opaque; do not decode or construct it manually. By default total is not returned. Pass ?include_total=true to opt in โ it costs a separate COUNT(\\\\*) round-trip per request and is intended only for UIs that need a \\\"Showing X of N\\\" counter. Enterprise data-license feature: requires MCP Hub API access enabled for your organization, otherwise returns 403. Contact support@enkryptai.com.\",\"dateModified\":\"2026-09-01T11:41:33.256Z\",\"isPartOf\":{\"@id\":\"https://docs.enkryptai.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.enkryptai.com/api-reference/mcp-hub-api-reference/endpoint/list-scans#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.enkryptai.com/api-reference/mcp-hub-api-reference/endpoint/list-scans#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.enkryptai.com/api-reference/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"๐ MCP Hub API\",\"item\":\"https://docs.enkryptai.com/api-reference/mcp-hub-api-reference/endpoint/scan\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"List Scans\",\"item\":\"https://docs.enkryptai.com/api-reference/mcp-hub-api-reference/endpoint/list-scans\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.enkryptai.com/api-reference/mcp-hub-api-reference/endpoint/list-scans#apireference\",\"headline\":\"List Scans\",\"name\":\"List Scans\",\"description\":\"List scan jobs (source and hosted) ordered by (created_at DESC, job_id DESC) with opaque cursor pagination. Supports filtering by visibility, status, scan type, repository name, source_url, source_version, and vulnerability count. Use latest_only=true to collapse repeated scans of the same (source_url, source_version) to the newest row per combo. ## Pagination GET /mcp-hub/scans?limit=20 # first page GET /mcp-hub/scans?limit=20\u0026cursor= # subsequent pages The response includes next_cursor (an opaque base64url string). Pass it back verbatim as the cursor query parameter to fetch the next page. When next_cursor is null you have reached the end of the result set. The cursor is treated as opaque; do not decode or construct it manually. By default total is not returned. Pass ?include_total=true to opt in โ it costs a separate COUNT(\\\\*) round-trip per request and is intended only for UIs that need a \\\"Showing X of N\\\" counter. Enterprise data-license feature: requires MCP Hub API access enabled for your organization, otherwise returns 403. Contact support@enkryptai.com.\",\"url\":\"https://docs.enkryptai.com/api-reference/mcp-hub-api-reference/endpoint/list-scans\",\"mainEntityOfPage\":{\"@id\":\"https://docs.enkryptai.com/api-reference/mcp-hub-api-reference/endpoint/list-scans#webpage\"},\"dateModified\":\"2026-09-01T11:41:33.256Z\",\"publisher\":{\"@id\":\"https://docs.enkryptai.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.enkryptai.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Enkrypt AI\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Enkrypt AI\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/mcp-hub-api-reference/endpoint/list-scans.md","siteName":"Enkrypt AI","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/home/introduction"}]},{"tab":"Get Started","pages":[{"title":"Get Started","href":"/get-started/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"title":"Overview","href":"/api-reference/introduction"},{"group":"๐ Code of Conduct API","pages":[{"title":"Infer Document","openapi":"POST /guardrails/policy-wizard/infer-document","href":"/api-reference/coc-api-reference/endpoint/infer-document"},{"title":"Generate Rules","openapi":"POST /guardrails/policy-wizard/generate-rules","href":"/api-reference/coc-api-reference/endpoint/generate-rules"},{"title":"Add Policy","openapi":"POST /code-of-conduct/add-policy","href":"/api-reference/coc-api-reference/endpoint/add-policy"},{"title":"Get Policy","openapi":"GET /code-of-conduct/get-policy","href":"/api-reference/coc-api-reference/endpoint/get-policy"},{"title":"Modify Policy","openapi":"PATCH /code-of-conduct/modify-policy","href":"/api-reference/coc-api-reference/endpoint/modify-policy"},{"title":"Delete Policy","openapi":"DELETE /code-of-conduct/delete-policy","href":"/api-reference/coc-api-reference/endpoint/delete-policy"},{"title":"List Policies","openapi":"GET /code-of-conduct/list-policies","href":"/api-reference/coc-api-reference/endpoint/list-policies"}]},{"group":"๐ก๏ธ Guardrails API Endpoints","pages":[{"openapi":"GET /guardrails/health","title":"Health Check","href":"/api-reference/guardrails-api-reference/endpoint/health-check"},{"openapi":"GET /guardrails/status","title":"Status Check","href":"/api-reference/guardrails-api-reference/endpoint/status"},{"openapi":"GET /guardrails/models","title":"Models Loaded","href":"/api-reference/guardrails-api-reference/endpoint/models"},{"openapi":"POST /guardrails/detect","title":"Guardrails Detect","href":"/api-reference/guardrails-api-reference/endpoint/detect"},{"openapi":"POST /guardrails/batch/detect","title":"Guardrails Batch Detect","href":"/api-reference/guardrails-api-reference/endpoint/batch-detect"},{"title":"Scan URL","openapi":"POST /guardrails/scan-url","href":"/api-reference/guardrails-api-reference/endpoint/scan-url"},{"title":"Scan PDF","openapi":"POST /guardrails/scan-pdf","href":"/api-reference/guardrails-api-reference/endpoint/scan-pdf"},{"title":"Detect Image","openapi":"POST /guardrails/detect-image","href":"/api-reference/guardrails-api-reference/endpoint/detect-image"},{"title":"Detect Audio","openapi":"POST /guardrails/detect-audio","href":"/api-reference/guardrails-api-reference/endpoint/detect-audio"},{"title":"Guardrail Detect Image","openapi":"POST /guardrails/guardrail/detect-image","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-detect-image"},{"title":"Guardrail Detect Audio","openapi":"POST /guardrails/guardrail/detect-audio","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-detect-audio"},{"openapi":"POST /guardrails/pii","title":"PII anonymization and de-anonymization","href":"/api-reference/guardrails-api-reference/endpoint/pii"},{"openapi":"POST /guardrails/hallucination","title":"Detect Hallucination","href":"/api-reference/guardrails-api-reference/endpoint/hallucination"},{"openapi":"POST /guardrails/adherence","title":"Guardrails Adherence","href":"/api-reference/guardrails-api-reference/endpoint/adherence"},{"openapi":"POST /guardrails/relevancy","title":"Guardrails Relevancy","href":"/api-reference/guardrails-api-reference/endpoint/relevancy"},{"title":"Add Guardrail","openapi":"POST /guardrails/add-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/add-guardrail"},{"title":"Get Guardrail","openapi":"GET /guardrails/get-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/get-guardrail"},{"title":"Modify Guardrail","openapi":"PATCH /guardrails/modify-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/modify-guardrail"},{"title":"Delete Guardrail","openapi":"DELETE /guardrails/delete-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/delete-guardrail"},{"title":"List Guardrails","openapi":"GET /guardrails/list-guardrails","href":"/api-reference/guardrails-api-reference/endpoint/list-guardrails"},{"title":"Detect with Guardrail","openapi":"POST /guardrails/guardrail/detect","href":"/api-reference/guardrails-api-reference/endpoint/detect-using-guardrail"},{"title":"Batch Detect with Guardrail","openapi":"POST /guardrails/guardrail/batch/detect","href":"/api-reference/guardrails-api-reference/endpoint/batch-detect-using-guardrail"},{"title":"Guardrail Scan URL","openapi":"POST /guardrails/guardrail/scan-url","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-scan-url"},{"title":"Guardrail Scan PDF","openapi":"POST /guardrails/guardrail/scan-pdf","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-scan-pdf"}]},{"group":"๐ค Models API (Endpoints)","pages":[{"openapi":"POST /models/add-model","title":"Create Model","href":"/api-reference/models-api-reference/endpoint/add-model"},{"openapi":"GET /models/get-model","title":"Get Model","href":"/api-reference/models-api-reference/endpoint/get-model"},{"openapi":"PATCH /models/modify-model","title":"Modify Model","href":"/api-reference/models-api-reference/endpoint/modify-model"},{"openapi":"DELETE /models/delete-model","title":"Delete Model","href":"/api-reference/models-api-reference/endpoint/delete-model"},{"title":"List Models","openapi":"GET /models/list-models","href":"/api-reference/models-api-reference/endpoint/list-models"},{"openapi":"GET /models/get-defaults","title":"Get Defaults","href":"/api-reference/models-api-reference/endpoint/get-defaults"}]},{"group":"๐ด Red Team API","pages":[{"openapi":"POST /rt/redteam","title":"Run Redteam","href":"/api-reference/redteam-v2-api-reference/endpoint/run-redteam"},{"openapi":"POST /rt/model/redteam","title":"Run Redteam with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/run-redteam-saved-model"},{"openapi":"POST /rt/redteam/jailbreak","title":"Run Jailbreak Benchmark","href":"/api-reference/redteam-v2-api-reference/endpoint/run-jailbreak"},{"openapi":"POST /rt/model/redteam/jailbreak","title":"Run Jailbreak Benchmark with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/run-jailbreak-saved-model"},{"openapi":"POST /rt/threat-modeling","title":"Run Threat Modeling","href":"/api-reference/redteam-v2-api-reference/endpoint/run-threat-modeling"},{"openapi":"POST /rt/threat-modeling/categories","title":"Run Threat Modeling Categories","href":"/api-reference/redteam-v2-api-reference/endpoint/run-threat-modeling-categories"},{"openapi":"POST /rt/threat-modeling/data","title":"Run Threat Modeling Data","href":"/api-reference/redteam-v2-api-reference/endpoint/run-threat-modeling-data"},{"openapi":"POST /rt/playground","title":"Run Playground","href":"/api-reference/redteam-v2-api-reference/endpoint/run-playground"},{"openapi":"POST /rt/model/playground","title":"Run Playground with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/run-playground-saved-model"},{"openapi":"POST /rt/eval","title":"Submit Eval Batch","href":"/api-reference/redteam-v2-api-reference/endpoint/submit-eval"},{"openapi":"POST /rt/leaderboard","title":"Run Leaderboard","href":"/api-reference/redteam-v2-api-reference/endpoint/run-leaderboard"},{"openapi":"POST /rt/model/leaderboard","title":"Run Leaderboard with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/run-leaderboard-saved-model"},{"openapi":"GET /rt/runs/{run_id}","title":"Get Run Status","href":"/api-reference/redteam-v2-api-reference/endpoint/get-run-status"},{"openapi":"GET /rt/runs/{run_id}/records","title":"Get Run Records","href":"/api-reference/redteam-v2-api-reference/endpoint/get-run-records"},{"openapi":"GET /rt/runs/{run_id}/results","title":"Get Run Results","href":"/api-reference/redteam-v2-api-reference/endpoint/get-run-results"},{"openapi":"GET /rt/runs/{run_id}/compliance/{framework_id}","title":"Get Compliance Report","href":"/api-reference/redteam-v2-api-reference/endpoint/get-compliance-report"},{"openapi":"POST /rt/runs/{run_id}/signal/{name}","title":"Send Signal","href":"/api-reference/redteam-v2-api-reference/endpoint/send-signal"},{"openapi":"POST /rt/runs/{run_id}/resume","title":"Resume Run","href":"/api-reference/redteam-v2-api-reference/endpoint/resume-run"},{"openapi":"GET /rt/runs/{run_id}/stream","title":"Stream Run Events","href":"/api-reference/redteam-v2-api-reference/endpoint/stream-run-events"},{"openapi":"GET /wss/redteam/v1/logs/tasks/{owner_id}/{job_id}/{model_folder}/app.log","playground":"none","title":"Stream Run Logs (WebSocket)","href":"/api-reference/redteam-v2-api-reference/endpoint/stream-run-logs"},{"openapi":"GET /rt/datasets/{dataset_id}","title":"Get Dataset","href":"/api-reference/redteam-v2-api-reference/endpoint/get-dataset"},{"openapi":"POST /rt/model-health","title":"Model Health","href":"/api-reference/redteam-v2-api-reference/endpoint/model-health"},{"openapi":"POST /rt/model/model-health","title":"Model Health with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/model-health-saved"},{"openapi":"GET /redteam/relay/v1/relay/bridge","playground":"none","title":"Connect a relay bridge (WebSocket)","href":"/api-reference/redteam-v2-api-reference/endpoint/relay-bridge-connect"},{"openapi":"GET /redteam/relay/v1/relay/bridges/{bridge_id}/status","title":"Relay bridge status","href":"/api-reference/redteam-v2-api-reference/endpoint/relay-bridge-status"},{"openapi":"POST /rt/findings","title":"Get findings based on summary","href":"/api-reference/redteam-v2-api-reference/endpoint/get-findings"},{"openapi":"POST /rt/risk-mitigation/system-prompt","title":"Generate a system prompt for risk mitigation based on red teaming test results","href":"/api-reference/redteam-v2-api-reference/endpoint/risk-mitigation-system-prompt"},{"openapi":"POST /rt/risk-mitigation/guardrails-policy","title":"Generate a guardrail and policy for risk mitigation based on summary","href":"/api-reference/redteam-v2-api-reference/endpoint/risk-mitigation-guardrails-policy"},{"openapi":"GET /rt/health","title":"Red Team Health","href":"/api-reference/redteam-v2-api-reference/endpoint/health"},{"openapi":"GET /rt/status-check","title":"Red Team Status Check","href":"/api-reference/redteam-v2-api-reference/endpoint/status-check"}]},{"group":"๐ Deployments API","pages":[{"openapi":"POST /deployments/add-deployment","title":"Create Deployment","href":"/api-reference/deployments-api-reference/endpoint/add-deployment"},{"openapi":"GET /deployments/get-deployment","title":"Get Deployment","href":"/api-reference/deployments-api-reference/endpoint/get-deployment"},{"openapi":"PATCH /deployments/modify-deployment","title":"Modify Deployment","href":"/api-reference/deployments-api-reference/endpoint/modify-deployment"},{"openapi":"DELETE /deployments/delete-deployment","title":"Delete Deployment","href":"/api-reference/deployments-api-reference/endpoint/delete-deployment"},{"title":"List Deployments","openapi":"GET /deployments/list-deployments","href":"/api-reference/deployments-api-reference/endpoint/list-deployments"},{"openapi":"GET /deployments/get-allowed-config","title":"Get Allowed Config","href":"/api-reference/deployments-api-reference/endpoint/get-allowed-config"}]},{"group":"๐ AI Proxy API","pages":[{"openapi":"POST /ai-proxy/chat/completions","title":"AI Chat Completions Proxy Endpoint","href":"/api-reference/ai-proxy-api-reference/endpoint/chat-completions"},{"openapi":"POST /ai-proxy/completions","title":"AI Completions Proxy Endpoint","href":"/api-reference/ai-proxy-api-reference/endpoint/completions"}]},{"group":"๐ MCP Hub API","pages":[{"openapi":"POST /mcp-hub/scan","title":"Start a New Vulnerability Scan","href":"/api-reference/mcp-hub-api-reference/endpoint/scan"},{"openapi":"POST /mcp-hub/scan/hosted","title":"Scan a Hosted MCP Server","href":"/api-reference/mcp-hub-api-reference/endpoint/hosted-scan"},{"openapi":"POST /mcp-hub/scan/hosted/config","title":"Scan MCP Servers from Config JSON","href":"/api-reference/mcp-hub-api-reference/endpoint/hosted-scan-from-config"},{"openapi":"GET /mcp-hub/scan/{job_id}/status","title":"Get Scan Job Status","href":"/api-reference/mcp-hub-api-reference/endpoint/get-status"},{"openapi":"GET /mcp-hub/scan/{job_id}/results","title":"Get Complete Scan Results","description":"Get the complete results of a scan job including all vulnerabilities, tools scanned, and detailed analysis. Results are only available for completed jobs.\n\n**Enterprise data-license feature:** requires MCP Hub API access enabled for your organization, otherwise returns `403`. Contact support@enkryptai.com.","href":"/api-reference/mcp-hub-api-reference/endpoint/get-results"},{"openapi":"GET /mcp-hub/scans","title":"List Scans","href":"/api-reference/mcp-hub-api-reference/endpoint/list-scans"},{"openapi":"GET /mcp-hub/dashboard-stats","title":"Get MCP Hub Scan Statistics","description":"Aggregate, read-only statistics across all MCP Hub scans โ total servers and tools scanned, vulnerability totals, the severity breakdown, and the most common vulnerability types. Intended for dashboards and reporting.\n\n**Enterprise data-license feature:** requires MCP Hub API access enabled for your organization, otherwise returns `403`. Contact support@enkryptai.com.","href":"/api-reference/mcp-hub-api-reference/endpoint/dashboard-stats"},{"openapi":"GET /mcp-hub/usage","title":"Get MCP Hub API Usage Summary","href":"/api-reference/mcp-hub-api-reference/endpoint/usage"}]},{"group":"๐๏ธ MCP Registry Servers API","pages":[{"openapi":"POST /mcp-registry/add-server","title":"Create MCP Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/add-server"},{"openapi":"POST /mcp-registry/bulk-add-servers","title":"Bulk-create MCP Registry Servers (atomic)","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers"},{"openapi":"GET /mcp-registry/get-server","title":"Get MCP Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/get-server"},{"openapi":"PATCH /mcp-registry/modify-server","title":"Update MCP Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/modify-server"},{"openapi":"DELETE /mcp-registry/delete-server","title":"Delete MCP Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/delete-server"},{"openapi":"GET /mcp-registry/list-servers","title":"List MCP Registry Servers","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/list-servers"},{"openapi":"GET /mcp-registry/list-gateways-by-server","title":"List Gateways by Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/list-gateways-by-server"}]},{"group":"๐ช MCP Gateways API","pages":[{"openapi":"POST /mcp-gateway/add-gateway","title":"Create MCP Gateway","href":"/api-reference/mcp-gateways-api-reference/endpoint/add-gateway"},{"openapi":"GET /mcp-gateway/get-gateway","title":"Get MCP Gateway","href":"/api-reference/mcp-gateways-api-reference/endpoint/get-gateway"},{"openapi":"GET /mcp-gateway/get-gateway-config","title":"Get Expanded MCP Gateway Configuration","href":"/api-reference/mcp-gateways-api-reference/endpoint/get-gateway-config"},{"openapi":"PATCH /mcp-gateway/modify-gateway","title":"Update MCP Gateway","href":"/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway"},{"openapi":"DELETE /mcp-gateway/delete-gateway","title":"Delete MCP Gateway","href":"/api-reference/mcp-gateways-api-reference/endpoint/delete-gateway"},{"openapi":"GET /mcp-gateway/list-gateways","title":"List MCP Gateways","href":"/api-reference/mcp-gateways-api-reference/endpoint/list-gateways"}]},{"group":"๐งช MCP Playground API","pages":[{"openapi":"POST /mcp-playground/test-server","title":"Test MCP Server Connectivity","href":"/api-reference/mcp-playground-api-reference/endpoint/test-server"},{"openapi":"GET /mcp-playground/get-tools","title":"Get MCP Server Tools","href":"/api-reference/mcp-playground-api-reference/endpoint/get-tools"},{"openapi":"POST /mcp-playground/call-tool","title":"Call MCP Server Tool","href":"/api-reference/mcp-playground-api-reference/endpoint/call-tool"}]},{"group":"๐ Skill Scanner API","pages":[{"openapi":"POST /skill-hub/scan","title":"Submit a Skill Scan","href":"/api-reference/skill-scanner-api-reference/endpoint/scan"},{"openapi":"GET /skill-hub/scans/{scan_id}","title":"Get Skill Scan","href":"/api-reference/skill-scanner-api-reference/endpoint/get-scan"},{"openapi":"GET /skill-hub/scans/{scan_id}/report","title":"Get Skill Scan Report","href":"/api-reference/skill-scanner-api-reference/endpoint/get-report"},{"openapi":"GET /skill-hub/scans","title":"List Skill Scans","href":"/api-reference/skill-scanner-api-reference/endpoint/list-scans"},{"openapi":"GET /skill-hub/healthz","title":"Skill Scanner Health","href":"/api-reference/skill-scanner-api-reference/endpoint/health"}]},{"group":"โ๏ธ Compliance API","pages":[{"openapi":"POST /compliance/test-connection","title":"Test Compliance Connection","href":"/api-reference/compliance-api-reference/endpoint/test-connection"},{"openapi":"POST /compliance/add-scan","title":"Add Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/add-scan"},{"openapi":"GET /compliance/get-scan","title":"Get Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/get-scan"},{"openapi":"PATCH /compliance/modify-scan","title":"Modify Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/modify-scan"},{"openapi":"DELETE /compliance/delete-scan","title":"Delete Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/delete-scan"},{"openapi":"GET /compliance/list-scans","title":"List Compliance Scans","href":"/api-reference/compliance-api-reference/endpoint/list-scans"},{"openapi":"POST /compliance/start-scan","title":"Start Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/start-scan"},{"openapi":"POST /compliance/pause-scan","title":"Pause Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/pause-scan"},{"openapi":"GET /compliance/list-log-files","title":"List Compliance Log Files","href":"/api-reference/compliance-api-reference/endpoint/list-log-files"},{"openapi":"GET /compliance/get-message","title":"Get Compliance Message","href":"/api-reference/compliance-api-reference/endpoint/get-message"}]},{"group":"๐ Leaderboard API","pages":[{"openapi":"GET /leaderboard/v2/models-list","title":"v2 Models List","href":"/api-reference/leaderboard-api-reference/endpoint/v2/models/models-list"},{"openapi":"GET /leaderboard/v2/scores","title":"v2 Scores list","href":"/api-reference/leaderboard-api-reference/endpoint/v2/scores/scores-list"},{"openapi":"GET /leaderboard/v2/scores/{modelName}","title":"v2 Model Score","href":"/api-reference/leaderboard-api-reference/endpoint/v2/scores/model-score"},{"openapi":"GET /leaderboard/v2/details/{modelName}","title":"v2 Model Detail","href":"/api-reference/leaderboard-api-reference/endpoint/v2/details/model-detail"},{"openapi":"GET /leaderboard/v2/summary/{modelName}","title":"v2 Model Summary","href":"/api-reference/leaderboard-api-reference/endpoint/v2/summary/model-summary"},{"openapi":"GET /leaderboard/v2/rank/{modelName}","title":"v2 Model Rank","href":"/api-reference/leaderboard-api-reference/endpoint/v2/rank/model-rank"},{"openapi":"GET /leaderboard/v2/percentiles","title":"v2 Models Risk Percentiles","href":"/api-reference/leaderboard-api-reference/endpoint/v2/percentiles/models-risk-percentiles"}]},{"group":"๐๏ธ Archived","pages":[{"group":"Datasets (Legacy)","pages":[{"openapi":"POST /datasets/add-task","title":"Datasets Add Task","href":"/api-reference/datasets-api-reference/endpoint/add-task"},{"openapi":"GET /datasets/task-status","title":"Datasets Get Task Status","href":"/api-reference/datasets-api-reference/endpoint/task-status"},{"openapi":"GET /datasets/get-task","title":"Datasets Get Task","href":"/api-reference/datasets-api-reference/endpoint/get-task"},{"openapi":"GET /datasets/get-datacard","title":"Datasets Get Datacard","href":"/api-reference/datasets-api-reference/endpoint/get-datacard"},{"openapi":"GET /datasets/get-dataset","title":"Datasets Get Dataset","href":"/api-reference/datasets-api-reference/endpoint/get-dataset"},{"openapi":"GET /datasets/get-summary","title":"Datasets Get Summary","href":"/api-reference/datasets-api-reference/endpoint/get-summary"},{"title":"List Tasks","openapi":"GET /datasets/list-tasks","href":"/api-reference/datasets-api-reference/endpoint/list-tasks"}]},{"group":"Guardrails Policy (Legacy)","pages":[{"title":"Add Policy (Legacy)","openapi":"POST /guardrails/add-policy","href":"/api-reference/guardrails-api-reference/endpoint/add-policy"},{"title":"Get Policy (Legacy)","openapi":"GET /guardrails/get-policy","href":"/api-reference/guardrails-api-reference/endpoint/get-policy"},{"title":"Modify Policy (Legacy)","openapi":"PATCH /guardrails/modify-policy","href":"/api-reference/guardrails-api-reference/endpoint/modify-policy"},{"title":"Delete Policy (Legacy)","openapi":"DELETE /guardrails/delete-policy","href":"/api-reference/guardrails-api-reference/endpoint/delete-policy"},{"title":"List Policies (Legacy)","openapi":"GET /guardrails/list-policies","href":"/api-reference/guardrails-api-reference/endpoint/list-policies"},{"title":"Detect with Policy (Legacy)","openapi":"POST /guardrails/policy/detect","href":"/api-reference/guardrails-api-reference/endpoint/detect-using-policy"},{"title":"Detect Image with Policy (Legacy)","openapi":"POST /guardrails/policy/detect-image","href":"/api-reference/guardrails-api-reference/endpoint/detect-image-using-policy"},{"title":"Detect Audio with Policy (Legacy)","openapi":"POST /guardrails/policy/detect-audio","href":"/api-reference/guardrails-api-reference/endpoint/detect-audio-using-policy"},{"title":"Policy Batch Detect (Legacy)","openapi":"POST /guardrails/policy/batch/detect","href":"/api-reference/guardrails-api-reference/endpoint/batch-detect-using-policy"},{"title":"Policy Scan URL (Legacy)","openapi":"POST /guardrails/policy/scan-url","href":"/api-reference/guardrails-api-reference/endpoint/policy-scan-url"},{"title":"Policy Scan PDF (Legacy)","openapi":"POST /guardrails/policy/scan-pdf","href":"/api-reference/guardrails-api-reference/endpoint/policy-scan-pdf"}]},{"group":"Red Team (Legacy)","pages":[{"openapi":"GET /redteam/health","title":"Redteam Health","href":"/api-reference/redteam-api-reference/endpoint/health"},{"openapi":"POST /redteam/v3/model-health","title":"Model Health (V3)","href":"/api-reference/redteam-api-reference/endpoint/v3-model-health"},{"openapi":"POST /redteam/model/model-health","title":"Model Health of saved model","href":"/api-reference/redteam-api-reference/endpoint/model-health-saved"},{"openapi":"POST /redteam/v3/add-custom-task","title":"Add Custom Task (V3)","href":"/api-reference/redteam-api-reference/endpoint/v3-add-custom-task"},{"openapi":"POST /redteam/v3/model/add-custom-task","title":"Add Custom Task with saved model (V3)","href":"/api-reference/redteam-api-reference/endpoint/v3-model-add-custom-task"},{"openapi":"PATCH /redteam/cancel-task","title":"Cancel Task","href":"/api-reference/redteam-api-reference/endpoint/cancel-task"},{"openapi":"GET /redteam/get-task","title":"Get Task","href":"/api-reference/redteam-api-reference/endpoint/get-task"},{"openapi":"GET /redteam/task-status","title":"Get Task Status","href":"/api-reference/redteam-api-reference/endpoint/get-task-status"},{"openapi":"GET /redteam/download-link","title":"Get Download Link","href":"/api-reference/redteam-api-reference/endpoint/get-download-link"},{"openapi":"GET /redteam/v3/results/summary","title":"Get Task Results Summary","href":"/api-reference/redteam-api-reference/endpoint/get-results-summary"},{"openapi":"GET /redteam/v3/results/summary/{test_type}","title":"Get Task Results Summary of a specific test type","href":"/api-reference/redteam-api-reference/endpoint/get-summary-test-type"},{"openapi":"GET /redteam/v3/results/details","title":"Get Task Results Details","href":"/api-reference/redteam-api-reference/endpoint/get-all-details"},{"openapi":"GET /redteam/v3/results/details/{test_type}","title":"Get Task Results Details of a specific test type","href":"/api-reference/redteam-api-reference/endpoint/get-details-test-type"},{"openapi":"POST /redteam/findings","title":"Get findings based on summary","href":"/api-reference/redteam-api-reference/endpoint/get-findings"},{"openapi":"POST /redteam/risk-mitigation/system-prompt","title":"Generate a system prompt for risk mitigation based on red teaming test results","href":"/api-reference/redteam-api-reference/endpoint/risk-mitigation-system-prompt"},{"openapi":"POST /redteam/risk-mitigation/guardrails-policy","title":"Generate a guardrail and policy for risk mitigation based on summary","href":"/api-reference/redteam-api-reference/endpoint/risk-mitigation-guardrails-policy"},{"title":"List All Tasks","openapi":"GET /redteam/list-tasks","href":"/api-reference/redteam-api-reference/endpoint/list-all-tasks"},{"openapi":"POST /redteam/model-health","title":"Model Health","href":"/api-reference/redteam-api-reference/endpoint/model-health"},{"openapi":"POST /redteam/v2/add-task","title":"Add Task","href":"/api-reference/redteam-api-reference/endpoint/add-task"},{"openapi":"POST /redteam/v2/model/add-task","title":"Add Task with saved model","href":"/api-reference/redteam-api-reference/endpoint/model-add-task"},{"openapi":"POST /redteam/v2/add-custom-task","title":"Add Custom Task","href":"/api-reference/redteam-api-reference/endpoint/add-custom-task"},{"openapi":"POST /redteam/v2/model/add-custom-task","title":"Add Custom Task with saved model","href":"/api-reference/redteam-api-reference/endpoint/model-add-custom-task"}]},{"group":"Leaderboard","pages":[{"openapi":"GET /leaderboard/models-list","title":"v1 Models List","href":"/api-reference/leaderboard-api-reference/endpoint/v1/models/models-list"},{"openapi":"GET /leaderboard/scores","title":"v1 Scores list","href":"/api-reference/leaderboard-api-reference/endpoint/v1/scores/scores-list"},{"openapi":"GET /leaderboard/scores/{modelName}","title":"v1 Model Score","href":"/api-reference/leaderboard-api-reference/endpoint/v1/scores/model-score"},{"openapi":"GET /leaderboard/details/{modelName}","title":"v1 Model Detail","href":"/api-reference/leaderboard-api-reference/endpoint/v1/details/model-detail"},{"openapi":"GET /leaderboard/summary/{modelName}","title":"v1 Model Summary","href":"/api-reference/leaderboard-api-reference/endpoint/v1/summary/model-summary"},{"openapi":"GET /leaderboard/rank/{modelName}","title":"v1 Model Rank","href":"/api-reference/leaderboard-api-reference/endpoint/v1/rank/model-rank"},{"openapi":"GET /leaderboard/percentiles","title":"v1 Models Risk Percentiles","href":"/api-reference/leaderboard-api-reference/endpoint/v1/percentiles/models-risk-percentiles"}]},{"group":"Policy Atomizer (Legacy)","pages":[{"title":"Policy Atomizer","openapi":"POST /guardrails/policy-atomizer","href":"/api-reference/coc-api-reference/endpoint/policy-atomizer"}]}]}]}]},{"tab":"SDK Reference","pages":[{"title":"SDK Reference","href":"/sdk-reference/python/introduction"}]},{"tab":"Schema and Postman","pages":[{"title":"Schema and Postman","href":"/schema-and-postman/introduction"}]},{"tab":"Resources","pages":[{"title":"Resources","href":"/resources/introduction"}]}]},"basePath":"","title":"List Scans - Enkrypt AI","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}