{
  "opencollection": "1.0.0",
  "info": {
    "name": "Google Workspace Admin SDK Directory Groups Users API",
    "version": "directory_v1"
  },
  "request": {
    "auth": {
      "type": "oauth2",
      "flow": "authorization_code",
      "authorizationUrl": "https://accounts.google.com/o/oauth2/v2/auth",
      "accessTokenUrl": "https://oauth2.googleapis.com/token",
      "credentials": {
        "clientId": "{{clientId}}",
        "clientSecret": "{{clientSecret}}"
      }
    }
  },
  "items": [
    {
      "info": {
        "name": "Users",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Users",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://admin.googleapis.com/admin/directory/v1/users",
            "params": [
              {
                "name": "domain",
                "value": "",
                "type": "query",
                "description": "The domain name. Use this field to get groups from only one domain. To return all domains for a customer account, use the customer query parameter instead."
              },
              {
                "name": "customer",
                "value": "",
                "type": "query",
                "description": "The unique ID for the customer Google Workspace account. In a multi-domain account, use this to list all groups for a customer. You can also use the my_customer alias."
              },
              {
                "name": "maxResults",
                "value": "",
                "type": "query",
                "description": "Maximum number of results to return (1-500). Default is 100."
              },
              {
                "name": "pageToken",
                "value": "",
                "type": "query",
                "description": "Token to specify the next page in the list."
              },
              {
                "name": "orderBy",
                "value": "",
                "type": "query",
                "description": "Property to use for sorting results."
              },
              {
                "name": "sortOrder",
                "value": "",
                "type": "query",
                "description": "Whether to return results in ascending or descending order."
              },
              {
                "name": "query",
                "value": "",
                "type": "query",
                "description": "Query string for searching user fields. For more information on constructing user queries, see the Search for Users documentation."
              },
              {
                "name": "showDeleted",
                "value": "",
                "type": "query",
                "description": "If set to true, retrieves the list of deleted users."
              },
              {
                "name": "projection",
                "value": "",
                "type": "query",
                "description": "What subset of fields to fetch for this user."
              },
              {
                "name": "viewType",
                "value": "",
                "type": "query",
                "description": "Whether to fetch the administrator-only or domain-wide public view of the user. Default is admin_view."
              },
              {
                "name": "customFieldMask",
                "value": "",
                "type": "query",
                "description": "A comma-separated list of schema names. All fields from these schemas are fetched. Must be set when projection=custom."
              }
            ]
          },
          "docs": "Retrieves a paginated list of either deleted users or all users in a domain. Requires authorization with the admin.directory.user.readonly or admin.directory.user scope."
        },
        {
          "info": {
            "name": "Create a User",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://admin.googleapis.com/admin/directory/v1/users",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a user account. The new user account is created in the customer account specified in the request body."
        },
        {
          "info": {
            "name": "Get a User",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://admin.googleapis.com/admin/directory/v1/users/:userKey",
            "params": [
              {
                "name": "userKey",
                "value": "",
                "type": "path",
                "description": "Identifies the user in the API request. The value can be the user primary email address, alias email address, or unique user ID."
              },
              {
                "name": "projection",
                "value": "",
                "type": "query",
                "description": "What subset of fields to fetch for this user."
              },
              {
                "name": "viewType",
                "value": "",
                "type": "query",
                "description": "Whether to fetch the administrator-only or domain-wide public view of the user."
              },
              {
                "name": "customFieldMask",
                "value": "",
                "type": "query",
                "description": "A comma-separated list of schema names. All fields from these schemas are fetched. Must be set when projection=custom."
              }
            ]
          },
          "docs": "Retrieves a user account by user key (primary email address, alias email address, or unique user ID)."
        },
        {
          "info": {
            "name": "Update a User",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://admin.googleapis.com/admin/directory/v1/users/:userKey",
            "params": [
              {
                "name": "userKey",
                "value": "",
                "type": "path",
                "description": "Identifies the user in the API request. The value can be the user primary email address, alias email address, or unique user ID."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a user account. This replaces the entire user resource. Use patch for partial updates."
        },
        {
          "info": {
            "name": "Patch a User",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://admin.googleapis.com/admin/directory/v1/users/:userKey",
            "params": [
              {
                "name": "userKey",
                "value": "",
                "type": "path",
                "description": "Identifies the user in the API request. The value can be the user primary email address, alias email address, or unique user ID."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a user account using patch semantics. Only the fields specified in the request body are updated."
        },
        {
          "info": {
            "name": "Delete a User",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://admin.googleapis.com/admin/directory/v1/users/:userKey",
            "params": [
              {
                "name": "userKey",
                "value": "",
                "type": "path",
                "description": "Identifies the user in the API request. The value can be the user primary email address, alias email address, or unique user ID."
              }
            ]
          },
          "docs": "Deletes a user account. Deleted users are recoverable for a period of 20 days using the undelete method."
        },
        {
          "info": {
            "name": "Make a User a Super Administrator",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://admin.googleapis.com/admin/directory/v1/users/:userKey/makeAdmin",
            "params": [
              {
                "name": "userKey",
                "value": "",
                "type": "path",
                "description": "Identifies the user in the API request. The value can be the user primary email address, alias email address, or unique user ID."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Makes a user a super administrator. This can only be done by another super administrator."
        },
        {
          "info": {
            "name": "Undelete a User",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://admin.googleapis.com/admin/directory/v1/users/:userKey/undelete",
            "params": [
              {
                "name": "userKey",
                "value": "",
                "type": "path",
                "description": "Identifies the user in the API request. The value can be the user primary email address, alias email address, or unique user ID."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Restores a recently deleted user account. Users are recoverable for a period of 20 days after deletion."
        },
        {
          "info": {
            "name": "Sign Out a User",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://admin.googleapis.com/admin/directory/v1/users/:userKey/signOut",
            "params": [
              {
                "name": "userKey",
                "value": "",
                "type": "path",
                "description": "Identifies the user in the API request. The value can be the user primary email address, alias email address, or unique user ID."
              }
            ]
          },
          "docs": "Signs a user out of all web and device sessions and resets their sign-in cookies."
        }
      ]
    }
  ],
  "bundled": true
}