{ "opencollection": "1.0.0", "info": { "name": "MongoDB Atlas Administration Access Tracking Performance Advisor API", "version": "2.0" }, "request": { "auth": { "type": "oauth2", "flow": "client_credentials", "accessTokenUrl": "https://cloud.mongodb.com/api/oauth/token", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "items": [ { "info": { "name": "Performance Advisor", "type": "folder" }, "items": [ { "info": { "name": "Return All Suggested Indexes to Drop", "type": "http" }, "http": { "method": "GET", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/clusters/:clusterName/performanceAdvisor/dropIndexSuggestions", "params": [ { "name": "groupId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access.\n\n**NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups." }, { "name": "clusterName", "value": "", "type": "path", "description": "Human-readable label that identifies the cluster." } ] }, "docs": "Returns the indexes that the Performance Advisor suggests to drop. The Performance Advisor suggests dropping unused, redundant, and hidden indexes to improve write performance and increase storage space. To use this resource, the requesting Service Account or API Key must have the Project Read Only role." }, { "info": { "name": "Return Schema Advice", "type": "http" }, "http": { "method": "GET", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/clusters/:clusterName/performanceAdvisor/schemaAdvice", "params": [ { "name": "groupId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access.\n\n**NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups." }, { "name": "clusterName", "value": "", "type": "path", "description": "Human-readable label that identifies the cluster." } ] }, "docs": "Returns the schema suggestions that the Performance Advisor detects. The Performance Advisor provides holistic schema recommendations for your cluster by sampling documents in your most active collections and collections with slow-running queries. To use this resource, the requesting Service Account or API Key must have the Project Read Only role." }, { "info": { "name": "Return All Suggested Indexes", "type": "http" }, "http": { "method": "GET", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/clusters/:clusterName/performanceAdvisor/suggestedIndexes", "params": [ { "name": "groupId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access.\n\n**NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups." }, { "name": "clusterName", "value": "", "type": "path", "description": "Human-readable label that identifies the cluster." }, { "name": "processIds", "value": "", "type": "query", "description": "Process IDs from which to retrieve suggested indexes. A `processId` is a combination of host and port that serves the MongoDB process. The host must be the hostname, FQDN, IPv4 address, or IPv6 address of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests. To include multiple `processIds`, pass the parameter multiple times delimited with an ampersand (`&`) between each `processId`." }, { "name": "namespaces", "value": "", "type": "query", "description": "Namespaces from which to retrieve suggested indexes. A namespace consists of one database and one collection resource written as `.`: `.`. To include multiple namespaces, pass the parameter multiple times delimited with an ampersand (`&`) between each namespace. Omit this parameter to return results for all namespaces." }, { "name": "since", "value": "", "type": "query", "description": "Date and time from which the query retrieves the suggested indexes. This parameter expresses its value in the number of milliseconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time).\n\n- If you don't specify the **until** parameter, the endpoint returns data covering from the **since** value and the current time.\n- If you specify neither the **since** nor the **until** parameters, the endpoint returns data from the previous 24 hours." }, { "name": "until", "value": "", "type": "query", "description": "Date and time up until which the query retrieves the suggested indexes. This parameter expresses its value in the number of milliseconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time).\n\n- If you specify the **until** parameter, you must specify the **since** parameter.\n- If you specify neither the **since** nor the **until** parameters, the endpoint returns data from the previous 24 hours." } ] }, "docs": "Returns the indexes that the Performance Advisor suggests. The Performance Advisor monitors queries that MongoDB considers slow and suggests new indexes to improve query performance. To use this resource, the requesting Service Account or API Key must have the Project Read Only role." }, { "info": { "name": "Return Managed Slow Operation Threshold Status", "type": "http" }, "http": { "method": "GET", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/managedSlowMs", "params": [ { "name": "envelope", "value": "", "type": "query", "description": "Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body." }, { "name": "groupId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access.\n\n**NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." } ] }, "docs": "Get whether the Managed Slow MS feature is enabled." }, { "info": { "name": "Disable Managed Slow Operation Threshold", "type": "http" }, "http": { "method": "DELETE", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/managedSlowMs/disable", "params": [ { "name": "envelope", "value": "", "type": "query", "description": "Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body." }, { "name": "groupId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access.\n\n**NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." } ] }, "docs": "Disables the slow operation threshold that MongoDB Cloud calculated for the specified project. The threshold determines which operations the Performance Advisor and Query Profiler considers slow. When enabled, MongoDB Cloud uses the average execution time for operations on your cluster to determine slow-running queries. As a result, the threshold is more pertinent to your cluster workload. The slow operation threshold is enabled by default for dedicated clusters (M10+). When disabled, MongoDB Cl" }, { "info": { "name": "Enable Managed Slow Operation Threshold", "type": "http" }, "http": { "method": "POST", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/managedSlowMs/enable", "params": [ { "name": "envelope", "value": "", "type": "query", "description": "Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body." }, { "name": "groupId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access.\n\n**NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." } ] }, "docs": "Enables MongoDB Cloud to use its slow operation threshold for the specified project. The threshold determines which operations the Performance Advisor and Query Profiler considers slow. When enabled, MongoDB Cloud uses the average execution time for operations on your cluster to determine slow-running queries. As a result, the threshold is more pertinent to your cluster workload. The slow operation threshold is enabled by default for dedicated clusters (M10+). When disabled, MongoDB Cloud consid" }, { "info": { "name": "Return All Namespaces for One Host", "type": "http" }, "http": { "method": "GET", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/processes/:processId/performanceAdvisor/namespaces", "params": [ { "name": "envelope", "value": "", "type": "query", "description": "Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body." }, { "name": "groupId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access.\n\n**NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." }, { "name": "duration", "value": "", "type": "query", "description": "Length of time expressed during which the query finds suggested indexes among the managed namespaces in the cluster. This parameter expresses its value in milliseconds.\n\n- If you don't specify the **since** parameter, the endpoint returns data covering the duration before the current time.\n- If you specify neither the **duration** nor **since** parameters, the endpoint returns data from the previous 24 hours." }, { "name": "processId", "value": "", "type": "path", "description": "Combination of host and port that serves the MongoDB process. The host must be the hostname, FQDN, IPv4 address, or IPv6 address of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests." }, { "name": "since", "value": "", "type": "query", "description": "Date and time from which the query retrieves the suggested indexes. This parameter expresses its value in the number of milliseconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time).\n\n- If you don't specify the **duration** parameter, the endpoint returns data covering from the **since** value and the current time.\n- If you specify neither the **duration** nor the **since** parameters, the endpoint returns data from the previous 24 hours." } ] }, "docs": "Returns up to 20 namespaces for collections experiencing slow queries on the specified host. If you specify a secondary member of a replica set that hasn't received any database read operations, the endpoint doesn't return any namespaces. To use this resource, the requesting Service Account or API Key must have the Project Read Only role." }, { "info": { "name": "Return Slow Queries", "type": "http" }, "http": { "method": "GET", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/processes/:processId/performanceAdvisor/slowQueryLogs", "params": [ { "name": "envelope", "value": "", "type": "query", "description": "Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body." }, { "name": "groupId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access.\n\n**NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." }, { "name": "duration", "value": "", "type": "query", "description": "Length of time expressed during which the query finds slow queries among the managed namespaces in the cluster. This parameter expresses its value in milliseconds.\n\n- If you don't specify the **since** parameter, the endpoint returns data covering the duration before the current time.\n- If you specify neither the **duration** nor **since** parameters, the endpoint returns data from the previous 24 hours." }, { "name": "namespaces", "value": "", "type": "query", "description": "Namespaces from which to retrieve slow queries. A namespace consists of one database and one collection resource written as `.`: `.`. To include multiple namespaces, pass the parameter multiple times delimited with an ampersand (`&`) between each namespace. Omit this parameter to return results for all namespaces." }, { "name": "nLogs", "value": "", "type": "query", "description": "Maximum number of lines from the log to return." }, { "name": "processId", "value": "", "type": "path", "description": "Combination of host and port that serves the MongoDB process. The host must be the hostname, FQDN, IPv4 address, or IPv6 address of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests." }, { "name": "since", "value": "", "type": "query", "description": "Date and time from which the query retrieves the slow queries. This parameter expresses its value in the number of milliseconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time).\n\n- If you don't specify the **duration** parameter, the endpoint returns data covering from the **since** value and the current time.\n- If you specify neither the **duration** nor the **since** parameters, the endpoint returns data from the previous 24 hours." }, { "name": "includeMetrics", "value": "", "type": "query", "description": "Whether or not to include metrics extracted from the slow query log as separate fields." }, { "name": "includeReplicaState", "value": "", "type": "query", "description": "Whether or not to include the replica state of the host when the slow query log was generated as a separate field." }, { "name": "includeOpType", "value": "", "type": "query", "description": "Whether or not to include the operation type (read/write/command) extracted from the slow query log as a separate field." } ] }, "docs": "Returns log lines for slow queries that the Performance Advisor and Query Profiler identified. The Performance Advisor monitors queries that MongoDB considers slow and suggests new indexes to improve query performance. MongoDB Cloud bases the threshold for slow queries on the average time of operations on your cluster. This enables workload-relevant recommendations. To use this resource, the requesting Service Account or API Key must have any Project Data Access role or the Project Observability" }, { "info": { "name": "Return All Suggested Indexes", "type": "http" }, "http": { "method": "GET", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/processes/:processId/performanceAdvisor/suggestedIndexes", "params": [ { "name": "envelope", "value": "", "type": "query", "description": "Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body." }, { "name": "groupId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access.\n\n**NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups." }, { "name": "includeCount", "value": "", "type": "query", "description": "Flag that indicates whether the response returns the total number of items (`totalCount`) in the response." }, { "name": "itemsPerPage", "value": "", "type": "query", "description": "Number of items that the response returns per page." }, { "name": "pageNum", "value": "", "type": "query", "description": "Number of the page that displays the current set of the total objects that the response returns." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." }, { "name": "duration", "value": "", "type": "query", "description": "Length of time expressed during which the query finds suggested indexes among the managed namespaces in the cluster. This parameter expresses its value in milliseconds.\n\n- If you don't specify the **since** parameter, the endpoint returns data covering the duration before the current time.\n- If you specify neither the **duration** nor **since** parameters, the endpoint returns data from the previous 24 hours." }, { "name": "namespaces", "value": "", "type": "query", "description": "Namespaces from which to retrieve suggested indexes. A namespace consists of one database and one collection resource written as `.`: `.`. To include multiple namespaces, pass the parameter multiple times delimited with an ampersand (`&`) between each namespace. Omit this parameter to return results for all namespaces." }, { "name": "nExamples", "value": "", "type": "query", "description": "Maximum number of example queries that benefit from the suggested index." }, { "name": "nIndexes", "value": "", "type": "query", "description": "Number that indicates the maximum indexes to suggest." }, { "name": "processId", "value": "", "type": "path", "description": "Combination of host and port that serves the MongoDB process. The host must be the hostname, FQDN, IPv4 address, or IPv6 address of the host that runs the MongoDB process (`mongod` or `mongos`). The port must be the IANA port on which the MongoDB process listens for requests." }, { "name": "since", "value": "", "type": "query", "description": "Date and time from which the query retrieves the suggested indexes. This parameter expresses its value in the number of milliseconds that have elapsed since the [UNIX epoch](https://en.wikipedia.org/wiki/Unix_time).\n\n- If you don't specify the **duration** parameter, the endpoint returns data covering from the **since** value and the current time.\n- If you specify neither the **duration** nor the **since** parameters, the endpoint returns data from the previous 24 hours." } ] }, "docs": "Returns the indexes that the Performance Advisor suggests. The Performance Advisor monitors queries that MongoDB considers slow and suggests new indexes to improve query performance. To use this resource, the requesting Service Account or API Key must have the Project Read Only role." }, { "info": { "name": "Return Serverless Auto-Indexing Status", "type": "http" }, "http": { "method": "GET", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/serverless/:clusterName/performanceAdvisor/autoIndexing", "params": [ { "name": "groupId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access.\n\n**NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups." }, { "name": "clusterName", "value": "", "type": "path", "description": "Human-readable label that identifies the cluster." }, { "name": "envelope", "value": "", "type": "query", "description": "Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." } ] }, "docs": "Get whether the Serverless Auto Indexing feature is enabled. This endpoint returns a value for Flex clusters that were created with the Create Serverless Instance endpoint or Flex clusters that were migrated from Serverless instances. However, the value returned is not indicative of the Auto Indexing state as Auto Indexing is unavailable for Flex clusters. This endpoint will be sunset on January 22, 2026." }, { "info": { "name": "Set Serverless Auto-Indexing Status", "type": "http" }, "http": { "method": "POST", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/serverless/:clusterName/performanceAdvisor/autoIndexing", "params": [ { "name": "groupId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access.\n\n**NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups." }, { "name": "clusterName", "value": "", "type": "path", "description": "Human-readable label that identifies the cluster." }, { "name": "enable", "value": "", "type": "query", "description": "Value that we want to set for the Serverless Auto Indexing toggle." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." } ] }, "docs": "Set whether the Serverless Auto Indexing feature is enabled. This endpoint sets a value for Flex clusters that were created with the Create Serverless Instance endpoint or Flex clusters that were migrated from Serverless instances. However, the value returned is not indicative of the Auto Indexing state as Auto Indexing is unavailable for Flex clusters. This endpoint will be sunset on January 22, 2026." } ] } ], "bundled": true }