{ "opencollection": "1.0.0", "info": { "name": "MongoDB Atlas Administration Access Tracking Custom Database Roles 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": "Custom Database Roles", "type": "folder" }, "items": [ { "info": { "name": "Return All Custom Roles in One Project", "type": "http" }, "http": { "method": "GET", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/customDBRoles/roles", "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": "Returns all custom roles for the specified project. To use this resource, the requesting Service Account or API Key must have the Project Read Only role." }, { "info": { "name": "Create One Custom Role", "type": "http" }, "http": { "method": "POST", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/customDBRoles/roles", "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 one custom role in the specified project. To use this resource, the requesting Service Account or API Key must have the Project Owner role, Project Stream Processing Owner role, or the Project Database Access Admin role." }, { "info": { "name": "Return One Custom Role in One Project", "type": "http" }, "http": { "method": "GET", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/customDBRoles/roles/:roleName", "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": "roleName", "value": "", "type": "path", "description": "Human-readable label that identifies the role for the request. This name must be unique for this custom role in this project." } ] }, "docs": "Returns one custom role for the specified project. To use this resource, the requesting Service Account or API Key must have the Project Read Only role." }, { "info": { "name": "Update One Custom Role in One Project", "type": "http" }, "http": { "method": "PATCH", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/customDBRoles/roles/:roleName", "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": "roleName", "value": "", "type": "path", "description": "Human-readable label that identifies the role for the request. This name must be unique for this custom role in this project." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Updates one custom role in the specified project. To use this resource, the requesting Service Account or API Key must have the Project Owner role, the Project Stream Processing Owner role, or the Project Database Access Admin role." }, { "info": { "name": "Remove One Custom Role from One Project", "type": "http" }, "http": { "method": "DELETE", "url": "https://cloud.mongodb.com/api/atlas/v2/groups/:groupId/customDBRoles/roles/:roleName", "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": "roleName", "value": "", "type": "path", "description": "Human-readable label that identifies the role for the request. This name must be unique for this custom role in this project." } ] }, "docs": "Removes one custom role from the specified project. You can't remove a custom role that would leave one or more child roles with no parent roles or actions. You also can't remove a custom role that would leave one or more database users without roles. To use this resource, the requesting Service Account or API Key must have the Project Owner role, Project Stream Processing Owner role, or the Project Database Access Admin role." } ] } ], "bundled": true }