{
  "ownerName": "Google",
  "rootUrl": "https://admin.googleapis.com/",
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "documentationLink": "https://developers.google.com/workspace/admin/",
  "canonicalName": "directory",
  "version": "v1",
  "schemas": {
    "UserExternalId": {
      "type": "object",
      "properties": {
        "customType": {
          "description": "Custom type.",
          "type": "string"
        },
        "type": {
          "type": "string",
          "description": "The type of the Id."
        },
        "value": {
          "description": "The value of the id.",
          "type": "string"
        }
      },
      "description": "JSON template for an externalId entry.",
      "id": "UserExternalId"
    },
    "UserLanguage": {
      "description": "JSON template for a language entry.",
      "properties": {
        "customLanguage": {
          "type": "string",
          "description": "Other language. User can provide their own language name if there is no corresponding ISO 639 language code. If this is set, `languageCode` can't be set."
        },
        "preference": {
          "description": "Optional. If present, controls whether the specified `languageCode` is the user's preferred language. If `customLanguage` is set, this can't be set. Allowed values are `preferred` and `not_preferred`.",
          "type": "string"
        },
        "languageCode": {
          "description": "ISO 639 string representation of a language. See [Language Codes](/admin-sdk/directory/v1/languages) for the list of supported codes. Valid language codes outside the supported set will be accepted by the API but may lead to unexpected behavior. Illegal values cause `SchemaException`. If this is set, `customLanguage` can't be set.",
          "type": "string"
        }
      },
      "id": "UserLanguage",
      "type": "object"
    },
    "UserRelation": {
      "type": "object",
      "description": "JSON template for a relation entry.",
      "id": "UserRelation",
      "properties": {
        "customType": {
          "type": "string",
          "description": "Custom Type."
        },
        "type": {
          "description": "The relation of the user. Some of the possible values are mother father sister brother manager assistant partner.",
          "type": "string"
        },
        "value": {
          "description": "The name of the relation.",
          "type": "string"
        }
      }
    },
    "UserGender": {
      "type": "object",
      "id": "UserGender",
      "properties": {
        "customGender": {
          "description": "Custom gender.",
          "type": "string"
        },
        "addressMeAs": {
          "type": "string",
          "description": "AddressMeAs. A human-readable string containing the proper way to refer to the profile owner by humans for example he/him/his or they/them/their."
        },
        "type": {
          "description": "Gender.",
          "type": "string"
        }
      }
    },
    "Aliases": {
      "id": "Aliases",
      "type": "object",
      "description": "JSON response template to list aliases in Directory API.",
      "properties": {
        "aliases": {
          "type": "array",
          "items": {
            "type": "any"
          }
        },
        "etag": {
          "type": "string"
        },
        "kind": {
          "default": "admin#directory#aliases",
          "type": "string"
        }
      }
    },
    "UserCustomProperties": {
      "additionalProperties": {
        "type": "any"
      },
      "type": "object",
      "id": "UserCustomProperties",
      "description": "JSON template for a set of custom properties (i.e. all fields in a particular schema)"
    },
    "UserEmail": {
      "type": "object",
      "description": "JSON template for an email.",
      "id": "UserEmail",
      "properties": {
        "address": {
          "type": "string",
          "description": "Email id of the user."
        },
        "primary": {
          "description": "If this is user's primary email. Only one entry could be marked as primary.",
          "type": "boolean"
        },
        "customType": {
          "type": "string",
          "description": "Custom Type."
        },
        "public_key_encryption_certificates": {
          "type": "object",
          "properties": {
            "state": {
              "description": "Denotes the certificate's state in its lifecycle. Possible values are `not_yet_validated`, `valid`, `invalid`, `expired`, and `revoked`.",
              "type": "string"
            },
            "certificate": {
              "type": "string",
              "description": "X.509 encryption certificate in `PEM` format. Must only be an end-entity (leaf) certificate."
            },
            "is_default": {
              "type": "boolean",
              "description": "Whether this is the default certificate for the given email address."
            }
          },
          "description": "Public Key Encryption Certificates. Current limit: 1 per email address, and 5 per user."
        },
        "type": {
          "description": "Each entry can have a type which indicates standard types of that entry. For example email could be of home, work etc. In addition to the standard type, an entry can have a custom type and can take any value Such types should have the CUSTOM value as type and also have a customType value.",
          "type": "string"
        }
      }
    },
    "UserLocation": {
      "type": "object",
      "description": "JSON template for a location entry.",
      "properties": {
        "buildingId": {
          "type": "string",
          "description": "Building Identifier."
        },
        "floorSection": {
          "description": "Floor section. More specific location within the floor. For example if a floor is divided into sections 'A', 'B' and 'C' this field would identify one of those values.",
          "type": "string"
        },
        "floorName": {
          "description": "Floor name/number.",
          "type": "string"
        },
        "type": {
          "description": "Each entry can have a type which indicates standard types of that entry. For example location could be of types default and desk. In addition to standard type an entry can have a custom type and can give it any name. Such types should have 'custom' as type and also have a customType value.",
          "type": "string"
        },
        "area": {
          "description": "Required. Textual location. This is most useful for display purposes to concisely describe the location. For example 'Mountain View, CA', 'Near Seattle', 'US-NYC-9TH 9A209A.''",
          "type": "string"
        },
        "deskCode": {
          "type": "string",
          "description": "Most specific textual code of individual desk location."
        },
        "customType": {
          "type": "string",
          "description": "Custom Type."
        }
      },
      "id": "UserLocation"
    },
    "UserPosixAccount": {
      "id": "UserPosixAccount",
      "description": "JSON template for a POSIX account entry.",
      "properties": {
        "uid": {
          "type": "string",
          "format": "uint64",
          "description": "The POSIX compliant user ID."
        },
        "username": {
          "type": "string",
          "description": "The username of the account."
        },
        "gecos": {
          "description": "The GECOS (user information) for this account.",
          "type": "string"
        },
        "accountId": {
          "description": "A POSIX account field identifier.",
          "type": "string"
        },
        "systemId": {
          "type": "string",
          "description": "System identifier for which account Username or Uid apply to."
        },
        "primary": {
          "description": "If this is user's primary account within the SystemId.",
          "type": "boolean"
        },
        "operatingSystemType": {
          "type": "string",
          "description": "The operating system type for this account."
        },
        "homeDirectory": {
          "type": "string",
          "description": "The path to the home directory for this account."
        },
        "gid": {
          "description": "The default group ID.",
          "type": "string",
          "format": "uint64"
        },
        "shell": {
          "type": "string",
          "description": "The path to the login shell for this account."
        }
      },
      "type": "object"
    },
    "UserKeyword": {
      "id": "UserKeyword",
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "Each entry can have a type which indicates standard type of that entry. For example keyword could be of type occupation or outlook. In addition to the standard type an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a customType value."
        },
        "customType": {
          "description": "Custom Type.",
          "type": "string"
        },
        "value": {
          "type": "string",
          "description": "Keyword."
        }
      },
      "description": "JSON template for a keyword entry."
    },
    "Feature": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "default": "admin#directory#resources#features#Feature",
          "description": "Kind of resource this is."
        },
        "name": {
          "type": "string",
          "description": "The name of the feature.",
          "annotations": {
            "required": [
              "directory.resources.features.insert"
            ]
          }
        },
        "etags": {
          "type": "string",
          "description": "ETag of the resource."
        }
      },
      "id": "Feature",
      "description": "JSON template for Feature object in Directory API."
    },
    "FeatureInstance": {
      "type": "object",
      "properties": {
        "feature": {
          "$ref": "Feature",
          "description": "The feature that this is an instance of. A calendar resource may have multiple instances of a feature."
        }
      },
      "id": "FeatureInstance",
      "description": "JSON template for a feature instance."
    },
    "UserIm": {
      "type": "object",
      "properties": {
        "primary": {
          "description": "If this is user's primary im. Only one entry could be marked as primary.",
          "type": "boolean"
        },
        "type": {
          "description": "Each entry can have a type which indicates standard types of that entry. For example instant messengers could be of home work etc. In addition to the standard type an entry can have a custom type and can take any value. Such types should have the CUSTOM value as type and also have a customType value.",
          "type": "string"
        },
        "customType": {
          "type": "string",
          "description": "Custom type."
        },
        "im": {
          "type": "string",
          "description": "Instant messenger id."
        },
        "protocol": {
          "description": "Protocol used in the instant messenger. It should be one of the values from ImProtocolTypes map. Similar to type it can take a CUSTOM value and specify the custom name in customProtocol field.",
          "type": "string"
        },
        "customProtocol": {
          "type": "string",
          "description": "Custom protocol."
        }
      },
      "id": "UserIm",
      "description": "JSON template for instant messenger of an user."
    },
    "UserOrganization": {
      "description": "JSON template for an organization entry.",
      "properties": {
        "customType": {
          "description": "Custom type.",
          "type": "string"
        },
        "symbol": {
          "description": "Symbol of the organization.",
          "type": "string"
        },
        "department": {
          "type": "string",
          "description": "Department within the organization."
        },
        "primary": {
          "description": "If it user's primary organization.",
          "type": "boolean"
        },
        "fullTimeEquivalent": {
          "type": "integer",
          "description": "The full-time equivalent millipercent within the organization (100000 = 100%).",
          "format": "int32"
        },
        "type": {
          "description": "Each entry can have a type which indicates standard types of that entry. For example organization could be of school work etc. In addition to the standard type an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a CustomType value.",
          "type": "string"
        },
        "title": {
          "type": "string",
          "description": "Title (designation) of the user in the organization."
        },
        "location": {
          "description": "Location of the organization. This need not be fully qualified address.",
          "type": "string"
        },
        "description": {
          "description": "Description of the organization.",
          "type": "string"
        },
        "costCenter": {
          "type": "string",
          "description": "The cost center of the users department."
        },
        "domain": {
          "description": "The domain to which the organization belongs to.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Name of the organization"
        }
      },
      "id": "UserOrganization",
      "type": "object"
    },
    "UserAbout": {
      "properties": {
        "contentType": {
          "description": "About entry can have a type which indicates the content type. It can either be plain or html. By default, notes contents are assumed to contain plain text.",
          "type": "string"
        },
        "value": {
          "description": "Actual value of notes.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "JSON template for About (notes) of a user in Directory API.",
      "id": "UserAbout"
    },
    "UserWebsite": {
      "description": "JSON template for a website entry.",
      "properties": {
        "value": {
          "description": "Website.",
          "type": "string"
        },
        "type": {
          "description": "Each entry can have a type which indicates standard types of that entry. For example website could be of home work blog etc. In addition to the standard type an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a customType value.",
          "type": "string"
        },
        "primary": {
          "description": "If this is user's primary website or not.",
          "type": "boolean"
        },
        "customType": {
          "type": "string",
          "description": "Custom Type."
        }
      },
      "id": "UserWebsite",
      "type": "object"
    },
    "UserPhone": {
      "id": "UserPhone",
      "properties": {
        "type": {
          "type": "string",
          "description": "Each entry can have a type which indicates standard types of that entry. For example phone could be of home_fax work mobile etc. In addition to the standard type an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a customType value."
        },
        "value": {
          "type": "string",
          "description": "Phone number."
        },
        "primary": {
          "type": "boolean",
          "description": "If this is user's primary phone or not."
        },
        "customType": {
          "type": "string",
          "description": "Custom Type."
        }
      },
      "type": "object",
      "description": "JSON template for a phone entry."
    },
    "UserAddress": {
      "type": "object",
      "description": "JSON template for address.",
      "id": "UserAddress",
      "properties": {
        "countryCode": {
          "type": "string",
          "description": "Country code."
        },
        "postalCode": {
          "description": "Postal code.",
          "type": "string"
        },
        "type": {
          "description": "Each entry can have a type which indicates standard values of that entry. For example address could be of home work etc. In addition to the standard type an entry can have a custom type and can take any value. Such type should have the CUSTOM value as type and also have a customType value.",
          "type": "string"
        },
        "sourceIsStructured": {
          "type": "boolean",
          "description": "User supplied address was structured. Structured addresses are NOT supported at this time. You might be able to write structured addresses but any values will eventually be clobbered."
        },
        "formatted": {
          "type": "string",
          "description": "Formatted address."
        },
        "customType": {
          "type": "string",
          "description": "Custom type."
        },
        "primary": {
          "type": "boolean",
          "description": "If this is user's primary address. Only one entry could be marked as primary."
        },
        "poBox": {
          "type": "string",
          "description": "Other parts of address."
        },
        "country": {
          "description": "Country.",
          "type": "string"
        },
        "extendedAddress": {
          "description": "Extended Address.",
          "type": "string"
        },
        "locality": {
          "type": "string",
          "description": "Locality."
        },
        "streetAddress": {
          "type": "string",
          "description": "Street."
        },
        "region": {
          "description": "Region.",
          "type": "string"
        }
      }
    },
    "Alias": {
      "type": "object",
      "properties": {
        "primaryEmail": {
          "type": "string"
        },
        "kind": {
          "type": "string",
          "default": "admin#directory#alias"
        },
        "etag": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "alias": {
          "type": "string"
        }
      },
      "description": "JSON template for Alias object in Directory API.",
      "id": "Alias"
    },
    "UserSshPublicKey": {
      "id": "UserSshPublicKey",
      "type": "object",
      "description": "JSON template for a POSIX account entry.",
      "properties": {
        "key": {
          "type": "string",
          "description": "An SSH public key."
        },
        "fingerprint": {
          "readOnly": true,
          "description": "A SHA-256 fingerprint of the SSH public key. (Read-only)",
          "type": "string"
        },
        "expirationTimeUsec": {
          "format": "int64",
          "description": "An expiration time in microseconds since epoch.",
          "type": "string"
        }
      }
    }
  },
  "batchPath": "batch",
  "protocol": "rest",
  "baseUrl": "https://admin.googleapis.com/",
  "parameters": {
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "location": "query"
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "type": "string",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query"
    },
    "key": {
      "type": "string",
      "location": "query",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
    },
    "prettyPrint": {
      "location": "query",
      "description": "Returns response with indentations and line breaks.",
      "type": "boolean",
      "default": "true"
    },
    "oauth_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth 2.0 token for the current user."
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "alt": {
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "default": "json",
      "type": "string",
      "description": "Data format for response.",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query"
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "callback": {
      "location": "query",
      "description": "JSONP",
      "type": "string"
    }
  },
  "fullyEncodeReservedExpansion": true,
  "basePath": "",
  "title": "Admin SDK API",
  "discoveryVersion": "v1",
  "servicePath": "",
  "name": "admin",
  "packagePath": "admin",
  "id": "admin:v1",
  "resources": {},
  "ownerDomain": "google.com",
  "description": "Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.",
  "kind": "discovery#restDescription",
  "version_module": true,
  "mtlsRootUrl": "https://admin.mtls.googleapis.com/",
  "revision": "20260823"
}
