{ "opencollection": "1.0.0", "info": { "name": "MongoDB Atlas Administration Access Tracking Programmatic API Keys 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": "Programmatic API Keys", "type": "folder" }, "items": [ { "info": { "name": "Return All Organization API Keys Assigned to One Project", "type": "http" }, "http": { "method": "GET", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/apiKeys", "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." } ] }, "docs": "Returns all organization API keys that you assigned to the specified project. Users with the Project Owner role in the project associated with the API key can use the organization API key to access the resources. To use this resource, the requesting Service Account or API Key must have the Project Owner role." }, { "info": { "name": "Create and Assign One Organization API Key to One Project", "type": "http" }, "http": { "method": "POST", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/apiKeys", "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." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Creates and assigns the specified organization API key to the specified project. Users with the Project Owner role in the project associated with the API key can use the organization API key to access the resources. To use this resource, the requesting Service Account or API Key must have the Project Owner role or Project Access Manager role." }, { "info": { "name": "Assign One Organization API Key to One Project", "type": "http" }, "http": { "method": "POST", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/apiKeys/:apiUserId", "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": "apiUserId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies this organization API key that you want to assign to one project." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Assigns the specified organization API key to the specified project. Users with the Project Owner role in the project associated with the API key can then use the organization API key to access the resources. To use this resource, the requesting Service Account or API Key must have the Project Owner role." }, { "info": { "name": "Update Organization API Key Roles for One Project", "type": "http" }, "http": { "method": "PATCH", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/apiKeys/:apiUserId", "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": "pageNum", "value": "", "type": "query", "description": "Number of the page that displays the current set of the total objects that the response returns." }, { "name": "itemsPerPage", "value": "", "type": "query", "description": "Number of items that the response returns per page." }, { "name": "includeCount", "value": "", "type": "query", "description": "Flag that indicates whether the response returns the total number of items (`totalCount`) in the response." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." }, { "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": "apiUserId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies this organization API key that you want to unassign from one project." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Updates the roles of the organization API key that you specify for the project that you specify. You must specify at least one valid role for the project. The application removes any roles that you do not include in this request if they were previously set in the organization API key that you specify for the project. To use this resource, the requesting Service Account or API Key must have the Project Owner role or Project Access Manager role." }, { "info": { "name": "Unassign One Organization API Key from One Project", "type": "http" }, "http": { "method": "DELETE", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/apiKeys/:apiUserId", "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": "apiUserId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies this organization API key that you want to unassign from one project." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." } ] }, "docs": "Removes one organization API key from the specified project. To use this resource, the requesting Service Account or API Key must have the Project Owner role or Project Access Manager role." }, { "info": { "name": "Return All Organization API Keys", "type": "http" }, "http": { "method": "GET", "url": "https://cloud.mongodb.com/api/atlas/v2/orgs/:orgId/apiKeys", "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": "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": "orgId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access." }, { "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." } ] }, "docs": "Returns all organization API keys for the specified organization. The organization API keys grant programmatic access to an organization. You can't use the API key to log into MongoDB Cloud through the console. To use this resource, the requesting Service Account or API Key must have the Organization Member role." }, { "info": { "name": "Create One Organization API Key", "type": "http" }, "http": { "method": "POST", "url": "https://cloud.mongodb.com/api/atlas/v2/orgs/:orgId/apiKeys", "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": "orgId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Creates one API key for the specified organization. An organization API key grants programmatic access to an organization. You can't use the API key to log into the console. To use this resource, the requesting Service Account or API Key must have the Organization Owner role." }, { "info": { "name": "Return One Organization API Key", "type": "http" }, "http": { "method": "GET", "url": "https://cloud.mongodb.com/api/atlas/v2/orgs/:orgId/apiKeys/:apiUserId", "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": "orgId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." }, { "name": "apiUserId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies this organization API key that you want to update." } ] }, "docs": "Returns one organization API key. The organization API keys grant programmatic access to an organization. You can't use the API key to log into MongoDB Cloud through the user interface. To use this resource, the requesting Service Account or API Key must have the Organization Member role." }, { "info": { "name": "Update One Organization API Key", "type": "http" }, "http": { "method": "PATCH", "url": "https://cloud.mongodb.com/api/atlas/v2/orgs/:orgId/apiKeys/:apiUserId", "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": "orgId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." }, { "name": "apiUserId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies this organization API key you want to update." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Updates one organization API key in the specified organization. The organization API keys grant programmatic access to an organization. To use this resource, the requesting API Key must have the Organization Owner role." }, { "info": { "name": "Remove One Organization API Key", "type": "http" }, "http": { "method": "DELETE", "url": "https://cloud.mongodb.com/api/atlas/v2/orgs/:orgId/apiKeys/:apiUserId", "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": "orgId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." }, { "name": "apiUserId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies this organization API key." } ] }, "docs": "Removes one organization API key from the specified organization. When you remove an API key from an organization, MongoDB Cloud also removes that key from any projects that use that key. To use this resource, the requesting Service Account or API Key must have the Organization Owner role." }, { "info": { "name": "Return All Access List Entries for One Organization API Key", "type": "http" }, "http": { "method": "GET", "url": "https://cloud.mongodb.com/api/atlas/v2/orgs/:orgId/apiKeys/:apiUserId/accessList", "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": "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": "orgId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access." }, { "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": "apiUserId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies this organization API key for which you want to return access list entries." } ] }, "docs": "Returns all access list entries that you configured for the specified organization API key. To use this resource, the requesting Service Account or API Key must have the Organization Member role." }, { "info": { "name": "Create One Access List Entry for One Organization API Key", "type": "http" }, "http": { "method": "POST", "url": "https://cloud.mongodb.com/api/atlas/v2/orgs/:orgId/apiKeys/:apiUserId/accessList", "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": "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": "orgId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access." }, { "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": "apiUserId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies this organization API key for which you want to create a new access list entry." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Creates the access list entries for the specified organization API key. Resources require all API requests originate from IP addresses on the API access list. To use this resource, the requesting Service Account or API Key must have the Read Write role." }, { "info": { "name": "Return One Access List Entry for One Organization API Key", "type": "http" }, "http": { "method": "GET", "url": "https://cloud.mongodb.com/api/atlas/v2/orgs/:orgId/apiKeys/:apiUserId/accessList/:ipAddress", "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": "orgId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." }, { "name": "ipAddress", "value": "", "type": "path", "description": "One IP address or multiple IP addresses represented as one CIDR block to limit requests to API resources in the specified organization. When adding a CIDR block with a subnet mask, such as 192.0.2.0/24, use the URL-encoded value %2F for the forward slash /." }, { "name": "apiUserId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies this organization API key for which you want to return access list entries." } ] }, "docs": "Returns one access list entry for the specified organization API key. Resources require all API requests originate from IP addresses on the API access list. To use this resource, the requesting Service Account or API Key must have the Organization Member role." }, { "info": { "name": "Remove One Access List Entry for One Organization API Key", "type": "http" }, "http": { "method": "DELETE", "url": "https://cloud.mongodb.com/api/atlas/v2/orgs/:orgId/apiKeys/:apiUserId/accessList/:ipAddress", "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": "orgId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access." }, { "name": "pretty", "value": "", "type": "query", "description": "Flag that indicates whether the response body should be in the prettyprint format." }, { "name": "apiUserId", "value": "", "type": "path", "description": "Unique 24-hexadecimal digit string that identifies this organization API key for which you want to remove access list entries." }, { "name": "ipAddress", "value": "", "type": "path", "description": "One IP address or multiple IP addresses represented as one CIDR block to limit requests to API resources in the specified organization. When adding a CIDR block with a subnet mask, such as 192.0.2.0/24, use the URL-encoded value %2F for the forward slash /." } ] }, "docs": "Removes the specified access list entry from the specified organization API key. Resources require all API requests originate from the IP addresses on the API access list. To use this resource, the requesting Service Account or API Key must have the Read Write role. In addition, you cannot remove the requesting IP address from the requesting organization API key." } ] } ], "bundled": true }