[
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "content": "---\nname: \"\\U0001F41B Bug report\"\nabout: Create a report to help us improve the SDK\ntitle: ''\nlabels: bug\nassignees: ''\n\n---\n\n**Describe the bug**\nA clear and concise description of the bug.\n\n**To Reproduce**\nThe steps to reproduce the behavior\n\n**Expected Behavior**\nA clear description of what you expected to happen.\n\n**Actual Behavior**\nA clear description of what actually happened\n\n**Screenshots**\nIf applicable, add screenshots to help explain your problem.\n\n**Versions**\n* What version of the SDK are you using?\n* What version of the language are you using?\n* What platform are you using? (if applicable)\n\n**Additional context**\nAdd any other context about the problem here."
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "content": "blank_issues_enabled: false"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "content": "---\nname: \"\\U0001F680 Feature Request\"\nabout: Suggest an idea for this SDK\ntitle: ''\nlabels: enhancement\nassignees: ''\n\n---\n\n**Why is this feature valuable to you? Does it solve a problem you're having?**\nA clear and concise description of why this feature is valuable. Ex. I'm always frustrated when [...]\n\n**Describe the solution you'd like**\nA clear and concise description of what you want to happen.\n\n**Describe alternatives you've considered**\nA clear and concise description of any alternative solutions or features you've considered. (if applicable)\n\n**Additional context**\nAdd any other context or screenshots about the feature request here.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/question_help.md",
    "content": "---\nname: \"\\U0001F4AC Questions / Help\"\nabout: Get help with issues you are experiencing\ntitle: ''\nlabels: help-wanted, question\nassignees: ''\n\n---\n\n**Before you start**\nHave you checked StackOverflow, previous issues, and Dropbox Developer Forums for help?\n\n**What is your question?**\nA clear and concise description of the question.\n\n**Screenshots**\nIf applicable, add screenshots to help explain your question.\n\n**Versions**\n* What version of the SDK are you using?\n* What version of the language are you using?\n* What platform are you using? (if applicable)\n\n**Additional context**\nAdd any other context about the question here.\n"
  },
  {
    "path": ".github/dependabot.yml",
    "content": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where the package manifests are located.\n# Please see the documentation for all configuration options:\n# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates\n\nversion: 2\nupdates:\n  - package-ecosystem: \"gomod\" # See documentation for possible values\n    directory: \"/v6\" # Location of package manifests\n    schedule:\n      interval: \"daily\"\n\n  - package-ecosystem: \"github-actions\"\n    directory: \"/\"\n    schedule:\n      interval: \"daily\"\n"
  },
  {
    "path": ".github/workflows/codeql-analysis.yml",
    "content": "# For most projects, this workflow file will not need changing; you simply need\n# to commit it to your repository.\n#\n# You may wish to alter this file to override the set of languages analyzed,\n# or to provide custom queries or build logic.\n#\n# ******** NOTE ********\n# We have attempted to detect the languages in your repository. Please check\n# the `language` matrix defined below to confirm you have the correct set of\n# supported CodeQL languages.\n#\nname: \"CodeQL\"\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    # The branches below must be a subset of the branches above\n    branches: [ master ]\n  schedule:\n    - cron: '18 6 * * 0'\n\njobs:\n  analyze:\n    name: Analyze\n    runs-on: ubuntu-latest\n\n    strategy:\n      fail-fast: false\n      matrix:\n        language: [ 'go' ]\n        # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]\n        # Learn more:\n        # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed\n\n    steps:\n    - name: Checkout repository\n      uses: actions/checkout@v3\n\n    # Initializes the CodeQL tools for scanning.\n    - name: Initialize CodeQL\n      uses: github/codeql-action/init@v2\n      with:\n        languages: ${{ matrix.language }}\n        # If you wish to specify custom queries, you can do so here or in a config file.\n        # By default, queries listed here will override any specified in a config file.\n        # Prefix the list here with \"+\" to use these queries and those in the config file.\n        # queries: ./path/to/local/query, your-org/your-repo/queries@main\n\n    # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).\n    # If this step fails, then you should remove it and run the build manually (see below)\n    - name: Autobuild\n      uses: github/codeql-action/autobuild@v2\n\n    # ℹ️ Command-line programs to run using the OS shell.\n    # 📚 https://git.io/JvXDl\n\n    # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines\n    #    and modify them (or add more) to build your code if your project\n    #    uses a compiled language\n\n    #- run: |\n    #   make bootstrap\n    #   make release\n\n    - name: Perform CodeQL Analysis\n      uses: github/codeql-action/analyze@v2\n"
  },
  {
    "path": ".github/workflows/lint.yml",
    "content": "name: Lint\non:\n  pull_request:\njobs:\n  golangci:\n    name: lint\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - name: golangci-lint\n        uses: golangci/golangci-lint-action@v3\n        with:\n          version: latest\n          working-directory: ./v6\n"
  },
  {
    "path": ".github/workflows/test.yml",
    "content": "name: Test\non:\n  pull_request:\nenv:\n  GO111MODULE: \"on\"\njobs:\n  test:\n    strategy:\n      matrix:\n        go-version: [1.11.x]\n        os: [ubuntu-latest, macos-latest, windows-latest]\n    runs-on: ${{ matrix.os }}\n    steps:\n    - name: Install Go\n      uses: actions/setup-go@v4\n      with:\n        go-version: ${{ matrix.go-version }}\n    - name: Checkout code\n      uses: actions/checkout@v3\n    - name: Test\n      run: go test -race -v ./...\n      working-directory: ./v6\n"
  },
  {
    "path": ".gitignore",
    "content": "# jetbrains\n.idea\n\n# swap\n[._]*.s[a-w][a-z]\n[._]s[a-w][a-z]\n\n# emacs backups\n*~\n\n.pyc\n__pycache__\n"
  },
  {
    "path": ".gitmodules",
    "content": "[submodule \"generator/dropbox-api-spec\"]\n\tpath = generator/dropbox-api-spec\n\turl = https://github.com/dropbox/dropbox-api-spec\n"
  },
  {
    "path": "LICENSE",
    "content": "Copyright (c) 2009-2016 Dropbox Inc., http://www.dropbox.com/\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# Dropbox SDK for Go [UNOFFICIAL] [![GoDoc](https://pkg.go.dev/badge/github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox)](https://pkg.go.dev/github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox) [![Actions Status](https://github.com/dropbox/dropbox-sdk-go-unofficial/workflows/Test/badge.svg)](https://github.com/dropbox/dropbox-sdk-go-unofficial/actions) [![Actions Status](https://github.com/dropbox/dropbox-sdk-go-unofficial/workflows/Lint/badge.svg)](https://github.com/dropbox/dropbox-sdk-go-unofficial/actions)\n\nAn **UNOFFICIAL** Go SDK for integrating with the Dropbox API v2. Tested with Go 1.11+\n\n:warning: WARNING: This SDK is **NOT yet official**. What does this mean?\n\n  * There is no formal Dropbox [support](https://www.dropbox.com/developers/support) for this SDK at this point\n  * Bugs may or may not get fixed\n  * Not all SDK features may be implemented and implemented features may be buggy or incorrect\n\n\n### Uh OK, so why are you releasing this?\n\n  * the SDK, while unofficial, _is_ usable. See [dbxcli](https://github.com/dropbox/dbxcli) for an example application built using the SDK\n  * we would like to get feedback from the community and evaluate the level of interest/enthusiasm before investing into official supporting one more SDK\n\n## Installation\n\n```sh\n$ go get github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/...\n```\n\nFor most applications, you should just import the relevant namespace(s) only. The SDK exports the following sub-packages:\n\n* `github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/auth`\n* `github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/files`\n* `github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/sharing`\n* `github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/team`\n* `github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/users`\n\nAdditionally, the base `github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox` package exports some configuration and helper methods.\n\n## Usage\n\nFirst, you need to [register a new \"app\"](https://dropbox.com/developers/apps) to start making API requests. Once you have created an app, you can either use the SDK via an access token (useful for testing) or via the regular OAuth2 flow (recommended for production).\n\n### Using OAuth token\n\nOnce you've created an app, you can get an access token from the app's console. Note that this token will only work for the Dropbox account the token is associated with.\n\n```go\nimport \"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\nimport \"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/users\"\n\nfunc main() {\n  config := dropbox.Config{\n      Token: token,\n      LogLevel: dropbox.LogInfo, // if needed, set the desired logging level. Default is off\n  }\n  dbx := users.New(config)\n  // start making API calls\n}\n```\n\n### Using OAuth2 flow\n\nFor this, you will need your `APP_KEY` and `APP_SECRET` from the developers console. Your app will then have to take users though the oauth flow, as part of which users will explicitly grant permissions to your app. At the end of this process, users will get a token that the app can then use for subsequent authentication. See [this](https://pkg.go.dev/golang.org/x/oauth2#example-Config) for an example of oauth2 flow in Go.\n\nOnce you have the token, usage is same as above.\n\n### Making API calls\n\nEach Dropbox API takes in a request type and returns a response type. For instance, [/users/get_account](https://www.dropbox.com/developers/documentation/http/documentation#users-get_account) takes as input a `GetAccountArg` and returns a `BasicAccount`. The typical pattern for making API calls is:\n\n  * Instantiate the argument via the `New*` convenience functions in the SDK\n  * Invoke the API\n  * Process the response (or handle error, as below)\n\nHere's an example:\n\n```go\n  arg := users.NewGetAccountArg(accountId)\n  if resp, err := dbx.GetAccount(arg); err != nil {\n    return err\n  } else {\n    fmt.Printf(\"Name: %v\", resp.Name)\n  }\n```\n\n### Error Handling\n\nAs described in the [API docs](https://www.dropbox.com/developers/documentation/http/documentation#error-handling), all HTTP errors _except_ 409 are returned as-is to the client (with a helpful text message where possible). In case of a 409, the SDK will return an endpoint-specific error as described in the API. This will be made available as `EndpointError` member in the error.\n\n## Note on using the Teams API\n\nTo use the Team API, you will need to create a Dropbox Business App. The OAuth token from this app will _only_ work for the Team API.\n\nPlease read the [API docs](https://www.dropbox.com/developers/documentation/http/teams) carefully to appropriate secure your apps and tokens when using the Team API.\n\n## Code Generation\n\nThis SDK is automatically generated using the public [Dropbox API spec](https://github.com/dropbox/dropbox-api-spec) and [Stone](https://github.com/dropbox/stone). See this [README](https://github.com/dropbox/dropbox-sdk-go-unofficial/blob/master/generator/README.md)\nfor more details on how code is generated. \n\n## Caveats\n\n  * To re-iterate, this is an **UNOFFICIAL** SDK and thus has no official support from Dropbox\n  * Only supports the v2 API. Parts of the v2 API are still in beta, and thus subject to change\n  * This SDK itself is in beta, and so interfaces may change at any point\n"
  },
  {
    "path": "generator/README.md",
    "content": "# Dropbox Go SDK Generator\n\nThis directory contains the [Stone](https://github.com/dropbox/stone) code generators\nused to programmatically generate the [Dropbox Go SDK](https://github.com/dropbox/dropbox-sdk-go).\n\n## Requirements\n\n  * While not a hard requirement, this repo currently assumes `python3` in the path.\n  * Assumes you have already installed [Stone](https://github.com/dropbox/stone) and have `stone` in the path.\n  * Requires [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports) in the path to fix up imports in the auto-generated code.\n\n## Basic Setup\n\n  * Clone this repo\n  * Run `git submodule init` followed by `git submodule update`. To fetch the latest API spec, use `git submodule update --remote`\n  * Run `./generate-sdk.sh X.Y.Z`, where `X.Y.Z` is the desired version number, to generate code under `../vX/dropbox`\n\n## Generated Code\n\n### Basic Types\n\nHere is how Stone [basic types](https://github.com/dropbox/stone/blob/master/doc/lang_ref.rst#basic-types) map to Go types:\n\nStone Type | Go Type\n---------- | -------\nInt32/Int64/UInt32/UInt64 | int32/int64/uint32/uint64\nFloat32/Float64 | float32/float64\nBoolean | bool\nString | string\nTimestamp | time.Time\nVoid | struct{}\n\n### Structs\n\nStone [structs](https://github.com/dropbox/stone/blob/master/doc/lang_ref.rst#struct) are represented as Go [structs](https://gobyexample.com/structs) in a relatively straight-forward manner. Each struct member is exported and also gets assigned the correct json tag. The latter is used for serializing requests and deserializing responses. Non-primitive types are represented as pointers to the corresponding type.\n\n```\nstruct Account\n    \"The amount of detail revealed about an account depends on the user\n    being queried and the user making the query.\"\n\n    account_id AccountId\n        \"The user's unique Dropbox ID.\"\n    name Name\n        \"Details of a user's name.\"\n```\n\n```go\n// The amount of detail revealed about an account depends on the user being\n// queried and the user making the query.\ntype Account struct {\n\t// The user's unique Dropbox ID.\n\tAccountId string `json:\"account_id\"`\n\t// Details of a user's name.\n\tName *Name `json:\"name\"`\n}\n```\n\n#### Inheritance\n\nStone supports [struct inheritance](https://github.com/dropbox/stone/blob/master/doc/lang_ref.rst#inheritance). In Go, we support this via [embedding](https://golang.org/doc/effective_go.html#embedding)\n\n```\nstruct BasicAccount extends Account\n    \"Basic information about any account.\"\n\n    is_teammate Boolean\n        \"Whether this user is a teammate of the current user. If this account\n        is the current user's account, then this will be :val:`true`.\"\n```\n\n```go\n// Basic information about any account.\ntype BasicAccount struct {\n\tAccount\n\t// Whether this user is a teammate of the current user. If this account is\n\t// the current user's account, then this will be `True`.\n\tIsTeammate bool `json:\"is_teammate\"`\n```\n\n### Unions\n\nStone https://github.com/dropbox/stone/blob/master/doc/lang_ref.rst#union[unions] are bit more complex as Go doesn't have native support for union types (tagged or otherwise). We declare a union as a Go struct with all the possible fields as pointer types, and then use the tag value to populate the correct field during deserialization. This necessitates the use of an intermediate wrapper struct for the deserialization to work correctly, see below for a concrete example.\n\n```\nunion SpaceAllocation\n    \"Space is allocated differently based on the type of account.\"\n\n    individual IndividualSpaceAllocation\n        \"The user's space allocation applies only to their individual account.\"\n    team TeamSpaceAllocation\n        \"The user shares space with other members of their team.\"\n```\n\n```go\n// Space is allocated differently based on the type of account.\ntype SpaceAllocation struct {\n\tdropbox.Tagged\n\t// The user's space allocation applies only to their individual account.\n\tIndividual *IndividualSpaceAllocation `json:\"individual,omitempty\"`\n\t// The user shares space with other members of their team.\n\tTeam *TeamSpaceAllocation `json:\"team,omitempty\"`\n}\n\n// Valid tag values for `SpaceAllocation`\nconst (\n\tSpaceAllocation_Individual = \"individual\"\n\tSpaceAllocation_Team       = \"team\"\n\tSpaceAllocation_Other      = \"other\"\n)\n\nfunc (u *SpaceAllocation) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// The user's space allocation applies only to their individual account.\n\t\tIndividual json.RawMessage `json:\"individual,omitempty\"`\n\t\t// The user shares space with other members of their team.\n\t\tTeam json.RawMessage `json:\"team,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"individual\":\n\t\tif err := json.Unmarshal(body, &u.Individual); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team\":\n\t\tif err := json.Unmarshal(body, &u.Team); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n```\n\n### Struct with Enumerated Subtypes\n\nPer the https://github.com/dropbox/stone/blob/master/doc/lang_ref.rst#struct-polymorphism[spec], structs with enumerated subtypes are a mechanism of inheritance:\n\n> If a struct enumerates its subtypes, an instance of any subtype will satisfy the type constraint. This is useful when wanting to discriminate amongst types that are part of the same hierarchy while simultaneously being able to avoid discriminating when accessing common fields.\n\nTo represent structs with enumerated subtypes in Go, we use a combination of Go interface types and unions as implemented above. Considering the following:\n\n```\nstruct Metadata\n    union\n        file FileMetadata\n        folder FolderMetadata\n        deleted DeletedMetadata  # Used by list_folder* and search\n\n    name String\n    path_lower String?\n    path_display String?\n    parent_shared_folder_id common.SharedFolderId?\n    \nstruct FileMetadata extends Metadata\n    id Id\n    client_modified common.DropboxTimestamp\n    ...\n```\n\nIn this case, `FileMetadata`, `FolderMetadata` etc are subtypes of `Metadata`. Specifically, any subtype can be used where a parent type is expected. Thus, if `list_folder` returns a list of `Metadata`s, we should be able to parse and \"upcast\" to one of the enumerated subtypes.\n\nFirst, we define structs to represent the base and enumerated types as we did for inherited structs above:\n\n```go\ntype Metadata struct {\n\tName string `json:\"name\"`\n\tPathLower string `json:\"path_lower,omitempty\"`\n\tPathDisplay string `json:\"path_display,omitempty\"`\n\tParentSharedFolderId string `json:\"parent_shared_folder_id,omitempty\"`\n}\n\ntype FileMetadata struct {\n\tMetadata\n\tId string `json:\"id\"`\n\tClientModified time.Time `json:\"client_modified\"`\n\t...\n}\n```\n\nNext, we define an interface type with a dummy method and ensure that both the base and the subtypes implement the interface:\n\n```go\ntype IsMetadata interface {\n\tIsMetadata()\n}\n\nfunc (u *Metadata) IsMetadata() {} // Subtypes get this for free due to embedding\n```\n\nAt this point, types or methods that accept/return a struct with enumerated subtypes can use the interface type instead. For instance:\n\n```go\nfunc GetMetadata(arg *GetMetadataArg) (res IsMetadata, err error) {...}\n\ntype ListFolderResult struct {\n\t// The files and (direct) subfolders in the folder.\n\tEntries []IsMetadata `json:\"entries\"`\n\t...\n}\n```\n\nFinally, to actually deserialize a bag of bytes into the appropriate type or subtype, we use a trick similar to how we handle unions above.\n\n```go\ntype metadataUnion struct {\n\tdropbox.Tagged\n\tFile    *FileMetadata    `json:\"file,omitempty\"`\n\tFolder  *FolderMetadata  `json:\"folder,omitempty\"`\n\tDeleted *DeletedMetadata `json:\"deleted,omitempty\"`\n}\n\nfunc (u *metadataUnion) UnmarshalJSON(body []byte) error {...}\n\nfunc (dbx *apiImpl) GetMetadata(arg *GetMetadataArg) (res IsMetadata, err error) {\n   \t...\n   \tvar tmp metadataUnion\n\terr = json.Unmarshal(body, &tmp)\n\tif err != nil {\n\t\treturn\n\t}\n\tswitch tmp.Tag {\n\tcase \"file\":\n\t\tres = tmp.File\n\tcase \"folder\":\n\t\tres = tmp.Folder\n\tcase \"deleted\":\n\t\tres = tmp.Deleted\n\t}\n}\n```\n"
  },
  {
    "path": "generator/generate-sdk.sh",
    "content": "#! /usr/bin/env bash\nset -euo pipefail\n\nif [[ $# -ne 1 ]]; then\n    echo \"$0: Expecting exactly one command-line argument, got $#.\" 1>&2\n    exit 1\nfi\n\nversion=$(echo $1 | cut -f1 -d'.')\nloc=$(realpath -e $0)\nbase_dir=$(dirname \"$loc\")\nspec_dir=\"$base_dir/dropbox-api-spec\"\ngen_dir=$(dirname ${base_dir})/v$version/dropbox\n\nstone -v -a :all go_types.stoneg.py \"$gen_dir\" \"$spec_dir\"/*.stone\nstone -v -a :all go_client.stoneg.py \"$gen_dir\" \"$spec_dir\"/*.stone\n\n# Update SDK and API spec versions\nsdk_version=${1}\npushd ${spec_dir}\nspec_version=$(git rev-parse --short HEAD)\npopd\n\nsed -i.bak -e \"s/UNKNOWN SDK VERSION/${sdk_version}/\" \\\n    -e \"s/UNKNOWN SPEC VERSION/${spec_version}/\" ${gen_dir}/sdk.go\nrm ${gen_dir}/sdk.go.bak\npushd ${gen_dir}\ngoimports -l -w ${gen_dir}\npopd\n"
  },
  {
    "path": "generator/go_client.stoneg.py",
    "content": "import os\n\nfrom stone.backend import CodeBackend\nfrom stone.ir import (\n    is_void_type,\n    is_struct_type\n)\n\nfrom go_helpers import (\n    HEADER,\n    fmt_type,\n    fmt_var,\n    generate_doc,\n)\n\n\nclass GoClientBackend(CodeBackend):\n    def generate(self, api):\n        for namespace in api.namespaces.values():\n            if len(namespace.routes) > 0:\n                self._generate_client(namespace)\n\n    def _generate_client(self, namespace):\n        file_name = os.path.join(self.target_folder_path, namespace.name,\n                                 'client.go')\n        with self.output_to_relative_path(file_name):\n            self.emit_raw(HEADER)\n            self.emit()\n            self.emit('package %s' % namespace.name)\n            self.emit()\n\n            self.emit('// Client interface describes all routes in this namespace')\n            with self.block('type Client interface'):\n                for route in namespace.routes:\n                    generate_doc(self, route)\n                    self.emit(self._generate_route_signature(namespace, route))\n            self.emit()\n\n            self.emit('type apiImpl dropbox.Context')\n            for route in namespace.routes:\n                self._generate_route(namespace, route)\n            self.emit('// New returns a Client implementation for this namespace')\n            with self.block('func New(c dropbox.Config) Client'):\n                self.emit('ctx := apiImpl(dropbox.NewContext(c))')\n                self.emit('return &ctx')\n\n    def _generate_route_signature(self, namespace, route):\n        req = fmt_type(route.arg_data_type, namespace)\n        res = fmt_type(route.result_data_type, namespace, use_interface=True)\n        fn = fmt_var(route.name)\n        if route.version != 1:\n            fn += 'V%d' % route.version\n        style = route.attrs.get('style', 'rpc')\n\n        arg = '' if is_void_type(route.arg_data_type) else 'arg {req}'\n        ret = '(err error)' if is_void_type(route.result_data_type) else \\\n            '(res {res}, err error)'\n        signature = '{fn}(' + arg + ') ' + ret\n        if style == 'download':\n            signature = '{fn}(' + arg + \\\n                ') (res {res}, content io.ReadCloser, err error)'\n        elif style == 'upload':\n            signature = '{fn}(' + arg + ', content io.Reader) ' + ret\n            if is_void_type(route.arg_data_type):\n                signature = '{fn}(content io.Reader) ' + ret\n        return signature.format(fn=fn, req=req, res=res)\n\n\n    def _generate_route(self, namespace, route):\n        out = self.emit\n\n        route_name = route.name\n        if route.version != 1:\n            route_name += '_v%d' % route.version\n\n        fn = fmt_var(route.name)\n        if route.version != 1:\n            fn += 'V%d' % route.version\n\n        err = fmt_type(route.error_data_type, namespace)\n        out('//%sAPIError is an error-wrapper for the %s route' %\n            (fn, route_name))\n        with self.block('type {fn}APIError struct'.format(fn=fn)):\n            out('dropbox.APIError')\n            out('EndpointError {err} `json:\"error\"`'.format(err=err))\n        out()\n\n        signature = 'func (dbx *apiImpl) ' + self._generate_route_signature(\n            namespace, route)\n        with self.block(signature):\n            if route.deprecated is not None:\n                out('log.Printf(\"WARNING: API `%s` is deprecated\")' % fn)\n                if route.deprecated.by is not None:\n                    replacement_fn = fmt_var(route.deprecated.by.name)\n                    if route.deprecated.by.version != 1:\n                        replacement_fn += \"V%d\" % route.deprecated.by.version\n                    out('log.Printf(\"Use API `%s` instead\")' % replacement_fn)\n                out()\n\n            args = {\n                \"Host\": route.attrs.get('host', 'api'),\n                \"Namespace\": namespace.name,\n                \"Route\": route_name,\n                \"Auth\": route.attrs.get('auth', ''),\n                \"Style\": route.attrs.get('style', 'rpc'),\n            }\n\n            with self.block('req := dropbox.Request'):\n                for k, v in args.items():\n                    out(k + ':\"' + v + '\",')\n\n                out(\"Arg: {arg},\".format(arg=\"arg\" if not is_void_type(route.arg_data_type) else \"nil\"))\n                out(\"ExtraHeaders: {headers},\".format(\n                    headers=\"arg.ExtraHeaders\" if fmt_var(route.name) == \"Download\" else \"nil\"))\n            out()\n\n            out(\"var resp []byte\")\n            out(\"var respBody io.ReadCloser\")\n            out(\"resp, respBody, err = (*dropbox.Context)(dbx).Execute(req, {body})\".format(\n                body=\"content\" if route.attrs.get('style', '') == 'upload' else \"nil\"))\n            with self.block(\"if err != nil\"):\n                out(\"var appErr {fn}APIError\".format(fn=fn))\n                out(\"err = {auth}ParseError(err, &appErr)\".format(\n                    auth=\"auth.\" if namespace.name != \"auth\" else \"\"))\n                with self.block(\"if err == &appErr\"):\n                    out(\"err = appErr\")\n                out(\"return\")\n            out()\n\n            if is_struct_type(route.result_data_type) and route.result_data_type.has_enumerated_subtypes():\n                out('var tmp %sUnion' % fmt_var(route.result_data_type.name, export=False))\n                with self.block('err = json.Unmarshal(resp, &tmp);'\n                                'if err != nil'):\n                    out('return')\n                with self.block('switch tmp.Tag'):\n                    for t in route.result_data_type.get_enumerated_subtypes():\n                        with self.block('case \"%s\":' % t.name, delim=(None, None)):\n                            self.emit('res = tmp.%s' % fmt_var(t.name))\n            elif not is_void_type(route.result_data_type):\n                with self.block('err = json.Unmarshal(resp, &res);'\n                                'if err != nil'):\n                    out('return')\n                out()\n            else:\n                out(\"_ = resp\")\n\n            if route.attrs.get('style', 'rpc') == \"download\":\n                out(\"content = respBody\")\n            else:\n                out(\"_ = respBody\")\n            out('return')\n        out()\n"
  },
  {
    "path": "generator/go_helpers.py",
    "content": "from stone.ir import (ApiNamespace, ApiRoute)\nfrom stone.ir import (\n    Boolean,\n    Float32,\n    Float64,\n    Int32,\n    Int64,\n    String,\n    Timestamp,\n    UInt32,\n    UInt64,\n    unwrap_nullable,\n    is_composite_type,\n    is_list_type,\n    is_map_type,\n    is_struct_type,\n    Void,\n)\nfrom stone.backends import helpers\n\nHEADER = \"\"\"\\\n// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\"\"\"\n\n_reserved_keywords = {\n    'break', 'default', 'func', 'interface', 'select',\n    'case', 'defer', 'go',   'map',  'struct',\n    'chan', 'else', 'goto', 'package', 'switch',\n    'const', 'fallthrough', 'if',   'range', 'type',\n    'continue', 'for',  'import',  'return',  'var',\n}\n\n_type_table = {\n    UInt64: 'uint64',\n    Int64: 'int64',\n    UInt32: 'uint32',\n    Int32: 'int32',\n    Float64: 'float64',\n    Float32: 'float32',\n    Boolean: 'bool',\n    String: 'string',\n    Timestamp: 'time.Time',\n    Void: 'struct{}',\n}\n\n\ndef _rename_if_reserved(s):\n    if s in _reserved_keywords:\n        return s + '_'\n    else:\n        return s\n\n\ndef fmt_type(data_type, namespace=None, use_interface=False, raw=False):\n    data_type, nullable = unwrap_nullable(data_type)\n    if is_list_type(data_type):\n        if raw and not _needs_base_type(data_type.data_type):\n            return \"json.RawMessage\"\n        return '[]%s' % fmt_type(data_type.data_type, namespace, use_interface, raw)\n    if is_map_type(data_type):\n        if raw and not _needs_base_type(data_type.data_type):\n            return \"json.RawMessage\"\n        return 'map[string]%s' % fmt_type(data_type.value_data_type, namespace, use_interface, raw)\n    if raw:\n        return \"json.RawMessage\"\n    type_name = data_type.name\n    if use_interface and _needs_base_type(data_type):\n        type_name = 'Is' + type_name\n    if is_composite_type(data_type) and namespace is not None and \\\n            namespace.name != data_type.namespace.name:\n        type_name = data_type.namespace.name + '.' + type_name\n    if use_interface and _needs_base_type(data_type):\n        return _type_table.get(data_type.__class__, type_name)\n    else:\n        if data_type.__class__ not in _type_table:\n            return '*' + type_name\n        if data_type.__class__ == Timestamp:\n            # For other primitive types, `omitempty` does the job.\n            return ('*' if nullable else '') + _type_table[data_type.__class__]\n        return _type_table[data_type.__class__]\n\n\ndef fmt_var(name, export=True, check_reserved=False):\n    s = helpers.fmt_pascal(name) if export else helpers.fmt_camel(name)\n    return _rename_if_reserved(s) if check_reserved else s\n\n\ndef _doc_handler(tag, val):\n    if tag == 'type':\n        return '`{}`'.format(val)\n    elif tag == 'route':\n        return '`{}`'.format(helpers.fmt_camel(val))\n    elif tag == 'link':\n        anchor, link = val.rsplit(' ', 1)\n        return '`{}` <{}>'.format(anchor, link)\n    elif tag == 'val':\n        if val == 'null':\n            return 'nil'\n        else:\n            return val\n    elif tag == 'field':\n        return '`{}`'.format(val)\n    else:\n        raise RuntimeError('Unknown doc ref tag %r' % tag)\n\n\ndef generate_doc(code_generator, t):\n    doc = t.doc\n    if doc is None:\n        doc = 'has no documentation (yet)'\n    doc = code_generator.process_doc(doc, _doc_handler)\n    d = '%s : %s' % (fmt_var(t.name), doc)\n    if isinstance(t, ApiNamespace):\n        d = 'Package %s : %s' % (t.name, doc)\n    code_generator.emit_wrapped_text(d, prefix='// ')\n\n    # Generate comment for deprecated routes\n    if isinstance(t, ApiRoute):\n        if t.deprecated is not None:\n            d = 'Deprecated: '\n            if t.deprecated.by is not None:\n                deprecated_by = t.deprecated.by\n                fn = fmt_var(deprecated_by.name)\n                if deprecated_by.version != 1:\n                    fn += 'V%d' % deprecated_by.version\n                d += 'Use `%s` instead' % fn\n            code_generator.emit_wrapped_text(d, prefix='// ')\n\n\ndef _needs_base_type(data_type):\n    data_type, _ = unwrap_nullable(data_type)\n    if is_struct_type(data_type) and data_type.has_enumerated_subtypes():\n        return True\n    if is_list_type(data_type):\n        return _needs_base_type(data_type.data_type)\n    if is_map_type(data_type):\n        return _needs_base_type(data_type.value_data_type)\n    return False\n\n\ndef needs_base_type(struct):\n    for field in struct.fields:\n        if _needs_base_type(field.data_type):\n            return True\n    return False\n"
  },
  {
    "path": "generator/go_rsrc/sdk.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage dropbox\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n\t\"strings\"\n\n\t\"golang.org/x/oauth2\"\n)\n\nconst (\n\tapiVersion    = 2\n\tdefaultDomain = \".dropboxapi.com\"\n\thostAPI       = \"api\"\n\thostContent   = \"content\"\n\thostNotify    = \"notify\"\n\tsdkVersion    = \"UNKNOWN SDK VERSION\"\n\tspecVersion   = \"UNKNOWN SPEC VERSION\"\n)\n\n// Version returns the current SDK version and API Spec version\nfunc Version() (string, string) {\n\treturn sdkVersion, specVersion\n}\n\n// Tagged is used for tagged unions.\ntype Tagged struct {\n\tTag string `json:\".tag\"`\n}\n\n// APIError is the base type for endpoint-specific errors.\ntype APIError struct {\n\tErrorSummary string `json:\"error_summary\"`\n}\n\nfunc (e APIError) Error() string {\n\treturn e.ErrorSummary\n}\n\ntype SDKInternalError struct {\n\tStatusCode int\n\tContent    string\n}\n\nfunc (e SDKInternalError) Error() string {\n\treturn fmt.Sprintf(\"Unexpected error: %v (code: %v)\", e.Content, e.StatusCode)\n}\n\n// Config contains parameters for configuring the SDK.\ntype Config struct {\n\t// OAuth2 access token\n\tToken string\n\t// Logging level for SDK generated logs\n\tLogLevel LogLevel\n\t// Logging target for verbose SDK logging\n\tLogger *log.Logger\n\t// Used with APIs that support operations as another user\n\tAsMemberID string\n\t// Used with APIs that support operations as an admin\n\tAsAdminID string\n\t// Path relative to which action should be taken\n\tPathRoot string\n\t// No need to set -- for testing only\n\tDomain string\n\t// No need to set -- for testing only\n\tClient *http.Client\n\t// No need to set -- for testing only\n\tHeaderGenerator func(hostType string, namespace string, route string) map[string]string\n\t// No need to set -- for testing only\n\tURLGenerator func(hostType string, namespace string, route string) string\n}\n\n// LogLevel defines a type that can set the desired level of logging the SDK will generate.\ntype LogLevel uint\n\nconst (\n\t// LogOff will disable all SDK logging. This is the default log level\n\tLogOff LogLevel = iota * (1 << 8)\n\t// LogDebug will enable detailed SDK debug logs. It will log requests (including arguments),\n\t// response and body contents.\n\tLogDebug\n\t// LogInfo will log SDK request (not including arguments) and responses.\n\tLogInfo\n)\n\nfunc (l LogLevel) shouldLog(v LogLevel) bool {\n\treturn l > v || l&v == v\n}\n\nfunc (c *Config) doLog(l LogLevel, format string, v ...interface{}) {\n\tif !c.LogLevel.shouldLog(l) {\n\t\treturn\n\t}\n\n\tif c.Logger != nil {\n\t\tc.Logger.Printf(format, v...)\n\t} else {\n\t\tlog.Printf(format, v...)\n\t}\n}\n\n// LogDebug emits a debug level SDK log if config's log level is at least LogDebug\nfunc (c *Config) LogDebug(format string, v ...interface{}) {\n\tc.doLog(LogDebug, format, v...)\n}\n\n// LogInfo emits an info level SDK log if config's log level is at least LogInfo\nfunc (c *Config) LogInfo(format string, v ...interface{}) {\n\tc.doLog(LogInfo, format, v...)\n}\n\n// Ergonomic methods to set namespace relative to which action should be taken\nfunc (c Config) WithNamespaceID(nsID string) Config {\n\tc.PathRoot = fmt.Sprintf(`{\".tag\": \"namespace_id\", \"namespace_id\": \"%s\"}`, nsID)\n\treturn c\n}\n\nfunc (c Config) WithRoot(nsID string) Config {\n\tc.PathRoot = fmt.Sprintf(`{\".tag\": \"root\", \"root\": \"%s\"}`, nsID)\n\treturn c\n}\n\n// Context is the base client context used to implement per-namespace clients.\ntype Context struct {\n\tConfig          Config\n\tClient          *http.Client\n\tNoAuthClient    *http.Client\n\tHeaderGenerator func(hostType string, namespace string, route string) map[string]string\n\tURLGenerator    func(hostType string, namespace string, route string) string\n}\n\ntype Request struct {\n\tHost      string\n\tNamespace string\n\tRoute     string\n\tStyle     string\n\tAuth      string\n\n\tArg          interface{}\n\tExtraHeaders map[string]string\n}\n\nfunc (c *Context) Execute(req Request, body io.Reader) ([]byte, io.ReadCloser, error) {\n\turl := c.URLGenerator(req.Host, req.Namespace, req.Route)\n\thttpReq, err := http.NewRequest(\"POST\", url, body)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tfor k, v := range req.ExtraHeaders {\n\t\thttpReq.Header.Add(k, v)\n\t}\n\n\tfor k, v := range c.HeaderGenerator(req.Host, req.Namespace, req.Route) {\n\t\thttpReq.Header.Add(k, v)\n\t}\n\n\tif httpReq.Header.Get(\"Host\") != \"\" {\n\t\thttpReq.Host = httpReq.Header.Get(\"Host\")\n\t}\n\n\tif req.Auth == \"noauth\" {\n\t\thttpReq.Header.Del(\"Authorization\")\n\t}\n\tif req.Auth != \"team\" && c.Config.AsMemberID != \"\" {\n\t\thttpReq.Header.Add(\"Dropbox-API-Select-User\", c.Config.AsMemberID)\n\t}\n\tif req.Auth != \"team\" && c.Config.AsAdminID != \"\" {\n\t\thttpReq.Header.Add(\"Dropbox-API-Select-Admin\", c.Config.AsAdminID)\n\t}\n\tif c.Config.PathRoot != \"\" {\n\t\thttpReq.Header.Add(\"Dropbox-API-Path-Root\", c.Config.PathRoot)\n\t}\n\n\tif req.Arg != nil {\n\t\tserializedArg, err := json.Marshal(req.Arg)\n\t\tif err != nil {\n\t\t\treturn nil, nil, err\n\t\t}\n\n\t\tswitch req.Style {\n\t\tcase \"rpc\":\n\t\t\tif body != nil {\n\t\t\t\treturn nil, nil, errors.New(\"RPC style requests can not have body\")\n\t\t\t}\n\n\t\t\thttpReq.Header.Set(\"Content-Type\", \"application/json\")\n\t\t\thttpReq.Body = ioutil.NopCloser(bytes.NewReader(serializedArg))\n\t\t\thttpReq.ContentLength = int64(len(serializedArg))\n\t\tcase \"upload\", \"download\":\n\t\t\thttpReq.Header.Set(\"Dropbox-API-Arg\", string(serializedArg))\n\t\t\thttpReq.Header.Set(\"Content-Type\", \"application/octet-stream\")\n\t\t}\n\t}\n\n\tclient := c.Client\n\tif req.Auth == \"noauth\" {\n\t\tclient = c.NoAuthClient\n\t}\n\n\tresp, err := client.Do(httpReq)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tif resp.StatusCode == http.StatusOK || resp.StatusCode == http.StatusPartialContent {\n\t\tswitch req.Style {\n\t\tcase \"rpc\", \"upload\":\n\t\t\tif resp.Body == nil {\n\t\t\t\treturn nil, nil, errors.New(\"Expected body in RPC response, got nil\")\n\t\t\t}\n\n\t\t\tb, err := ioutil.ReadAll(resp.Body)\n\t\t\tresp.Body.Close()\n\t\t\tif err != nil {\n\t\t\t\treturn nil, nil, err\n\t\t\t}\n\n\t\t\treturn b, nil, nil\n\t\tcase \"download\":\n\t\t\tb := []byte(resp.Header.Get(\"Dropbox-API-Result\"))\n\t\t\treturn b, resp.Body, nil\n\t\t}\n\t}\n\n\tb, err := ioutil.ReadAll(resp.Body)\n\tresp.Body.Close()\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\treturn nil, nil, SDKInternalError{\n\t\tStatusCode: resp.StatusCode,\n\t\tContent:    string(b),\n\t}\n}\n\n// NewContext returns a new Context with the given Config.\nfunc NewContext(c Config) Context {\n\tdomain := c.Domain\n\tif domain == \"\" {\n\t\tdomain = defaultDomain\n\t}\n\n\tclient := c.Client\n\tif client == nil {\n\t\tvar conf = &oauth2.Config{Endpoint: OAuthEndpoint(domain)}\n\t\ttok := &oauth2.Token{AccessToken: c.Token}\n\t\tclient = conf.Client(context.Background(), tok)\n\t}\n\n\tnoAuthClient := c.Client\n\tif noAuthClient == nil {\n\t\tnoAuthClient = &http.Client{}\n\t}\n\n\theaderGenerator := c.HeaderGenerator\n\tif headerGenerator == nil {\n\t\theaderGenerator = func(hostType string, namespace string, route string) map[string]string {\n\t\t\treturn map[string]string{}\n\t\t}\n\t}\n\n\turlGenerator := c.URLGenerator\n\tif urlGenerator == nil {\n\t\thostMap := map[string]string{\n\t\t\thostAPI:     hostAPI + domain,\n\t\t\thostContent: hostContent + domain,\n\t\t\thostNotify:  hostNotify + domain,\n\t\t}\n\t\turlGenerator = func(hostType string, namespace string, route string) string {\n\t\t\tfqHost := hostMap[hostType]\n\t\t\treturn fmt.Sprintf(\"https://%s/%d/%s/%s\", fqHost, apiVersion, namespace, route)\n\t\t}\n\t}\n\n\treturn Context{c, client, noAuthClient, headerGenerator, urlGenerator}\n}\n\n// OAuthEndpoint constructs an `oauth2.Endpoint` for the given domain\nfunc OAuthEndpoint(domain string) oauth2.Endpoint {\n\tif domain == \"\" {\n\t\tdomain = defaultDomain\n\t}\n\tauthURL := fmt.Sprintf(\"https://meta%s/1/oauth2/authorize\", domain)\n\ttokenURL := fmt.Sprintf(\"https://api%s/1/oauth2/token\", domain)\n\tif domain == defaultDomain {\n\t\tauthURL = \"https://www.dropbox.com/1/oauth2/authorize\"\n\t}\n\treturn oauth2.Endpoint{AuthURL: authURL, TokenURL: tokenURL}\n}\n\n// HTTPHeaderSafeJSON encode the JSON passed in b []byte passed in in\n// a way that is suitable for HTTP headers.\n//\n// See: https://www.dropbox.com/developers/reference/json-encoding\nfunc HTTPHeaderSafeJSON(b []byte) string {\n\tvar s strings.Builder\n\ts.Grow(len(b))\n\tfor _, r := range string(b) {\n\t\tif r >= 0x007f {\n\t\t\tfmt.Fprintf(&s, \"\\\\u%04x\", r)\n\t\t} else {\n\t\t\ts.WriteRune(r)\n\t\t}\n\t}\n\treturn s.String()\n}\n"
  },
  {
    "path": "generator/go_types.stoneg.py",
    "content": "import os\nimport shutil\n\nfrom stone.backend import CodeBackend\nfrom stone.ir import (\n    is_boolean_type,\n    is_list_type,\n    is_nullable_type,\n    is_primitive_type,\n    is_string_type,\n    is_struct_type,\n    is_union_type,\n    is_void_type,\n)\n\nfrom go_helpers import (\n    HEADER,\n    fmt_type,\n    fmt_var,\n    generate_doc,\n    needs_base_type,\n    _needs_base_type\n)\n\n\nclass GoTypesBackend(CodeBackend):\n    def generate(self, api):\n        rsrc_folder = os.path.join(os.path.dirname(__file__), 'go_rsrc')\n        shutil.copy(os.path.join(rsrc_folder, 'sdk.go'),\n                    self.target_folder_path)\n        for namespace in api.namespaces.values():\n            self._generate_namespace(namespace)\n\n    def _generate_namespace(self, namespace):\n        file_name = os.path.join(self.target_folder_path, namespace.name,\n                                 'types.go')\n        with self.output_to_relative_path(file_name):\n            self.emit_raw(HEADER)\n            self.emit()\n            generate_doc(self, namespace)\n            self.emit('package %s' % namespace.name)\n            self.emit()\n\n            for data_type in namespace.linearize_data_types():\n                self._generate_data_type(data_type)\n\n    def _generate_data_type(self, data_type):\n        generate_doc(self, data_type)\n        if is_struct_type(data_type):\n            self._generate_struct(data_type)\n            if data_type.has_enumerated_subtypes():\n                self._generate_base_type(data_type)\n        elif is_union_type(data_type):\n            self._generate_union(data_type)\n        else:\n            self.logger.info(\"Unhandled data type\", data_type)\n\n    def _generate_base_type(self, base):\n        t = fmt_type(base).lstrip('*')\n        self.emit('// Is{0} is the interface type for {0} and its subtypes'.format(t))\n        with self.block('type Is%s interface' % t):\n            self.emit('Is%s()' % t)\n        self.emit()\n        self.emit('// Is{0} implements the Is{0} interface'.format(t))\n        self.emit(\"func (u *{0}) Is{0}() {{}}\".format(t))\n        self.emit()\n        self._generate_union_helper(base)\n\n        self.emit(\"// Is{0}FromJSON converts JSON to a concrete Is{0} instance\".format(t))\n        with self.block(\"func Is{0}FromJSON(data []byte) (Is{0}, error)\".format(t)):\n            name = fmt_var(t, export=False) + 'Union'\n            self.emit(\"var t {0}\".format(name))\n            with self.block(\"if err := json.Unmarshal(data, &t); err != nil\"):\n                self.emit(\"return nil, err\")\n            with self.block(\"switch t.Tag\"):\n                fields = base.get_enumerated_subtypes()\n                for field in fields:\n                    with self.block('case \"%s\":' % field.name, delim=(None, None)):\n                        self.emit(\"return t.{0}, nil\".format(fmt_var(field.name)))\n            # FIX THIS\n            self.emit(\"return nil, nil\")\n\n    def _generate_struct(self, struct):\n        with self.block('type %s struct' % struct.name):\n            if struct.parent_type:\n                self.emit(fmt_type(struct.parent_type, struct.namespace).lstrip('*'))\n            for field in struct.fields:\n                self._generate_field(field, namespace=struct.namespace)\n            if struct.name in ('DownloadArg',):\n                self.emit('// ExtraHeaders can be used to pass Range, If-None-Match headers')\n                self.emit('ExtraHeaders map[string]string `json:\"-\"`')\n        self._generate_struct_builder(struct)\n        self.emit()\n        if needs_base_type(struct):\n            self.emit('// UnmarshalJSON deserializes into a %s instance' % struct.name)\n            with self.block('func (u *%s) UnmarshalJSON(b []byte) error' % struct.name):\n                with self.block('type wrap struct'):\n                    for field in struct.all_fields:\n                        self._generate_field(field, namespace=struct.namespace,\n                                             raw=_needs_base_type(field.data_type))\n                self.emit('var w wrap')\n                with self.block('if err := json.Unmarshal(b, &w); err != nil'):\n                    self.emit('return err')\n                for field in struct.all_fields:\n                    dt = field.data_type\n                    fn = fmt_var(field.name)\n                    tn = fmt_type(dt, namespace=struct.namespace, use_interface=True)\n                    if _needs_base_type(dt):\n                        if is_list_type(dt):\n                            self.emit(\"u.{0} = make({1}, len(w.{0}))\".format(fn, tn))\n                            # Grab the underlying type to get the correct Is...FromJSON method\n                            tn = fmt_type(dt.data_type, namespace=struct.namespace, use_interface=True)\n                            with self.block(\"for i, e := range w.{0}\".format(fn)):\n                                self.emit(\"v, err := {1}FromJSON(e)\".format(fn, tn))\n                                with self.block('if err != nil'):\n                                    self.emit('return err')\n                                self.emit(\"u.{0}[i] = v\".format(fn))\n                        else:\n                            self.emit(\"{0}, err := {1}FromJSON(w.{0})\".format(fn, tn))\n                            with self.block('if err != nil'):\n                                self.emit('return err')\n                            self.emit(\"u.{0} = {0}\".format(fn))\n                    else:\n                        self.emit(\"u.{0} = w.{0}\".format(fn))\n                self.emit('return nil')\n\n    def _generate_struct_builder(self, struct):\n        fields = [\"%s %s\" % (fmt_var(field.name),\n                             fmt_type(field.data_type, struct.namespace,\n                                      use_interface=True))\n                  for field in struct.all_required_fields]\n        self.emit('// New{0} returns a new {0} instance'.format(struct.name))\n        signature = \"func New{0}({1}) *{0}\".format(struct.name, ', '.join(fields))\n        with self.block(signature):\n            self.emit('s := new({0})'.format(struct.name))\n            for field in struct.all_required_fields:\n                field_name = fmt_var(field.name)\n                self.emit(\"s.{0} = {0}\".format(field_name))\n\n            for field in struct.all_optional_fields:\n                if field.has_default:\n                    if is_primitive_type(field.data_type):\n                        default = field.default\n                        if is_boolean_type(field.data_type):\n                            default = str(default).lower()\n                        if is_string_type(field.data_type):\n                            default = '\"{}\"'.format(default)\n                        self.emit('s.{0} = {1}'.format(fmt_var(field.name), default))\n                    elif is_union_type(field.data_type):\n                        self.emit('s.%s = &%s{Tagged:dropbox.Tagged{Tag: \"%s\"}}' %\n                                  (fmt_var(field.name),\n                                   fmt_type(field.data_type, struct.namespace).lstrip('*'),\n                                   field.default.tag_name))\n            self.emit('return s')\n        self.emit()\n\n    def _generate_field(self, field, union_field=False, namespace=None, raw=False):\n        generate_doc(self, field)\n        field_name = fmt_var(field.name)\n        type_name = fmt_type(field.data_type, namespace, use_interface=True, raw=raw)\n        json_tag = '`json:\"%s\"`' % field.name\n        if is_nullable_type(field.data_type) or union_field:\n            json_tag = '`json:\"%s,omitempty\"`' % field.name\n        self.emit('%s %s %s' % (field_name, type_name, json_tag))\n\n    def _generate_union(self, union):\n        self._generate_union_helper(union)\n\n    def _generate_union_helper(self, u):\n        name = u.name\n        namespace = u.namespace\n        # Unions can be inherited, but don't need to be polymorphic.\n        # So let's flatten out all the inherited fields.\n        fields = u.all_fields\n        if is_struct_type(u) and u.has_enumerated_subtypes():\n            name = fmt_var(name, export=False) + 'Union'\n            fields = u.get_enumerated_subtypes()\n\n        with self.block('type %s struct' % name):\n            self.emit('dropbox.Tagged')\n            for field in fields:\n                if is_void_type(field.data_type):\n                    continue\n                self._generate_field(field, union_field=True,\n                                     namespace=namespace)\n        self.emit()\n        self.emit('// Valid tag values for %s' % fmt_var(u.name))\n        with self.block('const', delim=('(', ')')):\n            for field in fields:\n                self.emit('%s%s = \"%s\"' % (fmt_var(u.name), fmt_var(field.name), field.name))\n        self.emit()\n\n        num_void_fields = sum([is_void_type(f.data_type) for f in fields])\n        # Simple structure, no need in UnmarshalJSON\n        if len(fields) == num_void_fields:\n            return\n\n        self.emit('// UnmarshalJSON deserializes into a %s instance' % name)\n        with self.block('func (u *%s) UnmarshalJSON(body []byte) error' % name):\n            with self.block('type wrap struct'):\n                self.emit('dropbox.Tagged')\n                for field in fields:\n                    if is_void_type(field.data_type) or (\n                            is_struct_type(field.data_type) and not _needs_base_type(field.data_type)):\n                        # pure structures are flattened in the containing union json blob and thus are loaded from body\n                        continue\n                    # sub-unions must be handled as RawMessage, which will be loaded into correct implementation later\n                    self._generate_field(field, union_field=True,\n                                         namespace=namespace, raw=_needs_base_type(field.data_type))\n            self.emit('var w wrap')\n            self.emit('var err error')\n            with self.block('if err = json.Unmarshal(body, &w); err != nil'):\n                self.emit('return err')\n            self.emit('u.Tag = w.Tag')\n            with self.block('switch u.Tag'):\n                for field in fields:\n                    if is_void_type(field.data_type):\n                        continue\n                    field_name = fmt_var(field.name)\n                    with self.block('case \"%s\":' % field.name, delim=(None, None)):\n                        if _needs_base_type(field.data_type):\n                            with self.block(\"if u.{0}, err = Is{1}FromJSON(w.{0}); err != nil\"\n                                       .format(field_name, field.data_type.name)):\n                                self.emit(\"return err\")\n                        elif is_struct_type(field.data_type):\n                            with self.block('if err = json.Unmarshal(body, &u.{0}); err != nil'\n                                            .format(field_name)):\n                                self.emit(\"return err\")\n                        else:\n                            self.emit('u.{0} = w.{0}'.format(field_name))\n            self.emit('return nil')\n        self.emit()\n"
  },
  {
    "path": "v6/dropbox/account/client.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage account\n\nimport (\n\t\"encoding/json\"\n\t\"io\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/auth\"\n)\n\n// Client interface describes all routes in this namespace\ntype Client interface {\n\t// SetProfilePhoto : Sets a user's profile photo.\n\tSetProfilePhoto(arg *SetProfilePhotoArg) (res *SetProfilePhotoResult, err error)\n}\n\ntype apiImpl dropbox.Context\n\n//SetProfilePhotoAPIError is an error-wrapper for the set_profile_photo route\ntype SetProfilePhotoAPIError struct {\n\tdropbox.APIError\n\tEndpointError *SetProfilePhotoError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) SetProfilePhoto(arg *SetProfilePhotoArg) (res *SetProfilePhotoResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"account\",\n\t\tRoute:        \"set_profile_photo\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr SetProfilePhotoAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n// New returns a Client implementation for this namespace\nfunc New(c dropbox.Config) Client {\n\tctx := apiImpl(dropbox.NewContext(c))\n\treturn &ctx\n}\n"
  },
  {
    "path": "v6/dropbox/account/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package account : has no documentation (yet)\npackage account\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n)\n\n// PhotoSourceArg : has no documentation (yet)\ntype PhotoSourceArg struct {\n\tdropbox.Tagged\n\t// Base64Data : Image data in base64-encoded bytes.\n\tBase64Data string `json:\"base64_data,omitempty\"`\n}\n\n// Valid tag values for PhotoSourceArg\nconst (\n\tPhotoSourceArgBase64Data = \"base64_data\"\n\tPhotoSourceArgOther      = \"other\"\n)\n\n// UnmarshalJSON deserializes into a PhotoSourceArg instance\nfunc (u *PhotoSourceArg) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Base64Data : Image data in base64-encoded bytes.\n\t\tBase64Data string `json:\"base64_data,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"base64_data\":\n\t\tu.Base64Data = w.Base64Data\n\n\t}\n\treturn nil\n}\n\n// SetProfilePhotoArg : has no documentation (yet)\ntype SetProfilePhotoArg struct {\n\t// Photo : Image to set as the user's new profile photo.\n\tPhoto *PhotoSourceArg `json:\"photo\"`\n}\n\n// NewSetProfilePhotoArg returns a new SetProfilePhotoArg instance\nfunc NewSetProfilePhotoArg(Photo *PhotoSourceArg) *SetProfilePhotoArg {\n\ts := new(SetProfilePhotoArg)\n\ts.Photo = Photo\n\treturn s\n}\n\n// SetProfilePhotoError : has no documentation (yet)\ntype SetProfilePhotoError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SetProfilePhotoError\nconst (\n\tSetProfilePhotoErrorFileTypeError  = \"file_type_error\"\n\tSetProfilePhotoErrorFileSizeError  = \"file_size_error\"\n\tSetProfilePhotoErrorDimensionError = \"dimension_error\"\n\tSetProfilePhotoErrorThumbnailError = \"thumbnail_error\"\n\tSetProfilePhotoErrorTransientError = \"transient_error\"\n\tSetProfilePhotoErrorOther          = \"other\"\n)\n\n// SetProfilePhotoResult : has no documentation (yet)\ntype SetProfilePhotoResult struct {\n\t// ProfilePhotoUrl : URL for the photo representing the user, if one is set.\n\tProfilePhotoUrl string `json:\"profile_photo_url\"`\n}\n\n// NewSetProfilePhotoResult returns a new SetProfilePhotoResult instance\nfunc NewSetProfilePhotoResult(ProfilePhotoUrl string) *SetProfilePhotoResult {\n\ts := new(SetProfilePhotoResult)\n\ts.ProfilePhotoUrl = ProfilePhotoUrl\n\treturn s\n}\n"
  },
  {
    "path": "v6/dropbox/async/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package async : has no documentation (yet)\npackage async\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n)\n\n// LaunchResultBase : Result returned by methods that launch an asynchronous\n// job. A method who may either launch an asynchronous job, or complete the\n// request synchronously, can use this union by extending it, and adding a\n// 'complete' field with the type of the synchronous response. See\n// `LaunchEmptyResult` for an example.\ntype LaunchResultBase struct {\n\tdropbox.Tagged\n\t// AsyncJobId : This response indicates that the processing is asynchronous.\n\t// The string is an id that can be used to obtain the status of the\n\t// asynchronous job.\n\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n}\n\n// Valid tag values for LaunchResultBase\nconst (\n\tLaunchResultBaseAsyncJobId = \"async_job_id\"\n)\n\n// UnmarshalJSON deserializes into a LaunchResultBase instance\nfunc (u *LaunchResultBase) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AsyncJobId : This response indicates that the processing is\n\t\t// asynchronous. The string is an id that can be used to obtain the\n\t\t// status of the asynchronous job.\n\t\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"async_job_id\":\n\t\tu.AsyncJobId = w.AsyncJobId\n\n\t}\n\treturn nil\n}\n\n// LaunchEmptyResult : Result returned by methods that may either launch an\n// asynchronous job or complete synchronously. Upon synchronous completion of\n// the job, no additional information is returned.\ntype LaunchEmptyResult struct {\n\tdropbox.Tagged\n\t// AsyncJobId : This response indicates that the processing is asynchronous.\n\t// The string is an id that can be used to obtain the status of the\n\t// asynchronous job.\n\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n}\n\n// Valid tag values for LaunchEmptyResult\nconst (\n\tLaunchEmptyResultAsyncJobId = \"async_job_id\"\n\tLaunchEmptyResultComplete   = \"complete\"\n)\n\n// UnmarshalJSON deserializes into a LaunchEmptyResult instance\nfunc (u *LaunchEmptyResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AsyncJobId : This response indicates that the processing is\n\t\t// asynchronous. The string is an id that can be used to obtain the\n\t\t// status of the asynchronous job.\n\t\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"async_job_id\":\n\t\tu.AsyncJobId = w.AsyncJobId\n\n\t}\n\treturn nil\n}\n\n// PollArg : Arguments for methods that poll the status of an asynchronous job.\ntype PollArg struct {\n\t// AsyncJobId : Id of the asynchronous job. This is the value of a response\n\t// returned from the method that launched the job.\n\tAsyncJobId string `json:\"async_job_id\"`\n}\n\n// NewPollArg returns a new PollArg instance\nfunc NewPollArg(AsyncJobId string) *PollArg {\n\ts := new(PollArg)\n\ts.AsyncJobId = AsyncJobId\n\treturn s\n}\n\n// PollResultBase : Result returned by methods that poll for the status of an\n// asynchronous job. Unions that extend this union should add a 'complete' field\n// with a type of the information returned upon job completion. See\n// `PollEmptyResult` for an example.\ntype PollResultBase struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PollResultBase\nconst (\n\tPollResultBaseInProgress = \"in_progress\"\n)\n\n// PollEmptyResult : Result returned by methods that poll for the status of an\n// asynchronous job. Upon completion of the job, no additional information is\n// returned.\ntype PollEmptyResult struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PollEmptyResult\nconst (\n\tPollEmptyResultInProgress = \"in_progress\"\n\tPollEmptyResultComplete   = \"complete\"\n)\n\n// PollError : Error returned by methods for polling the status of asynchronous\n// job.\ntype PollError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PollError\nconst (\n\tPollErrorInvalidAsyncJobId = \"invalid_async_job_id\"\n\tPollErrorInternalError     = \"internal_error\"\n\tPollErrorOther             = \"other\"\n)\n"
  },
  {
    "path": "v6/dropbox/auth/client.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage auth\n\nimport (\n\t\"encoding/json\"\n\t\"io\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n)\n\n// Client interface describes all routes in this namespace\ntype Client interface {\n\t// TokenFromOauth1 : Creates an OAuth 2.0 access token from the supplied\n\t// OAuth 1.0 access token.\n\tTokenFromOauth1(arg *TokenFromOAuth1Arg) (res *TokenFromOAuth1Result, err error)\n\t// TokenRevoke : Disables the access token used to authenticate the call. If\n\t// there is a corresponding refresh token for the access token, this\n\t// disables that refresh token, as well as any other access tokens for that\n\t// refresh token.\n\tTokenRevoke() (err error)\n}\n\ntype apiImpl dropbox.Context\n\n//TokenFromOauth1APIError is an error-wrapper for the token/from_oauth1 route\ntype TokenFromOauth1APIError struct {\n\tdropbox.APIError\n\tEndpointError *TokenFromOAuth1Error `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TokenFromOauth1(arg *TokenFromOAuth1Arg) (res *TokenFromOAuth1Result, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"auth\",\n\t\tRoute:        \"token/from_oauth1\",\n\t\tAuth:         \"app\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TokenFromOauth1APIError\n\t\terr = ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TokenRevokeAPIError is an error-wrapper for the token/revoke route\ntype TokenRevokeAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TokenRevoke() (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"auth\",\n\t\tRoute:        \"token/revoke\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          nil,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TokenRevokeAPIError\n\t\terr = ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n// New returns a Client implementation for this namespace\nfunc New(c dropbox.Config) Client {\n\tctx := apiImpl(dropbox.NewContext(c))\n\treturn &ctx\n}\n"
  },
  {
    "path": "v6/dropbox/auth/sdk.go",
    "content": "package auth\n\nimport (\n\t\"encoding/json\"\n\t\"net/http\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n)\n\n// AuthAPIError wraps AuthError\ntype AuthAPIError struct {\n\tdropbox.APIError\n\tAuthError *AuthError `json:\"error\"`\n}\n\n// AccessAPIError wraps AccessError\ntype AccessAPIError struct {\n\tdropbox.APIError\n\tAccessError *AccessError `json:\"error\"`\n}\n\n// RateLimitAPIError wraps RateLimitError\ntype RateLimitAPIError struct {\n\tdropbox.APIError\n\tRateLimitError *RateLimitError `json:\"error\"`\n}\n\n// Bad input parameter.\ntype BadRequest struct {\n\tdropbox.APIError\n}\n\n// An error occurred on the Dropbox servers. Check status.dropbox.com for announcements about\n// Dropbox service issues.\ntype ServerError struct {\n\tdropbox.APIError\n\tStatusCode int\n}\n\nfunc ParseError(err error, appError error) error {\n\tsdkErr, ok := err.(dropbox.SDKInternalError)\n\tif !ok {\n\t\treturn err\n\t}\n\n\tif sdkErr.StatusCode >= 500 && sdkErr.StatusCode <= 599 {\n\t\treturn ServerError{\n\t\t\tAPIError: dropbox.APIError{\n\t\t\t\tErrorSummary: sdkErr.Content,\n\t\t\t},\n\t\t}\n\t}\n\n\tswitch sdkErr.StatusCode {\n\tcase http.StatusBadRequest:\n\t\treturn BadRequest{\n\t\t\tAPIError: dropbox.APIError{\n\t\t\t\tErrorSummary: sdkErr.Content,\n\t\t\t},\n\t\t}\n\tcase http.StatusUnauthorized:\n\t\tvar apiError AuthAPIError\n\t\tif pErr := json.Unmarshal([]byte(sdkErr.Content), &apiError); pErr != nil {\n\t\t\treturn pErr\n\t\t}\n\n\t\treturn apiError\n\tcase http.StatusForbidden:\n\t\tvar apiError AccessAPIError\n\t\tif pErr := json.Unmarshal([]byte(sdkErr.Content), &apiError); pErr != nil {\n\t\t\treturn pErr\n\t\t}\n\n\t\treturn apiError\n\tcase http.StatusTooManyRequests:\n\t\tvar apiError RateLimitAPIError\n\t\tif pErr := json.Unmarshal([]byte(sdkErr.Content), &apiError); pErr != nil {\n\t\t\treturn pErr\n\t\t}\n\n\t\treturn apiError\n\tcase http.StatusConflict:\n\t\tif pErr := json.Unmarshal([]byte(sdkErr.Content), appError); pErr != nil {\n\t\t\treturn pErr\n\t\t}\n\n\t\treturn appError\n\t}\n\n\treturn err\n}\n"
  },
  {
    "path": "v6/dropbox/auth/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package auth : has no documentation (yet)\npackage auth\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n)\n\n// AccessError : Error occurred because the account doesn't have permission to\n// access the resource.\ntype AccessError struct {\n\tdropbox.Tagged\n\t// InvalidAccountType : Current account type cannot access the resource.\n\tInvalidAccountType *InvalidAccountTypeError `json:\"invalid_account_type,omitempty\"`\n\t// PaperAccessDenied : Current account cannot access Paper.\n\tPaperAccessDenied *PaperAccessError `json:\"paper_access_denied,omitempty\"`\n}\n\n// Valid tag values for AccessError\nconst (\n\tAccessErrorInvalidAccountType = \"invalid_account_type\"\n\tAccessErrorPaperAccessDenied  = \"paper_access_denied\"\n\tAccessErrorOther              = \"other\"\n)\n\n// UnmarshalJSON deserializes into a AccessError instance\nfunc (u *AccessError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// InvalidAccountType : Current account type cannot access the resource.\n\t\tInvalidAccountType *InvalidAccountTypeError `json:\"invalid_account_type,omitempty\"`\n\t\t// PaperAccessDenied : Current account cannot access Paper.\n\t\tPaperAccessDenied *PaperAccessError `json:\"paper_access_denied,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"invalid_account_type\":\n\t\tu.InvalidAccountType = w.InvalidAccountType\n\n\tcase \"paper_access_denied\":\n\t\tu.PaperAccessDenied = w.PaperAccessDenied\n\n\t}\n\treturn nil\n}\n\n// AuthError : Errors occurred during authentication.\ntype AuthError struct {\n\tdropbox.Tagged\n\t// MissingScope : The access token does not have the required scope to\n\t// access the route.\n\tMissingScope *TokenScopeError `json:\"missing_scope,omitempty\"`\n}\n\n// Valid tag values for AuthError\nconst (\n\tAuthErrorInvalidAccessToken = \"invalid_access_token\"\n\tAuthErrorInvalidSelectUser  = \"invalid_select_user\"\n\tAuthErrorInvalidSelectAdmin = \"invalid_select_admin\"\n\tAuthErrorUserSuspended      = \"user_suspended\"\n\tAuthErrorExpiredAccessToken = \"expired_access_token\"\n\tAuthErrorMissingScope       = \"missing_scope\"\n\tAuthErrorRouteAccessDenied  = \"route_access_denied\"\n\tAuthErrorOther              = \"other\"\n)\n\n// UnmarshalJSON deserializes into a AuthError instance\nfunc (u *AuthError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"missing_scope\":\n\t\tif err = json.Unmarshal(body, &u.MissingScope); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// InvalidAccountTypeError : has no documentation (yet)\ntype InvalidAccountTypeError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for InvalidAccountTypeError\nconst (\n\tInvalidAccountTypeErrorEndpoint = \"endpoint\"\n\tInvalidAccountTypeErrorFeature  = \"feature\"\n\tInvalidAccountTypeErrorOther    = \"other\"\n)\n\n// PaperAccessError : has no documentation (yet)\ntype PaperAccessError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperAccessError\nconst (\n\tPaperAccessErrorPaperDisabled = \"paper_disabled\"\n\tPaperAccessErrorNotPaperUser  = \"not_paper_user\"\n\tPaperAccessErrorOther         = \"other\"\n)\n\n// RateLimitError : Error occurred because the app is being rate limited.\ntype RateLimitError struct {\n\t// Reason : The reason why the app is being rate limited.\n\tReason *RateLimitReason `json:\"reason\"`\n\t// RetryAfter : The number of seconds that the app should wait before making\n\t// another request.\n\tRetryAfter uint64 `json:\"retry_after\"`\n}\n\n// NewRateLimitError returns a new RateLimitError instance\nfunc NewRateLimitError(Reason *RateLimitReason) *RateLimitError {\n\ts := new(RateLimitError)\n\ts.Reason = Reason\n\ts.RetryAfter = 1\n\treturn s\n}\n\n// RateLimitReason : has no documentation (yet)\ntype RateLimitReason struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for RateLimitReason\nconst (\n\tRateLimitReasonTooManyRequests        = \"too_many_requests\"\n\tRateLimitReasonTooManyWriteOperations = \"too_many_write_operations\"\n\tRateLimitReasonOther                  = \"other\"\n)\n\n// TokenFromOAuth1Arg : has no documentation (yet)\ntype TokenFromOAuth1Arg struct {\n\t// Oauth1Token : The supplied OAuth 1.0 access token.\n\tOauth1Token string `json:\"oauth1_token\"`\n\t// Oauth1TokenSecret : The token secret associated with the supplied access\n\t// token.\n\tOauth1TokenSecret string `json:\"oauth1_token_secret\"`\n}\n\n// NewTokenFromOAuth1Arg returns a new TokenFromOAuth1Arg instance\nfunc NewTokenFromOAuth1Arg(Oauth1Token string, Oauth1TokenSecret string) *TokenFromOAuth1Arg {\n\ts := new(TokenFromOAuth1Arg)\n\ts.Oauth1Token = Oauth1Token\n\ts.Oauth1TokenSecret = Oauth1TokenSecret\n\treturn s\n}\n\n// TokenFromOAuth1Error : has no documentation (yet)\ntype TokenFromOAuth1Error struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TokenFromOAuth1Error\nconst (\n\tTokenFromOAuth1ErrorInvalidOauth1TokenInfo = \"invalid_oauth1_token_info\"\n\tTokenFromOAuth1ErrorAppIdMismatch          = \"app_id_mismatch\"\n\tTokenFromOAuth1ErrorOther                  = \"other\"\n)\n\n// TokenFromOAuth1Result : has no documentation (yet)\ntype TokenFromOAuth1Result struct {\n\t// Oauth2Token : The OAuth 2.0 token generated from the supplied OAuth 1.0\n\t// token.\n\tOauth2Token string `json:\"oauth2_token\"`\n}\n\n// NewTokenFromOAuth1Result returns a new TokenFromOAuth1Result instance\nfunc NewTokenFromOAuth1Result(Oauth2Token string) *TokenFromOAuth1Result {\n\ts := new(TokenFromOAuth1Result)\n\ts.Oauth2Token = Oauth2Token\n\treturn s\n}\n\n// TokenScopeError : has no documentation (yet)\ntype TokenScopeError struct {\n\t// RequiredScope : The required scope to access the route.\n\tRequiredScope string `json:\"required_scope\"`\n}\n\n// NewTokenScopeError returns a new TokenScopeError instance\nfunc NewTokenScopeError(RequiredScope string) *TokenScopeError {\n\ts := new(TokenScopeError)\n\ts.RequiredScope = RequiredScope\n\treturn s\n}\n"
  },
  {
    "path": "v6/dropbox/check/client.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage check\n\nimport (\n\t\"encoding/json\"\n\t\"io\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/auth\"\n)\n\n// Client interface describes all routes in this namespace\ntype Client interface {\n\t// App : This endpoint performs App Authentication, validating the supplied\n\t// app key and secret, and returns the supplied string, to allow you to test\n\t// your code and connection to the Dropbox API. It has no other effect. If\n\t// you receive an HTTP 200 response with the supplied query, it indicates at\n\t// least part of the Dropbox API infrastructure is working and that the app\n\t// key and secret valid.\n\tApp(arg *EchoArg) (res *EchoResult, err error)\n\t// User : This endpoint performs User Authentication, validating the\n\t// supplied access token, and returns the supplied string, to allow you to\n\t// test your code and connection to the Dropbox API. It has no other effect.\n\t// If you receive an HTTP 200 response with the supplied query, it indicates\n\t// at least part of the Dropbox API infrastructure is working and that the\n\t// access token is valid.\n\tUser(arg *EchoArg) (res *EchoResult, err error)\n}\n\ntype apiImpl dropbox.Context\n\n//AppAPIError is an error-wrapper for the app route\ntype AppAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) App(arg *EchoArg) (res *EchoResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"check\",\n\t\tRoute:        \"app\",\n\t\tAuth:         \"app\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr AppAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//UserAPIError is an error-wrapper for the user route\ntype UserAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) User(arg *EchoArg) (res *EchoResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"check\",\n\t\tRoute:        \"user\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr UserAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n// New returns a Client implementation for this namespace\nfunc New(c dropbox.Config) Client {\n\tctx := apiImpl(dropbox.NewContext(c))\n\treturn &ctx\n}\n"
  },
  {
    "path": "v6/dropbox/check/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package check : has no documentation (yet)\npackage check\n\n// EchoArg : EchoArg contains the arguments to be sent to the Dropbox servers.\ntype EchoArg struct {\n\t// Query : The string that you'd like to be echoed back to you.\n\tQuery string `json:\"query\"`\n}\n\n// NewEchoArg returns a new EchoArg instance\nfunc NewEchoArg() *EchoArg {\n\ts := new(EchoArg)\n\ts.Query = \"\"\n\treturn s\n}\n\n// EchoResult : EchoResult contains the result returned from the Dropbox\n// servers.\ntype EchoResult struct {\n\t// Result : If everything worked correctly, this would be the same as query.\n\tResult string `json:\"result\"`\n}\n\n// NewEchoResult returns a new EchoResult instance\nfunc NewEchoResult() *EchoResult {\n\ts := new(EchoResult)\n\ts.Result = \"\"\n\treturn s\n}\n"
  },
  {
    "path": "v6/dropbox/common/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package common : has no documentation (yet)\npackage common\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n)\n\n// PathRoot : has no documentation (yet)\ntype PathRoot struct {\n\tdropbox.Tagged\n\t// Root : Paths are relative to the authenticating user's root namespace\n\t// (This results in `PathRootError.invalid_root` if the user's root\n\t// namespace has changed.).\n\tRoot string `json:\"root,omitempty\"`\n\t// NamespaceId : Paths are relative to given namespace id (This results in\n\t// `PathRootError.no_permission` if you don't have access to this\n\t// namespace.).\n\tNamespaceId string `json:\"namespace_id,omitempty\"`\n}\n\n// Valid tag values for PathRoot\nconst (\n\tPathRootHome        = \"home\"\n\tPathRootRoot        = \"root\"\n\tPathRootNamespaceId = \"namespace_id\"\n\tPathRootOther       = \"other\"\n)\n\n// UnmarshalJSON deserializes into a PathRoot instance\nfunc (u *PathRoot) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Root : Paths are relative to the authenticating user's root namespace\n\t\t// (This results in `PathRootError.invalid_root` if the user's root\n\t\t// namespace has changed.).\n\t\tRoot string `json:\"root,omitempty\"`\n\t\t// NamespaceId : Paths are relative to given namespace id (This results\n\t\t// in `PathRootError.no_permission` if you don't have access to this\n\t\t// namespace.).\n\t\tNamespaceId string `json:\"namespace_id,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"root\":\n\t\tu.Root = w.Root\n\n\tcase \"namespace_id\":\n\t\tu.NamespaceId = w.NamespaceId\n\n\t}\n\treturn nil\n}\n\n// PathRootError : has no documentation (yet)\ntype PathRootError struct {\n\tdropbox.Tagged\n\t// InvalidRoot : The root namespace id in Dropbox-API-Path-Root header is\n\t// not valid. The value of this error is the user's latest root info.\n\tInvalidRoot IsRootInfo `json:\"invalid_root,omitempty\"`\n}\n\n// Valid tag values for PathRootError\nconst (\n\tPathRootErrorInvalidRoot  = \"invalid_root\"\n\tPathRootErrorNoPermission = \"no_permission\"\n\tPathRootErrorOther        = \"other\"\n)\n\n// UnmarshalJSON deserializes into a PathRootError instance\nfunc (u *PathRootError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// InvalidRoot : The root namespace id in Dropbox-API-Path-Root header\n\t\t// is not valid. The value of this error is the user's latest root info.\n\t\tInvalidRoot json.RawMessage `json:\"invalid_root,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"invalid_root\":\n\t\tif u.InvalidRoot, err = IsRootInfoFromJSON(w.InvalidRoot); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// RootInfo : Information about current user's root.\ntype RootInfo struct {\n\t// RootNamespaceId : The namespace ID for user's root namespace. It will be\n\t// the namespace ID of the shared team root if the user is member of a team\n\t// with a separate team root. Otherwise it will be same as\n\t// `RootInfo.home_namespace_id`.\n\tRootNamespaceId string `json:\"root_namespace_id\"`\n\t// HomeNamespaceId : The namespace ID for user's home namespace.\n\tHomeNamespaceId string `json:\"home_namespace_id\"`\n}\n\n// NewRootInfo returns a new RootInfo instance\nfunc NewRootInfo(RootNamespaceId string, HomeNamespaceId string) *RootInfo {\n\ts := new(RootInfo)\n\ts.RootNamespaceId = RootNamespaceId\n\ts.HomeNamespaceId = HomeNamespaceId\n\treturn s\n}\n\n// IsRootInfo is the interface type for RootInfo and its subtypes\ntype IsRootInfo interface {\n\tIsRootInfo()\n}\n\n// IsRootInfo implements the IsRootInfo interface\nfunc (u *RootInfo) IsRootInfo() {}\n\ntype rootInfoUnion struct {\n\tdropbox.Tagged\n\t// Team : has no documentation (yet)\n\tTeam *TeamRootInfo `json:\"team,omitempty\"`\n\t// User : has no documentation (yet)\n\tUser *UserRootInfo `json:\"user,omitempty\"`\n}\n\n// Valid tag values for RootInfo\nconst (\n\tRootInfoTeam = \"team\"\n\tRootInfoUser = \"user\"\n)\n\n// UnmarshalJSON deserializes into a rootInfoUnion instance\nfunc (u *rootInfoUnion) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"team\":\n\t\tif err = json.Unmarshal(body, &u.Team); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"user\":\n\t\tif err = json.Unmarshal(body, &u.User); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// IsRootInfoFromJSON converts JSON to a concrete IsRootInfo instance\nfunc IsRootInfoFromJSON(data []byte) (IsRootInfo, error) {\n\tvar t rootInfoUnion\n\tif err := json.Unmarshal(data, &t); err != nil {\n\t\treturn nil, err\n\t}\n\tswitch t.Tag {\n\tcase \"team\":\n\t\treturn t.Team, nil\n\n\tcase \"user\":\n\t\treturn t.User, nil\n\n\t}\n\treturn nil, nil\n}\n\n// TeamRootInfo : Root info when user is member of a team with a separate root\n// namespace ID.\ntype TeamRootInfo struct {\n\tRootInfo\n\t// HomePath : The path for user's home directory under the shared team root.\n\tHomePath string `json:\"home_path\"`\n}\n\n// NewTeamRootInfo returns a new TeamRootInfo instance\nfunc NewTeamRootInfo(RootNamespaceId string, HomeNamespaceId string, HomePath string) *TeamRootInfo {\n\ts := new(TeamRootInfo)\n\ts.RootNamespaceId = RootNamespaceId\n\ts.HomeNamespaceId = HomeNamespaceId\n\ts.HomePath = HomePath\n\treturn s\n}\n\n// UserRootInfo : Root info when user is not member of a team or the user is a\n// member of a team and the team does not have a separate root namespace.\ntype UserRootInfo struct {\n\tRootInfo\n}\n\n// NewUserRootInfo returns a new UserRootInfo instance\nfunc NewUserRootInfo(RootNamespaceId string, HomeNamespaceId string) *UserRootInfo {\n\ts := new(UserRootInfo)\n\ts.RootNamespaceId = RootNamespaceId\n\ts.HomeNamespaceId = HomeNamespaceId\n\treturn s\n}\n"
  },
  {
    "path": "v6/dropbox/contacts/client.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage contacts\n\nimport (\n\t\"io\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/auth\"\n)\n\n// Client interface describes all routes in this namespace\ntype Client interface {\n\t// DeleteManualContacts : Removes all manually added contacts. You'll still\n\t// keep contacts who are on your team or who you imported. New contacts will\n\t// be added when you share.\n\tDeleteManualContacts() (err error)\n\t// DeleteManualContactsBatch : Removes manually added contacts from the\n\t// given list.\n\tDeleteManualContactsBatch(arg *DeleteManualContactsArg) (err error)\n}\n\ntype apiImpl dropbox.Context\n\n//DeleteManualContactsAPIError is an error-wrapper for the delete_manual_contacts route\ntype DeleteManualContactsAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DeleteManualContacts() (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"contacts\",\n\t\tRoute:        \"delete_manual_contacts\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          nil,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DeleteManualContactsAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//DeleteManualContactsBatchAPIError is an error-wrapper for the delete_manual_contacts_batch route\ntype DeleteManualContactsBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DeleteManualContactsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DeleteManualContactsBatch(arg *DeleteManualContactsArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"contacts\",\n\t\tRoute:        \"delete_manual_contacts_batch\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DeleteManualContactsBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n// New returns a Client implementation for this namespace\nfunc New(c dropbox.Config) Client {\n\tctx := apiImpl(dropbox.NewContext(c))\n\treturn &ctx\n}\n"
  },
  {
    "path": "v6/dropbox/contacts/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package contacts : has no documentation (yet)\npackage contacts\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n)\n\n// DeleteManualContactsArg : has no documentation (yet)\ntype DeleteManualContactsArg struct {\n\t// EmailAddresses : List of manually added contacts to be deleted.\n\tEmailAddresses []string `json:\"email_addresses\"`\n}\n\n// NewDeleteManualContactsArg returns a new DeleteManualContactsArg instance\nfunc NewDeleteManualContactsArg(EmailAddresses []string) *DeleteManualContactsArg {\n\ts := new(DeleteManualContactsArg)\n\ts.EmailAddresses = EmailAddresses\n\treturn s\n}\n\n// DeleteManualContactsError : has no documentation (yet)\ntype DeleteManualContactsError struct {\n\tdropbox.Tagged\n\t// ContactsNotFound : Can't delete contacts from this list. Make sure the\n\t// list only has manually added contacts. The deletion was cancelled.\n\tContactsNotFound []string `json:\"contacts_not_found,omitempty\"`\n}\n\n// Valid tag values for DeleteManualContactsError\nconst (\n\tDeleteManualContactsErrorContactsNotFound = \"contacts_not_found\"\n\tDeleteManualContactsErrorOther            = \"other\"\n)\n\n// UnmarshalJSON deserializes into a DeleteManualContactsError instance\nfunc (u *DeleteManualContactsError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// ContactsNotFound : Can't delete contacts from this list. Make sure\n\t\t// the list only has manually added contacts. The deletion was\n\t\t// cancelled.\n\t\tContactsNotFound []string `json:\"contacts_not_found,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"contacts_not_found\":\n\t\tu.ContactsNotFound = w.ContactsNotFound\n\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "v6/dropbox/file_properties/client.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage file_properties\n\nimport (\n\t\"encoding/json\"\n\t\"io\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/auth\"\n)\n\n// Client interface describes all routes in this namespace\ntype Client interface {\n\t// PropertiesAdd : Add property groups to a Dropbox file. See\n\t// `templatesAddForUser` or `templatesAddForTeam` to create new templates.\n\tPropertiesAdd(arg *AddPropertiesArg) (err error)\n\t// PropertiesOverwrite : Overwrite property groups associated with a file.\n\t// This endpoint should be used instead of `propertiesUpdate` when property\n\t// groups are being updated via a \"snapshot\" instead of via a \"delta\". In\n\t// other words, this endpoint will delete all omitted fields from a property\n\t// group, whereas `propertiesUpdate` will only delete fields that are\n\t// explicitly marked for deletion.\n\tPropertiesOverwrite(arg *OverwritePropertyGroupArg) (err error)\n\t// PropertiesRemove : Permanently removes the specified property group from\n\t// the file. To remove specific property field key value pairs, see\n\t// `propertiesUpdate`. To update a template, see `templatesUpdateForUser` or\n\t// `templatesUpdateForTeam`. To remove a template, see\n\t// `templatesRemoveForUser` or `templatesRemoveForTeam`.\n\tPropertiesRemove(arg *RemovePropertiesArg) (err error)\n\t// PropertiesSearch : Search across property templates for particular\n\t// property field values.\n\tPropertiesSearch(arg *PropertiesSearchArg) (res *PropertiesSearchResult, err error)\n\t// PropertiesSearchContinue : Once a cursor has been retrieved from\n\t// `propertiesSearch`, use this to paginate through all search results.\n\tPropertiesSearchContinue(arg *PropertiesSearchContinueArg) (res *PropertiesSearchResult, err error)\n\t// PropertiesUpdate : Add, update or remove properties associated with the\n\t// supplied file and templates. This endpoint should be used instead of\n\t// `propertiesOverwrite` when property groups are being updated via a\n\t// \"delta\" instead of via a \"snapshot\" . In other words, this endpoint will\n\t// not delete any omitted fields from a property group, whereas\n\t// `propertiesOverwrite` will delete any fields that are omitted from a\n\t// property group.\n\tPropertiesUpdate(arg *UpdatePropertiesArg) (err error)\n\t// TemplatesAddForTeam : Add a template associated with a team. See\n\t// `propertiesAdd` to add properties to a file or folder. Note: this\n\t// endpoint will create team-owned templates.\n\tTemplatesAddForTeam(arg *AddTemplateArg) (res *AddTemplateResult, err error)\n\t// TemplatesAddForUser : Add a template associated with a user. See\n\t// `propertiesAdd` to add properties to a file. This endpoint can't be\n\t// called on a team member or admin's behalf.\n\tTemplatesAddForUser(arg *AddTemplateArg) (res *AddTemplateResult, err error)\n\t// TemplatesGetForTeam : Get the schema for a specified template.\n\tTemplatesGetForTeam(arg *GetTemplateArg) (res *GetTemplateResult, err error)\n\t// TemplatesGetForUser : Get the schema for a specified template. This\n\t// endpoint can't be called on a team member or admin's behalf.\n\tTemplatesGetForUser(arg *GetTemplateArg) (res *GetTemplateResult, err error)\n\t// TemplatesListForTeam : Get the template identifiers for a team. To get\n\t// the schema of each template use `templatesGetForTeam`.\n\tTemplatesListForTeam() (res *ListTemplateResult, err error)\n\t// TemplatesListForUser : Get the template identifiers for a team. To get\n\t// the schema of each template use `templatesGetForUser`. This endpoint\n\t// can't be called on a team member or admin's behalf.\n\tTemplatesListForUser() (res *ListTemplateResult, err error)\n\t// TemplatesRemoveForTeam : Permanently removes the specified template\n\t// created from `templatesAddForUser`. All properties associated with the\n\t// template will also be removed. This action cannot be undone.\n\tTemplatesRemoveForTeam(arg *RemoveTemplateArg) (err error)\n\t// TemplatesRemoveForUser : Permanently removes the specified template\n\t// created from `templatesAddForUser`. All properties associated with the\n\t// template will also be removed. This action cannot be undone.\n\tTemplatesRemoveForUser(arg *RemoveTemplateArg) (err error)\n\t// TemplatesUpdateForTeam : Update a template associated with a team. This\n\t// route can update the template name, the template description and add\n\t// optional properties to templates.\n\tTemplatesUpdateForTeam(arg *UpdateTemplateArg) (res *UpdateTemplateResult, err error)\n\t// TemplatesUpdateForUser : Update a template associated with a user. This\n\t// route can update the template name, the template description and add\n\t// optional properties to templates. This endpoint can't be called on a team\n\t// member or admin's behalf.\n\tTemplatesUpdateForUser(arg *UpdateTemplateArg) (res *UpdateTemplateResult, err error)\n}\n\ntype apiImpl dropbox.Context\n\n//PropertiesAddAPIError is an error-wrapper for the properties/add route\ntype PropertiesAddAPIError struct {\n\tdropbox.APIError\n\tEndpointError *AddPropertiesError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesAdd(arg *AddPropertiesArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"properties/add\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesAddAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//PropertiesOverwriteAPIError is an error-wrapper for the properties/overwrite route\ntype PropertiesOverwriteAPIError struct {\n\tdropbox.APIError\n\tEndpointError *InvalidPropertyGroupError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesOverwrite(arg *OverwritePropertyGroupArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"properties/overwrite\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesOverwriteAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//PropertiesRemoveAPIError is an error-wrapper for the properties/remove route\ntype PropertiesRemoveAPIError struct {\n\tdropbox.APIError\n\tEndpointError *RemovePropertiesError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesRemove(arg *RemovePropertiesArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"properties/remove\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesRemoveAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//PropertiesSearchAPIError is an error-wrapper for the properties/search route\ntype PropertiesSearchAPIError struct {\n\tdropbox.APIError\n\tEndpointError *PropertiesSearchError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesSearch(arg *PropertiesSearchArg) (res *PropertiesSearchResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"properties/search\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesSearchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//PropertiesSearchContinueAPIError is an error-wrapper for the properties/search/continue route\ntype PropertiesSearchContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *PropertiesSearchContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesSearchContinue(arg *PropertiesSearchContinueArg) (res *PropertiesSearchResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"properties/search/continue\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesSearchContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//PropertiesUpdateAPIError is an error-wrapper for the properties/update route\ntype PropertiesUpdateAPIError struct {\n\tdropbox.APIError\n\tEndpointError *UpdatePropertiesError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesUpdate(arg *UpdatePropertiesArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"properties/update\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesUpdateAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//TemplatesAddForTeamAPIError is an error-wrapper for the templates/add_for_team route\ntype TemplatesAddForTeamAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ModifyTemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TemplatesAddForTeam(arg *AddTemplateArg) (res *AddTemplateResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"templates/add_for_team\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TemplatesAddForTeamAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TemplatesAddForUserAPIError is an error-wrapper for the templates/add_for_user route\ntype TemplatesAddForUserAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ModifyTemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TemplatesAddForUser(arg *AddTemplateArg) (res *AddTemplateResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"templates/add_for_user\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TemplatesAddForUserAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TemplatesGetForTeamAPIError is an error-wrapper for the templates/get_for_team route\ntype TemplatesGetForTeamAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TemplatesGetForTeam(arg *GetTemplateArg) (res *GetTemplateResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"templates/get_for_team\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TemplatesGetForTeamAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TemplatesGetForUserAPIError is an error-wrapper for the templates/get_for_user route\ntype TemplatesGetForUserAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TemplatesGetForUser(arg *GetTemplateArg) (res *GetTemplateResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"templates/get_for_user\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TemplatesGetForUserAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TemplatesListForTeamAPIError is an error-wrapper for the templates/list_for_team route\ntype TemplatesListForTeamAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TemplatesListForTeam() (res *ListTemplateResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"templates/list_for_team\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          nil,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TemplatesListForTeamAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TemplatesListForUserAPIError is an error-wrapper for the templates/list_for_user route\ntype TemplatesListForUserAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TemplatesListForUser() (res *ListTemplateResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"templates/list_for_user\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          nil,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TemplatesListForUserAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TemplatesRemoveForTeamAPIError is an error-wrapper for the templates/remove_for_team route\ntype TemplatesRemoveForTeamAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TemplatesRemoveForTeam(arg *RemoveTemplateArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"templates/remove_for_team\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TemplatesRemoveForTeamAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//TemplatesRemoveForUserAPIError is an error-wrapper for the templates/remove_for_user route\ntype TemplatesRemoveForUserAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TemplatesRemoveForUser(arg *RemoveTemplateArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"templates/remove_for_user\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TemplatesRemoveForUserAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//TemplatesUpdateForTeamAPIError is an error-wrapper for the templates/update_for_team route\ntype TemplatesUpdateForTeamAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ModifyTemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TemplatesUpdateForTeam(arg *UpdateTemplateArg) (res *UpdateTemplateResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"templates/update_for_team\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TemplatesUpdateForTeamAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TemplatesUpdateForUserAPIError is an error-wrapper for the templates/update_for_user route\ntype TemplatesUpdateForUserAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ModifyTemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TemplatesUpdateForUser(arg *UpdateTemplateArg) (res *UpdateTemplateResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_properties\",\n\t\tRoute:        \"templates/update_for_user\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TemplatesUpdateForUserAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n// New returns a Client implementation for this namespace\nfunc New(c dropbox.Config) Client {\n\tctx := apiImpl(dropbox.NewContext(c))\n\treturn &ctx\n}\n"
  },
  {
    "path": "v6/dropbox/file_properties/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package file_properties : This namespace contains helpers for property and\n// template metadata endpoints.  These endpoints enable you to tag arbitrary\n// key/value data to Dropbox files.  The most basic unit in this namespace is\n// the `PropertyField`. These fields encapsulate the actual key/value data.\n// Fields are added to a Dropbox file using a `PropertyGroup`. Property groups\n// contain a reference to a Dropbox file and a `PropertyGroupTemplate`. Property\n// groups are uniquely identified by the combination of their associated Dropbox\n// file and template.  The `PropertyGroupTemplate` is a way of restricting the\n// possible key names and value types of the data within a property group. The\n// possible key names and value types are explicitly enumerated using\n// `PropertyFieldTemplate` objects.  You can think of a property group template\n// as a class definition for a particular key/value metadata object, and the\n// property groups themselves as the instantiations of these objects.  Templates\n// are owned either by a user/app pair or team/app pair. Templates and their\n// associated properties can't be accessed by any app other than the app that\n// created them, and even then, only when the app is linked with the owner of\n// the template (either a user or team).  User-owned templates are accessed via\n// the user-auth file_properties/templates/*_for_user endpoints, while\n// team-owned templates are accessed via the team-auth\n// file_properties/templates/*_for_team endpoints. Properties associated with\n// either type of template can be accessed via the user-auth properties/*\n// endpoints.  Finally, properties can be accessed from a number of endpoints\n// that return metadata, including `files/get_metadata`, and\n// `files/list_folder`. Properties can also be added during upload, using\n// `files/upload`.\npackage file_properties\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n)\n\n// AddPropertiesArg : has no documentation (yet)\ntype AddPropertiesArg struct {\n\t// Path : A unique identifier for the file or folder.\n\tPath string `json:\"path\"`\n\t// PropertyGroups : The property groups which are to be added to a Dropbox\n\t// file. No two groups in the input should  refer to the same template.\n\tPropertyGroups []*PropertyGroup `json:\"property_groups\"`\n}\n\n// NewAddPropertiesArg returns a new AddPropertiesArg instance\nfunc NewAddPropertiesArg(Path string, PropertyGroups []*PropertyGroup) *AddPropertiesArg {\n\ts := new(AddPropertiesArg)\n\ts.Path = Path\n\ts.PropertyGroups = PropertyGroups\n\treturn s\n}\n\n// TemplateError : has no documentation (yet)\ntype TemplateError struct {\n\tdropbox.Tagged\n\t// TemplateNotFound : Template does not exist for the given identifier.\n\tTemplateNotFound string `json:\"template_not_found,omitempty\"`\n}\n\n// Valid tag values for TemplateError\nconst (\n\tTemplateErrorTemplateNotFound  = \"template_not_found\"\n\tTemplateErrorRestrictedContent = \"restricted_content\"\n\tTemplateErrorOther             = \"other\"\n)\n\n// UnmarshalJSON deserializes into a TemplateError instance\nfunc (u *TemplateError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// TemplateNotFound : Template does not exist for the given identifier.\n\t\tTemplateNotFound string `json:\"template_not_found,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"template_not_found\":\n\t\tu.TemplateNotFound = w.TemplateNotFound\n\n\t}\n\treturn nil\n}\n\n// PropertiesError : has no documentation (yet)\ntype PropertiesError struct {\n\tdropbox.Tagged\n\t// TemplateNotFound : Template does not exist for the given identifier.\n\tTemplateNotFound string `json:\"template_not_found,omitempty\"`\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for PropertiesError\nconst (\n\tPropertiesErrorTemplateNotFound  = \"template_not_found\"\n\tPropertiesErrorRestrictedContent = \"restricted_content\"\n\tPropertiesErrorOther             = \"other\"\n\tPropertiesErrorPath              = \"path\"\n\tPropertiesErrorUnsupportedFolder = \"unsupported_folder\"\n)\n\n// UnmarshalJSON deserializes into a PropertiesError instance\nfunc (u *PropertiesError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// TemplateNotFound : Template does not exist for the given identifier.\n\t\tTemplateNotFound string `json:\"template_not_found,omitempty\"`\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"template_not_found\":\n\t\tu.TemplateNotFound = w.TemplateNotFound\n\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// InvalidPropertyGroupError : has no documentation (yet)\ntype InvalidPropertyGroupError struct {\n\tdropbox.Tagged\n\t// TemplateNotFound : Template does not exist for the given identifier.\n\tTemplateNotFound string `json:\"template_not_found,omitempty\"`\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for InvalidPropertyGroupError\nconst (\n\tInvalidPropertyGroupErrorTemplateNotFound        = \"template_not_found\"\n\tInvalidPropertyGroupErrorRestrictedContent       = \"restricted_content\"\n\tInvalidPropertyGroupErrorOther                   = \"other\"\n\tInvalidPropertyGroupErrorPath                    = \"path\"\n\tInvalidPropertyGroupErrorUnsupportedFolder       = \"unsupported_folder\"\n\tInvalidPropertyGroupErrorPropertyFieldTooLarge   = \"property_field_too_large\"\n\tInvalidPropertyGroupErrorDoesNotFitTemplate      = \"does_not_fit_template\"\n\tInvalidPropertyGroupErrorDuplicatePropertyGroups = \"duplicate_property_groups\"\n)\n\n// UnmarshalJSON deserializes into a InvalidPropertyGroupError instance\nfunc (u *InvalidPropertyGroupError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// TemplateNotFound : Template does not exist for the given identifier.\n\t\tTemplateNotFound string `json:\"template_not_found,omitempty\"`\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"template_not_found\":\n\t\tu.TemplateNotFound = w.TemplateNotFound\n\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// AddPropertiesError : has no documentation (yet)\ntype AddPropertiesError struct {\n\tdropbox.Tagged\n\t// TemplateNotFound : Template does not exist for the given identifier.\n\tTemplateNotFound string `json:\"template_not_found,omitempty\"`\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for AddPropertiesError\nconst (\n\tAddPropertiesErrorTemplateNotFound           = \"template_not_found\"\n\tAddPropertiesErrorRestrictedContent          = \"restricted_content\"\n\tAddPropertiesErrorOther                      = \"other\"\n\tAddPropertiesErrorPath                       = \"path\"\n\tAddPropertiesErrorUnsupportedFolder          = \"unsupported_folder\"\n\tAddPropertiesErrorPropertyFieldTooLarge      = \"property_field_too_large\"\n\tAddPropertiesErrorDoesNotFitTemplate         = \"does_not_fit_template\"\n\tAddPropertiesErrorDuplicatePropertyGroups    = \"duplicate_property_groups\"\n\tAddPropertiesErrorPropertyGroupAlreadyExists = \"property_group_already_exists\"\n)\n\n// UnmarshalJSON deserializes into a AddPropertiesError instance\nfunc (u *AddPropertiesError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// TemplateNotFound : Template does not exist for the given identifier.\n\t\tTemplateNotFound string `json:\"template_not_found,omitempty\"`\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"template_not_found\":\n\t\tu.TemplateNotFound = w.TemplateNotFound\n\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// PropertyGroupTemplate : Defines how a property group may be structured.\ntype PropertyGroupTemplate struct {\n\t// Name : Display name for the template. Template names can be up to 256\n\t// bytes.\n\tName string `json:\"name\"`\n\t// Description : Description for the template. Template descriptions can be\n\t// up to 1024 bytes.\n\tDescription string `json:\"description\"`\n\t// Fields : Definitions of the property fields associated with this\n\t// template. There can be up to 32 properties in a single template.\n\tFields []*PropertyFieldTemplate `json:\"fields\"`\n}\n\n// NewPropertyGroupTemplate returns a new PropertyGroupTemplate instance\nfunc NewPropertyGroupTemplate(Name string, Description string, Fields []*PropertyFieldTemplate) *PropertyGroupTemplate {\n\ts := new(PropertyGroupTemplate)\n\ts.Name = Name\n\ts.Description = Description\n\ts.Fields = Fields\n\treturn s\n}\n\n// AddTemplateArg : has no documentation (yet)\ntype AddTemplateArg struct {\n\tPropertyGroupTemplate\n}\n\n// NewAddTemplateArg returns a new AddTemplateArg instance\nfunc NewAddTemplateArg(Name string, Description string, Fields []*PropertyFieldTemplate) *AddTemplateArg {\n\ts := new(AddTemplateArg)\n\ts.Name = Name\n\ts.Description = Description\n\ts.Fields = Fields\n\treturn s\n}\n\n// AddTemplateResult : has no documentation (yet)\ntype AddTemplateResult struct {\n\t// TemplateId : An identifier for template added by  See\n\t// `templatesAddForUser` or `templatesAddForTeam`.\n\tTemplateId string `json:\"template_id\"`\n}\n\n// NewAddTemplateResult returns a new AddTemplateResult instance\nfunc NewAddTemplateResult(TemplateId string) *AddTemplateResult {\n\ts := new(AddTemplateResult)\n\ts.TemplateId = TemplateId\n\treturn s\n}\n\n// GetTemplateArg : has no documentation (yet)\ntype GetTemplateArg struct {\n\t// TemplateId : An identifier for template added by route  See\n\t// `templatesAddForUser` or `templatesAddForTeam`.\n\tTemplateId string `json:\"template_id\"`\n}\n\n// NewGetTemplateArg returns a new GetTemplateArg instance\nfunc NewGetTemplateArg(TemplateId string) *GetTemplateArg {\n\ts := new(GetTemplateArg)\n\ts.TemplateId = TemplateId\n\treturn s\n}\n\n// GetTemplateResult : has no documentation (yet)\ntype GetTemplateResult struct {\n\tPropertyGroupTemplate\n}\n\n// NewGetTemplateResult returns a new GetTemplateResult instance\nfunc NewGetTemplateResult(Name string, Description string, Fields []*PropertyFieldTemplate) *GetTemplateResult {\n\ts := new(GetTemplateResult)\n\ts.Name = Name\n\ts.Description = Description\n\ts.Fields = Fields\n\treturn s\n}\n\n// ListTemplateResult : has no documentation (yet)\ntype ListTemplateResult struct {\n\t// TemplateIds : List of identifiers for templates added by  See\n\t// `templatesAddForUser` or `templatesAddForTeam`.\n\tTemplateIds []string `json:\"template_ids\"`\n}\n\n// NewListTemplateResult returns a new ListTemplateResult instance\nfunc NewListTemplateResult(TemplateIds []string) *ListTemplateResult {\n\ts := new(ListTemplateResult)\n\ts.TemplateIds = TemplateIds\n\treturn s\n}\n\n// LogicalOperator : Logical operator to join search queries together.\ntype LogicalOperator struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LogicalOperator\nconst (\n\tLogicalOperatorOrOperator = \"or_operator\"\n\tLogicalOperatorOther      = \"other\"\n)\n\n// LookUpPropertiesError : has no documentation (yet)\ntype LookUpPropertiesError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LookUpPropertiesError\nconst (\n\tLookUpPropertiesErrorPropertyGroupNotFound = \"property_group_not_found\"\n\tLookUpPropertiesErrorOther                 = \"other\"\n)\n\n// LookupError : has no documentation (yet)\ntype LookupError struct {\n\tdropbox.Tagged\n\t// MalformedPath : has no documentation (yet)\n\tMalformedPath string `json:\"malformed_path,omitempty\"`\n}\n\n// Valid tag values for LookupError\nconst (\n\tLookupErrorMalformedPath     = \"malformed_path\"\n\tLookupErrorNotFound          = \"not_found\"\n\tLookupErrorNotFile           = \"not_file\"\n\tLookupErrorNotFolder         = \"not_folder\"\n\tLookupErrorRestrictedContent = \"restricted_content\"\n\tLookupErrorOther             = \"other\"\n)\n\n// UnmarshalJSON deserializes into a LookupError instance\nfunc (u *LookupError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// MalformedPath : has no documentation (yet)\n\t\tMalformedPath string `json:\"malformed_path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"malformed_path\":\n\t\tu.MalformedPath = w.MalformedPath\n\n\t}\n\treturn nil\n}\n\n// ModifyTemplateError : has no documentation (yet)\ntype ModifyTemplateError struct {\n\tdropbox.Tagged\n\t// TemplateNotFound : Template does not exist for the given identifier.\n\tTemplateNotFound string `json:\"template_not_found,omitempty\"`\n}\n\n// Valid tag values for ModifyTemplateError\nconst (\n\tModifyTemplateErrorTemplateNotFound          = \"template_not_found\"\n\tModifyTemplateErrorRestrictedContent         = \"restricted_content\"\n\tModifyTemplateErrorOther                     = \"other\"\n\tModifyTemplateErrorConflictingPropertyNames  = \"conflicting_property_names\"\n\tModifyTemplateErrorTooManyProperties         = \"too_many_properties\"\n\tModifyTemplateErrorTooManyTemplates          = \"too_many_templates\"\n\tModifyTemplateErrorTemplateAttributeTooLarge = \"template_attribute_too_large\"\n)\n\n// UnmarshalJSON deserializes into a ModifyTemplateError instance\nfunc (u *ModifyTemplateError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// TemplateNotFound : Template does not exist for the given identifier.\n\t\tTemplateNotFound string `json:\"template_not_found,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"template_not_found\":\n\t\tu.TemplateNotFound = w.TemplateNotFound\n\n\t}\n\treturn nil\n}\n\n// OverwritePropertyGroupArg : has no documentation (yet)\ntype OverwritePropertyGroupArg struct {\n\t// Path : A unique identifier for the file or folder.\n\tPath string `json:\"path\"`\n\t// PropertyGroups : The property groups \"snapshot\" updates to force apply.\n\t// No two groups in the input should  refer to the same template.\n\tPropertyGroups []*PropertyGroup `json:\"property_groups\"`\n}\n\n// NewOverwritePropertyGroupArg returns a new OverwritePropertyGroupArg instance\nfunc NewOverwritePropertyGroupArg(Path string, PropertyGroups []*PropertyGroup) *OverwritePropertyGroupArg {\n\ts := new(OverwritePropertyGroupArg)\n\ts.Path = Path\n\ts.PropertyGroups = PropertyGroups\n\treturn s\n}\n\n// PropertiesSearchArg : has no documentation (yet)\ntype PropertiesSearchArg struct {\n\t// Queries : Queries to search.\n\tQueries []*PropertiesSearchQuery `json:\"queries\"`\n\t// TemplateFilter : Filter results to contain only properties associated\n\t// with these template IDs.\n\tTemplateFilter *TemplateFilter `json:\"template_filter\"`\n}\n\n// NewPropertiesSearchArg returns a new PropertiesSearchArg instance\nfunc NewPropertiesSearchArg(Queries []*PropertiesSearchQuery) *PropertiesSearchArg {\n\ts := new(PropertiesSearchArg)\n\ts.Queries = Queries\n\ts.TemplateFilter = &TemplateFilter{Tagged: dropbox.Tagged{Tag: \"filter_none\"}}\n\treturn s\n}\n\n// PropertiesSearchContinueArg : has no documentation (yet)\ntype PropertiesSearchContinueArg struct {\n\t// Cursor : The cursor returned by your last call to `propertiesSearch` or\n\t// `propertiesSearchContinue`.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewPropertiesSearchContinueArg returns a new PropertiesSearchContinueArg instance\nfunc NewPropertiesSearchContinueArg(Cursor string) *PropertiesSearchContinueArg {\n\ts := new(PropertiesSearchContinueArg)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// PropertiesSearchContinueError : has no documentation (yet)\ntype PropertiesSearchContinueError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PropertiesSearchContinueError\nconst (\n\tPropertiesSearchContinueErrorReset = \"reset\"\n\tPropertiesSearchContinueErrorOther = \"other\"\n)\n\n// PropertiesSearchError : has no documentation (yet)\ntype PropertiesSearchError struct {\n\tdropbox.Tagged\n\t// PropertyGroupLookup : has no documentation (yet)\n\tPropertyGroupLookup *LookUpPropertiesError `json:\"property_group_lookup,omitempty\"`\n}\n\n// Valid tag values for PropertiesSearchError\nconst (\n\tPropertiesSearchErrorPropertyGroupLookup = \"property_group_lookup\"\n\tPropertiesSearchErrorOther               = \"other\"\n)\n\n// UnmarshalJSON deserializes into a PropertiesSearchError instance\nfunc (u *PropertiesSearchError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// PropertyGroupLookup : has no documentation (yet)\n\t\tPropertyGroupLookup *LookUpPropertiesError `json:\"property_group_lookup,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"property_group_lookup\":\n\t\tu.PropertyGroupLookup = w.PropertyGroupLookup\n\n\t}\n\treturn nil\n}\n\n// PropertiesSearchMatch : has no documentation (yet)\ntype PropertiesSearchMatch struct {\n\t// Id : The ID for the matched file or folder.\n\tId string `json:\"id\"`\n\t// Path : The path for the matched file or folder.\n\tPath string `json:\"path\"`\n\t// IsDeleted : Whether the file or folder is deleted.\n\tIsDeleted bool `json:\"is_deleted\"`\n\t// PropertyGroups : List of custom property groups associated with the file.\n\tPropertyGroups []*PropertyGroup `json:\"property_groups\"`\n}\n\n// NewPropertiesSearchMatch returns a new PropertiesSearchMatch instance\nfunc NewPropertiesSearchMatch(Id string, Path string, IsDeleted bool, PropertyGroups []*PropertyGroup) *PropertiesSearchMatch {\n\ts := new(PropertiesSearchMatch)\n\ts.Id = Id\n\ts.Path = Path\n\ts.IsDeleted = IsDeleted\n\ts.PropertyGroups = PropertyGroups\n\treturn s\n}\n\n// PropertiesSearchMode : has no documentation (yet)\ntype PropertiesSearchMode struct {\n\tdropbox.Tagged\n\t// FieldName : Search for a value associated with this field name.\n\tFieldName string `json:\"field_name,omitempty\"`\n}\n\n// Valid tag values for PropertiesSearchMode\nconst (\n\tPropertiesSearchModeFieldName = \"field_name\"\n\tPropertiesSearchModeOther     = \"other\"\n)\n\n// UnmarshalJSON deserializes into a PropertiesSearchMode instance\nfunc (u *PropertiesSearchMode) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// FieldName : Search for a value associated with this field name.\n\t\tFieldName string `json:\"field_name,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"field_name\":\n\t\tu.FieldName = w.FieldName\n\n\t}\n\treturn nil\n}\n\n// PropertiesSearchQuery : has no documentation (yet)\ntype PropertiesSearchQuery struct {\n\t// Query : The property field value for which to search across templates.\n\tQuery string `json:\"query\"`\n\t// Mode : The mode with which to perform the search.\n\tMode *PropertiesSearchMode `json:\"mode\"`\n\t// LogicalOperator : The logical operator with which to append the query.\n\tLogicalOperator *LogicalOperator `json:\"logical_operator\"`\n}\n\n// NewPropertiesSearchQuery returns a new PropertiesSearchQuery instance\nfunc NewPropertiesSearchQuery(Query string, Mode *PropertiesSearchMode) *PropertiesSearchQuery {\n\ts := new(PropertiesSearchQuery)\n\ts.Query = Query\n\ts.Mode = Mode\n\ts.LogicalOperator = &LogicalOperator{Tagged: dropbox.Tagged{Tag: \"or_operator\"}}\n\treturn s\n}\n\n// PropertiesSearchResult : has no documentation (yet)\ntype PropertiesSearchResult struct {\n\t// Matches : A list (possibly empty) of matches for the query.\n\tMatches []*PropertiesSearchMatch `json:\"matches\"`\n\t// Cursor : Pass the cursor into `propertiesSearchContinue` to continue to\n\t// receive search results. Cursor will be null when there are no more\n\t// results.\n\tCursor string `json:\"cursor,omitempty\"`\n}\n\n// NewPropertiesSearchResult returns a new PropertiesSearchResult instance\nfunc NewPropertiesSearchResult(Matches []*PropertiesSearchMatch) *PropertiesSearchResult {\n\ts := new(PropertiesSearchResult)\n\ts.Matches = Matches\n\treturn s\n}\n\n// PropertyField : Raw key/value data to be associated with a Dropbox file.\n// Property fields are added to Dropbox files as a `PropertyGroup`.\ntype PropertyField struct {\n\t// Name : Key of the property field associated with a file and template.\n\t// Keys can be up to 256 bytes.\n\tName string `json:\"name\"`\n\t// Value : Value of the property field associated with a file and template.\n\t// Values can be up to 1024 bytes.\n\tValue string `json:\"value\"`\n}\n\n// NewPropertyField returns a new PropertyField instance\nfunc NewPropertyField(Name string, Value string) *PropertyField {\n\ts := new(PropertyField)\n\ts.Name = Name\n\ts.Value = Value\n\treturn s\n}\n\n// PropertyFieldTemplate : Defines how a single property field may be\n// structured. Used exclusively by `PropertyGroupTemplate`.\ntype PropertyFieldTemplate struct {\n\t// Name : Key of the property field being described. Property field keys can\n\t// be up to 256 bytes.\n\tName string `json:\"name\"`\n\t// Description : Description of the property field. Property field\n\t// descriptions can be up to 1024 bytes.\n\tDescription string `json:\"description\"`\n\t// Type : Data type of the value of this property field. This type will be\n\t// enforced upon property creation and modifications.\n\tType *PropertyType `json:\"type\"`\n}\n\n// NewPropertyFieldTemplate returns a new PropertyFieldTemplate instance\nfunc NewPropertyFieldTemplate(Name string, Description string, Type *PropertyType) *PropertyFieldTemplate {\n\ts := new(PropertyFieldTemplate)\n\ts.Name = Name\n\ts.Description = Description\n\ts.Type = Type\n\treturn s\n}\n\n// PropertyGroup : A subset of the property fields described by the\n// corresponding `PropertyGroupTemplate`. Properties are always added to a\n// Dropbox file as a `PropertyGroup`. The possible key names and value types in\n// this group are defined by the corresponding `PropertyGroupTemplate`.\ntype PropertyGroup struct {\n\t// TemplateId : A unique identifier for the associated template.\n\tTemplateId string `json:\"template_id\"`\n\t// Fields : The actual properties associated with the template. There can be\n\t// up to 32 property types per template.\n\tFields []*PropertyField `json:\"fields\"`\n}\n\n// NewPropertyGroup returns a new PropertyGroup instance\nfunc NewPropertyGroup(TemplateId string, Fields []*PropertyField) *PropertyGroup {\n\ts := new(PropertyGroup)\n\ts.TemplateId = TemplateId\n\ts.Fields = Fields\n\treturn s\n}\n\n// PropertyGroupUpdate : has no documentation (yet)\ntype PropertyGroupUpdate struct {\n\t// TemplateId : A unique identifier for a property template.\n\tTemplateId string `json:\"template_id\"`\n\t// AddOrUpdateFields : Property fields to update. If the property field\n\t// already exists, it is updated. If the property field doesn't exist, the\n\t// property group is added.\n\tAddOrUpdateFields []*PropertyField `json:\"add_or_update_fields,omitempty\"`\n\t// RemoveFields : Property fields to remove (by name), provided they exist.\n\tRemoveFields []string `json:\"remove_fields,omitempty\"`\n}\n\n// NewPropertyGroupUpdate returns a new PropertyGroupUpdate instance\nfunc NewPropertyGroupUpdate(TemplateId string) *PropertyGroupUpdate {\n\ts := new(PropertyGroupUpdate)\n\ts.TemplateId = TemplateId\n\treturn s\n}\n\n// PropertyType : Data type of the given property field added.\ntype PropertyType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PropertyType\nconst (\n\tPropertyTypeString = \"string\"\n\tPropertyTypeOther  = \"other\"\n)\n\n// RemovePropertiesArg : has no documentation (yet)\ntype RemovePropertiesArg struct {\n\t// Path : A unique identifier for the file or folder.\n\tPath string `json:\"path\"`\n\t// PropertyTemplateIds : A list of identifiers for a template created by\n\t// `templatesAddForUser` or `templatesAddForTeam`.\n\tPropertyTemplateIds []string `json:\"property_template_ids\"`\n}\n\n// NewRemovePropertiesArg returns a new RemovePropertiesArg instance\nfunc NewRemovePropertiesArg(Path string, PropertyTemplateIds []string) *RemovePropertiesArg {\n\ts := new(RemovePropertiesArg)\n\ts.Path = Path\n\ts.PropertyTemplateIds = PropertyTemplateIds\n\treturn s\n}\n\n// RemovePropertiesError : has no documentation (yet)\ntype RemovePropertiesError struct {\n\tdropbox.Tagged\n\t// TemplateNotFound : Template does not exist for the given identifier.\n\tTemplateNotFound string `json:\"template_not_found,omitempty\"`\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n\t// PropertyGroupLookup : has no documentation (yet)\n\tPropertyGroupLookup *LookUpPropertiesError `json:\"property_group_lookup,omitempty\"`\n}\n\n// Valid tag values for RemovePropertiesError\nconst (\n\tRemovePropertiesErrorTemplateNotFound    = \"template_not_found\"\n\tRemovePropertiesErrorRestrictedContent   = \"restricted_content\"\n\tRemovePropertiesErrorOther               = \"other\"\n\tRemovePropertiesErrorPath                = \"path\"\n\tRemovePropertiesErrorUnsupportedFolder   = \"unsupported_folder\"\n\tRemovePropertiesErrorPropertyGroupLookup = \"property_group_lookup\"\n)\n\n// UnmarshalJSON deserializes into a RemovePropertiesError instance\nfunc (u *RemovePropertiesError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// TemplateNotFound : Template does not exist for the given identifier.\n\t\tTemplateNotFound string `json:\"template_not_found,omitempty\"`\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t\t// PropertyGroupLookup : has no documentation (yet)\n\t\tPropertyGroupLookup *LookUpPropertiesError `json:\"property_group_lookup,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"template_not_found\":\n\t\tu.TemplateNotFound = w.TemplateNotFound\n\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\tcase \"property_group_lookup\":\n\t\tu.PropertyGroupLookup = w.PropertyGroupLookup\n\n\t}\n\treturn nil\n}\n\n// RemoveTemplateArg : has no documentation (yet)\ntype RemoveTemplateArg struct {\n\t// TemplateId : An identifier for a template created by\n\t// `templatesAddForUser` or `templatesAddForTeam`.\n\tTemplateId string `json:\"template_id\"`\n}\n\n// NewRemoveTemplateArg returns a new RemoveTemplateArg instance\nfunc NewRemoveTemplateArg(TemplateId string) *RemoveTemplateArg {\n\ts := new(RemoveTemplateArg)\n\ts.TemplateId = TemplateId\n\treturn s\n}\n\n// TemplateFilterBase : has no documentation (yet)\ntype TemplateFilterBase struct {\n\tdropbox.Tagged\n\t// FilterSome : Only templates with an ID in the supplied list will be\n\t// returned (a subset of templates will be returned).\n\tFilterSome []string `json:\"filter_some,omitempty\"`\n}\n\n// Valid tag values for TemplateFilterBase\nconst (\n\tTemplateFilterBaseFilterSome = \"filter_some\"\n\tTemplateFilterBaseOther      = \"other\"\n)\n\n// UnmarshalJSON deserializes into a TemplateFilterBase instance\nfunc (u *TemplateFilterBase) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// FilterSome : Only templates with an ID in the supplied list will be\n\t\t// returned (a subset of templates will be returned).\n\t\tFilterSome []string `json:\"filter_some,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"filter_some\":\n\t\tu.FilterSome = w.FilterSome\n\n\t}\n\treturn nil\n}\n\n// TemplateFilter : has no documentation (yet)\ntype TemplateFilter struct {\n\tdropbox.Tagged\n\t// FilterSome : Only templates with an ID in the supplied list will be\n\t// returned (a subset of templates will be returned).\n\tFilterSome []string `json:\"filter_some,omitempty\"`\n}\n\n// Valid tag values for TemplateFilter\nconst (\n\tTemplateFilterFilterSome = \"filter_some\"\n\tTemplateFilterOther      = \"other\"\n\tTemplateFilterFilterNone = \"filter_none\"\n)\n\n// UnmarshalJSON deserializes into a TemplateFilter instance\nfunc (u *TemplateFilter) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// FilterSome : Only templates with an ID in the supplied list will be\n\t\t// returned (a subset of templates will be returned).\n\t\tFilterSome []string `json:\"filter_some,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"filter_some\":\n\t\tu.FilterSome = w.FilterSome\n\n\t}\n\treturn nil\n}\n\n// TemplateOwnerType : has no documentation (yet)\ntype TemplateOwnerType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TemplateOwnerType\nconst (\n\tTemplateOwnerTypeUser  = \"user\"\n\tTemplateOwnerTypeTeam  = \"team\"\n\tTemplateOwnerTypeOther = \"other\"\n)\n\n// UpdatePropertiesArg : has no documentation (yet)\ntype UpdatePropertiesArg struct {\n\t// Path : A unique identifier for the file or folder.\n\tPath string `json:\"path\"`\n\t// UpdatePropertyGroups : The property groups \"delta\" updates to apply.\n\tUpdatePropertyGroups []*PropertyGroupUpdate `json:\"update_property_groups\"`\n}\n\n// NewUpdatePropertiesArg returns a new UpdatePropertiesArg instance\nfunc NewUpdatePropertiesArg(Path string, UpdatePropertyGroups []*PropertyGroupUpdate) *UpdatePropertiesArg {\n\ts := new(UpdatePropertiesArg)\n\ts.Path = Path\n\ts.UpdatePropertyGroups = UpdatePropertyGroups\n\treturn s\n}\n\n// UpdatePropertiesError : has no documentation (yet)\ntype UpdatePropertiesError struct {\n\tdropbox.Tagged\n\t// TemplateNotFound : Template does not exist for the given identifier.\n\tTemplateNotFound string `json:\"template_not_found,omitempty\"`\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n\t// PropertyGroupLookup : has no documentation (yet)\n\tPropertyGroupLookup *LookUpPropertiesError `json:\"property_group_lookup,omitempty\"`\n}\n\n// Valid tag values for UpdatePropertiesError\nconst (\n\tUpdatePropertiesErrorTemplateNotFound        = \"template_not_found\"\n\tUpdatePropertiesErrorRestrictedContent       = \"restricted_content\"\n\tUpdatePropertiesErrorOther                   = \"other\"\n\tUpdatePropertiesErrorPath                    = \"path\"\n\tUpdatePropertiesErrorUnsupportedFolder       = \"unsupported_folder\"\n\tUpdatePropertiesErrorPropertyFieldTooLarge   = \"property_field_too_large\"\n\tUpdatePropertiesErrorDoesNotFitTemplate      = \"does_not_fit_template\"\n\tUpdatePropertiesErrorDuplicatePropertyGroups = \"duplicate_property_groups\"\n\tUpdatePropertiesErrorPropertyGroupLookup     = \"property_group_lookup\"\n)\n\n// UnmarshalJSON deserializes into a UpdatePropertiesError instance\nfunc (u *UpdatePropertiesError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// TemplateNotFound : Template does not exist for the given identifier.\n\t\tTemplateNotFound string `json:\"template_not_found,omitempty\"`\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t\t// PropertyGroupLookup : has no documentation (yet)\n\t\tPropertyGroupLookup *LookUpPropertiesError `json:\"property_group_lookup,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"template_not_found\":\n\t\tu.TemplateNotFound = w.TemplateNotFound\n\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\tcase \"property_group_lookup\":\n\t\tu.PropertyGroupLookup = w.PropertyGroupLookup\n\n\t}\n\treturn nil\n}\n\n// UpdateTemplateArg : has no documentation (yet)\ntype UpdateTemplateArg struct {\n\t// TemplateId : An identifier for template added by  See\n\t// `templatesAddForUser` or `templatesAddForTeam`.\n\tTemplateId string `json:\"template_id\"`\n\t// Name : A display name for the template. template names can be up to 256\n\t// bytes.\n\tName string `json:\"name,omitempty\"`\n\t// Description : Description for the new template. Template descriptions can\n\t// be up to 1024 bytes.\n\tDescription string `json:\"description,omitempty\"`\n\t// AddFields : Property field templates to be added to the group template.\n\t// There can be up to 32 properties in a single template.\n\tAddFields []*PropertyFieldTemplate `json:\"add_fields,omitempty\"`\n}\n\n// NewUpdateTemplateArg returns a new UpdateTemplateArg instance\nfunc NewUpdateTemplateArg(TemplateId string) *UpdateTemplateArg {\n\ts := new(UpdateTemplateArg)\n\ts.TemplateId = TemplateId\n\treturn s\n}\n\n// UpdateTemplateResult : has no documentation (yet)\ntype UpdateTemplateResult struct {\n\t// TemplateId : An identifier for template added by route  See\n\t// `templatesAddForUser` or `templatesAddForTeam`.\n\tTemplateId string `json:\"template_id\"`\n}\n\n// NewUpdateTemplateResult returns a new UpdateTemplateResult instance\nfunc NewUpdateTemplateResult(TemplateId string) *UpdateTemplateResult {\n\ts := new(UpdateTemplateResult)\n\ts.TemplateId = TemplateId\n\treturn s\n}\n"
  },
  {
    "path": "v6/dropbox/file_requests/client.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage file_requests\n\nimport (\n\t\"encoding/json\"\n\t\"io\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/auth\"\n)\n\n// Client interface describes all routes in this namespace\ntype Client interface {\n\t// Count : Returns the total number of file requests owned by this user.\n\t// Includes both open and closed file requests.\n\tCount() (res *CountFileRequestsResult, err error)\n\t// Create : Creates a file request for this user.\n\tCreate(arg *CreateFileRequestArgs) (res *FileRequest, err error)\n\t// Delete : Delete a batch of closed file requests.\n\tDelete(arg *DeleteFileRequestArgs) (res *DeleteFileRequestsResult, err error)\n\t// DeleteAllClosed : Delete all closed file requests owned by this user.\n\tDeleteAllClosed() (res *DeleteAllClosedFileRequestsResult, err error)\n\t// Get : Returns the specified file request.\n\tGet(arg *GetFileRequestArgs) (res *FileRequest, err error)\n\t// List : Returns a list of file requests owned by this user. For apps with\n\t// the app folder permission, this will only return file requests with\n\t// destinations in the app folder.\n\tListV2(arg *ListFileRequestsArg) (res *ListFileRequestsV2Result, err error)\n\t// List : Returns a list of file requests owned by this user. For apps with\n\t// the app folder permission, this will only return file requests with\n\t// destinations in the app folder.\n\tList() (res *ListFileRequestsResult, err error)\n\t// ListContinue : Once a cursor has been retrieved from `list`, use this to\n\t// paginate through all file requests. The cursor must come from a previous\n\t// call to `list` or `listContinue`.\n\tListContinue(arg *ListFileRequestsContinueArg) (res *ListFileRequestsV2Result, err error)\n\t// Update : Update a file request.\n\tUpdate(arg *UpdateFileRequestArgs) (res *FileRequest, err error)\n}\n\ntype apiImpl dropbox.Context\n\n//CountAPIError is an error-wrapper for the count route\ntype CountAPIError struct {\n\tdropbox.APIError\n\tEndpointError *CountFileRequestsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) Count() (res *CountFileRequestsResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_requests\",\n\t\tRoute:        \"count\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          nil,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CountAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CreateAPIError is an error-wrapper for the create route\ntype CreateAPIError struct {\n\tdropbox.APIError\n\tEndpointError *CreateFileRequestError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) Create(arg *CreateFileRequestArgs) (res *FileRequest, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_requests\",\n\t\tRoute:        \"create\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CreateAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DeleteAPIError is an error-wrapper for the delete route\ntype DeleteAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DeleteFileRequestError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) Delete(arg *DeleteFileRequestArgs) (res *DeleteFileRequestsResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_requests\",\n\t\tRoute:        \"delete\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DeleteAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DeleteAllClosedAPIError is an error-wrapper for the delete_all_closed route\ntype DeleteAllClosedAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DeleteAllClosedFileRequestsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DeleteAllClosed() (res *DeleteAllClosedFileRequestsResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_requests\",\n\t\tRoute:        \"delete_all_closed\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          nil,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DeleteAllClosedAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GetAPIError is an error-wrapper for the get route\ntype GetAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GetFileRequestError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) Get(arg *GetFileRequestArgs) (res *FileRequest, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_requests\",\n\t\tRoute:        \"get\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListV2APIError is an error-wrapper for the list_v2 route\ntype ListV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *ListFileRequestsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListV2(arg *ListFileRequestsArg) (res *ListFileRequestsV2Result, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_requests\",\n\t\tRoute:        \"list_v2\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListAPIError is an error-wrapper for the list route\ntype ListAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListFileRequestsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) List() (res *ListFileRequestsResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_requests\",\n\t\tRoute:        \"list\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          nil,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListContinueAPIError is an error-wrapper for the list/continue route\ntype ListContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListFileRequestsContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListContinue(arg *ListFileRequestsContinueArg) (res *ListFileRequestsV2Result, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_requests\",\n\t\tRoute:        \"list/continue\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//UpdateAPIError is an error-wrapper for the update route\ntype UpdateAPIError struct {\n\tdropbox.APIError\n\tEndpointError *UpdateFileRequestError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) Update(arg *UpdateFileRequestArgs) (res *FileRequest, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"file_requests\",\n\t\tRoute:        \"update\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr UpdateAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n// New returns a Client implementation for this namespace\nfunc New(c dropbox.Config) Client {\n\tctx := apiImpl(dropbox.NewContext(c))\n\treturn &ctx\n}\n"
  },
  {
    "path": "v6/dropbox/file_requests/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package file_requests : This namespace contains endpoints and data types for\n// file request operations.\npackage file_requests\n\nimport (\n\t\"encoding/json\"\n\t\"time\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n)\n\n// GeneralFileRequestsError : There is an error accessing the file requests\n// functionality.\ntype GeneralFileRequestsError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GeneralFileRequestsError\nconst (\n\tGeneralFileRequestsErrorDisabledForTeam = \"disabled_for_team\"\n\tGeneralFileRequestsErrorOther           = \"other\"\n)\n\n// CountFileRequestsError : There was an error counting the file requests.\ntype CountFileRequestsError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for CountFileRequestsError\nconst (\n\tCountFileRequestsErrorDisabledForTeam = \"disabled_for_team\"\n\tCountFileRequestsErrorOther           = \"other\"\n)\n\n// CountFileRequestsResult : Result for `count`.\ntype CountFileRequestsResult struct {\n\t// FileRequestCount : The number file requests owner by this user.\n\tFileRequestCount uint64 `json:\"file_request_count\"`\n}\n\n// NewCountFileRequestsResult returns a new CountFileRequestsResult instance\nfunc NewCountFileRequestsResult(FileRequestCount uint64) *CountFileRequestsResult {\n\ts := new(CountFileRequestsResult)\n\ts.FileRequestCount = FileRequestCount\n\treturn s\n}\n\n// CreateFileRequestArgs : Arguments for `create`.\ntype CreateFileRequestArgs struct {\n\t// Title : The title of the file request. Must not be empty.\n\tTitle string `json:\"title\"`\n\t// Destination : The path of the folder in the Dropbox where uploaded files\n\t// will be sent. For apps with the app folder permission, this will be\n\t// relative to the app folder.\n\tDestination string `json:\"destination\"`\n\t// Deadline : The deadline for the file request. Deadlines can only be set\n\t// by Professional and Business accounts.\n\tDeadline *FileRequestDeadline `json:\"deadline,omitempty\"`\n\t// Open : Whether or not the file request should be open. If the file\n\t// request is closed, it will not accept any file submissions, but it can be\n\t// opened later.\n\tOpen bool `json:\"open\"`\n\t// Description : A description of the file request.\n\tDescription string `json:\"description,omitempty\"`\n}\n\n// NewCreateFileRequestArgs returns a new CreateFileRequestArgs instance\nfunc NewCreateFileRequestArgs(Title string, Destination string) *CreateFileRequestArgs {\n\ts := new(CreateFileRequestArgs)\n\ts.Title = Title\n\ts.Destination = Destination\n\ts.Open = true\n\treturn s\n}\n\n// FileRequestError : There is an error with the file request.\ntype FileRequestError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FileRequestError\nconst (\n\tFileRequestErrorDisabledForTeam = \"disabled_for_team\"\n\tFileRequestErrorOther           = \"other\"\n\tFileRequestErrorNotFound        = \"not_found\"\n\tFileRequestErrorNotAFolder      = \"not_a_folder\"\n\tFileRequestErrorAppLacksAccess  = \"app_lacks_access\"\n\tFileRequestErrorNoPermission    = \"no_permission\"\n\tFileRequestErrorEmailUnverified = \"email_unverified\"\n\tFileRequestErrorValidationError = \"validation_error\"\n)\n\n// CreateFileRequestError : There was an error creating the file request.\ntype CreateFileRequestError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for CreateFileRequestError\nconst (\n\tCreateFileRequestErrorDisabledForTeam = \"disabled_for_team\"\n\tCreateFileRequestErrorOther           = \"other\"\n\tCreateFileRequestErrorNotFound        = \"not_found\"\n\tCreateFileRequestErrorNotAFolder      = \"not_a_folder\"\n\tCreateFileRequestErrorAppLacksAccess  = \"app_lacks_access\"\n\tCreateFileRequestErrorNoPermission    = \"no_permission\"\n\tCreateFileRequestErrorEmailUnverified = \"email_unverified\"\n\tCreateFileRequestErrorValidationError = \"validation_error\"\n\tCreateFileRequestErrorInvalidLocation = \"invalid_location\"\n\tCreateFileRequestErrorRateLimit       = \"rate_limit\"\n)\n\n// DeleteAllClosedFileRequestsError : There was an error deleting all closed\n// file requests.\ntype DeleteAllClosedFileRequestsError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for DeleteAllClosedFileRequestsError\nconst (\n\tDeleteAllClosedFileRequestsErrorDisabledForTeam = \"disabled_for_team\"\n\tDeleteAllClosedFileRequestsErrorOther           = \"other\"\n\tDeleteAllClosedFileRequestsErrorNotFound        = \"not_found\"\n\tDeleteAllClosedFileRequestsErrorNotAFolder      = \"not_a_folder\"\n\tDeleteAllClosedFileRequestsErrorAppLacksAccess  = \"app_lacks_access\"\n\tDeleteAllClosedFileRequestsErrorNoPermission    = \"no_permission\"\n\tDeleteAllClosedFileRequestsErrorEmailUnverified = \"email_unverified\"\n\tDeleteAllClosedFileRequestsErrorValidationError = \"validation_error\"\n)\n\n// DeleteAllClosedFileRequestsResult : Result for `deleteAllClosed`.\ntype DeleteAllClosedFileRequestsResult struct {\n\t// FileRequests : The file requests deleted for this user.\n\tFileRequests []*FileRequest `json:\"file_requests\"`\n}\n\n// NewDeleteAllClosedFileRequestsResult returns a new DeleteAllClosedFileRequestsResult instance\nfunc NewDeleteAllClosedFileRequestsResult(FileRequests []*FileRequest) *DeleteAllClosedFileRequestsResult {\n\ts := new(DeleteAllClosedFileRequestsResult)\n\ts.FileRequests = FileRequests\n\treturn s\n}\n\n// DeleteFileRequestArgs : Arguments for `delete`.\ntype DeleteFileRequestArgs struct {\n\t// Ids : List IDs of the file requests to delete.\n\tIds []string `json:\"ids\"`\n}\n\n// NewDeleteFileRequestArgs returns a new DeleteFileRequestArgs instance\nfunc NewDeleteFileRequestArgs(Ids []string) *DeleteFileRequestArgs {\n\ts := new(DeleteFileRequestArgs)\n\ts.Ids = Ids\n\treturn s\n}\n\n// DeleteFileRequestError : There was an error deleting these file requests.\ntype DeleteFileRequestError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for DeleteFileRequestError\nconst (\n\tDeleteFileRequestErrorDisabledForTeam = \"disabled_for_team\"\n\tDeleteFileRequestErrorOther           = \"other\"\n\tDeleteFileRequestErrorNotFound        = \"not_found\"\n\tDeleteFileRequestErrorNotAFolder      = \"not_a_folder\"\n\tDeleteFileRequestErrorAppLacksAccess  = \"app_lacks_access\"\n\tDeleteFileRequestErrorNoPermission    = \"no_permission\"\n\tDeleteFileRequestErrorEmailUnverified = \"email_unverified\"\n\tDeleteFileRequestErrorValidationError = \"validation_error\"\n\tDeleteFileRequestErrorFileRequestOpen = \"file_request_open\"\n)\n\n// DeleteFileRequestsResult : Result for `delete`.\ntype DeleteFileRequestsResult struct {\n\t// FileRequests : The file requests deleted by the request.\n\tFileRequests []*FileRequest `json:\"file_requests\"`\n}\n\n// NewDeleteFileRequestsResult returns a new DeleteFileRequestsResult instance\nfunc NewDeleteFileRequestsResult(FileRequests []*FileRequest) *DeleteFileRequestsResult {\n\ts := new(DeleteFileRequestsResult)\n\ts.FileRequests = FileRequests\n\treturn s\n}\n\n// FileRequest : A `file request` <https://www.dropbox.com/help/9090> for\n// receiving files into the user's Dropbox account.\ntype FileRequest struct {\n\t// Id : The ID of the file request.\n\tId string `json:\"id\"`\n\t// Url : The URL of the file request.\n\tUrl string `json:\"url\"`\n\t// Title : The title of the file request.\n\tTitle string `json:\"title\"`\n\t// Destination : The path of the folder in the Dropbox where uploaded files\n\t// will be sent. This can be nil if the destination was removed. For apps\n\t// with the app folder permission, this will be relative to the app folder.\n\tDestination string `json:\"destination,omitempty\"`\n\t// Created : When this file request was created.\n\tCreated time.Time `json:\"created\"`\n\t// Deadline : The deadline for this file request. Only set if the request\n\t// has a deadline.\n\tDeadline *FileRequestDeadline `json:\"deadline,omitempty\"`\n\t// IsOpen : Whether or not the file request is open. If the file request is\n\t// closed, it will not accept any more file submissions.\n\tIsOpen bool `json:\"is_open\"`\n\t// FileCount : The number of files this file request has received.\n\tFileCount int64 `json:\"file_count\"`\n\t// Description : A description of the file request.\n\tDescription string `json:\"description,omitempty\"`\n}\n\n// NewFileRequest returns a new FileRequest instance\nfunc NewFileRequest(Id string, Url string, Title string, Created time.Time, IsOpen bool, FileCount int64) *FileRequest {\n\ts := new(FileRequest)\n\ts.Id = Id\n\ts.Url = Url\n\ts.Title = Title\n\ts.Created = Created\n\ts.IsOpen = IsOpen\n\ts.FileCount = FileCount\n\treturn s\n}\n\n// FileRequestDeadline : has no documentation (yet)\ntype FileRequestDeadline struct {\n\t// Deadline : The deadline for this file request.\n\tDeadline time.Time `json:\"deadline\"`\n\t// AllowLateUploads : If set, allow uploads after the deadline has passed.\n\t// These     uploads will be marked overdue.\n\tAllowLateUploads *GracePeriod `json:\"allow_late_uploads,omitempty\"`\n}\n\n// NewFileRequestDeadline returns a new FileRequestDeadline instance\nfunc NewFileRequestDeadline(Deadline time.Time) *FileRequestDeadline {\n\ts := new(FileRequestDeadline)\n\ts.Deadline = Deadline\n\treturn s\n}\n\n// GetFileRequestArgs : Arguments for `get`.\ntype GetFileRequestArgs struct {\n\t// Id : The ID of the file request to retrieve.\n\tId string `json:\"id\"`\n}\n\n// NewGetFileRequestArgs returns a new GetFileRequestArgs instance\nfunc NewGetFileRequestArgs(Id string) *GetFileRequestArgs {\n\ts := new(GetFileRequestArgs)\n\ts.Id = Id\n\treturn s\n}\n\n// GetFileRequestError : There was an error retrieving the specified file\n// request.\ntype GetFileRequestError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GetFileRequestError\nconst (\n\tGetFileRequestErrorDisabledForTeam = \"disabled_for_team\"\n\tGetFileRequestErrorOther           = \"other\"\n\tGetFileRequestErrorNotFound        = \"not_found\"\n\tGetFileRequestErrorNotAFolder      = \"not_a_folder\"\n\tGetFileRequestErrorAppLacksAccess  = \"app_lacks_access\"\n\tGetFileRequestErrorNoPermission    = \"no_permission\"\n\tGetFileRequestErrorEmailUnverified = \"email_unverified\"\n\tGetFileRequestErrorValidationError = \"validation_error\"\n)\n\n// GracePeriod : has no documentation (yet)\ntype GracePeriod struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GracePeriod\nconst (\n\tGracePeriodOneDay     = \"one_day\"\n\tGracePeriodTwoDays    = \"two_days\"\n\tGracePeriodSevenDays  = \"seven_days\"\n\tGracePeriodThirtyDays = \"thirty_days\"\n\tGracePeriodAlways     = \"always\"\n\tGracePeriodOther      = \"other\"\n)\n\n// ListFileRequestsArg : Arguments for `list`.\ntype ListFileRequestsArg struct {\n\t// Limit : The maximum number of file requests that should be returned per\n\t// request.\n\tLimit uint64 `json:\"limit\"`\n}\n\n// NewListFileRequestsArg returns a new ListFileRequestsArg instance\nfunc NewListFileRequestsArg() *ListFileRequestsArg {\n\ts := new(ListFileRequestsArg)\n\ts.Limit = 1000\n\treturn s\n}\n\n// ListFileRequestsContinueArg : has no documentation (yet)\ntype ListFileRequestsContinueArg struct {\n\t// Cursor : The cursor returned by the previous API call specified in the\n\t// endpoint description.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewListFileRequestsContinueArg returns a new ListFileRequestsContinueArg instance\nfunc NewListFileRequestsContinueArg(Cursor string) *ListFileRequestsContinueArg {\n\ts := new(ListFileRequestsContinueArg)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// ListFileRequestsContinueError : There was an error retrieving the file\n// requests.\ntype ListFileRequestsContinueError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ListFileRequestsContinueError\nconst (\n\tListFileRequestsContinueErrorDisabledForTeam = \"disabled_for_team\"\n\tListFileRequestsContinueErrorOther           = \"other\"\n\tListFileRequestsContinueErrorInvalidCursor   = \"invalid_cursor\"\n)\n\n// ListFileRequestsError : There was an error retrieving the file requests.\ntype ListFileRequestsError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ListFileRequestsError\nconst (\n\tListFileRequestsErrorDisabledForTeam = \"disabled_for_team\"\n\tListFileRequestsErrorOther           = \"other\"\n)\n\n// ListFileRequestsResult : Result for `list`.\ntype ListFileRequestsResult struct {\n\t// FileRequests : The file requests owned by this user. Apps with the app\n\t// folder permission will only see file requests in their app folder.\n\tFileRequests []*FileRequest `json:\"file_requests\"`\n}\n\n// NewListFileRequestsResult returns a new ListFileRequestsResult instance\nfunc NewListFileRequestsResult(FileRequests []*FileRequest) *ListFileRequestsResult {\n\ts := new(ListFileRequestsResult)\n\ts.FileRequests = FileRequests\n\treturn s\n}\n\n// ListFileRequestsV2Result : Result for `list` and `listContinue`.\ntype ListFileRequestsV2Result struct {\n\t// FileRequests : The file requests owned by this user. Apps with the app\n\t// folder permission will only see file requests in their app folder.\n\tFileRequests []*FileRequest `json:\"file_requests\"`\n\t// Cursor : Pass the cursor into `listContinue` to obtain additional file\n\t// requests.\n\tCursor string `json:\"cursor\"`\n\t// HasMore : Is true if there are additional file requests that have not\n\t// been returned yet. An additional call to :route:list/continue` can\n\t// retrieve them.\n\tHasMore bool `json:\"has_more\"`\n}\n\n// NewListFileRequestsV2Result returns a new ListFileRequestsV2Result instance\nfunc NewListFileRequestsV2Result(FileRequests []*FileRequest, Cursor string, HasMore bool) *ListFileRequestsV2Result {\n\ts := new(ListFileRequestsV2Result)\n\ts.FileRequests = FileRequests\n\ts.Cursor = Cursor\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// UpdateFileRequestArgs : Arguments for `update`.\ntype UpdateFileRequestArgs struct {\n\t// Id : The ID of the file request to update.\n\tId string `json:\"id\"`\n\t// Title : The new title of the file request. Must not be empty.\n\tTitle string `json:\"title,omitempty\"`\n\t// Destination : The new path of the folder in the Dropbox where uploaded\n\t// files will be sent. For apps with the app folder permission, this will be\n\t// relative to the app folder.\n\tDestination string `json:\"destination,omitempty\"`\n\t// Deadline : The new deadline for the file request. Deadlines can only be\n\t// set by Professional and Business accounts.\n\tDeadline *UpdateFileRequestDeadline `json:\"deadline\"`\n\t// Open : Whether to set this file request as open or closed.\n\tOpen bool `json:\"open,omitempty\"`\n\t// Description : The description of the file request.\n\tDescription string `json:\"description,omitempty\"`\n}\n\n// NewUpdateFileRequestArgs returns a new UpdateFileRequestArgs instance\nfunc NewUpdateFileRequestArgs(Id string) *UpdateFileRequestArgs {\n\ts := new(UpdateFileRequestArgs)\n\ts.Id = Id\n\ts.Deadline = &UpdateFileRequestDeadline{Tagged: dropbox.Tagged{Tag: \"no_update\"}}\n\treturn s\n}\n\n// UpdateFileRequestDeadline : has no documentation (yet)\ntype UpdateFileRequestDeadline struct {\n\tdropbox.Tagged\n\t// Update : If nil, the file request's deadline is cleared.\n\tUpdate *FileRequestDeadline `json:\"update,omitempty\"`\n}\n\n// Valid tag values for UpdateFileRequestDeadline\nconst (\n\tUpdateFileRequestDeadlineNoUpdate = \"no_update\"\n\tUpdateFileRequestDeadlineUpdate   = \"update\"\n\tUpdateFileRequestDeadlineOther    = \"other\"\n)\n\n// UnmarshalJSON deserializes into a UpdateFileRequestDeadline instance\nfunc (u *UpdateFileRequestDeadline) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Update : If nil, the file request's deadline is cleared.\n\t\tUpdate *FileRequestDeadline `json:\"update,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"update\":\n\t\tu.Update = w.Update\n\n\t}\n\treturn nil\n}\n\n// UpdateFileRequestError : There is an error updating the file request.\ntype UpdateFileRequestError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for UpdateFileRequestError\nconst (\n\tUpdateFileRequestErrorDisabledForTeam = \"disabled_for_team\"\n\tUpdateFileRequestErrorOther           = \"other\"\n\tUpdateFileRequestErrorNotFound        = \"not_found\"\n\tUpdateFileRequestErrorNotAFolder      = \"not_a_folder\"\n\tUpdateFileRequestErrorAppLacksAccess  = \"app_lacks_access\"\n\tUpdateFileRequestErrorNoPermission    = \"no_permission\"\n\tUpdateFileRequestErrorEmailUnverified = \"email_unverified\"\n\tUpdateFileRequestErrorValidationError = \"validation_error\"\n)\n"
  },
  {
    "path": "v6/dropbox/files/client.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage files\n\nimport (\n\t\"encoding/json\"\n\t\"io\"\n\t\"log\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/async\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/auth\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/file_properties\"\n)\n\n// Client interface describes all routes in this namespace\ntype Client interface {\n\t// AlphaGetMetadata : Returns the metadata for a file or folder. This is an\n\t// alpha endpoint compatible with the properties API. Note: Metadata for the\n\t// root folder is unsupported.\n\t// Deprecated: Use `GetMetadata` instead\n\tAlphaGetMetadata(arg *AlphaGetMetadataArg) (res IsMetadata, err error)\n\t// AlphaUpload : Create a new file with the contents provided in the\n\t// request. Note that the behavior of this alpha endpoint is unstable and\n\t// subject to change. Do not use this to upload a file larger than 150 MB.\n\t// Instead, create an upload session with `uploadSessionStart`.\n\t// Deprecated: Use `Upload` instead\n\tAlphaUpload(arg *UploadArg, content io.Reader) (res *FileMetadata, err error)\n\t// Copy : Copy a file or folder to a different location in the user's\n\t// Dropbox. If the source path is a folder all its contents will be copied.\n\tCopyV2(arg *RelocationArg) (res *RelocationResult, err error)\n\t// Copy : Copy a file or folder to a different location in the user's\n\t// Dropbox. If the source path is a folder all its contents will be copied.\n\t// Deprecated: Use `CopyV2` instead\n\tCopy(arg *RelocationArg) (res IsMetadata, err error)\n\t// CopyBatch : Copy multiple files or folders to different locations at once\n\t// in the user's Dropbox. This route will replace `copyBatch`. The main\n\t// difference is this route will return status for each entry, while\n\t// `copyBatch` raises failure if any entry fails. This route will either\n\t// finish synchronously, or return a job ID and do the async copy job in\n\t// background. Please use `copyBatchCheck` to check the job status.\n\tCopyBatchV2(arg *RelocationBatchArgBase) (res *RelocationBatchV2Launch, err error)\n\t// CopyBatch : Copy multiple files or folders to different locations at once\n\t// in the user's Dropbox. This route will return job ID immediately and do\n\t// the async copy job in background. Please use `copyBatchCheck` to check\n\t// the job status.\n\t// Deprecated: Use `CopyBatchV2` instead\n\tCopyBatch(arg *RelocationBatchArg) (res *RelocationBatchLaunch, err error)\n\t// CopyBatchCheck : Returns the status of an asynchronous job for\n\t// `copyBatch`. It returns list of results for each entry.\n\tCopyBatchCheckV2(arg *async.PollArg) (res *RelocationBatchV2JobStatus, err error)\n\t// CopyBatchCheck : Returns the status of an asynchronous job for\n\t// `copyBatch`. If success, it returns list of results for each entry.\n\t// Deprecated: Use `CopyBatchCheckV2` instead\n\tCopyBatchCheck(arg *async.PollArg) (res *RelocationBatchJobStatus, err error)\n\t// CopyReferenceGet : Get a copy reference to a file or folder. This\n\t// reference string can be used to save that file or folder to another\n\t// user's Dropbox by passing it to `copyReferenceSave`.\n\tCopyReferenceGet(arg *GetCopyReferenceArg) (res *GetCopyReferenceResult, err error)\n\t// CopyReferenceSave : Save a copy reference returned by `copyReferenceGet`\n\t// to the user's Dropbox.\n\tCopyReferenceSave(arg *SaveCopyReferenceArg) (res *SaveCopyReferenceResult, err error)\n\t// CreateFolder : Create a folder at a given path.\n\tCreateFolderV2(arg *CreateFolderArg) (res *CreateFolderResult, err error)\n\t// CreateFolder : Create a folder at a given path.\n\t// Deprecated: Use `CreateFolderV2` instead\n\tCreateFolder(arg *CreateFolderArg) (res *FolderMetadata, err error)\n\t// CreateFolderBatch : Create multiple folders at once. This route is\n\t// asynchronous for large batches, which returns a job ID immediately and\n\t// runs the create folder batch asynchronously. Otherwise, creates the\n\t// folders and returns the result synchronously for smaller inputs. You can\n\t// force asynchronous behaviour by using the\n\t// `CreateFolderBatchArg.force_async` flag.  Use `createFolderBatchCheck` to\n\t// check the job status.\n\tCreateFolderBatch(arg *CreateFolderBatchArg) (res *CreateFolderBatchLaunch, err error)\n\t// CreateFolderBatchCheck : Returns the status of an asynchronous job for\n\t// `createFolderBatch`. If success, it returns list of result for each\n\t// entry.\n\tCreateFolderBatchCheck(arg *async.PollArg) (res *CreateFolderBatchJobStatus, err error)\n\t// Delete : Delete the file or folder at a given path. If the path is a\n\t// folder, all its contents will be deleted too. A successful response\n\t// indicates that the file or folder was deleted. The returned metadata will\n\t// be the corresponding `FileMetadata` or `FolderMetadata` for the item at\n\t// time of deletion, and not a `DeletedMetadata` object.\n\tDeleteV2(arg *DeleteArg) (res *DeleteResult, err error)\n\t// Delete : Delete the file or folder at a given path. If the path is a\n\t// folder, all its contents will be deleted too. A successful response\n\t// indicates that the file or folder was deleted. The returned metadata will\n\t// be the corresponding `FileMetadata` or `FolderMetadata` for the item at\n\t// time of deletion, and not a `DeletedMetadata` object.\n\t// Deprecated: Use `DeleteV2` instead\n\tDelete(arg *DeleteArg) (res IsMetadata, err error)\n\t// DeleteBatch : Delete multiple files/folders at once. This route is\n\t// asynchronous, which returns a job ID immediately and runs the delete\n\t// batch asynchronously. Use `deleteBatchCheck` to check the job status.\n\tDeleteBatch(arg *DeleteBatchArg) (res *DeleteBatchLaunch, err error)\n\t// DeleteBatchCheck : Returns the status of an asynchronous job for\n\t// `deleteBatch`. If success, it returns list of result for each entry.\n\tDeleteBatchCheck(arg *async.PollArg) (res *DeleteBatchJobStatus, err error)\n\t// Download : Download a file from a user's Dropbox.\n\tDownload(arg *DownloadArg) (res *FileMetadata, content io.ReadCloser, err error)\n\t// DownloadZip : Download a folder from the user's Dropbox, as a zip file.\n\t// The folder must be less than 20 GB in size and any single file within\n\t// must be less than 4 GB in size. The resulting zip must have fewer than\n\t// 10,000 total file and folder entries, including the top level folder. The\n\t// input cannot be a single file. Note: this endpoint does not support HTTP\n\t// range requests.\n\tDownloadZip(arg *DownloadZipArg) (res *DownloadZipResult, content io.ReadCloser, err error)\n\t// Export : Export a file from a user's Dropbox. This route only supports\n\t// exporting files that cannot be downloaded directly  and whose\n\t// `ExportResult.file_metadata` has `ExportInfo.export_as` populated.\n\tExport(arg *ExportArg) (res *ExportResult, content io.ReadCloser, err error)\n\t// GetFileLockBatch : Return the lock metadata for the given list of paths.\n\tGetFileLockBatch(arg *LockFileBatchArg) (res *LockFileBatchResult, err error)\n\t// GetMetadata : Returns the metadata for a file or folder. Note: Metadata\n\t// for the root folder is unsupported.\n\tGetMetadata(arg *GetMetadataArg) (res IsMetadata, err error)\n\t// GetPreview : Get a preview for a file. Currently, PDF previews are\n\t// generated for files with the following extensions: .ai, .doc, .docm,\n\t// .docx, .eps, .gdoc, .gslides, .odp, .odt, .pps, .ppsm, .ppsx, .ppt,\n\t// .pptm, .pptx, .rtf. HTML previews are generated for files with the\n\t// following extensions: .csv, .ods, .xls, .xlsm, .gsheet, .xlsx. Other\n\t// formats will return an unsupported extension error.\n\tGetPreview(arg *PreviewArg) (res *FileMetadata, content io.ReadCloser, err error)\n\t// GetTemporaryLink : Get a temporary link to stream content of a file. This\n\t// link will expire in four hours and afterwards you will get 410 Gone. This\n\t// URL should not be used to display content directly in the browser. The\n\t// Content-Type of the link is determined automatically by the file's mime\n\t// type.\n\tGetTemporaryLink(arg *GetTemporaryLinkArg) (res *GetTemporaryLinkResult, err error)\n\t// GetTemporaryUploadLink : Get a one-time use temporary upload link to\n\t// upload a file to a Dropbox location.  This endpoint acts as a delayed\n\t// `upload`. The returned temporary upload link may be used to make a POST\n\t// request with the data to be uploaded. The upload will then be perfomed\n\t// with the `CommitInfo` previously provided to `getTemporaryUploadLink` but\n\t// evaluated only upon consumption. Hence, errors stemming from invalid\n\t// `CommitInfo` with respect to the state of the user's Dropbox will only be\n\t// communicated at consumption time. Additionally, these errors are surfaced\n\t// as generic HTTP 409 Conflict responses, potentially hiding issue details.\n\t// The maximum temporary upload link duration is 4 hours. Upon consumption\n\t// or expiration, a new link will have to be generated. Multiple links may\n\t// exist for a specific upload path at any given time.  The POST request on\n\t// the temporary upload link must have its Content-Type set to\n\t// \"application/octet-stream\".  Example temporary upload link consumption\n\t// request:  curl -X POST\n\t// https://content.dropboxapi.com/apitul/1/bNi2uIYF51cVBND --header\n\t// \"Content-Type: application/octet-stream\" --data-binary @local_file.txt  A\n\t// successful temporary upload link consumption request returns the content\n\t// hash of the uploaded data in JSON format.  Example successful temporary\n\t// upload link consumption response: {\"content-hash\":\n\t// \"599d71033d700ac892a0e48fa61b125d2f5994\"}  An unsuccessful temporary\n\t// upload link consumption request returns any of the following status\n\t// codes:  HTTP 400 Bad Request: Content-Type is not one of\n\t// application/octet-stream and text/plain or request is invalid. HTTP 409\n\t// Conflict: The temporary upload link does not exist or is currently\n\t// unavailable, the upload failed, or another error happened. HTTP 410 Gone:\n\t// The temporary upload link is expired or consumed.  Example unsuccessful\n\t// temporary upload link consumption response: Temporary upload link has\n\t// been recently consumed.\n\tGetTemporaryUploadLink(arg *GetTemporaryUploadLinkArg) (res *GetTemporaryUploadLinkResult, err error)\n\t// GetThumbnail : Get a thumbnail for an image. This method currently\n\t// supports files with the following file extensions: jpg, jpeg, png, tiff,\n\t// tif, gif, webp, ppm and bmp. Photos that are larger than 20MB in size\n\t// won't be converted to a thumbnail.\n\tGetThumbnail(arg *ThumbnailArg) (res *FileMetadata, content io.ReadCloser, err error)\n\t// GetThumbnail : Get a thumbnail for an image. This method currently\n\t// supports files with the following file extensions: jpg, jpeg, png, tiff,\n\t// tif, gif, webp, ppm and bmp. Photos that are larger than 20MB in size\n\t// won't be converted to a thumbnail.\n\tGetThumbnailV2(arg *ThumbnailV2Arg) (res *PreviewResult, content io.ReadCloser, err error)\n\t// GetThumbnailBatch : Get thumbnails for a list of images. We allow up to\n\t// 25 thumbnails in a single batch. This method currently supports files\n\t// with the following file extensions: jpg, jpeg, png, tiff, tif, gif, webp,\n\t// ppm and bmp. Photos that are larger than 20MB in size won't be converted\n\t// to a thumbnail.\n\tGetThumbnailBatch(arg *GetThumbnailBatchArg) (res *GetThumbnailBatchResult, err error)\n\t// ListFolder : Starts returning the contents of a folder. If the result's\n\t// `ListFolderResult.has_more` field is true, call `listFolderContinue` with\n\t// the returned `ListFolderResult.cursor` to retrieve more entries. If\n\t// you're using `ListFolderArg.recursive` set to true to keep a local cache\n\t// of the contents of a Dropbox account, iterate through each entry in order\n\t// and process them as follows to keep your local state in sync: For each\n\t// `FileMetadata`, store the new entry at the given path in your local\n\t// state. If the required parent folders don't exist yet, create them. If\n\t// there's already something else at the given path, replace it and remove\n\t// all its children. For each `FolderMetadata`, store the new entry at the\n\t// given path in your local state. If the required parent folders don't\n\t// exist yet, create them. If there's already something else at the given\n\t// path, replace it but leave the children as they are. Check the new\n\t// entry's `FolderSharingInfo.read_only` and set all its children's\n\t// read-only statuses to match. For each `DeletedMetadata`, if your local\n\t// state has something at the given path, remove it and all its children. If\n\t// there's nothing at the given path, ignore this entry. Note:\n\t// `auth.RateLimitError` may be returned if multiple `listFolder` or\n\t// `listFolderContinue` calls with same parameters are made simultaneously\n\t// by same API app for same user. If your app implements retry logic, please\n\t// hold off the retry until the previous request finishes.\n\tListFolder(arg *ListFolderArg) (res *ListFolderResult, err error)\n\t// ListFolderContinue : Once a cursor has been retrieved from `listFolder`,\n\t// use this to paginate through all files and retrieve updates to the\n\t// folder, following the same rules as documented for `listFolder`.\n\tListFolderContinue(arg *ListFolderContinueArg) (res *ListFolderResult, err error)\n\t// ListFolderGetLatestCursor : A way to quickly get a cursor for the\n\t// folder's state. Unlike `listFolder`, `listFolderGetLatestCursor` doesn't\n\t// return any entries. This endpoint is for app which only needs to know\n\t// about new files and modifications and doesn't need to know about files\n\t// that already exist in Dropbox.\n\tListFolderGetLatestCursor(arg *ListFolderArg) (res *ListFolderGetLatestCursorResult, err error)\n\t// ListFolderLongpoll : A longpoll endpoint to wait for changes on an\n\t// account. In conjunction with `listFolderContinue`, this call gives you a\n\t// low-latency way to monitor an account for file changes. The connection\n\t// will block until there are changes available or a timeout occurs. This\n\t// endpoint is useful mostly for client-side apps. If you're looking for\n\t// server-side notifications, check out our `webhooks documentation`\n\t// <https://www.dropbox.com/developers/reference/webhooks>.\n\tListFolderLongpoll(arg *ListFolderLongpollArg) (res *ListFolderLongpollResult, err error)\n\t// ListRevisions : Returns revisions for files based on a file path or a\n\t// file id. The file path or file id is identified from the latest file\n\t// entry at the given file path or id. This end point allows your app to\n\t// query either by file path or file id by setting the mode parameter\n\t// appropriately. In the `ListRevisionsMode.path` (default) mode, all\n\t// revisions at the same file path as the latest file entry are returned. If\n\t// revisions with the same file id are desired, then mode must be set to\n\t// `ListRevisionsMode.id`. The `ListRevisionsMode.id` mode is useful to\n\t// retrieve revisions for a given file across moves or renames.\n\tListRevisions(arg *ListRevisionsArg) (res *ListRevisionsResult, err error)\n\t// LockFileBatch : Lock the files at the given paths. A locked file will be\n\t// writable only by the lock holder. A successful response indicates that\n\t// the file has been locked. Returns a list of the locked file paths and\n\t// their metadata after this operation.\n\tLockFileBatch(arg *LockFileBatchArg) (res *LockFileBatchResult, err error)\n\t// Move : Move a file or folder to a different location in the user's\n\t// Dropbox. If the source path is a folder all its contents will be moved.\n\t// Note that we do not currently support case-only renaming.\n\tMoveV2(arg *RelocationArg) (res *RelocationResult, err error)\n\t// Move : Move a file or folder to a different location in the user's\n\t// Dropbox. If the source path is a folder all its contents will be moved.\n\t// Deprecated: Use `MoveV2` instead\n\tMove(arg *RelocationArg) (res IsMetadata, err error)\n\t// MoveBatch : Move multiple files or folders to different locations at once\n\t// in the user's Dropbox. Note that we do not currently support case-only\n\t// renaming. This route will replace `moveBatch`. The main difference is\n\t// this route will return status for each entry, while `moveBatch` raises\n\t// failure if any entry fails. This route will either finish synchronously,\n\t// or return a job ID and do the async move job in background. Please use\n\t// `moveBatchCheck` to check the job status.\n\tMoveBatchV2(arg *MoveBatchArg) (res *RelocationBatchV2Launch, err error)\n\t// MoveBatch : Move multiple files or folders to different locations at once\n\t// in the user's Dropbox. This route will return job ID immediately and do\n\t// the async moving job in background. Please use `moveBatchCheck` to check\n\t// the job status.\n\t// Deprecated: Use `MoveBatchV2` instead\n\tMoveBatch(arg *RelocationBatchArg) (res *RelocationBatchLaunch, err error)\n\t// MoveBatchCheck : Returns the status of an asynchronous job for\n\t// `moveBatch`. It returns list of results for each entry.\n\tMoveBatchCheckV2(arg *async.PollArg) (res *RelocationBatchV2JobStatus, err error)\n\t// MoveBatchCheck : Returns the status of an asynchronous job for\n\t// `moveBatch`. If success, it returns list of results for each entry.\n\t// Deprecated: Use `MoveBatchCheckV2` instead\n\tMoveBatchCheck(arg *async.PollArg) (res *RelocationBatchJobStatus, err error)\n\t// PaperCreate : Creates a new Paper doc with the provided content.\n\tPaperCreate(arg *PaperCreateArg, content io.Reader) (res *PaperCreateResult, err error)\n\t// PaperUpdate : Updates an existing Paper doc with the provided content.\n\tPaperUpdate(arg *PaperUpdateArg, content io.Reader) (res *PaperUpdateResult, err error)\n\t// PermanentlyDelete : Permanently delete the file or folder at a given path\n\t// (see https://www.dropbox.com/en/help/40). If the given file or folder is\n\t// not yet deleted, this route will first delete it. It is possible for this\n\t// route to successfully delete, then fail to permanently delete. Note: This\n\t// endpoint is only available for Dropbox Business apps.\n\tPermanentlyDelete(arg *DeleteArg) (err error)\n\t// PropertiesAdd : has no documentation (yet)\n\t// Deprecated:\n\tPropertiesAdd(arg *file_properties.AddPropertiesArg) (err error)\n\t// PropertiesOverwrite : has no documentation (yet)\n\t// Deprecated:\n\tPropertiesOverwrite(arg *file_properties.OverwritePropertyGroupArg) (err error)\n\t// PropertiesRemove : has no documentation (yet)\n\t// Deprecated:\n\tPropertiesRemove(arg *file_properties.RemovePropertiesArg) (err error)\n\t// PropertiesTemplateGet : has no documentation (yet)\n\t// Deprecated:\n\tPropertiesTemplateGet(arg *file_properties.GetTemplateArg) (res *file_properties.GetTemplateResult, err error)\n\t// PropertiesTemplateList : has no documentation (yet)\n\t// Deprecated:\n\tPropertiesTemplateList() (res *file_properties.ListTemplateResult, err error)\n\t// PropertiesUpdate : has no documentation (yet)\n\t// Deprecated:\n\tPropertiesUpdate(arg *file_properties.UpdatePropertiesArg) (err error)\n\t// Restore : Restore a specific revision of a file to the given path.\n\tRestore(arg *RestoreArg) (res *FileMetadata, err error)\n\t// SaveUrl : Save the data from a specified URL into a file in user's\n\t// Dropbox. Note that the transfer from the URL must complete within 5\n\t// minutes, or the operation will time out and the job will fail. If the\n\t// given path already exists, the file will be renamed to avoid the conflict\n\t// (e.g. myfile (1).txt).\n\tSaveUrl(arg *SaveUrlArg) (res *SaveUrlResult, err error)\n\t// SaveUrlCheckJobStatus : Check the status of a `saveUrl` job.\n\tSaveUrlCheckJobStatus(arg *async.PollArg) (res *SaveUrlJobStatus, err error)\n\t// Search : Searches for files and folders. Note: Recent changes will be\n\t// reflected in search results within a few seconds and older revisions of\n\t// existing files may still match your query for up to a few days.\n\t// Deprecated: Use `SearchV2` instead\n\tSearch(arg *SearchArg) (res *SearchResult, err error)\n\t// Search : Searches for files and folders. Note: `search` along with\n\t// `searchContinue` can only be used to retrieve a maximum of 10,000\n\t// matches. Recent changes may not immediately be reflected in search\n\t// results due to a short delay in indexing. Duplicate results may be\n\t// returned across pages. Some results may not be returned.\n\tSearchV2(arg *SearchV2Arg) (res *SearchV2Result, err error)\n\t// SearchContinue : Fetches the next page of search results returned from\n\t// `search`. Note: `search` along with `searchContinue` can only be used to\n\t// retrieve a maximum of 10,000 matches. Recent changes may not immediately\n\t// be reflected in search results due to a short delay in indexing.\n\t// Duplicate results may be returned across pages. Some results may not be\n\t// returned.\n\tSearchContinueV2(arg *SearchV2ContinueArg) (res *SearchV2Result, err error)\n\t// TagsAdd : Add a tag to an item. A tag is a string. The strings are\n\t// automatically converted to lowercase letters. No more than 20 tags can be\n\t// added to a given item.\n\tTagsAdd(arg *AddTagArg) (err error)\n\t// TagsGet : Get list of tags assigned to items.\n\tTagsGet(arg *GetTagsArg) (res *GetTagsResult, err error)\n\t// TagsRemove : Remove a tag from an item.\n\tTagsRemove(arg *RemoveTagArg) (err error)\n\t// UnlockFileBatch : Unlock the files at the given paths. A locked file can\n\t// only be unlocked by the lock holder or, if a business account, a team\n\t// admin. A successful response indicates that the file has been unlocked.\n\t// Returns a list of the unlocked file paths and their metadata after this\n\t// operation.\n\tUnlockFileBatch(arg *UnlockFileBatchArg) (res *LockFileBatchResult, err error)\n\t// Upload : Create a new file with the contents provided in the request. Do\n\t// not use this to upload a file larger than 150 MB. Instead, create an\n\t// upload session with `uploadSessionStart`. Calls to this endpoint will\n\t// count as data transport calls for any Dropbox Business teams with a limit\n\t// on the number of data transport calls allowed per month. For more\n\t// information, see the `Data transport limit page`\n\t// <https://www.dropbox.com/developers/reference/data-transport-limit>.\n\tUpload(arg *UploadArg, content io.Reader) (res *FileMetadata, err error)\n\t// UploadSessionAppend : Append more data to an upload session. When the\n\t// parameter close is set, this call will close the session. A single\n\t// request should not upload more than 150 MB. The maximum size of a file\n\t// one can upload to an upload session is 350 GB. Calls to this endpoint\n\t// will count as data transport calls for any Dropbox Business teams with a\n\t// limit on the number of data transport calls allowed per month. For more\n\t// information, see the `Data transport limit page`\n\t// <https://www.dropbox.com/developers/reference/data-transport-limit>.\n\tUploadSessionAppendV2(arg *UploadSessionAppendArg, content io.Reader) (err error)\n\t// UploadSessionAppend : Append more data to an upload session. A single\n\t// request should not upload more than 150 MB. The maximum size of a file\n\t// one can upload to an upload session is 350 GB. Calls to this endpoint\n\t// will count as data transport calls for any Dropbox Business teams with a\n\t// limit on the number of data transport calls allowed per month. For more\n\t// information, see the `Data transport limit page`\n\t// <https://www.dropbox.com/developers/reference/data-transport-limit>.\n\t// Deprecated: Use `UploadSessionAppendV2` instead\n\tUploadSessionAppend(arg *UploadSessionCursor, content io.Reader) (err error)\n\t// UploadSessionFinish : Finish an upload session and save the uploaded data\n\t// to the given file path. A single request should not upload more than 150\n\t// MB. The maximum size of a file one can upload to an upload session is 350\n\t// GB. Calls to this endpoint will count as data transport calls for any\n\t// Dropbox Business teams with a limit on the number of data transport calls\n\t// allowed per month. For more information, see the `Data transport limit\n\t// page`\n\t// <https://www.dropbox.com/developers/reference/data-transport-limit>.\n\tUploadSessionFinish(arg *UploadSessionFinishArg, content io.Reader) (res *FileMetadata, err error)\n\t// UploadSessionFinishBatch : This route helps you commit many files at once\n\t// into a user's Dropbox. Use `uploadSessionStart` and `uploadSessionAppend`\n\t// to upload file contents. We recommend uploading many files in parallel to\n\t// increase throughput. Once the file contents have been uploaded, rather\n\t// than calling `uploadSessionFinish`, use this route to finish all your\n\t// upload sessions in a single request. `UploadSessionStartArg.close` or\n\t// `UploadSessionAppendArg.close` needs to be true for the last\n\t// `uploadSessionStart` or `uploadSessionAppend` call. The maximum size of a\n\t// file one can upload to an upload session is 350 GB. This route will\n\t// return a job_id immediately and do the async commit job in background.\n\t// Use `uploadSessionFinishBatchCheck` to check the job status. For the same\n\t// account, this route should be executed serially. That means you should\n\t// not start the next job before current job finishes. We allow up to 1000\n\t// entries in a single request. Calls to this endpoint will count as data\n\t// transport calls for any Dropbox Business teams with a limit on the number\n\t// of data transport calls allowed per month. For more information, see the\n\t// `Data transport limit page`\n\t// <https://www.dropbox.com/developers/reference/data-transport-limit>.\n\t// Deprecated: Use `UploadSessionFinishBatchV2` instead\n\tUploadSessionFinishBatch(arg *UploadSessionFinishBatchArg) (res *UploadSessionFinishBatchLaunch, err error)\n\t// UploadSessionFinishBatch : This route helps you commit many files at once\n\t// into a user's Dropbox. Use `uploadSessionStart` and `uploadSessionAppend`\n\t// to upload file contents. We recommend uploading many files in parallel to\n\t// increase throughput. Once the file contents have been uploaded, rather\n\t// than calling `uploadSessionFinish`, use this route to finish all your\n\t// upload sessions in a single request. `UploadSessionStartArg.close` or\n\t// `UploadSessionAppendArg.close` needs to be true for the last\n\t// `uploadSessionStart` or `uploadSessionAppend` call of each upload\n\t// session. The maximum size of a file one can upload to an upload session\n\t// is 350 GB. We allow up to 1000 entries in a single request. Calls to this\n\t// endpoint will count as data transport calls for any Dropbox Business\n\t// teams with a limit on the number of data transport calls allowed per\n\t// month. For more information, see the `Data transport limit page`\n\t// <https://www.dropbox.com/developers/reference/data-transport-limit>.\n\tUploadSessionFinishBatchV2(arg *UploadSessionFinishBatchArg) (res *UploadSessionFinishBatchResult, err error)\n\t// UploadSessionFinishBatchCheck : Returns the status of an asynchronous job\n\t// for `uploadSessionFinishBatch`. If success, it returns list of result for\n\t// each entry.\n\tUploadSessionFinishBatchCheck(arg *async.PollArg) (res *UploadSessionFinishBatchJobStatus, err error)\n\t// UploadSessionStart : Upload sessions allow you to upload a single file in\n\t// one or more requests, for example where the size of the file is greater\n\t// than 150 MB.  This call starts a new upload session with the given data.\n\t// You can then use `uploadSessionAppend` to add more data and\n\t// `uploadSessionFinish` to save all the data to a file in Dropbox. A single\n\t// request should not upload more than 150 MB. The maximum size of a file\n\t// one can upload to an upload session is 350 GB. An upload session can be\n\t// used for a maximum of 7 days. Attempting to use an\n\t// `UploadSessionStartResult.session_id` with `uploadSessionAppend` or\n\t// `uploadSessionFinish` more than 7 days after its creation will return a\n\t// `UploadSessionLookupError.not_found`. Calls to this endpoint will count\n\t// as data transport calls for any Dropbox Business teams with a limit on\n\t// the number of data transport calls allowed per month. For more\n\t// information, see the `Data transport limit page`\n\t// <https://www.dropbox.com/developers/reference/data-transport-limit>. By\n\t// default, upload sessions require you to send content of the file in\n\t// sequential order via consecutive `uploadSessionStart`,\n\t// `uploadSessionAppend`, `uploadSessionFinish` calls. For better\n\t// performance, you can instead optionally use a\n\t// `UploadSessionType.concurrent` upload session. To start a new concurrent\n\t// session, set `UploadSessionStartArg.session_type` to\n\t// `UploadSessionType.concurrent`. After that, you can send file data in\n\t// concurrent `uploadSessionAppend` requests. Finally finish the session\n\t// with `uploadSessionFinish`. There are couple of constraints with\n\t// concurrent sessions to make them work. You can not send data with\n\t// `uploadSessionStart` or `uploadSessionFinish` call, only with\n\t// `uploadSessionAppend` call. Also data uploaded in `uploadSessionAppend`\n\t// call must be multiple of 4194304 bytes (except for last\n\t// `uploadSessionAppend` with `UploadSessionStartArg.close` to true, that\n\t// may contain any remaining data).\n\tUploadSessionStart(arg *UploadSessionStartArg, content io.Reader) (res *UploadSessionStartResult, err error)\n\t// UploadSessionStartBatch : This route starts batch of upload_sessions.\n\t// Please refer to `upload_session/start` usage. Calls to this endpoint will\n\t// count as data transport calls for any Dropbox Business teams with a limit\n\t// on the number of data transport calls allowed per month. For more\n\t// information, see the `Data transport limit page`\n\t// <https://www.dropbox.com/developers/reference/data-transport-limit>.\n\tUploadSessionStartBatch(arg *UploadSessionStartBatchArg) (res *UploadSessionStartBatchResult, err error)\n}\n\ntype apiImpl dropbox.Context\n\n//AlphaGetMetadataAPIError is an error-wrapper for the alpha/get_metadata route\ntype AlphaGetMetadataAPIError struct {\n\tdropbox.APIError\n\tEndpointError *AlphaGetMetadataError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) AlphaGetMetadata(arg *AlphaGetMetadataArg) (res IsMetadata, err error) {\n\tlog.Printf(\"WARNING: API `AlphaGetMetadata` is deprecated\")\n\tlog.Printf(\"Use API `GetMetadata` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"alpha/get_metadata\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr AlphaGetMetadataAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\tvar tmp metadataUnion\n\terr = json.Unmarshal(resp, &tmp)\n\tif err != nil {\n\t\treturn\n\t}\n\tswitch tmp.Tag {\n\tcase \"file\":\n\t\tres = tmp.File\n\n\tcase \"folder\":\n\t\tres = tmp.Folder\n\n\tcase \"deleted\":\n\t\tres = tmp.Deleted\n\n\t}\n\t_ = respBody\n\treturn\n}\n\n//AlphaUploadAPIError is an error-wrapper for the alpha/upload route\ntype AlphaUploadAPIError struct {\n\tdropbox.APIError\n\tEndpointError *UploadError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) AlphaUpload(arg *UploadArg, content io.Reader) (res *FileMetadata, err error) {\n\tlog.Printf(\"WARNING: API `AlphaUpload` is deprecated\")\n\tlog.Printf(\"Use API `Upload` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"content\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"alpha/upload\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"upload\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, content)\n\tif err != nil {\n\t\tvar appErr AlphaUploadAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CopyV2APIError is an error-wrapper for the copy_v2 route\ntype CopyV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *RelocationError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CopyV2(arg *RelocationArg) (res *RelocationResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"copy_v2\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CopyV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CopyAPIError is an error-wrapper for the copy route\ntype CopyAPIError struct {\n\tdropbox.APIError\n\tEndpointError *RelocationError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) Copy(arg *RelocationArg) (res IsMetadata, err error) {\n\tlog.Printf(\"WARNING: API `Copy` is deprecated\")\n\tlog.Printf(\"Use API `CopyV2` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"copy\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CopyAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\tvar tmp metadataUnion\n\terr = json.Unmarshal(resp, &tmp)\n\tif err != nil {\n\t\treturn\n\t}\n\tswitch tmp.Tag {\n\tcase \"file\":\n\t\tres = tmp.File\n\n\tcase \"folder\":\n\t\tres = tmp.Folder\n\n\tcase \"deleted\":\n\t\tres = tmp.Deleted\n\n\t}\n\t_ = respBody\n\treturn\n}\n\n//CopyBatchV2APIError is an error-wrapper for the copy_batch_v2 route\ntype CopyBatchV2APIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CopyBatchV2(arg *RelocationBatchArgBase) (res *RelocationBatchV2Launch, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"copy_batch_v2\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CopyBatchV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CopyBatchAPIError is an error-wrapper for the copy_batch route\ntype CopyBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CopyBatch(arg *RelocationBatchArg) (res *RelocationBatchLaunch, err error) {\n\tlog.Printf(\"WARNING: API `CopyBatch` is deprecated\")\n\tlog.Printf(\"Use API `CopyBatchV2` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"copy_batch\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CopyBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CopyBatchCheckV2APIError is an error-wrapper for the copy_batch/check_v2 route\ntype CopyBatchCheckV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CopyBatchCheckV2(arg *async.PollArg) (res *RelocationBatchV2JobStatus, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"copy_batch/check_v2\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CopyBatchCheckV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CopyBatchCheckAPIError is an error-wrapper for the copy_batch/check route\ntype CopyBatchCheckAPIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CopyBatchCheck(arg *async.PollArg) (res *RelocationBatchJobStatus, err error) {\n\tlog.Printf(\"WARNING: API `CopyBatchCheck` is deprecated\")\n\tlog.Printf(\"Use API `CopyBatchCheckV2` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"copy_batch/check\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CopyBatchCheckAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CopyReferenceGetAPIError is an error-wrapper for the copy_reference/get route\ntype CopyReferenceGetAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GetCopyReferenceError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CopyReferenceGet(arg *GetCopyReferenceArg) (res *GetCopyReferenceResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"copy_reference/get\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CopyReferenceGetAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CopyReferenceSaveAPIError is an error-wrapper for the copy_reference/save route\ntype CopyReferenceSaveAPIError struct {\n\tdropbox.APIError\n\tEndpointError *SaveCopyReferenceError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CopyReferenceSave(arg *SaveCopyReferenceArg) (res *SaveCopyReferenceResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"copy_reference/save\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CopyReferenceSaveAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CreateFolderV2APIError is an error-wrapper for the create_folder_v2 route\ntype CreateFolderV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *CreateFolderError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CreateFolderV2(arg *CreateFolderArg) (res *CreateFolderResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"create_folder_v2\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CreateFolderV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CreateFolderAPIError is an error-wrapper for the create_folder route\ntype CreateFolderAPIError struct {\n\tdropbox.APIError\n\tEndpointError *CreateFolderError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CreateFolder(arg *CreateFolderArg) (res *FolderMetadata, err error) {\n\tlog.Printf(\"WARNING: API `CreateFolder` is deprecated\")\n\tlog.Printf(\"Use API `CreateFolderV2` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"create_folder\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CreateFolderAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CreateFolderBatchAPIError is an error-wrapper for the create_folder_batch route\ntype CreateFolderBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CreateFolderBatch(arg *CreateFolderBatchArg) (res *CreateFolderBatchLaunch, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"create_folder_batch\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CreateFolderBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CreateFolderBatchCheckAPIError is an error-wrapper for the create_folder_batch/check route\ntype CreateFolderBatchCheckAPIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CreateFolderBatchCheck(arg *async.PollArg) (res *CreateFolderBatchJobStatus, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"create_folder_batch/check\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CreateFolderBatchCheckAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DeleteV2APIError is an error-wrapper for the delete_v2 route\ntype DeleteV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *DeleteError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DeleteV2(arg *DeleteArg) (res *DeleteResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"delete_v2\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DeleteV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DeleteAPIError is an error-wrapper for the delete route\ntype DeleteAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DeleteError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) Delete(arg *DeleteArg) (res IsMetadata, err error) {\n\tlog.Printf(\"WARNING: API `Delete` is deprecated\")\n\tlog.Printf(\"Use API `DeleteV2` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"delete\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DeleteAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\tvar tmp metadataUnion\n\terr = json.Unmarshal(resp, &tmp)\n\tif err != nil {\n\t\treturn\n\t}\n\tswitch tmp.Tag {\n\tcase \"file\":\n\t\tres = tmp.File\n\n\tcase \"folder\":\n\t\tres = tmp.Folder\n\n\tcase \"deleted\":\n\t\tres = tmp.Deleted\n\n\t}\n\t_ = respBody\n\treturn\n}\n\n//DeleteBatchAPIError is an error-wrapper for the delete_batch route\ntype DeleteBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DeleteBatch(arg *DeleteBatchArg) (res *DeleteBatchLaunch, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"delete_batch\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DeleteBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DeleteBatchCheckAPIError is an error-wrapper for the delete_batch/check route\ntype DeleteBatchCheckAPIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DeleteBatchCheck(arg *async.PollArg) (res *DeleteBatchJobStatus, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"delete_batch/check\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DeleteBatchCheckAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DownloadAPIError is an error-wrapper for the download route\ntype DownloadAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DownloadError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) Download(arg *DownloadArg) (res *FileMetadata, content io.ReadCloser, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"content\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"download\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"download\",\n\t\tArg:          arg,\n\t\tExtraHeaders: arg.ExtraHeaders,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DownloadAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tcontent = respBody\n\treturn\n}\n\n//DownloadZipAPIError is an error-wrapper for the download_zip route\ntype DownloadZipAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DownloadZipError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DownloadZip(arg *DownloadZipArg) (res *DownloadZipResult, content io.ReadCloser, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"content\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"download_zip\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"download\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DownloadZipAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tcontent = respBody\n\treturn\n}\n\n//ExportAPIError is an error-wrapper for the export route\ntype ExportAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ExportError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) Export(arg *ExportArg) (res *ExportResult, content io.ReadCloser, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"content\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"export\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"download\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ExportAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tcontent = respBody\n\treturn\n}\n\n//GetFileLockBatchAPIError is an error-wrapper for the get_file_lock_batch route\ntype GetFileLockBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError *LockFileError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetFileLockBatch(arg *LockFileBatchArg) (res *LockFileBatchResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"get_file_lock_batch\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetFileLockBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GetMetadataAPIError is an error-wrapper for the get_metadata route\ntype GetMetadataAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GetMetadataError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetMetadata(arg *GetMetadataArg) (res IsMetadata, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"get_metadata\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetMetadataAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\tvar tmp metadataUnion\n\terr = json.Unmarshal(resp, &tmp)\n\tif err != nil {\n\t\treturn\n\t}\n\tswitch tmp.Tag {\n\tcase \"file\":\n\t\tres = tmp.File\n\n\tcase \"folder\":\n\t\tres = tmp.Folder\n\n\tcase \"deleted\":\n\t\tres = tmp.Deleted\n\n\t}\n\t_ = respBody\n\treturn\n}\n\n//GetPreviewAPIError is an error-wrapper for the get_preview route\ntype GetPreviewAPIError struct {\n\tdropbox.APIError\n\tEndpointError *PreviewError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetPreview(arg *PreviewArg) (res *FileMetadata, content io.ReadCloser, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"content\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"get_preview\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"download\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetPreviewAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tcontent = respBody\n\treturn\n}\n\n//GetTemporaryLinkAPIError is an error-wrapper for the get_temporary_link route\ntype GetTemporaryLinkAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GetTemporaryLinkError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetTemporaryLink(arg *GetTemporaryLinkArg) (res *GetTemporaryLinkResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"get_temporary_link\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetTemporaryLinkAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GetTemporaryUploadLinkAPIError is an error-wrapper for the get_temporary_upload_link route\ntype GetTemporaryUploadLinkAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetTemporaryUploadLink(arg *GetTemporaryUploadLinkArg) (res *GetTemporaryUploadLinkResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"get_temporary_upload_link\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetTemporaryUploadLinkAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GetThumbnailAPIError is an error-wrapper for the get_thumbnail route\ntype GetThumbnailAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ThumbnailError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetThumbnail(arg *ThumbnailArg) (res *FileMetadata, content io.ReadCloser, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"content\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"get_thumbnail\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"download\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetThumbnailAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tcontent = respBody\n\treturn\n}\n\n//GetThumbnailV2APIError is an error-wrapper for the get_thumbnail_v2 route\ntype GetThumbnailV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *ThumbnailV2Error `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetThumbnailV2(arg *ThumbnailV2Arg) (res *PreviewResult, content io.ReadCloser, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"content\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"get_thumbnail_v2\",\n\t\tAuth:         \"app, user\",\n\t\tStyle:        \"download\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetThumbnailV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tcontent = respBody\n\treturn\n}\n\n//GetThumbnailBatchAPIError is an error-wrapper for the get_thumbnail_batch route\ntype GetThumbnailBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GetThumbnailBatchError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetThumbnailBatch(arg *GetThumbnailBatchArg) (res *GetThumbnailBatchResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"content\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"get_thumbnail_batch\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetThumbnailBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListFolderAPIError is an error-wrapper for the list_folder route\ntype ListFolderAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListFolderError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListFolder(arg *ListFolderArg) (res *ListFolderResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"list_folder\",\n\t\tAuth:         \"app, user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListFolderAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListFolderContinueAPIError is an error-wrapper for the list_folder/continue route\ntype ListFolderContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListFolderContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListFolderContinue(arg *ListFolderContinueArg) (res *ListFolderResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"list_folder/continue\",\n\t\tAuth:         \"app, user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListFolderContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListFolderGetLatestCursorAPIError is an error-wrapper for the list_folder/get_latest_cursor route\ntype ListFolderGetLatestCursorAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListFolderError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListFolderGetLatestCursor(arg *ListFolderArg) (res *ListFolderGetLatestCursorResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"list_folder/get_latest_cursor\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListFolderGetLatestCursorAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListFolderLongpollAPIError is an error-wrapper for the list_folder/longpoll route\ntype ListFolderLongpollAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListFolderLongpollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListFolderLongpoll(arg *ListFolderLongpollArg) (res *ListFolderLongpollResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"notify\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"list_folder/longpoll\",\n\t\tAuth:         \"noauth\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListFolderLongpollAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListRevisionsAPIError is an error-wrapper for the list_revisions route\ntype ListRevisionsAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListRevisionsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListRevisions(arg *ListRevisionsArg) (res *ListRevisionsResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"list_revisions\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListRevisionsAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//LockFileBatchAPIError is an error-wrapper for the lock_file_batch route\ntype LockFileBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError *LockFileError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) LockFileBatch(arg *LockFileBatchArg) (res *LockFileBatchResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"lock_file_batch\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr LockFileBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MoveV2APIError is an error-wrapper for the move_v2 route\ntype MoveV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *RelocationError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MoveV2(arg *RelocationArg) (res *RelocationResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"move_v2\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MoveV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MoveAPIError is an error-wrapper for the move route\ntype MoveAPIError struct {\n\tdropbox.APIError\n\tEndpointError *RelocationError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) Move(arg *RelocationArg) (res IsMetadata, err error) {\n\tlog.Printf(\"WARNING: API `Move` is deprecated\")\n\tlog.Printf(\"Use API `MoveV2` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"move\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MoveAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\tvar tmp metadataUnion\n\terr = json.Unmarshal(resp, &tmp)\n\tif err != nil {\n\t\treturn\n\t}\n\tswitch tmp.Tag {\n\tcase \"file\":\n\t\tres = tmp.File\n\n\tcase \"folder\":\n\t\tres = tmp.Folder\n\n\tcase \"deleted\":\n\t\tres = tmp.Deleted\n\n\t}\n\t_ = respBody\n\treturn\n}\n\n//MoveBatchV2APIError is an error-wrapper for the move_batch_v2 route\ntype MoveBatchV2APIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MoveBatchV2(arg *MoveBatchArg) (res *RelocationBatchV2Launch, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"move_batch_v2\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MoveBatchV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MoveBatchAPIError is an error-wrapper for the move_batch route\ntype MoveBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MoveBatch(arg *RelocationBatchArg) (res *RelocationBatchLaunch, err error) {\n\tlog.Printf(\"WARNING: API `MoveBatch` is deprecated\")\n\tlog.Printf(\"Use API `MoveBatchV2` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"move_batch\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MoveBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MoveBatchCheckV2APIError is an error-wrapper for the move_batch/check_v2 route\ntype MoveBatchCheckV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MoveBatchCheckV2(arg *async.PollArg) (res *RelocationBatchV2JobStatus, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"move_batch/check_v2\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MoveBatchCheckV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MoveBatchCheckAPIError is an error-wrapper for the move_batch/check route\ntype MoveBatchCheckAPIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MoveBatchCheck(arg *async.PollArg) (res *RelocationBatchJobStatus, err error) {\n\tlog.Printf(\"WARNING: API `MoveBatchCheck` is deprecated\")\n\tlog.Printf(\"Use API `MoveBatchCheckV2` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"move_batch/check\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MoveBatchCheckAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//PaperCreateAPIError is an error-wrapper for the paper/create route\ntype PaperCreateAPIError struct {\n\tdropbox.APIError\n\tEndpointError *PaperCreateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PaperCreate(arg *PaperCreateArg, content io.Reader) (res *PaperCreateResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"paper/create\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"upload\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, content)\n\tif err != nil {\n\t\tvar appErr PaperCreateAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//PaperUpdateAPIError is an error-wrapper for the paper/update route\ntype PaperUpdateAPIError struct {\n\tdropbox.APIError\n\tEndpointError *PaperUpdateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PaperUpdate(arg *PaperUpdateArg, content io.Reader) (res *PaperUpdateResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"paper/update\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"upload\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, content)\n\tif err != nil {\n\t\tvar appErr PaperUpdateAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//PermanentlyDeleteAPIError is an error-wrapper for the permanently_delete route\ntype PermanentlyDeleteAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DeleteError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PermanentlyDelete(arg *DeleteArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"permanently_delete\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PermanentlyDeleteAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//PropertiesAddAPIError is an error-wrapper for the properties/add route\ntype PropertiesAddAPIError struct {\n\tdropbox.APIError\n\tEndpointError *file_properties.AddPropertiesError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesAdd(arg *file_properties.AddPropertiesArg) (err error) {\n\tlog.Printf(\"WARNING: API `PropertiesAdd` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"properties/add\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesAddAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//PropertiesOverwriteAPIError is an error-wrapper for the properties/overwrite route\ntype PropertiesOverwriteAPIError struct {\n\tdropbox.APIError\n\tEndpointError *file_properties.InvalidPropertyGroupError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesOverwrite(arg *file_properties.OverwritePropertyGroupArg) (err error) {\n\tlog.Printf(\"WARNING: API `PropertiesOverwrite` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"properties/overwrite\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesOverwriteAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//PropertiesRemoveAPIError is an error-wrapper for the properties/remove route\ntype PropertiesRemoveAPIError struct {\n\tdropbox.APIError\n\tEndpointError *file_properties.RemovePropertiesError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesRemove(arg *file_properties.RemovePropertiesArg) (err error) {\n\tlog.Printf(\"WARNING: API `PropertiesRemove` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"properties/remove\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesRemoveAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//PropertiesTemplateGetAPIError is an error-wrapper for the properties/template/get route\ntype PropertiesTemplateGetAPIError struct {\n\tdropbox.APIError\n\tEndpointError *file_properties.TemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesTemplateGet(arg *file_properties.GetTemplateArg) (res *file_properties.GetTemplateResult, err error) {\n\tlog.Printf(\"WARNING: API `PropertiesTemplateGet` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"properties/template/get\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesTemplateGetAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//PropertiesTemplateListAPIError is an error-wrapper for the properties/template/list route\ntype PropertiesTemplateListAPIError struct {\n\tdropbox.APIError\n\tEndpointError *file_properties.TemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesTemplateList() (res *file_properties.ListTemplateResult, err error) {\n\tlog.Printf(\"WARNING: API `PropertiesTemplateList` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"properties/template/list\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          nil,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesTemplateListAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//PropertiesUpdateAPIError is an error-wrapper for the properties/update route\ntype PropertiesUpdateAPIError struct {\n\tdropbox.APIError\n\tEndpointError *file_properties.UpdatePropertiesError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesUpdate(arg *file_properties.UpdatePropertiesArg) (err error) {\n\tlog.Printf(\"WARNING: API `PropertiesUpdate` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"properties/update\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesUpdateAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//RestoreAPIError is an error-wrapper for the restore route\ntype RestoreAPIError struct {\n\tdropbox.APIError\n\tEndpointError *RestoreError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) Restore(arg *RestoreArg) (res *FileMetadata, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"restore\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr RestoreAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//SaveUrlAPIError is an error-wrapper for the save_url route\ntype SaveUrlAPIError struct {\n\tdropbox.APIError\n\tEndpointError *SaveUrlError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) SaveUrl(arg *SaveUrlArg) (res *SaveUrlResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"save_url\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr SaveUrlAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//SaveUrlCheckJobStatusAPIError is an error-wrapper for the save_url/check_job_status route\ntype SaveUrlCheckJobStatusAPIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) SaveUrlCheckJobStatus(arg *async.PollArg) (res *SaveUrlJobStatus, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"save_url/check_job_status\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr SaveUrlCheckJobStatusAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//SearchAPIError is an error-wrapper for the search route\ntype SearchAPIError struct {\n\tdropbox.APIError\n\tEndpointError *SearchError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) Search(arg *SearchArg) (res *SearchResult, err error) {\n\tlog.Printf(\"WARNING: API `Search` is deprecated\")\n\tlog.Printf(\"Use API `SearchV2` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"search\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr SearchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//SearchV2APIError is an error-wrapper for the search_v2 route\ntype SearchV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *SearchError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) SearchV2(arg *SearchV2Arg) (res *SearchV2Result, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"search_v2\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr SearchV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//SearchContinueV2APIError is an error-wrapper for the search/continue_v2 route\ntype SearchContinueV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *SearchError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) SearchContinueV2(arg *SearchV2ContinueArg) (res *SearchV2Result, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"search/continue_v2\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr SearchContinueV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TagsAddAPIError is an error-wrapper for the tags/add route\ntype TagsAddAPIError struct {\n\tdropbox.APIError\n\tEndpointError *AddTagError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TagsAdd(arg *AddTagArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"tags/add\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TagsAddAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//TagsGetAPIError is an error-wrapper for the tags/get route\ntype TagsGetAPIError struct {\n\tdropbox.APIError\n\tEndpointError *BaseTagError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TagsGet(arg *GetTagsArg) (res *GetTagsResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"tags/get\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TagsGetAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TagsRemoveAPIError is an error-wrapper for the tags/remove route\ntype TagsRemoveAPIError struct {\n\tdropbox.APIError\n\tEndpointError *RemoveTagError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TagsRemove(arg *RemoveTagArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"tags/remove\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TagsRemoveAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//UnlockFileBatchAPIError is an error-wrapper for the unlock_file_batch route\ntype UnlockFileBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError *LockFileError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) UnlockFileBatch(arg *UnlockFileBatchArg) (res *LockFileBatchResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"unlock_file_batch\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr UnlockFileBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//UploadAPIError is an error-wrapper for the upload route\ntype UploadAPIError struct {\n\tdropbox.APIError\n\tEndpointError *UploadError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) Upload(arg *UploadArg, content io.Reader) (res *FileMetadata, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"content\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"upload\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"upload\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, content)\n\tif err != nil {\n\t\tvar appErr UploadAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//UploadSessionAppendV2APIError is an error-wrapper for the upload_session/append_v2 route\ntype UploadSessionAppendV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *UploadSessionAppendError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) UploadSessionAppendV2(arg *UploadSessionAppendArg, content io.Reader) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"content\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"upload_session/append_v2\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"upload\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, content)\n\tif err != nil {\n\t\tvar appErr UploadSessionAppendV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//UploadSessionAppendAPIError is an error-wrapper for the upload_session/append route\ntype UploadSessionAppendAPIError struct {\n\tdropbox.APIError\n\tEndpointError *UploadSessionAppendError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) UploadSessionAppend(arg *UploadSessionCursor, content io.Reader) (err error) {\n\tlog.Printf(\"WARNING: API `UploadSessionAppend` is deprecated\")\n\tlog.Printf(\"Use API `UploadSessionAppendV2` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"content\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"upload_session/append\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"upload\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, content)\n\tif err != nil {\n\t\tvar appErr UploadSessionAppendAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//UploadSessionFinishAPIError is an error-wrapper for the upload_session/finish route\ntype UploadSessionFinishAPIError struct {\n\tdropbox.APIError\n\tEndpointError *UploadSessionFinishError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) UploadSessionFinish(arg *UploadSessionFinishArg, content io.Reader) (res *FileMetadata, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"content\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"upload_session/finish\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"upload\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, content)\n\tif err != nil {\n\t\tvar appErr UploadSessionFinishAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//UploadSessionFinishBatchAPIError is an error-wrapper for the upload_session/finish_batch route\ntype UploadSessionFinishBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) UploadSessionFinishBatch(arg *UploadSessionFinishBatchArg) (res *UploadSessionFinishBatchLaunch, err error) {\n\tlog.Printf(\"WARNING: API `UploadSessionFinishBatch` is deprecated\")\n\tlog.Printf(\"Use API `UploadSessionFinishBatchV2` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"upload_session/finish_batch\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr UploadSessionFinishBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//UploadSessionFinishBatchV2APIError is an error-wrapper for the upload_session/finish_batch_v2 route\ntype UploadSessionFinishBatchV2APIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) UploadSessionFinishBatchV2(arg *UploadSessionFinishBatchArg) (res *UploadSessionFinishBatchResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"upload_session/finish_batch_v2\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr UploadSessionFinishBatchV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//UploadSessionFinishBatchCheckAPIError is an error-wrapper for the upload_session/finish_batch/check route\ntype UploadSessionFinishBatchCheckAPIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) UploadSessionFinishBatchCheck(arg *async.PollArg) (res *UploadSessionFinishBatchJobStatus, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"upload_session/finish_batch/check\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr UploadSessionFinishBatchCheckAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//UploadSessionStartAPIError is an error-wrapper for the upload_session/start route\ntype UploadSessionStartAPIError struct {\n\tdropbox.APIError\n\tEndpointError *UploadSessionStartError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) UploadSessionStart(arg *UploadSessionStartArg, content io.Reader) (res *UploadSessionStartResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"content\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"upload_session/start\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"upload\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, content)\n\tif err != nil {\n\t\tvar appErr UploadSessionStartAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//UploadSessionStartBatchAPIError is an error-wrapper for the upload_session/start_batch route\ntype UploadSessionStartBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) UploadSessionStartBatch(arg *UploadSessionStartBatchArg) (res *UploadSessionStartBatchResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"files\",\n\t\tRoute:        \"upload_session/start_batch\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr UploadSessionStartBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n// New returns a Client implementation for this namespace\nfunc New(c dropbox.Config) Client {\n\tctx := apiImpl(dropbox.NewContext(c))\n\treturn &ctx\n}\n"
  },
  {
    "path": "v6/dropbox/files/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package files : This namespace contains endpoints and data types for basic\n// file operations.\npackage files\n\nimport (\n\t\"encoding/json\"\n\t\"time\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/file_properties\"\n)\n\n// AddTagArg : has no documentation (yet)\ntype AddTagArg struct {\n\t// Path : Path to the item to be tagged.\n\tPath string `json:\"path\"`\n\t// TagText : The value of the tag to add. Will be automatically converted to\n\t// lowercase letters.\n\tTagText string `json:\"tag_text\"`\n}\n\n// NewAddTagArg returns a new AddTagArg instance\nfunc NewAddTagArg(Path string, TagText string) *AddTagArg {\n\ts := new(AddTagArg)\n\ts.Path = Path\n\ts.TagText = TagText\n\treturn s\n}\n\n// BaseTagError : has no documentation (yet)\ntype BaseTagError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for BaseTagError\nconst (\n\tBaseTagErrorPath  = \"path\"\n\tBaseTagErrorOther = \"other\"\n)\n\n// UnmarshalJSON deserializes into a BaseTagError instance\nfunc (u *BaseTagError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// AddTagError : has no documentation (yet)\ntype AddTagError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for AddTagError\nconst (\n\tAddTagErrorPath        = \"path\"\n\tAddTagErrorOther       = \"other\"\n\tAddTagErrorTooManyTags = \"too_many_tags\"\n)\n\n// UnmarshalJSON deserializes into a AddTagError instance\nfunc (u *AddTagError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// GetMetadataArg : has no documentation (yet)\ntype GetMetadataArg struct {\n\t// Path : The path of a file or folder on Dropbox.\n\tPath string `json:\"path\"`\n\t// IncludeMediaInfo : If true, `FileMetadata.media_info` is set for photo\n\t// and video.\n\tIncludeMediaInfo bool `json:\"include_media_info\"`\n\t// IncludeDeleted : If true, `DeletedMetadata` will be returned for deleted\n\t// file or folder, otherwise `LookupError.not_found` will be returned.\n\tIncludeDeleted bool `json:\"include_deleted\"`\n\t// IncludeHasExplicitSharedMembers : If true, the results will include a\n\t// flag for each file indicating whether or not  that file has any explicit\n\t// members.\n\tIncludeHasExplicitSharedMembers bool `json:\"include_has_explicit_shared_members\"`\n\t// IncludePropertyGroups : If set to a valid list of template IDs,\n\t// `FileMetadata.property_groups` is set if there exists property data\n\t// associated with the file and each of the listed templates.\n\tIncludePropertyGroups *file_properties.TemplateFilterBase `json:\"include_property_groups,omitempty\"`\n}\n\n// NewGetMetadataArg returns a new GetMetadataArg instance\nfunc NewGetMetadataArg(Path string) *GetMetadataArg {\n\ts := new(GetMetadataArg)\n\ts.Path = Path\n\ts.IncludeMediaInfo = false\n\ts.IncludeDeleted = false\n\ts.IncludeHasExplicitSharedMembers = false\n\treturn s\n}\n\n// AlphaGetMetadataArg : has no documentation (yet)\ntype AlphaGetMetadataArg struct {\n\tGetMetadataArg\n\t// IncludePropertyTemplates : If set to a valid list of template IDs,\n\t// `FileMetadata.property_groups` is set for files with custom properties.\n\tIncludePropertyTemplates []string `json:\"include_property_templates,omitempty\"`\n}\n\n// NewAlphaGetMetadataArg returns a new AlphaGetMetadataArg instance\nfunc NewAlphaGetMetadataArg(Path string) *AlphaGetMetadataArg {\n\ts := new(AlphaGetMetadataArg)\n\ts.Path = Path\n\ts.IncludeMediaInfo = false\n\ts.IncludeDeleted = false\n\ts.IncludeHasExplicitSharedMembers = false\n\treturn s\n}\n\n// GetMetadataError : has no documentation (yet)\ntype GetMetadataError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for GetMetadataError\nconst (\n\tGetMetadataErrorPath = \"path\"\n)\n\n// UnmarshalJSON deserializes into a GetMetadataError instance\nfunc (u *GetMetadataError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// AlphaGetMetadataError : has no documentation (yet)\ntype AlphaGetMetadataError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n\t// PropertiesError : has no documentation (yet)\n\tPropertiesError *file_properties.LookUpPropertiesError `json:\"properties_error,omitempty\"`\n}\n\n// Valid tag values for AlphaGetMetadataError\nconst (\n\tAlphaGetMetadataErrorPath            = \"path\"\n\tAlphaGetMetadataErrorPropertiesError = \"properties_error\"\n)\n\n// UnmarshalJSON deserializes into a AlphaGetMetadataError instance\nfunc (u *AlphaGetMetadataError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t\t// PropertiesError : has no documentation (yet)\n\t\tPropertiesError *file_properties.LookUpPropertiesError `json:\"properties_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\tcase \"properties_error\":\n\t\tu.PropertiesError = w.PropertiesError\n\n\t}\n\treturn nil\n}\n\n// CommitInfo : has no documentation (yet)\ntype CommitInfo struct {\n\t// Path : Path in the user's Dropbox to save the file.\n\tPath string `json:\"path\"`\n\t// Mode : Selects what to do if the file already exists.\n\tMode *WriteMode `json:\"mode\"`\n\t// Autorename : If there's a conflict, as determined by `mode`, have the\n\t// Dropbox server try to autorename the file to avoid conflict.\n\tAutorename bool `json:\"autorename\"`\n\t// ClientModified : The value to store as the `client_modified` timestamp.\n\t// Dropbox automatically records the time at which the file was written to\n\t// the Dropbox servers. It can also record an additional timestamp, provided\n\t// by Dropbox desktop clients, mobile clients, and API apps of when the file\n\t// was actually created or modified.\n\tClientModified *time.Time `json:\"client_modified,omitempty\"`\n\t// Mute : Normally, users are made aware of any file modifications in their\n\t// Dropbox account via notifications in the client software. If true, this\n\t// tells the clients that this modification shouldn't result in a user\n\t// notification.\n\tMute bool `json:\"mute\"`\n\t// PropertyGroups : List of custom properties to add to file.\n\tPropertyGroups []*file_properties.PropertyGroup `json:\"property_groups,omitempty\"`\n\t// StrictConflict : Be more strict about how each `WriteMode` detects\n\t// conflict. For example, always return a conflict error when `mode` =\n\t// `WriteMode.update` and the given \"rev\" doesn't match the existing file's\n\t// \"rev\", even if the existing file has been deleted. This also forces a\n\t// conflict even when the target path refers to a file with identical\n\t// contents.\n\tStrictConflict bool `json:\"strict_conflict\"`\n}\n\n// NewCommitInfo returns a new CommitInfo instance\nfunc NewCommitInfo(Path string) *CommitInfo {\n\ts := new(CommitInfo)\n\ts.Path = Path\n\ts.Mode = &WriteMode{Tagged: dropbox.Tagged{Tag: \"add\"}}\n\ts.Autorename = false\n\ts.Mute = false\n\ts.StrictConflict = false\n\treturn s\n}\n\n// ContentSyncSetting : has no documentation (yet)\ntype ContentSyncSetting struct {\n\t// Id : Id of the item this setting is applied to.\n\tId string `json:\"id\"`\n\t// SyncSetting : Setting for this item.\n\tSyncSetting *SyncSetting `json:\"sync_setting\"`\n}\n\n// NewContentSyncSetting returns a new ContentSyncSetting instance\nfunc NewContentSyncSetting(Id string, SyncSetting *SyncSetting) *ContentSyncSetting {\n\ts := new(ContentSyncSetting)\n\ts.Id = Id\n\ts.SyncSetting = SyncSetting\n\treturn s\n}\n\n// ContentSyncSettingArg : has no documentation (yet)\ntype ContentSyncSettingArg struct {\n\t// Id : Id of the item this setting is applied to.\n\tId string `json:\"id\"`\n\t// SyncSetting : Setting for this item.\n\tSyncSetting *SyncSettingArg `json:\"sync_setting\"`\n}\n\n// NewContentSyncSettingArg returns a new ContentSyncSettingArg instance\nfunc NewContentSyncSettingArg(Id string, SyncSetting *SyncSettingArg) *ContentSyncSettingArg {\n\ts := new(ContentSyncSettingArg)\n\ts.Id = Id\n\ts.SyncSetting = SyncSetting\n\treturn s\n}\n\n// CreateFolderArg : has no documentation (yet)\ntype CreateFolderArg struct {\n\t// Path : Path in the user's Dropbox to create.\n\tPath string `json:\"path\"`\n\t// Autorename : If there's a conflict, have the Dropbox server try to\n\t// autorename the folder to avoid the conflict.\n\tAutorename bool `json:\"autorename\"`\n}\n\n// NewCreateFolderArg returns a new CreateFolderArg instance\nfunc NewCreateFolderArg(Path string) *CreateFolderArg {\n\ts := new(CreateFolderArg)\n\ts.Path = Path\n\ts.Autorename = false\n\treturn s\n}\n\n// CreateFolderBatchArg : has no documentation (yet)\ntype CreateFolderBatchArg struct {\n\t// Paths : List of paths to be created in the user's Dropbox. Duplicate path\n\t// arguments in the batch are considered only once.\n\tPaths []string `json:\"paths\"`\n\t// Autorename : If there's a conflict, have the Dropbox server try to\n\t// autorename the folder to avoid the conflict.\n\tAutorename bool `json:\"autorename\"`\n\t// ForceAsync : Whether to force the create to happen asynchronously.\n\tForceAsync bool `json:\"force_async\"`\n}\n\n// NewCreateFolderBatchArg returns a new CreateFolderBatchArg instance\nfunc NewCreateFolderBatchArg(Paths []string) *CreateFolderBatchArg {\n\ts := new(CreateFolderBatchArg)\n\ts.Paths = Paths\n\ts.Autorename = false\n\ts.ForceAsync = false\n\treturn s\n}\n\n// CreateFolderBatchError : has no documentation (yet)\ntype CreateFolderBatchError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for CreateFolderBatchError\nconst (\n\tCreateFolderBatchErrorTooManyFiles = \"too_many_files\"\n\tCreateFolderBatchErrorOther        = \"other\"\n)\n\n// CreateFolderBatchJobStatus : has no documentation (yet)\ntype CreateFolderBatchJobStatus struct {\n\tdropbox.Tagged\n\t// Complete : The batch create folder has finished.\n\tComplete *CreateFolderBatchResult `json:\"complete,omitempty\"`\n\t// Failed : The batch create folder has failed.\n\tFailed *CreateFolderBatchError `json:\"failed,omitempty\"`\n}\n\n// Valid tag values for CreateFolderBatchJobStatus\nconst (\n\tCreateFolderBatchJobStatusInProgress = \"in_progress\"\n\tCreateFolderBatchJobStatusComplete   = \"complete\"\n\tCreateFolderBatchJobStatusFailed     = \"failed\"\n\tCreateFolderBatchJobStatusOther      = \"other\"\n)\n\n// UnmarshalJSON deserializes into a CreateFolderBatchJobStatus instance\nfunc (u *CreateFolderBatchJobStatus) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Failed : The batch create folder has failed.\n\t\tFailed *CreateFolderBatchError `json:\"failed,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"failed\":\n\t\tu.Failed = w.Failed\n\n\t}\n\treturn nil\n}\n\n// CreateFolderBatchLaunch : Result returned by `createFolderBatch` that may\n// either launch an asynchronous job or complete synchronously.\ntype CreateFolderBatchLaunch struct {\n\tdropbox.Tagged\n\t// AsyncJobId : This response indicates that the processing is asynchronous.\n\t// The string is an id that can be used to obtain the status of the\n\t// asynchronous job.\n\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t// Complete : has no documentation (yet)\n\tComplete *CreateFolderBatchResult `json:\"complete,omitempty\"`\n}\n\n// Valid tag values for CreateFolderBatchLaunch\nconst (\n\tCreateFolderBatchLaunchAsyncJobId = \"async_job_id\"\n\tCreateFolderBatchLaunchComplete   = \"complete\"\n\tCreateFolderBatchLaunchOther      = \"other\"\n)\n\n// UnmarshalJSON deserializes into a CreateFolderBatchLaunch instance\nfunc (u *CreateFolderBatchLaunch) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AsyncJobId : This response indicates that the processing is\n\t\t// asynchronous. The string is an id that can be used to obtain the\n\t\t// status of the asynchronous job.\n\t\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"async_job_id\":\n\t\tu.AsyncJobId = w.AsyncJobId\n\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// FileOpsResult : has no documentation (yet)\ntype FileOpsResult struct {\n}\n\n// NewFileOpsResult returns a new FileOpsResult instance\nfunc NewFileOpsResult() *FileOpsResult {\n\ts := new(FileOpsResult)\n\treturn s\n}\n\n// CreateFolderBatchResult : has no documentation (yet)\ntype CreateFolderBatchResult struct {\n\tFileOpsResult\n\t// Entries : Each entry in `CreateFolderBatchArg.paths` will appear at the\n\t// same position inside `CreateFolderBatchResult.entries`.\n\tEntries []*CreateFolderBatchResultEntry `json:\"entries\"`\n}\n\n// NewCreateFolderBatchResult returns a new CreateFolderBatchResult instance\nfunc NewCreateFolderBatchResult(Entries []*CreateFolderBatchResultEntry) *CreateFolderBatchResult {\n\ts := new(CreateFolderBatchResult)\n\ts.Entries = Entries\n\treturn s\n}\n\n// CreateFolderBatchResultEntry : has no documentation (yet)\ntype CreateFolderBatchResultEntry struct {\n\tdropbox.Tagged\n\t// Success : has no documentation (yet)\n\tSuccess *CreateFolderEntryResult `json:\"success,omitempty\"`\n\t// Failure : has no documentation (yet)\n\tFailure *CreateFolderEntryError `json:\"failure,omitempty\"`\n}\n\n// Valid tag values for CreateFolderBatchResultEntry\nconst (\n\tCreateFolderBatchResultEntrySuccess = \"success\"\n\tCreateFolderBatchResultEntryFailure = \"failure\"\n)\n\n// UnmarshalJSON deserializes into a CreateFolderBatchResultEntry instance\nfunc (u *CreateFolderBatchResultEntry) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Failure : has no documentation (yet)\n\t\tFailure *CreateFolderEntryError `json:\"failure,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tif err = json.Unmarshal(body, &u.Success); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"failure\":\n\t\tu.Failure = w.Failure\n\n\t}\n\treturn nil\n}\n\n// CreateFolderEntryError : has no documentation (yet)\ntype CreateFolderEntryError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *WriteError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for CreateFolderEntryError\nconst (\n\tCreateFolderEntryErrorPath  = \"path\"\n\tCreateFolderEntryErrorOther = \"other\"\n)\n\n// UnmarshalJSON deserializes into a CreateFolderEntryError instance\nfunc (u *CreateFolderEntryError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *WriteError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// CreateFolderEntryResult : has no documentation (yet)\ntype CreateFolderEntryResult struct {\n\t// Metadata : Metadata of the created folder.\n\tMetadata *FolderMetadata `json:\"metadata\"`\n}\n\n// NewCreateFolderEntryResult returns a new CreateFolderEntryResult instance\nfunc NewCreateFolderEntryResult(Metadata *FolderMetadata) *CreateFolderEntryResult {\n\ts := new(CreateFolderEntryResult)\n\ts.Metadata = Metadata\n\treturn s\n}\n\n// CreateFolderError : has no documentation (yet)\ntype CreateFolderError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *WriteError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for CreateFolderError\nconst (\n\tCreateFolderErrorPath = \"path\"\n)\n\n// UnmarshalJSON deserializes into a CreateFolderError instance\nfunc (u *CreateFolderError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *WriteError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// CreateFolderResult : has no documentation (yet)\ntype CreateFolderResult struct {\n\tFileOpsResult\n\t// Metadata : Metadata of the created folder.\n\tMetadata *FolderMetadata `json:\"metadata\"`\n}\n\n// NewCreateFolderResult returns a new CreateFolderResult instance\nfunc NewCreateFolderResult(Metadata *FolderMetadata) *CreateFolderResult {\n\ts := new(CreateFolderResult)\n\ts.Metadata = Metadata\n\treturn s\n}\n\n// DeleteArg : has no documentation (yet)\ntype DeleteArg struct {\n\t// Path : Path in the user's Dropbox to delete.\n\tPath string `json:\"path\"`\n\t// ParentRev : Perform delete if given \"rev\" matches the existing file's\n\t// latest \"rev\". This field does not support deleting a folder.\n\tParentRev string `json:\"parent_rev,omitempty\"`\n}\n\n// NewDeleteArg returns a new DeleteArg instance\nfunc NewDeleteArg(Path string) *DeleteArg {\n\ts := new(DeleteArg)\n\ts.Path = Path\n\treturn s\n}\n\n// DeleteBatchArg : has no documentation (yet)\ntype DeleteBatchArg struct {\n\t// Entries : has no documentation (yet)\n\tEntries []*DeleteArg `json:\"entries\"`\n}\n\n// NewDeleteBatchArg returns a new DeleteBatchArg instance\nfunc NewDeleteBatchArg(Entries []*DeleteArg) *DeleteBatchArg {\n\ts := new(DeleteBatchArg)\n\ts.Entries = Entries\n\treturn s\n}\n\n// DeleteBatchError : has no documentation (yet)\ntype DeleteBatchError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for DeleteBatchError\nconst (\n\tDeleteBatchErrorTooManyWriteOperations = \"too_many_write_operations\"\n\tDeleteBatchErrorOther                  = \"other\"\n)\n\n// DeleteBatchJobStatus : has no documentation (yet)\ntype DeleteBatchJobStatus struct {\n\tdropbox.Tagged\n\t// Complete : The batch delete has finished.\n\tComplete *DeleteBatchResult `json:\"complete,omitempty\"`\n\t// Failed : The batch delete has failed.\n\tFailed *DeleteBatchError `json:\"failed,omitempty\"`\n}\n\n// Valid tag values for DeleteBatchJobStatus\nconst (\n\tDeleteBatchJobStatusInProgress = \"in_progress\"\n\tDeleteBatchJobStatusComplete   = \"complete\"\n\tDeleteBatchJobStatusFailed     = \"failed\"\n\tDeleteBatchJobStatusOther      = \"other\"\n)\n\n// UnmarshalJSON deserializes into a DeleteBatchJobStatus instance\nfunc (u *DeleteBatchJobStatus) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Failed : The batch delete has failed.\n\t\tFailed *DeleteBatchError `json:\"failed,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"failed\":\n\t\tu.Failed = w.Failed\n\n\t}\n\treturn nil\n}\n\n// DeleteBatchLaunch : Result returned by `deleteBatch` that may either launch\n// an asynchronous job or complete synchronously.\ntype DeleteBatchLaunch struct {\n\tdropbox.Tagged\n\t// AsyncJobId : This response indicates that the processing is asynchronous.\n\t// The string is an id that can be used to obtain the status of the\n\t// asynchronous job.\n\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t// Complete : has no documentation (yet)\n\tComplete *DeleteBatchResult `json:\"complete,omitempty\"`\n}\n\n// Valid tag values for DeleteBatchLaunch\nconst (\n\tDeleteBatchLaunchAsyncJobId = \"async_job_id\"\n\tDeleteBatchLaunchComplete   = \"complete\"\n\tDeleteBatchLaunchOther      = \"other\"\n)\n\n// UnmarshalJSON deserializes into a DeleteBatchLaunch instance\nfunc (u *DeleteBatchLaunch) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AsyncJobId : This response indicates that the processing is\n\t\t// asynchronous. The string is an id that can be used to obtain the\n\t\t// status of the asynchronous job.\n\t\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"async_job_id\":\n\t\tu.AsyncJobId = w.AsyncJobId\n\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// DeleteBatchResult : has no documentation (yet)\ntype DeleteBatchResult struct {\n\tFileOpsResult\n\t// Entries : Each entry in `DeleteBatchArg.entries` will appear at the same\n\t// position inside `DeleteBatchResult.entries`.\n\tEntries []*DeleteBatchResultEntry `json:\"entries\"`\n}\n\n// NewDeleteBatchResult returns a new DeleteBatchResult instance\nfunc NewDeleteBatchResult(Entries []*DeleteBatchResultEntry) *DeleteBatchResult {\n\ts := new(DeleteBatchResult)\n\ts.Entries = Entries\n\treturn s\n}\n\n// DeleteBatchResultData : has no documentation (yet)\ntype DeleteBatchResultData struct {\n\t// Metadata : Metadata of the deleted object.\n\tMetadata IsMetadata `json:\"metadata\"`\n}\n\n// NewDeleteBatchResultData returns a new DeleteBatchResultData instance\nfunc NewDeleteBatchResultData(Metadata IsMetadata) *DeleteBatchResultData {\n\ts := new(DeleteBatchResultData)\n\ts.Metadata = Metadata\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a DeleteBatchResultData instance\nfunc (u *DeleteBatchResultData) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// Metadata : Metadata of the deleted object.\n\t\tMetadata json.RawMessage `json:\"metadata\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tMetadata, err := IsMetadataFromJSON(w.Metadata)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.Metadata = Metadata\n\treturn nil\n}\n\n// DeleteBatchResultEntry : has no documentation (yet)\ntype DeleteBatchResultEntry struct {\n\tdropbox.Tagged\n\t// Success : has no documentation (yet)\n\tSuccess *DeleteBatchResultData `json:\"success,omitempty\"`\n\t// Failure : has no documentation (yet)\n\tFailure *DeleteError `json:\"failure,omitempty\"`\n}\n\n// Valid tag values for DeleteBatchResultEntry\nconst (\n\tDeleteBatchResultEntrySuccess = \"success\"\n\tDeleteBatchResultEntryFailure = \"failure\"\n)\n\n// UnmarshalJSON deserializes into a DeleteBatchResultEntry instance\nfunc (u *DeleteBatchResultEntry) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Failure : has no documentation (yet)\n\t\tFailure *DeleteError `json:\"failure,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tif err = json.Unmarshal(body, &u.Success); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"failure\":\n\t\tu.Failure = w.Failure\n\n\t}\n\treturn nil\n}\n\n// DeleteError : has no documentation (yet)\ntype DeleteError struct {\n\tdropbox.Tagged\n\t// PathLookup : has no documentation (yet)\n\tPathLookup *LookupError `json:\"path_lookup,omitempty\"`\n\t// PathWrite : has no documentation (yet)\n\tPathWrite *WriteError `json:\"path_write,omitempty\"`\n}\n\n// Valid tag values for DeleteError\nconst (\n\tDeleteErrorPathLookup             = \"path_lookup\"\n\tDeleteErrorPathWrite              = \"path_write\"\n\tDeleteErrorTooManyWriteOperations = \"too_many_write_operations\"\n\tDeleteErrorTooManyFiles           = \"too_many_files\"\n\tDeleteErrorOther                  = \"other\"\n)\n\n// UnmarshalJSON deserializes into a DeleteError instance\nfunc (u *DeleteError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// PathLookup : has no documentation (yet)\n\t\tPathLookup *LookupError `json:\"path_lookup,omitempty\"`\n\t\t// PathWrite : has no documentation (yet)\n\t\tPathWrite *WriteError `json:\"path_write,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path_lookup\":\n\t\tu.PathLookup = w.PathLookup\n\n\tcase \"path_write\":\n\t\tu.PathWrite = w.PathWrite\n\n\t}\n\treturn nil\n}\n\n// DeleteResult : has no documentation (yet)\ntype DeleteResult struct {\n\tFileOpsResult\n\t// Metadata : Metadata of the deleted object.\n\tMetadata IsMetadata `json:\"metadata\"`\n}\n\n// NewDeleteResult returns a new DeleteResult instance\nfunc NewDeleteResult(Metadata IsMetadata) *DeleteResult {\n\ts := new(DeleteResult)\n\ts.Metadata = Metadata\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a DeleteResult instance\nfunc (u *DeleteResult) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// Metadata : Metadata of the deleted object.\n\t\tMetadata json.RawMessage `json:\"metadata\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tMetadata, err := IsMetadataFromJSON(w.Metadata)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.Metadata = Metadata\n\treturn nil\n}\n\n// Metadata : Metadata for a file or folder.\ntype Metadata struct {\n\t// Name : The last component of the path (including extension). This never\n\t// contains a slash.\n\tName string `json:\"name\"`\n\t// PathLower : The lowercased full path in the user's Dropbox. This always\n\t// starts with a slash. This field will be null if the file or folder is not\n\t// mounted.\n\tPathLower string `json:\"path_lower,omitempty\"`\n\t// PathDisplay : The cased path to be used for display purposes only. In\n\t// rare instances the casing will not correctly match the user's filesystem,\n\t// but this behavior will match the path provided in the Core API v1, and at\n\t// least the last path component will have the correct casing. Changes to\n\t// only the casing of paths won't be returned by `listFolderContinue`. This\n\t// field will be null if the file or folder is not mounted.\n\tPathDisplay string `json:\"path_display,omitempty\"`\n\t// ParentSharedFolderId : Please use\n\t// `FileSharingInfo.parent_shared_folder_id` or\n\t// `FolderSharingInfo.parent_shared_folder_id` instead.\n\tParentSharedFolderId string `json:\"parent_shared_folder_id,omitempty\"`\n\t// PreviewUrl : The preview URL of the file.\n\tPreviewUrl string `json:\"preview_url,omitempty\"`\n}\n\n// NewMetadata returns a new Metadata instance\nfunc NewMetadata(Name string) *Metadata {\n\ts := new(Metadata)\n\ts.Name = Name\n\treturn s\n}\n\n// IsMetadata is the interface type for Metadata and its subtypes\ntype IsMetadata interface {\n\tIsMetadata()\n}\n\n// IsMetadata implements the IsMetadata interface\nfunc (u *Metadata) IsMetadata() {}\n\ntype metadataUnion struct {\n\tdropbox.Tagged\n\t// File : has no documentation (yet)\n\tFile *FileMetadata `json:\"file,omitempty\"`\n\t// Folder : has no documentation (yet)\n\tFolder *FolderMetadata `json:\"folder,omitempty\"`\n\t// Deleted : has no documentation (yet)\n\tDeleted *DeletedMetadata `json:\"deleted,omitempty\"`\n}\n\n// Valid tag values for Metadata\nconst (\n\tMetadataFile    = \"file\"\n\tMetadataFolder  = \"folder\"\n\tMetadataDeleted = \"deleted\"\n)\n\n// UnmarshalJSON deserializes into a metadataUnion instance\nfunc (u *metadataUnion) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"file\":\n\t\tif err = json.Unmarshal(body, &u.File); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"folder\":\n\t\tif err = json.Unmarshal(body, &u.Folder); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"deleted\":\n\t\tif err = json.Unmarshal(body, &u.Deleted); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// IsMetadataFromJSON converts JSON to a concrete IsMetadata instance\nfunc IsMetadataFromJSON(data []byte) (IsMetadata, error) {\n\tvar t metadataUnion\n\tif err := json.Unmarshal(data, &t); err != nil {\n\t\treturn nil, err\n\t}\n\tswitch t.Tag {\n\tcase \"file\":\n\t\treturn t.File, nil\n\n\tcase \"folder\":\n\t\treturn t.Folder, nil\n\n\tcase \"deleted\":\n\t\treturn t.Deleted, nil\n\n\t}\n\treturn nil, nil\n}\n\n// DeletedMetadata : Indicates that there used to be a file or folder at this\n// path, but it no longer exists.\ntype DeletedMetadata struct {\n\tMetadata\n}\n\n// NewDeletedMetadata returns a new DeletedMetadata instance\nfunc NewDeletedMetadata(Name string) *DeletedMetadata {\n\ts := new(DeletedMetadata)\n\ts.Name = Name\n\treturn s\n}\n\n// Dimensions : Dimensions for a photo or video.\ntype Dimensions struct {\n\t// Height : Height of the photo/video.\n\tHeight uint64 `json:\"height\"`\n\t// Width : Width of the photo/video.\n\tWidth uint64 `json:\"width\"`\n}\n\n// NewDimensions returns a new Dimensions instance\nfunc NewDimensions(Height uint64, Width uint64) *Dimensions {\n\ts := new(Dimensions)\n\ts.Height = Height\n\ts.Width = Width\n\treturn s\n}\n\n// DownloadArg : has no documentation (yet)\ntype DownloadArg struct {\n\t// Path : The path of the file to download.\n\tPath string `json:\"path\"`\n\t// Rev : Please specify revision in `path` instead.\n\tRev string `json:\"rev,omitempty\"`\n\t// ExtraHeaders can be used to pass Range, If-None-Match headers\n\tExtraHeaders map[string]string `json:\"-\"`\n}\n\n// NewDownloadArg returns a new DownloadArg instance\nfunc NewDownloadArg(Path string) *DownloadArg {\n\ts := new(DownloadArg)\n\ts.Path = Path\n\treturn s\n}\n\n// DownloadError : has no documentation (yet)\ntype DownloadError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for DownloadError\nconst (\n\tDownloadErrorPath            = \"path\"\n\tDownloadErrorUnsupportedFile = \"unsupported_file\"\n\tDownloadErrorOther           = \"other\"\n)\n\n// UnmarshalJSON deserializes into a DownloadError instance\nfunc (u *DownloadError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// DownloadZipArg : has no documentation (yet)\ntype DownloadZipArg struct {\n\t// Path : The path of the folder to download.\n\tPath string `json:\"path\"`\n}\n\n// NewDownloadZipArg returns a new DownloadZipArg instance\nfunc NewDownloadZipArg(Path string) *DownloadZipArg {\n\ts := new(DownloadZipArg)\n\ts.Path = Path\n\treturn s\n}\n\n// DownloadZipError : has no documentation (yet)\ntype DownloadZipError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for DownloadZipError\nconst (\n\tDownloadZipErrorPath         = \"path\"\n\tDownloadZipErrorTooLarge     = \"too_large\"\n\tDownloadZipErrorTooManyFiles = \"too_many_files\"\n\tDownloadZipErrorOther        = \"other\"\n)\n\n// UnmarshalJSON deserializes into a DownloadZipError instance\nfunc (u *DownloadZipError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// DownloadZipResult : has no documentation (yet)\ntype DownloadZipResult struct {\n\t// Metadata : has no documentation (yet)\n\tMetadata *FolderMetadata `json:\"metadata\"`\n}\n\n// NewDownloadZipResult returns a new DownloadZipResult instance\nfunc NewDownloadZipResult(Metadata *FolderMetadata) *DownloadZipResult {\n\ts := new(DownloadZipResult)\n\ts.Metadata = Metadata\n\treturn s\n}\n\n// ExportArg : has no documentation (yet)\ntype ExportArg struct {\n\t// Path : The path of the file to be exported.\n\tPath string `json:\"path\"`\n\t// ExportFormat : The file format to which the file should be exported. This\n\t// must be one of the formats listed in the file's export_options returned\n\t// by `getMetadata`. If none is specified, the default format (specified in\n\t// export_as in file metadata) will be used.\n\tExportFormat string `json:\"export_format,omitempty\"`\n}\n\n// NewExportArg returns a new ExportArg instance\nfunc NewExportArg(Path string) *ExportArg {\n\ts := new(ExportArg)\n\ts.Path = Path\n\treturn s\n}\n\n// ExportError : has no documentation (yet)\ntype ExportError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for ExportError\nconst (\n\tExportErrorPath                = \"path\"\n\tExportErrorNonExportable       = \"non_exportable\"\n\tExportErrorInvalidExportFormat = \"invalid_export_format\"\n\tExportErrorRetryError          = \"retry_error\"\n\tExportErrorOther               = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ExportError instance\nfunc (u *ExportError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// ExportInfo : Export information for a file.\ntype ExportInfo struct {\n\t// ExportAs : Format to which the file can be exported to.\n\tExportAs string `json:\"export_as,omitempty\"`\n\t// ExportOptions : Additional formats to which the file can be exported.\n\t// These values can be specified as the export_format in /files/export.\n\tExportOptions []string `json:\"export_options,omitempty\"`\n}\n\n// NewExportInfo returns a new ExportInfo instance\nfunc NewExportInfo() *ExportInfo {\n\ts := new(ExportInfo)\n\treturn s\n}\n\n// ExportMetadata : has no documentation (yet)\ntype ExportMetadata struct {\n\t// Name : The last component of the path (including extension). This never\n\t// contains a slash.\n\tName string `json:\"name\"`\n\t// Size : The file size in bytes.\n\tSize uint64 `json:\"size\"`\n\t// ExportHash : A hash based on the exported file content. This field can be\n\t// used to verify data integrity. Similar to content hash. For more\n\t// information see our `Content hash`\n\t// <https://www.dropbox.com/developers/reference/content-hash> page.\n\tExportHash string `json:\"export_hash,omitempty\"`\n\t// PaperRevision : If the file is a Paper doc, this gives the latest doc\n\t// revision which can be used in `paperUpdate`.\n\tPaperRevision int64 `json:\"paper_revision,omitempty\"`\n}\n\n// NewExportMetadata returns a new ExportMetadata instance\nfunc NewExportMetadata(Name string, Size uint64) *ExportMetadata {\n\ts := new(ExportMetadata)\n\ts.Name = Name\n\ts.Size = Size\n\treturn s\n}\n\n// ExportResult : has no documentation (yet)\ntype ExportResult struct {\n\t// ExportMetadata : Metadata for the exported version of the file.\n\tExportMetadata *ExportMetadata `json:\"export_metadata\"`\n\t// FileMetadata : Metadata for the original file.\n\tFileMetadata *FileMetadata `json:\"file_metadata\"`\n}\n\n// NewExportResult returns a new ExportResult instance\nfunc NewExportResult(ExportMetadata *ExportMetadata, FileMetadata *FileMetadata) *ExportResult {\n\ts := new(ExportResult)\n\ts.ExportMetadata = ExportMetadata\n\ts.FileMetadata = FileMetadata\n\treturn s\n}\n\n// FileCategory : has no documentation (yet)\ntype FileCategory struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FileCategory\nconst (\n\tFileCategoryImage        = \"image\"\n\tFileCategoryDocument     = \"document\"\n\tFileCategoryPdf          = \"pdf\"\n\tFileCategorySpreadsheet  = \"spreadsheet\"\n\tFileCategoryPresentation = \"presentation\"\n\tFileCategoryAudio        = \"audio\"\n\tFileCategoryVideo        = \"video\"\n\tFileCategoryFolder       = \"folder\"\n\tFileCategoryPaper        = \"paper\"\n\tFileCategoryOthers       = \"others\"\n\tFileCategoryOther        = \"other\"\n)\n\n// FileLock : has no documentation (yet)\ntype FileLock struct {\n\t// Content : The lock description.\n\tContent *FileLockContent `json:\"content\"`\n}\n\n// NewFileLock returns a new FileLock instance\nfunc NewFileLock(Content *FileLockContent) *FileLock {\n\ts := new(FileLock)\n\ts.Content = Content\n\treturn s\n}\n\n// FileLockContent : has no documentation (yet)\ntype FileLockContent struct {\n\tdropbox.Tagged\n\t// SingleUser : A lock held by a single user.\n\tSingleUser *SingleUserLock `json:\"single_user,omitempty\"`\n}\n\n// Valid tag values for FileLockContent\nconst (\n\tFileLockContentUnlocked   = \"unlocked\"\n\tFileLockContentSingleUser = \"single_user\"\n\tFileLockContentOther      = \"other\"\n)\n\n// UnmarshalJSON deserializes into a FileLockContent instance\nfunc (u *FileLockContent) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"single_user\":\n\t\tif err = json.Unmarshal(body, &u.SingleUser); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// FileLockMetadata : has no documentation (yet)\ntype FileLockMetadata struct {\n\t// IsLockholder : True if caller holds the file lock.\n\tIsLockholder bool `json:\"is_lockholder,omitempty\"`\n\t// LockholderName : The display name of the lock holder.\n\tLockholderName string `json:\"lockholder_name,omitempty\"`\n\t// LockholderAccountId : The account ID of the lock holder if known.\n\tLockholderAccountId string `json:\"lockholder_account_id,omitempty\"`\n\t// Created : The timestamp of the lock was created.\n\tCreated *time.Time `json:\"created,omitempty\"`\n}\n\n// NewFileLockMetadata returns a new FileLockMetadata instance\nfunc NewFileLockMetadata() *FileLockMetadata {\n\ts := new(FileLockMetadata)\n\treturn s\n}\n\n// FileMetadata : has no documentation (yet)\ntype FileMetadata struct {\n\tMetadata\n\t// Id : A unique identifier for the file.\n\tId string `json:\"id\"`\n\t// ClientModified : For files, this is the modification time set by the\n\t// desktop client when the file was added to Dropbox. Since this time is not\n\t// verified (the Dropbox server stores whatever the desktop client sends\n\t// up), this should only be used for display purposes (such as sorting) and\n\t// not, for example, to determine if a file has changed or not.\n\tClientModified time.Time `json:\"client_modified\"`\n\t// ServerModified : The last time the file was modified on Dropbox.\n\tServerModified time.Time `json:\"server_modified\"`\n\t// Rev : A unique identifier for the current revision of a file. This field\n\t// is the same rev as elsewhere in the API and can be used to detect changes\n\t// and avoid conflicts.\n\tRev string `json:\"rev\"`\n\t// Size : The file size in bytes.\n\tSize uint64 `json:\"size\"`\n\t// MediaInfo : Additional information if the file is a photo or video. This\n\t// field will not be set on entries returned by `listFolder`,\n\t// `listFolderContinue`, or `getThumbnailBatch`, starting December 2, 2019.\n\tMediaInfo *MediaInfo `json:\"media_info,omitempty\"`\n\t// SymlinkInfo : Set if this file is a symlink.\n\tSymlinkInfo *SymlinkInfo `json:\"symlink_info,omitempty\"`\n\t// SharingInfo : Set if this file is contained in a shared folder.\n\tSharingInfo *FileSharingInfo `json:\"sharing_info,omitempty\"`\n\t// IsDownloadable : If true, file can be downloaded directly; else the file\n\t// must be exported.\n\tIsDownloadable bool `json:\"is_downloadable\"`\n\t// ExportInfo : Information about format this file can be exported to. This\n\t// filed must be set if `is_downloadable` is set to false.\n\tExportInfo *ExportInfo `json:\"export_info,omitempty\"`\n\t// PropertyGroups : Additional information if the file has custom properties\n\t// with the property template specified.\n\tPropertyGroups []*file_properties.PropertyGroup `json:\"property_groups,omitempty\"`\n\t// HasExplicitSharedMembers : This flag will only be present if\n\t// include_has_explicit_shared_members  is true in `listFolder` or\n\t// `getMetadata`. If this  flag is present, it will be true if this file has\n\t// any explicit shared  members. This is different from sharing_info in that\n\t// this could be true  in the case where a file has explicit members but is\n\t// not contained within  a shared folder.\n\tHasExplicitSharedMembers bool `json:\"has_explicit_shared_members,omitempty\"`\n\t// ContentHash : A hash of the file content. This field can be used to\n\t// verify data integrity. For more information see our `Content hash`\n\t// <https://www.dropbox.com/developers/reference/content-hash> page.\n\tContentHash string `json:\"content_hash,omitempty\"`\n\t// FileLockInfo : If present, the metadata associated with the file's\n\t// current lock.\n\tFileLockInfo *FileLockMetadata `json:\"file_lock_info,omitempty\"`\n}\n\n// NewFileMetadata returns a new FileMetadata instance\nfunc NewFileMetadata(Name string, Id string, ClientModified time.Time, ServerModified time.Time, Rev string, Size uint64) *FileMetadata {\n\ts := new(FileMetadata)\n\ts.Name = Name\n\ts.Id = Id\n\ts.ClientModified = ClientModified\n\ts.ServerModified = ServerModified\n\ts.Rev = Rev\n\ts.Size = Size\n\ts.IsDownloadable = true\n\treturn s\n}\n\n// SharingInfo : Sharing info for a file or folder.\ntype SharingInfo struct {\n\t// ReadOnly : True if the file or folder is inside a read-only shared\n\t// folder.\n\tReadOnly bool `json:\"read_only\"`\n}\n\n// NewSharingInfo returns a new SharingInfo instance\nfunc NewSharingInfo(ReadOnly bool) *SharingInfo {\n\ts := new(SharingInfo)\n\ts.ReadOnly = ReadOnly\n\treturn s\n}\n\n// FileSharingInfo : Sharing info for a file which is contained by a shared\n// folder.\ntype FileSharingInfo struct {\n\tSharingInfo\n\t// ParentSharedFolderId : ID of shared folder that holds this file.\n\tParentSharedFolderId string `json:\"parent_shared_folder_id\"`\n\t// ModifiedBy : The last user who modified the file. This field will be null\n\t// if the user's account has been deleted.\n\tModifiedBy string `json:\"modified_by,omitempty\"`\n}\n\n// NewFileSharingInfo returns a new FileSharingInfo instance\nfunc NewFileSharingInfo(ReadOnly bool, ParentSharedFolderId string) *FileSharingInfo {\n\ts := new(FileSharingInfo)\n\ts.ReadOnly = ReadOnly\n\ts.ParentSharedFolderId = ParentSharedFolderId\n\treturn s\n}\n\n// FileStatus : has no documentation (yet)\ntype FileStatus struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FileStatus\nconst (\n\tFileStatusActive  = \"active\"\n\tFileStatusDeleted = \"deleted\"\n\tFileStatusOther   = \"other\"\n)\n\n// FolderMetadata : has no documentation (yet)\ntype FolderMetadata struct {\n\tMetadata\n\t// Id : A unique identifier for the folder.\n\tId string `json:\"id\"`\n\t// SharedFolderId : Please use `sharing_info` instead.\n\tSharedFolderId string `json:\"shared_folder_id,omitempty\"`\n\t// SharingInfo : Set if the folder is contained in a shared folder or is a\n\t// shared folder mount point.\n\tSharingInfo *FolderSharingInfo `json:\"sharing_info,omitempty\"`\n\t// PropertyGroups : Additional information if the file has custom properties\n\t// with the property template specified. Note that only properties\n\t// associated with user-owned templates, not team-owned templates, can be\n\t// attached to folders.\n\tPropertyGroups []*file_properties.PropertyGroup `json:\"property_groups,omitempty\"`\n}\n\n// NewFolderMetadata returns a new FolderMetadata instance\nfunc NewFolderMetadata(Name string, Id string) *FolderMetadata {\n\ts := new(FolderMetadata)\n\ts.Name = Name\n\ts.Id = Id\n\treturn s\n}\n\n// FolderSharingInfo : Sharing info for a folder which is contained in a shared\n// folder or is a shared folder mount point.\ntype FolderSharingInfo struct {\n\tSharingInfo\n\t// ParentSharedFolderId : Set if the folder is contained by a shared folder.\n\tParentSharedFolderId string `json:\"parent_shared_folder_id,omitempty\"`\n\t// SharedFolderId : If this folder is a shared folder mount point, the ID of\n\t// the shared folder mounted at this location.\n\tSharedFolderId string `json:\"shared_folder_id,omitempty\"`\n\t// TraverseOnly : Specifies that the folder can only be traversed and the\n\t// user can only see a limited subset of the contents of this folder because\n\t// they don't have read access to this folder. They do, however, have access\n\t// to some sub folder.\n\tTraverseOnly bool `json:\"traverse_only\"`\n\t// NoAccess : Specifies that the folder cannot be accessed by the user.\n\tNoAccess bool `json:\"no_access\"`\n}\n\n// NewFolderSharingInfo returns a new FolderSharingInfo instance\nfunc NewFolderSharingInfo(ReadOnly bool) *FolderSharingInfo {\n\ts := new(FolderSharingInfo)\n\ts.ReadOnly = ReadOnly\n\ts.TraverseOnly = false\n\ts.NoAccess = false\n\treturn s\n}\n\n// GetCopyReferenceArg : has no documentation (yet)\ntype GetCopyReferenceArg struct {\n\t// Path : The path to the file or folder you want to get a copy reference\n\t// to.\n\tPath string `json:\"path\"`\n}\n\n// NewGetCopyReferenceArg returns a new GetCopyReferenceArg instance\nfunc NewGetCopyReferenceArg(Path string) *GetCopyReferenceArg {\n\ts := new(GetCopyReferenceArg)\n\ts.Path = Path\n\treturn s\n}\n\n// GetCopyReferenceError : has no documentation (yet)\ntype GetCopyReferenceError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for GetCopyReferenceError\nconst (\n\tGetCopyReferenceErrorPath  = \"path\"\n\tGetCopyReferenceErrorOther = \"other\"\n)\n\n// UnmarshalJSON deserializes into a GetCopyReferenceError instance\nfunc (u *GetCopyReferenceError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// GetCopyReferenceResult : has no documentation (yet)\ntype GetCopyReferenceResult struct {\n\t// Metadata : Metadata of the file or folder.\n\tMetadata IsMetadata `json:\"metadata\"`\n\t// CopyReference : A copy reference to the file or folder.\n\tCopyReference string `json:\"copy_reference\"`\n\t// Expires : The expiration date of the copy reference. This value is\n\t// currently set to be far enough in the future so that expiration is\n\t// effectively not an issue.\n\tExpires time.Time `json:\"expires\"`\n}\n\n// NewGetCopyReferenceResult returns a new GetCopyReferenceResult instance\nfunc NewGetCopyReferenceResult(Metadata IsMetadata, CopyReference string, Expires time.Time) *GetCopyReferenceResult {\n\ts := new(GetCopyReferenceResult)\n\ts.Metadata = Metadata\n\ts.CopyReference = CopyReference\n\ts.Expires = Expires\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a GetCopyReferenceResult instance\nfunc (u *GetCopyReferenceResult) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// Metadata : Metadata of the file or folder.\n\t\tMetadata json.RawMessage `json:\"metadata\"`\n\t\t// CopyReference : A copy reference to the file or folder.\n\t\tCopyReference string `json:\"copy_reference\"`\n\t\t// Expires : The expiration date of the copy reference. This value is\n\t\t// currently set to be far enough in the future so that expiration is\n\t\t// effectively not an issue.\n\t\tExpires time.Time `json:\"expires\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tMetadata, err := IsMetadataFromJSON(w.Metadata)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.Metadata = Metadata\n\tu.CopyReference = w.CopyReference\n\tu.Expires = w.Expires\n\treturn nil\n}\n\n// GetTagsArg : has no documentation (yet)\ntype GetTagsArg struct {\n\t// Paths : Path to the items.\n\tPaths []string `json:\"paths\"`\n}\n\n// NewGetTagsArg returns a new GetTagsArg instance\nfunc NewGetTagsArg(Paths []string) *GetTagsArg {\n\ts := new(GetTagsArg)\n\ts.Paths = Paths\n\treturn s\n}\n\n// GetTagsResult : has no documentation (yet)\ntype GetTagsResult struct {\n\t// PathsToTags : List of paths and their corresponding tags.\n\tPathsToTags []*PathToTags `json:\"paths_to_tags\"`\n}\n\n// NewGetTagsResult returns a new GetTagsResult instance\nfunc NewGetTagsResult(PathsToTags []*PathToTags) *GetTagsResult {\n\ts := new(GetTagsResult)\n\ts.PathsToTags = PathsToTags\n\treturn s\n}\n\n// GetTemporaryLinkArg : has no documentation (yet)\ntype GetTemporaryLinkArg struct {\n\t// Path : The path to the file you want a temporary link to.\n\tPath string `json:\"path\"`\n}\n\n// NewGetTemporaryLinkArg returns a new GetTemporaryLinkArg instance\nfunc NewGetTemporaryLinkArg(Path string) *GetTemporaryLinkArg {\n\ts := new(GetTemporaryLinkArg)\n\ts.Path = Path\n\treturn s\n}\n\n// GetTemporaryLinkError : has no documentation (yet)\ntype GetTemporaryLinkError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for GetTemporaryLinkError\nconst (\n\tGetTemporaryLinkErrorPath             = \"path\"\n\tGetTemporaryLinkErrorEmailNotVerified = \"email_not_verified\"\n\tGetTemporaryLinkErrorUnsupportedFile  = \"unsupported_file\"\n\tGetTemporaryLinkErrorNotAllowed       = \"not_allowed\"\n\tGetTemporaryLinkErrorOther            = \"other\"\n)\n\n// UnmarshalJSON deserializes into a GetTemporaryLinkError instance\nfunc (u *GetTemporaryLinkError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// GetTemporaryLinkResult : has no documentation (yet)\ntype GetTemporaryLinkResult struct {\n\t// Metadata : Metadata of the file.\n\tMetadata *FileMetadata `json:\"metadata\"`\n\t// Link : The temporary link which can be used to stream content the file.\n\tLink string `json:\"link\"`\n}\n\n// NewGetTemporaryLinkResult returns a new GetTemporaryLinkResult instance\nfunc NewGetTemporaryLinkResult(Metadata *FileMetadata, Link string) *GetTemporaryLinkResult {\n\ts := new(GetTemporaryLinkResult)\n\ts.Metadata = Metadata\n\ts.Link = Link\n\treturn s\n}\n\n// GetTemporaryUploadLinkArg : has no documentation (yet)\ntype GetTemporaryUploadLinkArg struct {\n\t// CommitInfo : Contains the path and other optional modifiers for the\n\t// future upload commit. Equivalent to the parameters provided to `upload`.\n\tCommitInfo *CommitInfo `json:\"commit_info\"`\n\t// Duration : How long before this link expires, in seconds.  Attempting to\n\t// start an upload with this link longer than this period  of time after\n\t// link creation will result in an error.\n\tDuration float64 `json:\"duration\"`\n}\n\n// NewGetTemporaryUploadLinkArg returns a new GetTemporaryUploadLinkArg instance\nfunc NewGetTemporaryUploadLinkArg(CommitInfo *CommitInfo) *GetTemporaryUploadLinkArg {\n\ts := new(GetTemporaryUploadLinkArg)\n\ts.CommitInfo = CommitInfo\n\ts.Duration = 14400.0\n\treturn s\n}\n\n// GetTemporaryUploadLinkResult : has no documentation (yet)\ntype GetTemporaryUploadLinkResult struct {\n\t// Link : The temporary link which can be used to stream a file to a Dropbox\n\t// location.\n\tLink string `json:\"link\"`\n}\n\n// NewGetTemporaryUploadLinkResult returns a new GetTemporaryUploadLinkResult instance\nfunc NewGetTemporaryUploadLinkResult(Link string) *GetTemporaryUploadLinkResult {\n\ts := new(GetTemporaryUploadLinkResult)\n\ts.Link = Link\n\treturn s\n}\n\n// GetThumbnailBatchArg : Arguments for `getThumbnailBatch`.\ntype GetThumbnailBatchArg struct {\n\t// Entries : List of files to get thumbnails.\n\tEntries []*ThumbnailArg `json:\"entries\"`\n}\n\n// NewGetThumbnailBatchArg returns a new GetThumbnailBatchArg instance\nfunc NewGetThumbnailBatchArg(Entries []*ThumbnailArg) *GetThumbnailBatchArg {\n\ts := new(GetThumbnailBatchArg)\n\ts.Entries = Entries\n\treturn s\n}\n\n// GetThumbnailBatchError : has no documentation (yet)\ntype GetThumbnailBatchError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GetThumbnailBatchError\nconst (\n\tGetThumbnailBatchErrorTooManyFiles = \"too_many_files\"\n\tGetThumbnailBatchErrorOther        = \"other\"\n)\n\n// GetThumbnailBatchResult : has no documentation (yet)\ntype GetThumbnailBatchResult struct {\n\t// Entries : List of files and their thumbnails.\n\tEntries []*GetThumbnailBatchResultEntry `json:\"entries\"`\n}\n\n// NewGetThumbnailBatchResult returns a new GetThumbnailBatchResult instance\nfunc NewGetThumbnailBatchResult(Entries []*GetThumbnailBatchResultEntry) *GetThumbnailBatchResult {\n\ts := new(GetThumbnailBatchResult)\n\ts.Entries = Entries\n\treturn s\n}\n\n// GetThumbnailBatchResultData : has no documentation (yet)\ntype GetThumbnailBatchResultData struct {\n\t// Metadata : has no documentation (yet)\n\tMetadata *FileMetadata `json:\"metadata\"`\n\t// Thumbnail : A string containing the base64-encoded thumbnail data for\n\t// this file.\n\tThumbnail string `json:\"thumbnail\"`\n}\n\n// NewGetThumbnailBatchResultData returns a new GetThumbnailBatchResultData instance\nfunc NewGetThumbnailBatchResultData(Metadata *FileMetadata, Thumbnail string) *GetThumbnailBatchResultData {\n\ts := new(GetThumbnailBatchResultData)\n\ts.Metadata = Metadata\n\ts.Thumbnail = Thumbnail\n\treturn s\n}\n\n// GetThumbnailBatchResultEntry : has no documentation (yet)\ntype GetThumbnailBatchResultEntry struct {\n\tdropbox.Tagged\n\t// Success : has no documentation (yet)\n\tSuccess *GetThumbnailBatchResultData `json:\"success,omitempty\"`\n\t// Failure : The result for this file if it was an error.\n\tFailure *ThumbnailError `json:\"failure,omitempty\"`\n}\n\n// Valid tag values for GetThumbnailBatchResultEntry\nconst (\n\tGetThumbnailBatchResultEntrySuccess = \"success\"\n\tGetThumbnailBatchResultEntryFailure = \"failure\"\n\tGetThumbnailBatchResultEntryOther   = \"other\"\n)\n\n// UnmarshalJSON deserializes into a GetThumbnailBatchResultEntry instance\nfunc (u *GetThumbnailBatchResultEntry) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Failure : The result for this file if it was an error.\n\t\tFailure *ThumbnailError `json:\"failure,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tif err = json.Unmarshal(body, &u.Success); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"failure\":\n\t\tu.Failure = w.Failure\n\n\t}\n\treturn nil\n}\n\n// GpsCoordinates : GPS coordinates for a photo or video.\ntype GpsCoordinates struct {\n\t// Latitude : Latitude of the GPS coordinates.\n\tLatitude float64 `json:\"latitude\"`\n\t// Longitude : Longitude of the GPS coordinates.\n\tLongitude float64 `json:\"longitude\"`\n}\n\n// NewGpsCoordinates returns a new GpsCoordinates instance\nfunc NewGpsCoordinates(Latitude float64, Longitude float64) *GpsCoordinates {\n\ts := new(GpsCoordinates)\n\ts.Latitude = Latitude\n\ts.Longitude = Longitude\n\treturn s\n}\n\n// HighlightSpan : has no documentation (yet)\ntype HighlightSpan struct {\n\t// HighlightStr : String to be determined whether it should be highlighted\n\t// or not.\n\tHighlightStr string `json:\"highlight_str\"`\n\t// IsHighlighted : The string should be highlighted or not.\n\tIsHighlighted bool `json:\"is_highlighted\"`\n}\n\n// NewHighlightSpan returns a new HighlightSpan instance\nfunc NewHighlightSpan(HighlightStr string, IsHighlighted bool) *HighlightSpan {\n\ts := new(HighlightSpan)\n\ts.HighlightStr = HighlightStr\n\ts.IsHighlighted = IsHighlighted\n\treturn s\n}\n\n// ImportFormat : The import format of the incoming Paper doc content.\ntype ImportFormat struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ImportFormat\nconst (\n\tImportFormatHtml      = \"html\"\n\tImportFormatMarkdown  = \"markdown\"\n\tImportFormatPlainText = \"plain_text\"\n\tImportFormatOther     = \"other\"\n)\n\n// ListFolderArg : has no documentation (yet)\ntype ListFolderArg struct {\n\t// Path : A unique identifier for the file.\n\tPath string `json:\"path\"`\n\t// Recursive : If true, the list folder operation will be applied\n\t// recursively to all subfolders and the response will contain contents of\n\t// all subfolders.\n\tRecursive bool `json:\"recursive\"`\n\t// IncludeMediaInfo : If true, `FileMetadata.media_info` is set for photo\n\t// and video. This parameter will no longer have an effect starting December\n\t// 2, 2019.\n\tIncludeMediaInfo bool `json:\"include_media_info\"`\n\t// IncludeDeleted : If true, the results will include entries for files and\n\t// folders that used to exist but were deleted.\n\tIncludeDeleted bool `json:\"include_deleted\"`\n\t// IncludeHasExplicitSharedMembers : If true, the results will include a\n\t// flag for each file indicating whether or not  that file has any explicit\n\t// members.\n\tIncludeHasExplicitSharedMembers bool `json:\"include_has_explicit_shared_members\"`\n\t// IncludeMountedFolders : If true, the results will include entries under\n\t// mounted folders which includes app folder, shared folder and team folder.\n\tIncludeMountedFolders bool `json:\"include_mounted_folders\"`\n\t// Limit : The maximum number of results to return per request. Note: This\n\t// is an approximate number and there can be slightly more entries returned\n\t// in some cases.\n\tLimit uint32 `json:\"limit,omitempty\"`\n\t// SharedLink : A shared link to list the contents of. If the link is\n\t// password-protected, the password must be provided. If this field is\n\t// present, `ListFolderArg.path` will be relative to root of the shared\n\t// link. Only non-recursive mode is supported for shared link.\n\tSharedLink *SharedLink `json:\"shared_link,omitempty\"`\n\t// IncludePropertyGroups : If set to a valid list of template IDs,\n\t// `FileMetadata.property_groups` is set if there exists property data\n\t// associated with the file and each of the listed templates.\n\tIncludePropertyGroups *file_properties.TemplateFilterBase `json:\"include_property_groups,omitempty\"`\n\t// IncludeNonDownloadableFiles : If true, include files that are not\n\t// downloadable, i.e. Google Docs.\n\tIncludeNonDownloadableFiles bool `json:\"include_non_downloadable_files\"`\n}\n\n// NewListFolderArg returns a new ListFolderArg instance\nfunc NewListFolderArg(Path string) *ListFolderArg {\n\ts := new(ListFolderArg)\n\ts.Path = Path\n\ts.Recursive = false\n\ts.IncludeMediaInfo = false\n\ts.IncludeDeleted = false\n\ts.IncludeHasExplicitSharedMembers = false\n\ts.IncludeMountedFolders = true\n\ts.IncludeNonDownloadableFiles = true\n\treturn s\n}\n\n// ListFolderContinueArg : has no documentation (yet)\ntype ListFolderContinueArg struct {\n\t// Cursor : The cursor returned by your last call to `listFolder` or\n\t// `listFolderContinue`.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewListFolderContinueArg returns a new ListFolderContinueArg instance\nfunc NewListFolderContinueArg(Cursor string) *ListFolderContinueArg {\n\ts := new(ListFolderContinueArg)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// ListFolderContinueError : has no documentation (yet)\ntype ListFolderContinueError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for ListFolderContinueError\nconst (\n\tListFolderContinueErrorPath  = \"path\"\n\tListFolderContinueErrorReset = \"reset\"\n\tListFolderContinueErrorOther = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ListFolderContinueError instance\nfunc (u *ListFolderContinueError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// ListFolderError : has no documentation (yet)\ntype ListFolderError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n\t// TemplateError : has no documentation (yet)\n\tTemplateError *file_properties.TemplateError `json:\"template_error,omitempty\"`\n}\n\n// Valid tag values for ListFolderError\nconst (\n\tListFolderErrorPath          = \"path\"\n\tListFolderErrorTemplateError = \"template_error\"\n\tListFolderErrorOther         = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ListFolderError instance\nfunc (u *ListFolderError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t\t// TemplateError : has no documentation (yet)\n\t\tTemplateError *file_properties.TemplateError `json:\"template_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\tcase \"template_error\":\n\t\tu.TemplateError = w.TemplateError\n\n\t}\n\treturn nil\n}\n\n// ListFolderGetLatestCursorResult : has no documentation (yet)\ntype ListFolderGetLatestCursorResult struct {\n\t// Cursor : Pass the cursor into `listFolderContinue` to see what's changed\n\t// in the folder since your previous query.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewListFolderGetLatestCursorResult returns a new ListFolderGetLatestCursorResult instance\nfunc NewListFolderGetLatestCursorResult(Cursor string) *ListFolderGetLatestCursorResult {\n\ts := new(ListFolderGetLatestCursorResult)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// ListFolderLongpollArg : has no documentation (yet)\ntype ListFolderLongpollArg struct {\n\t// Cursor : A cursor as returned by `listFolder` or `listFolderContinue`.\n\t// Cursors retrieved by setting `ListFolderArg.include_media_info` to true\n\t// are not supported.\n\tCursor string `json:\"cursor\"`\n\t// Timeout : A timeout in seconds. The request will block for at most this\n\t// length of time, plus up to 90 seconds of random jitter added to avoid the\n\t// thundering herd problem. Care should be taken when using this parameter,\n\t// as some network infrastructure does not support long timeouts.\n\tTimeout uint64 `json:\"timeout\"`\n}\n\n// NewListFolderLongpollArg returns a new ListFolderLongpollArg instance\nfunc NewListFolderLongpollArg(Cursor string) *ListFolderLongpollArg {\n\ts := new(ListFolderLongpollArg)\n\ts.Cursor = Cursor\n\ts.Timeout = 30\n\treturn s\n}\n\n// ListFolderLongpollError : has no documentation (yet)\ntype ListFolderLongpollError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ListFolderLongpollError\nconst (\n\tListFolderLongpollErrorReset = \"reset\"\n\tListFolderLongpollErrorOther = \"other\"\n)\n\n// ListFolderLongpollResult : has no documentation (yet)\ntype ListFolderLongpollResult struct {\n\t// Changes : Indicates whether new changes are available. If true, call\n\t// `listFolderContinue` to retrieve the changes.\n\tChanges bool `json:\"changes\"`\n\t// Backoff : If present, backoff for at least this many seconds before\n\t// calling `listFolderLongpoll` again.\n\tBackoff uint64 `json:\"backoff,omitempty\"`\n}\n\n// NewListFolderLongpollResult returns a new ListFolderLongpollResult instance\nfunc NewListFolderLongpollResult(Changes bool) *ListFolderLongpollResult {\n\ts := new(ListFolderLongpollResult)\n\ts.Changes = Changes\n\treturn s\n}\n\n// ListFolderResult : has no documentation (yet)\ntype ListFolderResult struct {\n\t// Entries : The files and (direct) subfolders in the folder.\n\tEntries []IsMetadata `json:\"entries\"`\n\t// Cursor : Pass the cursor into `listFolderContinue` to see what's changed\n\t// in the folder since your previous query.\n\tCursor string `json:\"cursor\"`\n\t// HasMore : If true, then there are more entries available. Pass the cursor\n\t// to `listFolderContinue` to retrieve the rest.\n\tHasMore bool `json:\"has_more\"`\n}\n\n// NewListFolderResult returns a new ListFolderResult instance\nfunc NewListFolderResult(Entries []IsMetadata, Cursor string, HasMore bool) *ListFolderResult {\n\ts := new(ListFolderResult)\n\ts.Entries = Entries\n\ts.Cursor = Cursor\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a ListFolderResult instance\nfunc (u *ListFolderResult) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// Entries : The files and (direct) subfolders in the folder.\n\t\tEntries []json.RawMessage `json:\"entries\"`\n\t\t// Cursor : Pass the cursor into `listFolderContinue` to see what's\n\t\t// changed in the folder since your previous query.\n\t\tCursor string `json:\"cursor\"`\n\t\t// HasMore : If true, then there are more entries available. Pass the\n\t\t// cursor to `listFolderContinue` to retrieve the rest.\n\t\tHasMore bool `json:\"has_more\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Entries = make([]IsMetadata, len(w.Entries))\n\tfor i, e := range w.Entries {\n\t\tv, err := IsMetadataFromJSON(e)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tu.Entries[i] = v\n\t}\n\tu.Cursor = w.Cursor\n\tu.HasMore = w.HasMore\n\treturn nil\n}\n\n// ListRevisionsArg : has no documentation (yet)\ntype ListRevisionsArg struct {\n\t// Path : The path to the file you want to see the revisions of.\n\tPath string `json:\"path\"`\n\t// Mode : Determines the behavior of the API in listing the revisions for a\n\t// given file path or id.\n\tMode *ListRevisionsMode `json:\"mode\"`\n\t// Limit : The maximum number of revision entries returned.\n\tLimit uint64 `json:\"limit\"`\n}\n\n// NewListRevisionsArg returns a new ListRevisionsArg instance\nfunc NewListRevisionsArg(Path string) *ListRevisionsArg {\n\ts := new(ListRevisionsArg)\n\ts.Path = Path\n\ts.Mode = &ListRevisionsMode{Tagged: dropbox.Tagged{Tag: \"path\"}}\n\ts.Limit = 10\n\treturn s\n}\n\n// ListRevisionsError : has no documentation (yet)\ntype ListRevisionsError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for ListRevisionsError\nconst (\n\tListRevisionsErrorPath  = \"path\"\n\tListRevisionsErrorOther = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ListRevisionsError instance\nfunc (u *ListRevisionsError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// ListRevisionsMode : has no documentation (yet)\ntype ListRevisionsMode struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ListRevisionsMode\nconst (\n\tListRevisionsModePath  = \"path\"\n\tListRevisionsModeId    = \"id\"\n\tListRevisionsModeOther = \"other\"\n)\n\n// ListRevisionsResult : has no documentation (yet)\ntype ListRevisionsResult struct {\n\t// IsDeleted : If the file identified by the latest revision in the response\n\t// is either deleted or moved.\n\tIsDeleted bool `json:\"is_deleted\"`\n\t// ServerDeleted : The time of deletion if the file was deleted.\n\tServerDeleted *time.Time `json:\"server_deleted,omitempty\"`\n\t// Entries : The revisions for the file. Only revisions that are not deleted\n\t// will show up here.\n\tEntries []*FileMetadata `json:\"entries\"`\n}\n\n// NewListRevisionsResult returns a new ListRevisionsResult instance\nfunc NewListRevisionsResult(IsDeleted bool, Entries []*FileMetadata) *ListRevisionsResult {\n\ts := new(ListRevisionsResult)\n\ts.IsDeleted = IsDeleted\n\ts.Entries = Entries\n\treturn s\n}\n\n// LockConflictError : has no documentation (yet)\ntype LockConflictError struct {\n\t// Lock : The lock that caused the conflict.\n\tLock *FileLock `json:\"lock\"`\n}\n\n// NewLockConflictError returns a new LockConflictError instance\nfunc NewLockConflictError(Lock *FileLock) *LockConflictError {\n\ts := new(LockConflictError)\n\ts.Lock = Lock\n\treturn s\n}\n\n// LockFileArg : has no documentation (yet)\ntype LockFileArg struct {\n\t// Path : Path in the user's Dropbox to a file.\n\tPath string `json:\"path\"`\n}\n\n// NewLockFileArg returns a new LockFileArg instance\nfunc NewLockFileArg(Path string) *LockFileArg {\n\ts := new(LockFileArg)\n\ts.Path = Path\n\treturn s\n}\n\n// LockFileBatchArg : has no documentation (yet)\ntype LockFileBatchArg struct {\n\t// Entries : List of 'entries'. Each 'entry' contains a path of the file\n\t// which will be locked or queried. Duplicate path arguments in the batch\n\t// are considered only once.\n\tEntries []*LockFileArg `json:\"entries\"`\n}\n\n// NewLockFileBatchArg returns a new LockFileBatchArg instance\nfunc NewLockFileBatchArg(Entries []*LockFileArg) *LockFileBatchArg {\n\ts := new(LockFileBatchArg)\n\ts.Entries = Entries\n\treturn s\n}\n\n// LockFileBatchResult : has no documentation (yet)\ntype LockFileBatchResult struct {\n\tFileOpsResult\n\t// Entries : Each Entry in the 'entries' will have '.tag' with the operation\n\t// status (e.g. success), the metadata for the file and the lock state after\n\t// the operation.\n\tEntries []*LockFileResultEntry `json:\"entries\"`\n}\n\n// NewLockFileBatchResult returns a new LockFileBatchResult instance\nfunc NewLockFileBatchResult(Entries []*LockFileResultEntry) *LockFileBatchResult {\n\ts := new(LockFileBatchResult)\n\ts.Entries = Entries\n\treturn s\n}\n\n// LockFileError : has no documentation (yet)\ntype LockFileError struct {\n\tdropbox.Tagged\n\t// PathLookup : Could not find the specified resource.\n\tPathLookup *LookupError `json:\"path_lookup,omitempty\"`\n\t// LockConflict : The user action conflicts with an existing lock on the\n\t// file.\n\tLockConflict *LockConflictError `json:\"lock_conflict,omitempty\"`\n}\n\n// Valid tag values for LockFileError\nconst (\n\tLockFileErrorPathLookup             = \"path_lookup\"\n\tLockFileErrorTooManyWriteOperations = \"too_many_write_operations\"\n\tLockFileErrorTooManyFiles           = \"too_many_files\"\n\tLockFileErrorNoWritePermission      = \"no_write_permission\"\n\tLockFileErrorCannotBeLocked         = \"cannot_be_locked\"\n\tLockFileErrorFileNotShared          = \"file_not_shared\"\n\tLockFileErrorLockConflict           = \"lock_conflict\"\n\tLockFileErrorInternalError          = \"internal_error\"\n\tLockFileErrorOther                  = \"other\"\n)\n\n// UnmarshalJSON deserializes into a LockFileError instance\nfunc (u *LockFileError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// PathLookup : Could not find the specified resource.\n\t\tPathLookup *LookupError `json:\"path_lookup,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path_lookup\":\n\t\tu.PathLookup = w.PathLookup\n\n\tcase \"lock_conflict\":\n\t\tif err = json.Unmarshal(body, &u.LockConflict); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// LockFileResult : has no documentation (yet)\ntype LockFileResult struct {\n\t// Metadata : Metadata of the file.\n\tMetadata IsMetadata `json:\"metadata\"`\n\t// Lock : The file lock state after the operation.\n\tLock *FileLock `json:\"lock\"`\n}\n\n// NewLockFileResult returns a new LockFileResult instance\nfunc NewLockFileResult(Metadata IsMetadata, Lock *FileLock) *LockFileResult {\n\ts := new(LockFileResult)\n\ts.Metadata = Metadata\n\ts.Lock = Lock\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a LockFileResult instance\nfunc (u *LockFileResult) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// Metadata : Metadata of the file.\n\t\tMetadata json.RawMessage `json:\"metadata\"`\n\t\t// Lock : The file lock state after the operation.\n\t\tLock *FileLock `json:\"lock\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tMetadata, err := IsMetadataFromJSON(w.Metadata)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.Metadata = Metadata\n\tu.Lock = w.Lock\n\treturn nil\n}\n\n// LockFileResultEntry : has no documentation (yet)\ntype LockFileResultEntry struct {\n\tdropbox.Tagged\n\t// Success : has no documentation (yet)\n\tSuccess *LockFileResult `json:\"success,omitempty\"`\n\t// Failure : has no documentation (yet)\n\tFailure *LockFileError `json:\"failure,omitempty\"`\n}\n\n// Valid tag values for LockFileResultEntry\nconst (\n\tLockFileResultEntrySuccess = \"success\"\n\tLockFileResultEntryFailure = \"failure\"\n)\n\n// UnmarshalJSON deserializes into a LockFileResultEntry instance\nfunc (u *LockFileResultEntry) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Failure : has no documentation (yet)\n\t\tFailure *LockFileError `json:\"failure,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tif err = json.Unmarshal(body, &u.Success); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"failure\":\n\t\tu.Failure = w.Failure\n\n\t}\n\treturn nil\n}\n\n// LookupError : has no documentation (yet)\ntype LookupError struct {\n\tdropbox.Tagged\n\t// MalformedPath : The given path does not satisfy the required path format.\n\t// Please refer to the `Path formats documentation`\n\t// <https://www.dropbox.com/developers/documentation/http/documentation#path-formats>\n\t// for more information.\n\tMalformedPath string `json:\"malformed_path,omitempty\"`\n}\n\n// Valid tag values for LookupError\nconst (\n\tLookupErrorMalformedPath          = \"malformed_path\"\n\tLookupErrorNotFound               = \"not_found\"\n\tLookupErrorNotFile                = \"not_file\"\n\tLookupErrorNotFolder              = \"not_folder\"\n\tLookupErrorRestrictedContent      = \"restricted_content\"\n\tLookupErrorUnsupportedContentType = \"unsupported_content_type\"\n\tLookupErrorLocked                 = \"locked\"\n\tLookupErrorOther                  = \"other\"\n)\n\n// UnmarshalJSON deserializes into a LookupError instance\nfunc (u *LookupError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// MalformedPath : The given path does not satisfy the required path\n\t\t// format. Please refer to the `Path formats documentation`\n\t\t// <https://www.dropbox.com/developers/documentation/http/documentation#path-formats>\n\t\t// for more information.\n\t\tMalformedPath string `json:\"malformed_path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"malformed_path\":\n\t\tu.MalformedPath = w.MalformedPath\n\n\t}\n\treturn nil\n}\n\n// MediaInfo : has no documentation (yet)\ntype MediaInfo struct {\n\tdropbox.Tagged\n\t// Metadata : The metadata for the photo/video.\n\tMetadata IsMediaMetadata `json:\"metadata,omitempty\"`\n}\n\n// Valid tag values for MediaInfo\nconst (\n\tMediaInfoPending  = \"pending\"\n\tMediaInfoMetadata = \"metadata\"\n)\n\n// UnmarshalJSON deserializes into a MediaInfo instance\nfunc (u *MediaInfo) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Metadata : The metadata for the photo/video.\n\t\tMetadata json.RawMessage `json:\"metadata,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"metadata\":\n\t\tif u.Metadata, err = IsMediaMetadataFromJSON(w.Metadata); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// MediaMetadata : Metadata for a photo or video.\ntype MediaMetadata struct {\n\t// Dimensions : Dimension of the photo/video.\n\tDimensions *Dimensions `json:\"dimensions,omitempty\"`\n\t// Location : The GPS coordinate of the photo/video.\n\tLocation *GpsCoordinates `json:\"location,omitempty\"`\n\t// TimeTaken : The timestamp when the photo/video is taken.\n\tTimeTaken *time.Time `json:\"time_taken,omitempty\"`\n}\n\n// NewMediaMetadata returns a new MediaMetadata instance\nfunc NewMediaMetadata() *MediaMetadata {\n\ts := new(MediaMetadata)\n\treturn s\n}\n\n// IsMediaMetadata is the interface type for MediaMetadata and its subtypes\ntype IsMediaMetadata interface {\n\tIsMediaMetadata()\n}\n\n// IsMediaMetadata implements the IsMediaMetadata interface\nfunc (u *MediaMetadata) IsMediaMetadata() {}\n\ntype mediaMetadataUnion struct {\n\tdropbox.Tagged\n\t// Photo : has no documentation (yet)\n\tPhoto *PhotoMetadata `json:\"photo,omitempty\"`\n\t// Video : has no documentation (yet)\n\tVideo *VideoMetadata `json:\"video,omitempty\"`\n}\n\n// Valid tag values for MediaMetadata\nconst (\n\tMediaMetadataPhoto = \"photo\"\n\tMediaMetadataVideo = \"video\"\n)\n\n// UnmarshalJSON deserializes into a mediaMetadataUnion instance\nfunc (u *mediaMetadataUnion) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"photo\":\n\t\tif err = json.Unmarshal(body, &u.Photo); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"video\":\n\t\tif err = json.Unmarshal(body, &u.Video); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// IsMediaMetadataFromJSON converts JSON to a concrete IsMediaMetadata instance\nfunc IsMediaMetadataFromJSON(data []byte) (IsMediaMetadata, error) {\n\tvar t mediaMetadataUnion\n\tif err := json.Unmarshal(data, &t); err != nil {\n\t\treturn nil, err\n\t}\n\tswitch t.Tag {\n\tcase \"photo\":\n\t\treturn t.Photo, nil\n\n\tcase \"video\":\n\t\treturn t.Video, nil\n\n\t}\n\treturn nil, nil\n}\n\n// MetadataV2 : Metadata for a file, folder or other resource types.\ntype MetadataV2 struct {\n\tdropbox.Tagged\n\t// Metadata : has no documentation (yet)\n\tMetadata IsMetadata `json:\"metadata,omitempty\"`\n}\n\n// Valid tag values for MetadataV2\nconst (\n\tMetadataV2Metadata = \"metadata\"\n\tMetadataV2Other    = \"other\"\n)\n\n// UnmarshalJSON deserializes into a MetadataV2 instance\nfunc (u *MetadataV2) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Metadata : has no documentation (yet)\n\t\tMetadata json.RawMessage `json:\"metadata,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"metadata\":\n\t\tif u.Metadata, err = IsMetadataFromJSON(w.Metadata); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// MinimalFileLinkMetadata : has no documentation (yet)\ntype MinimalFileLinkMetadata struct {\n\t// Url : URL of the shared link.\n\tUrl string `json:\"url\"`\n\t// Id : Unique identifier for the linked file.\n\tId string `json:\"id,omitempty\"`\n\t// Path : Full path in the user's Dropbox. This always starts with a slash.\n\t// This field will only be present only if the linked file is in the\n\t// authenticated user's Dropbox.\n\tPath string `json:\"path,omitempty\"`\n\t// Rev : A unique identifier for the current revision of a file. This field\n\t// is the same rev as elsewhere in the API and can be used to detect changes\n\t// and avoid conflicts.\n\tRev string `json:\"rev\"`\n}\n\n// NewMinimalFileLinkMetadata returns a new MinimalFileLinkMetadata instance\nfunc NewMinimalFileLinkMetadata(Url string, Rev string) *MinimalFileLinkMetadata {\n\ts := new(MinimalFileLinkMetadata)\n\ts.Url = Url\n\ts.Rev = Rev\n\treturn s\n}\n\n// RelocationBatchArgBase : has no documentation (yet)\ntype RelocationBatchArgBase struct {\n\t// Entries : List of entries to be moved or copied. Each entry is\n\t// `RelocationPath`.\n\tEntries []*RelocationPath `json:\"entries\"`\n\t// Autorename : If there's a conflict with any file, have the Dropbox server\n\t// try to autorename that file to avoid the conflict.\n\tAutorename bool `json:\"autorename\"`\n}\n\n// NewRelocationBatchArgBase returns a new RelocationBatchArgBase instance\nfunc NewRelocationBatchArgBase(Entries []*RelocationPath) *RelocationBatchArgBase {\n\ts := new(RelocationBatchArgBase)\n\ts.Entries = Entries\n\ts.Autorename = false\n\treturn s\n}\n\n// MoveBatchArg : has no documentation (yet)\ntype MoveBatchArg struct {\n\tRelocationBatchArgBase\n\t// AllowOwnershipTransfer : Allow moves by owner even if it would result in\n\t// an ownership transfer for the content being moved. This does not apply to\n\t// copies.\n\tAllowOwnershipTransfer bool `json:\"allow_ownership_transfer\"`\n}\n\n// NewMoveBatchArg returns a new MoveBatchArg instance\nfunc NewMoveBatchArg(Entries []*RelocationPath) *MoveBatchArg {\n\ts := new(MoveBatchArg)\n\ts.Entries = Entries\n\ts.Autorename = false\n\ts.AllowOwnershipTransfer = false\n\treturn s\n}\n\n// MoveIntoFamilyError : has no documentation (yet)\ntype MoveIntoFamilyError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MoveIntoFamilyError\nconst (\n\tMoveIntoFamilyErrorIsSharedFolder = \"is_shared_folder\"\n\tMoveIntoFamilyErrorOther          = \"other\"\n)\n\n// MoveIntoVaultError : has no documentation (yet)\ntype MoveIntoVaultError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MoveIntoVaultError\nconst (\n\tMoveIntoVaultErrorIsSharedFolder = \"is_shared_folder\"\n\tMoveIntoVaultErrorOther          = \"other\"\n)\n\n// PaperContentError : has no documentation (yet)\ntype PaperContentError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperContentError\nconst (\n\tPaperContentErrorInsufficientPermissions = \"insufficient_permissions\"\n\tPaperContentErrorContentMalformed        = \"content_malformed\"\n\tPaperContentErrorDocLengthExceeded       = \"doc_length_exceeded\"\n\tPaperContentErrorImageSizeExceeded       = \"image_size_exceeded\"\n\tPaperContentErrorOther                   = \"other\"\n)\n\n// PaperCreateArg : has no documentation (yet)\ntype PaperCreateArg struct {\n\t// Path : The fully qualified path to the location in the user's Dropbox\n\t// where the Paper Doc should be created. This should include the document's\n\t// title and end with .paper.\n\tPath string `json:\"path\"`\n\t// ImportFormat : The format of the provided data.\n\tImportFormat *ImportFormat `json:\"import_format\"`\n}\n\n// NewPaperCreateArg returns a new PaperCreateArg instance\nfunc NewPaperCreateArg(Path string, ImportFormat *ImportFormat) *PaperCreateArg {\n\ts := new(PaperCreateArg)\n\ts.Path = Path\n\ts.ImportFormat = ImportFormat\n\treturn s\n}\n\n// PaperCreateError : has no documentation (yet)\ntype PaperCreateError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperCreateError\nconst (\n\tPaperCreateErrorInsufficientPermissions = \"insufficient_permissions\"\n\tPaperCreateErrorContentMalformed        = \"content_malformed\"\n\tPaperCreateErrorDocLengthExceeded       = \"doc_length_exceeded\"\n\tPaperCreateErrorImageSizeExceeded       = \"image_size_exceeded\"\n\tPaperCreateErrorOther                   = \"other\"\n\tPaperCreateErrorInvalidPath             = \"invalid_path\"\n\tPaperCreateErrorEmailUnverified         = \"email_unverified\"\n\tPaperCreateErrorInvalidFileExtension    = \"invalid_file_extension\"\n\tPaperCreateErrorPaperDisabled           = \"paper_disabled\"\n)\n\n// PaperCreateResult : has no documentation (yet)\ntype PaperCreateResult struct {\n\t// Url : URL to open the Paper Doc.\n\tUrl string `json:\"url\"`\n\t// ResultPath : The fully qualified path the Paper Doc was actually created\n\t// at.\n\tResultPath string `json:\"result_path\"`\n\t// FileId : The id to use in Dropbox APIs when referencing the Paper Doc.\n\tFileId string `json:\"file_id\"`\n\t// PaperRevision : The current doc revision.\n\tPaperRevision int64 `json:\"paper_revision\"`\n}\n\n// NewPaperCreateResult returns a new PaperCreateResult instance\nfunc NewPaperCreateResult(Url string, ResultPath string, FileId string, PaperRevision int64) *PaperCreateResult {\n\ts := new(PaperCreateResult)\n\ts.Url = Url\n\ts.ResultPath = ResultPath\n\ts.FileId = FileId\n\ts.PaperRevision = PaperRevision\n\treturn s\n}\n\n// PaperDocUpdatePolicy : has no documentation (yet)\ntype PaperDocUpdatePolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperDocUpdatePolicy\nconst (\n\tPaperDocUpdatePolicyUpdate    = \"update\"\n\tPaperDocUpdatePolicyOverwrite = \"overwrite\"\n\tPaperDocUpdatePolicyPrepend   = \"prepend\"\n\tPaperDocUpdatePolicyAppend    = \"append\"\n\tPaperDocUpdatePolicyOther     = \"other\"\n)\n\n// PaperUpdateArg : has no documentation (yet)\ntype PaperUpdateArg struct {\n\t// Path : Path in the user's Dropbox to update. The path must correspond to\n\t// a Paper doc or an error will be returned.\n\tPath string `json:\"path\"`\n\t// ImportFormat : The format of the provided data.\n\tImportFormat *ImportFormat `json:\"import_format\"`\n\t// DocUpdatePolicy : How the provided content should be applied to the doc.\n\tDocUpdatePolicy *PaperDocUpdatePolicy `json:\"doc_update_policy\"`\n\t// PaperRevision : The latest doc revision. Required when doc_update_policy\n\t// is update. This value must match the current revision of the doc or error\n\t// revision_mismatch will be returned.\n\tPaperRevision int64 `json:\"paper_revision,omitempty\"`\n}\n\n// NewPaperUpdateArg returns a new PaperUpdateArg instance\nfunc NewPaperUpdateArg(Path string, ImportFormat *ImportFormat, DocUpdatePolicy *PaperDocUpdatePolicy) *PaperUpdateArg {\n\ts := new(PaperUpdateArg)\n\ts.Path = Path\n\ts.ImportFormat = ImportFormat\n\ts.DocUpdatePolicy = DocUpdatePolicy\n\treturn s\n}\n\n// PaperUpdateError : has no documentation (yet)\ntype PaperUpdateError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for PaperUpdateError\nconst (\n\tPaperUpdateErrorInsufficientPermissions = \"insufficient_permissions\"\n\tPaperUpdateErrorContentMalformed        = \"content_malformed\"\n\tPaperUpdateErrorDocLengthExceeded       = \"doc_length_exceeded\"\n\tPaperUpdateErrorImageSizeExceeded       = \"image_size_exceeded\"\n\tPaperUpdateErrorOther                   = \"other\"\n\tPaperUpdateErrorPath                    = \"path\"\n\tPaperUpdateErrorRevisionMismatch        = \"revision_mismatch\"\n\tPaperUpdateErrorDocArchived             = \"doc_archived\"\n\tPaperUpdateErrorDocDeleted              = \"doc_deleted\"\n)\n\n// UnmarshalJSON deserializes into a PaperUpdateError instance\nfunc (u *PaperUpdateError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// PaperUpdateResult : has no documentation (yet)\ntype PaperUpdateResult struct {\n\t// PaperRevision : The current doc revision.\n\tPaperRevision int64 `json:\"paper_revision\"`\n}\n\n// NewPaperUpdateResult returns a new PaperUpdateResult instance\nfunc NewPaperUpdateResult(PaperRevision int64) *PaperUpdateResult {\n\ts := new(PaperUpdateResult)\n\ts.PaperRevision = PaperRevision\n\treturn s\n}\n\n// PathOrLink : has no documentation (yet)\ntype PathOrLink struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath string `json:\"path,omitempty\"`\n\t// Link : has no documentation (yet)\n\tLink *SharedLinkFileInfo `json:\"link,omitempty\"`\n}\n\n// Valid tag values for PathOrLink\nconst (\n\tPathOrLinkPath  = \"path\"\n\tPathOrLinkLink  = \"link\"\n\tPathOrLinkOther = \"other\"\n)\n\n// UnmarshalJSON deserializes into a PathOrLink instance\nfunc (u *PathOrLink) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath string `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\tcase \"link\":\n\t\tif err = json.Unmarshal(body, &u.Link); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// PathToTags : has no documentation (yet)\ntype PathToTags struct {\n\t// Path : Path of the item.\n\tPath string `json:\"path\"`\n\t// Tags : Tags assigned to this item.\n\tTags []*Tag `json:\"tags\"`\n}\n\n// NewPathToTags returns a new PathToTags instance\nfunc NewPathToTags(Path string, Tags []*Tag) *PathToTags {\n\ts := new(PathToTags)\n\ts.Path = Path\n\ts.Tags = Tags\n\treturn s\n}\n\n// PhotoMetadata : Metadata for a photo.\ntype PhotoMetadata struct {\n\tMediaMetadata\n}\n\n// NewPhotoMetadata returns a new PhotoMetadata instance\nfunc NewPhotoMetadata() *PhotoMetadata {\n\ts := new(PhotoMetadata)\n\treturn s\n}\n\n// PreviewArg : has no documentation (yet)\ntype PreviewArg struct {\n\t// Path : The path of the file to preview.\n\tPath string `json:\"path\"`\n\t// Rev : Please specify revision in `path` instead.\n\tRev string `json:\"rev,omitempty\"`\n}\n\n// NewPreviewArg returns a new PreviewArg instance\nfunc NewPreviewArg(Path string) *PreviewArg {\n\ts := new(PreviewArg)\n\ts.Path = Path\n\treturn s\n}\n\n// PreviewError : has no documentation (yet)\ntype PreviewError struct {\n\tdropbox.Tagged\n\t// Path : An error occurs when downloading metadata for the file.\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for PreviewError\nconst (\n\tPreviewErrorPath                 = \"path\"\n\tPreviewErrorInProgress           = \"in_progress\"\n\tPreviewErrorUnsupportedExtension = \"unsupported_extension\"\n\tPreviewErrorUnsupportedContent   = \"unsupported_content\"\n)\n\n// UnmarshalJSON deserializes into a PreviewError instance\nfunc (u *PreviewError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : An error occurs when downloading metadata for the file.\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// PreviewResult : has no documentation (yet)\ntype PreviewResult struct {\n\t// FileMetadata : Metadata corresponding to the file received as an\n\t// argument. Will be populated if the endpoint is called with a path\n\t// (ReadPath).\n\tFileMetadata *FileMetadata `json:\"file_metadata,omitempty\"`\n\t// LinkMetadata : Minimal metadata corresponding to the file received as an\n\t// argument. Will be populated if the endpoint is called using a shared link\n\t// (SharedLinkFileInfo).\n\tLinkMetadata *MinimalFileLinkMetadata `json:\"link_metadata,omitempty\"`\n}\n\n// NewPreviewResult returns a new PreviewResult instance\nfunc NewPreviewResult() *PreviewResult {\n\ts := new(PreviewResult)\n\treturn s\n}\n\n// RelocationPath : has no documentation (yet)\ntype RelocationPath struct {\n\t// FromPath : Path in the user's Dropbox to be copied or moved.\n\tFromPath string `json:\"from_path\"`\n\t// ToPath : Path in the user's Dropbox that is the destination.\n\tToPath string `json:\"to_path\"`\n}\n\n// NewRelocationPath returns a new RelocationPath instance\nfunc NewRelocationPath(FromPath string, ToPath string) *RelocationPath {\n\ts := new(RelocationPath)\n\ts.FromPath = FromPath\n\ts.ToPath = ToPath\n\treturn s\n}\n\n// RelocationArg : has no documentation (yet)\ntype RelocationArg struct {\n\tRelocationPath\n\t// AllowSharedFolder : This flag has no effect.\n\tAllowSharedFolder bool `json:\"allow_shared_folder\"`\n\t// Autorename : If there's a conflict, have the Dropbox server try to\n\t// autorename the file to avoid the conflict.\n\tAutorename bool `json:\"autorename\"`\n\t// AllowOwnershipTransfer : Allow moves by owner even if it would result in\n\t// an ownership transfer for the content being moved. This does not apply to\n\t// copies.\n\tAllowOwnershipTransfer bool `json:\"allow_ownership_transfer\"`\n}\n\n// NewRelocationArg returns a new RelocationArg instance\nfunc NewRelocationArg(FromPath string, ToPath string) *RelocationArg {\n\ts := new(RelocationArg)\n\ts.FromPath = FromPath\n\ts.ToPath = ToPath\n\ts.AllowSharedFolder = false\n\ts.Autorename = false\n\ts.AllowOwnershipTransfer = false\n\treturn s\n}\n\n// RelocationBatchArg : has no documentation (yet)\ntype RelocationBatchArg struct {\n\tRelocationBatchArgBase\n\t// AllowSharedFolder : This flag has no effect.\n\tAllowSharedFolder bool `json:\"allow_shared_folder\"`\n\t// AllowOwnershipTransfer : Allow moves by owner even if it would result in\n\t// an ownership transfer for the content being moved. This does not apply to\n\t// copies.\n\tAllowOwnershipTransfer bool `json:\"allow_ownership_transfer\"`\n}\n\n// NewRelocationBatchArg returns a new RelocationBatchArg instance\nfunc NewRelocationBatchArg(Entries []*RelocationPath) *RelocationBatchArg {\n\ts := new(RelocationBatchArg)\n\ts.Entries = Entries\n\ts.Autorename = false\n\ts.AllowSharedFolder = false\n\ts.AllowOwnershipTransfer = false\n\treturn s\n}\n\n// RelocationError : has no documentation (yet)\ntype RelocationError struct {\n\tdropbox.Tagged\n\t// FromLookup : has no documentation (yet)\n\tFromLookup *LookupError `json:\"from_lookup,omitempty\"`\n\t// FromWrite : has no documentation (yet)\n\tFromWrite *WriteError `json:\"from_write,omitempty\"`\n\t// To : has no documentation (yet)\n\tTo *WriteError `json:\"to,omitempty\"`\n\t// CantMoveIntoVault : Some content cannot be moved into Vault under certain\n\t// circumstances, see detailed error.\n\tCantMoveIntoVault *MoveIntoVaultError `json:\"cant_move_into_vault,omitempty\"`\n\t// CantMoveIntoFamily : Some content cannot be moved into the Family Room\n\t// folder under certain circumstances, see detailed error.\n\tCantMoveIntoFamily *MoveIntoFamilyError `json:\"cant_move_into_family,omitempty\"`\n}\n\n// Valid tag values for RelocationError\nconst (\n\tRelocationErrorFromLookup               = \"from_lookup\"\n\tRelocationErrorFromWrite                = \"from_write\"\n\tRelocationErrorTo                       = \"to\"\n\tRelocationErrorCantCopySharedFolder     = \"cant_copy_shared_folder\"\n\tRelocationErrorCantNestSharedFolder     = \"cant_nest_shared_folder\"\n\tRelocationErrorCantMoveFolderIntoItself = \"cant_move_folder_into_itself\"\n\tRelocationErrorTooManyFiles             = \"too_many_files\"\n\tRelocationErrorDuplicatedOrNestedPaths  = \"duplicated_or_nested_paths\"\n\tRelocationErrorCantTransferOwnership    = \"cant_transfer_ownership\"\n\tRelocationErrorInsufficientQuota        = \"insufficient_quota\"\n\tRelocationErrorInternalError            = \"internal_error\"\n\tRelocationErrorCantMoveSharedFolder     = \"cant_move_shared_folder\"\n\tRelocationErrorCantMoveIntoVault        = \"cant_move_into_vault\"\n\tRelocationErrorCantMoveIntoFamily       = \"cant_move_into_family\"\n\tRelocationErrorOther                    = \"other\"\n)\n\n// UnmarshalJSON deserializes into a RelocationError instance\nfunc (u *RelocationError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// FromLookup : has no documentation (yet)\n\t\tFromLookup *LookupError `json:\"from_lookup,omitempty\"`\n\t\t// FromWrite : has no documentation (yet)\n\t\tFromWrite *WriteError `json:\"from_write,omitempty\"`\n\t\t// To : has no documentation (yet)\n\t\tTo *WriteError `json:\"to,omitempty\"`\n\t\t// CantMoveIntoVault : Some content cannot be moved into Vault under\n\t\t// certain circumstances, see detailed error.\n\t\tCantMoveIntoVault *MoveIntoVaultError `json:\"cant_move_into_vault,omitempty\"`\n\t\t// CantMoveIntoFamily : Some content cannot be moved into the Family\n\t\t// Room folder under certain circumstances, see detailed error.\n\t\tCantMoveIntoFamily *MoveIntoFamilyError `json:\"cant_move_into_family,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"from_lookup\":\n\t\tu.FromLookup = w.FromLookup\n\n\tcase \"from_write\":\n\t\tu.FromWrite = w.FromWrite\n\n\tcase \"to\":\n\t\tu.To = w.To\n\n\tcase \"cant_move_into_vault\":\n\t\tu.CantMoveIntoVault = w.CantMoveIntoVault\n\n\tcase \"cant_move_into_family\":\n\t\tu.CantMoveIntoFamily = w.CantMoveIntoFamily\n\n\t}\n\treturn nil\n}\n\n// RelocationBatchError : has no documentation (yet)\ntype RelocationBatchError struct {\n\tdropbox.Tagged\n\t// FromLookup : has no documentation (yet)\n\tFromLookup *LookupError `json:\"from_lookup,omitempty\"`\n\t// FromWrite : has no documentation (yet)\n\tFromWrite *WriteError `json:\"from_write,omitempty\"`\n\t// To : has no documentation (yet)\n\tTo *WriteError `json:\"to,omitempty\"`\n\t// CantMoveIntoVault : Some content cannot be moved into Vault under certain\n\t// circumstances, see detailed error.\n\tCantMoveIntoVault *MoveIntoVaultError `json:\"cant_move_into_vault,omitempty\"`\n\t// CantMoveIntoFamily : Some content cannot be moved into the Family Room\n\t// folder under certain circumstances, see detailed error.\n\tCantMoveIntoFamily *MoveIntoFamilyError `json:\"cant_move_into_family,omitempty\"`\n}\n\n// Valid tag values for RelocationBatchError\nconst (\n\tRelocationBatchErrorFromLookup               = \"from_lookup\"\n\tRelocationBatchErrorFromWrite                = \"from_write\"\n\tRelocationBatchErrorTo                       = \"to\"\n\tRelocationBatchErrorCantCopySharedFolder     = \"cant_copy_shared_folder\"\n\tRelocationBatchErrorCantNestSharedFolder     = \"cant_nest_shared_folder\"\n\tRelocationBatchErrorCantMoveFolderIntoItself = \"cant_move_folder_into_itself\"\n\tRelocationBatchErrorTooManyFiles             = \"too_many_files\"\n\tRelocationBatchErrorDuplicatedOrNestedPaths  = \"duplicated_or_nested_paths\"\n\tRelocationBatchErrorCantTransferOwnership    = \"cant_transfer_ownership\"\n\tRelocationBatchErrorInsufficientQuota        = \"insufficient_quota\"\n\tRelocationBatchErrorInternalError            = \"internal_error\"\n\tRelocationBatchErrorCantMoveSharedFolder     = \"cant_move_shared_folder\"\n\tRelocationBatchErrorCantMoveIntoVault        = \"cant_move_into_vault\"\n\tRelocationBatchErrorCantMoveIntoFamily       = \"cant_move_into_family\"\n\tRelocationBatchErrorOther                    = \"other\"\n\tRelocationBatchErrorTooManyWriteOperations   = \"too_many_write_operations\"\n)\n\n// UnmarshalJSON deserializes into a RelocationBatchError instance\nfunc (u *RelocationBatchError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// FromLookup : has no documentation (yet)\n\t\tFromLookup *LookupError `json:\"from_lookup,omitempty\"`\n\t\t// FromWrite : has no documentation (yet)\n\t\tFromWrite *WriteError `json:\"from_write,omitempty\"`\n\t\t// To : has no documentation (yet)\n\t\tTo *WriteError `json:\"to,omitempty\"`\n\t\t// CantMoveIntoVault : Some content cannot be moved into Vault under\n\t\t// certain circumstances, see detailed error.\n\t\tCantMoveIntoVault *MoveIntoVaultError `json:\"cant_move_into_vault,omitempty\"`\n\t\t// CantMoveIntoFamily : Some content cannot be moved into the Family\n\t\t// Room folder under certain circumstances, see detailed error.\n\t\tCantMoveIntoFamily *MoveIntoFamilyError `json:\"cant_move_into_family,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"from_lookup\":\n\t\tu.FromLookup = w.FromLookup\n\n\tcase \"from_write\":\n\t\tu.FromWrite = w.FromWrite\n\n\tcase \"to\":\n\t\tu.To = w.To\n\n\tcase \"cant_move_into_vault\":\n\t\tu.CantMoveIntoVault = w.CantMoveIntoVault\n\n\tcase \"cant_move_into_family\":\n\t\tu.CantMoveIntoFamily = w.CantMoveIntoFamily\n\n\t}\n\treturn nil\n}\n\n// RelocationBatchErrorEntry : has no documentation (yet)\ntype RelocationBatchErrorEntry struct {\n\tdropbox.Tagged\n\t// RelocationError : User errors that retry won't help.\n\tRelocationError *RelocationError `json:\"relocation_error,omitempty\"`\n}\n\n// Valid tag values for RelocationBatchErrorEntry\nconst (\n\tRelocationBatchErrorEntryRelocationError        = \"relocation_error\"\n\tRelocationBatchErrorEntryInternalError          = \"internal_error\"\n\tRelocationBatchErrorEntryTooManyWriteOperations = \"too_many_write_operations\"\n\tRelocationBatchErrorEntryOther                  = \"other\"\n)\n\n// UnmarshalJSON deserializes into a RelocationBatchErrorEntry instance\nfunc (u *RelocationBatchErrorEntry) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// RelocationError : User errors that retry won't help.\n\t\tRelocationError *RelocationError `json:\"relocation_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"relocation_error\":\n\t\tu.RelocationError = w.RelocationError\n\n\t}\n\treturn nil\n}\n\n// RelocationBatchJobStatus : has no documentation (yet)\ntype RelocationBatchJobStatus struct {\n\tdropbox.Tagged\n\t// Complete : The copy or move batch job has finished.\n\tComplete *RelocationBatchResult `json:\"complete,omitempty\"`\n\t// Failed : The copy or move batch job has failed with exception.\n\tFailed *RelocationBatchError `json:\"failed,omitempty\"`\n}\n\n// Valid tag values for RelocationBatchJobStatus\nconst (\n\tRelocationBatchJobStatusInProgress = \"in_progress\"\n\tRelocationBatchJobStatusComplete   = \"complete\"\n\tRelocationBatchJobStatusFailed     = \"failed\"\n)\n\n// UnmarshalJSON deserializes into a RelocationBatchJobStatus instance\nfunc (u *RelocationBatchJobStatus) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Failed : The copy or move batch job has failed with exception.\n\t\tFailed *RelocationBatchError `json:\"failed,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"failed\":\n\t\tu.Failed = w.Failed\n\n\t}\n\treturn nil\n}\n\n// RelocationBatchLaunch : Result returned by `copyBatch` or `moveBatch` that\n// may either launch an asynchronous job or complete synchronously.\ntype RelocationBatchLaunch struct {\n\tdropbox.Tagged\n\t// AsyncJobId : This response indicates that the processing is asynchronous.\n\t// The string is an id that can be used to obtain the status of the\n\t// asynchronous job.\n\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t// Complete : has no documentation (yet)\n\tComplete *RelocationBatchResult `json:\"complete,omitempty\"`\n}\n\n// Valid tag values for RelocationBatchLaunch\nconst (\n\tRelocationBatchLaunchAsyncJobId = \"async_job_id\"\n\tRelocationBatchLaunchComplete   = \"complete\"\n\tRelocationBatchLaunchOther      = \"other\"\n)\n\n// UnmarshalJSON deserializes into a RelocationBatchLaunch instance\nfunc (u *RelocationBatchLaunch) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AsyncJobId : This response indicates that the processing is\n\t\t// asynchronous. The string is an id that can be used to obtain the\n\t\t// status of the asynchronous job.\n\t\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"async_job_id\":\n\t\tu.AsyncJobId = w.AsyncJobId\n\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// RelocationBatchResult : has no documentation (yet)\ntype RelocationBatchResult struct {\n\tFileOpsResult\n\t// Entries : has no documentation (yet)\n\tEntries []*RelocationBatchResultData `json:\"entries\"`\n}\n\n// NewRelocationBatchResult returns a new RelocationBatchResult instance\nfunc NewRelocationBatchResult(Entries []*RelocationBatchResultData) *RelocationBatchResult {\n\ts := new(RelocationBatchResult)\n\ts.Entries = Entries\n\treturn s\n}\n\n// RelocationBatchResultData : has no documentation (yet)\ntype RelocationBatchResultData struct {\n\t// Metadata : Metadata of the relocated object.\n\tMetadata IsMetadata `json:\"metadata\"`\n}\n\n// NewRelocationBatchResultData returns a new RelocationBatchResultData instance\nfunc NewRelocationBatchResultData(Metadata IsMetadata) *RelocationBatchResultData {\n\ts := new(RelocationBatchResultData)\n\ts.Metadata = Metadata\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a RelocationBatchResultData instance\nfunc (u *RelocationBatchResultData) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// Metadata : Metadata of the relocated object.\n\t\tMetadata json.RawMessage `json:\"metadata\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tMetadata, err := IsMetadataFromJSON(w.Metadata)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.Metadata = Metadata\n\treturn nil\n}\n\n// RelocationBatchResultEntry : has no documentation (yet)\ntype RelocationBatchResultEntry struct {\n\tdropbox.Tagged\n\t// Success : has no documentation (yet)\n\tSuccess IsMetadata `json:\"success,omitempty\"`\n\t// Failure : has no documentation (yet)\n\tFailure *RelocationBatchErrorEntry `json:\"failure,omitempty\"`\n}\n\n// Valid tag values for RelocationBatchResultEntry\nconst (\n\tRelocationBatchResultEntrySuccess = \"success\"\n\tRelocationBatchResultEntryFailure = \"failure\"\n\tRelocationBatchResultEntryOther   = \"other\"\n)\n\n// UnmarshalJSON deserializes into a RelocationBatchResultEntry instance\nfunc (u *RelocationBatchResultEntry) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Success : has no documentation (yet)\n\t\tSuccess json.RawMessage `json:\"success,omitempty\"`\n\t\t// Failure : has no documentation (yet)\n\t\tFailure *RelocationBatchErrorEntry `json:\"failure,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tif u.Success, err = IsMetadataFromJSON(w.Success); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"failure\":\n\t\tu.Failure = w.Failure\n\n\t}\n\treturn nil\n}\n\n// RelocationBatchV2JobStatus : Result returned by `copyBatchCheck` or\n// `moveBatchCheck` that may either be in progress or completed with result for\n// each entry.\ntype RelocationBatchV2JobStatus struct {\n\tdropbox.Tagged\n\t// Complete : The copy or move batch job has finished.\n\tComplete *RelocationBatchV2Result `json:\"complete,omitempty\"`\n}\n\n// Valid tag values for RelocationBatchV2JobStatus\nconst (\n\tRelocationBatchV2JobStatusInProgress = \"in_progress\"\n\tRelocationBatchV2JobStatusComplete   = \"complete\"\n)\n\n// UnmarshalJSON deserializes into a RelocationBatchV2JobStatus instance\nfunc (u *RelocationBatchV2JobStatus) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// RelocationBatchV2Launch : Result returned by `copyBatch` or `moveBatch` that\n// may either launch an asynchronous job or complete synchronously.\ntype RelocationBatchV2Launch struct {\n\tdropbox.Tagged\n\t// AsyncJobId : This response indicates that the processing is asynchronous.\n\t// The string is an id that can be used to obtain the status of the\n\t// asynchronous job.\n\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t// Complete : has no documentation (yet)\n\tComplete *RelocationBatchV2Result `json:\"complete,omitempty\"`\n}\n\n// Valid tag values for RelocationBatchV2Launch\nconst (\n\tRelocationBatchV2LaunchAsyncJobId = \"async_job_id\"\n\tRelocationBatchV2LaunchComplete   = \"complete\"\n)\n\n// UnmarshalJSON deserializes into a RelocationBatchV2Launch instance\nfunc (u *RelocationBatchV2Launch) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AsyncJobId : This response indicates that the processing is\n\t\t// asynchronous. The string is an id that can be used to obtain the\n\t\t// status of the asynchronous job.\n\t\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"async_job_id\":\n\t\tu.AsyncJobId = w.AsyncJobId\n\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// RelocationBatchV2Result : has no documentation (yet)\ntype RelocationBatchV2Result struct {\n\tFileOpsResult\n\t// Entries : Each entry in CopyBatchArg.entries or `MoveBatchArg.entries`\n\t// will appear at the same position inside\n\t// `RelocationBatchV2Result.entries`.\n\tEntries []*RelocationBatchResultEntry `json:\"entries\"`\n}\n\n// NewRelocationBatchV2Result returns a new RelocationBatchV2Result instance\nfunc NewRelocationBatchV2Result(Entries []*RelocationBatchResultEntry) *RelocationBatchV2Result {\n\ts := new(RelocationBatchV2Result)\n\ts.Entries = Entries\n\treturn s\n}\n\n// RelocationResult : has no documentation (yet)\ntype RelocationResult struct {\n\tFileOpsResult\n\t// Metadata : Metadata of the relocated object.\n\tMetadata IsMetadata `json:\"metadata\"`\n}\n\n// NewRelocationResult returns a new RelocationResult instance\nfunc NewRelocationResult(Metadata IsMetadata) *RelocationResult {\n\ts := new(RelocationResult)\n\ts.Metadata = Metadata\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a RelocationResult instance\nfunc (u *RelocationResult) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// Metadata : Metadata of the relocated object.\n\t\tMetadata json.RawMessage `json:\"metadata\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tMetadata, err := IsMetadataFromJSON(w.Metadata)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.Metadata = Metadata\n\treturn nil\n}\n\n// RemoveTagArg : has no documentation (yet)\ntype RemoveTagArg struct {\n\t// Path : Path to the item to tag.\n\tPath string `json:\"path\"`\n\t// TagText : The tag to remove. Will be automatically converted to lowercase\n\t// letters.\n\tTagText string `json:\"tag_text\"`\n}\n\n// NewRemoveTagArg returns a new RemoveTagArg instance\nfunc NewRemoveTagArg(Path string, TagText string) *RemoveTagArg {\n\ts := new(RemoveTagArg)\n\ts.Path = Path\n\ts.TagText = TagText\n\treturn s\n}\n\n// RemoveTagError : has no documentation (yet)\ntype RemoveTagError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for RemoveTagError\nconst (\n\tRemoveTagErrorPath          = \"path\"\n\tRemoveTagErrorOther         = \"other\"\n\tRemoveTagErrorTagNotPresent = \"tag_not_present\"\n)\n\n// UnmarshalJSON deserializes into a RemoveTagError instance\nfunc (u *RemoveTagError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// RestoreArg : has no documentation (yet)\ntype RestoreArg struct {\n\t// Path : The path to save the restored file.\n\tPath string `json:\"path\"`\n\t// Rev : The revision to restore.\n\tRev string `json:\"rev\"`\n}\n\n// NewRestoreArg returns a new RestoreArg instance\nfunc NewRestoreArg(Path string, Rev string) *RestoreArg {\n\ts := new(RestoreArg)\n\ts.Path = Path\n\ts.Rev = Rev\n\treturn s\n}\n\n// RestoreError : has no documentation (yet)\ntype RestoreError struct {\n\tdropbox.Tagged\n\t// PathLookup : An error occurs when downloading metadata for the file.\n\tPathLookup *LookupError `json:\"path_lookup,omitempty\"`\n\t// PathWrite : An error occurs when trying to restore the file to that path.\n\tPathWrite *WriteError `json:\"path_write,omitempty\"`\n}\n\n// Valid tag values for RestoreError\nconst (\n\tRestoreErrorPathLookup      = \"path_lookup\"\n\tRestoreErrorPathWrite       = \"path_write\"\n\tRestoreErrorInvalidRevision = \"invalid_revision\"\n\tRestoreErrorInProgress      = \"in_progress\"\n\tRestoreErrorOther           = \"other\"\n)\n\n// UnmarshalJSON deserializes into a RestoreError instance\nfunc (u *RestoreError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// PathLookup : An error occurs when downloading metadata for the file.\n\t\tPathLookup *LookupError `json:\"path_lookup,omitempty\"`\n\t\t// PathWrite : An error occurs when trying to restore the file to that\n\t\t// path.\n\t\tPathWrite *WriteError `json:\"path_write,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path_lookup\":\n\t\tu.PathLookup = w.PathLookup\n\n\tcase \"path_write\":\n\t\tu.PathWrite = w.PathWrite\n\n\t}\n\treturn nil\n}\n\n// SaveCopyReferenceArg : has no documentation (yet)\ntype SaveCopyReferenceArg struct {\n\t// CopyReference : A copy reference returned by `copyReferenceGet`.\n\tCopyReference string `json:\"copy_reference\"`\n\t// Path : Path in the user's Dropbox that is the destination.\n\tPath string `json:\"path\"`\n}\n\n// NewSaveCopyReferenceArg returns a new SaveCopyReferenceArg instance\nfunc NewSaveCopyReferenceArg(CopyReference string, Path string) *SaveCopyReferenceArg {\n\ts := new(SaveCopyReferenceArg)\n\ts.CopyReference = CopyReference\n\ts.Path = Path\n\treturn s\n}\n\n// SaveCopyReferenceError : has no documentation (yet)\ntype SaveCopyReferenceError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *WriteError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for SaveCopyReferenceError\nconst (\n\tSaveCopyReferenceErrorPath                 = \"path\"\n\tSaveCopyReferenceErrorInvalidCopyReference = \"invalid_copy_reference\"\n\tSaveCopyReferenceErrorNoPermission         = \"no_permission\"\n\tSaveCopyReferenceErrorNotFound             = \"not_found\"\n\tSaveCopyReferenceErrorTooManyFiles         = \"too_many_files\"\n\tSaveCopyReferenceErrorOther                = \"other\"\n)\n\n// UnmarshalJSON deserializes into a SaveCopyReferenceError instance\nfunc (u *SaveCopyReferenceError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *WriteError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// SaveCopyReferenceResult : has no documentation (yet)\ntype SaveCopyReferenceResult struct {\n\t// Metadata : The metadata of the saved file or folder in the user's\n\t// Dropbox.\n\tMetadata IsMetadata `json:\"metadata\"`\n}\n\n// NewSaveCopyReferenceResult returns a new SaveCopyReferenceResult instance\nfunc NewSaveCopyReferenceResult(Metadata IsMetadata) *SaveCopyReferenceResult {\n\ts := new(SaveCopyReferenceResult)\n\ts.Metadata = Metadata\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a SaveCopyReferenceResult instance\nfunc (u *SaveCopyReferenceResult) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// Metadata : The metadata of the saved file or folder in the user's\n\t\t// Dropbox.\n\t\tMetadata json.RawMessage `json:\"metadata\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tMetadata, err := IsMetadataFromJSON(w.Metadata)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.Metadata = Metadata\n\treturn nil\n}\n\n// SaveUrlArg : has no documentation (yet)\ntype SaveUrlArg struct {\n\t// Path : The path in Dropbox where the URL will be saved to.\n\tPath string `json:\"path\"`\n\t// Url : The URL to be saved.\n\tUrl string `json:\"url\"`\n}\n\n// NewSaveUrlArg returns a new SaveUrlArg instance\nfunc NewSaveUrlArg(Path string, Url string) *SaveUrlArg {\n\ts := new(SaveUrlArg)\n\ts.Path = Path\n\ts.Url = Url\n\treturn s\n}\n\n// SaveUrlError : has no documentation (yet)\ntype SaveUrlError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *WriteError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for SaveUrlError\nconst (\n\tSaveUrlErrorPath           = \"path\"\n\tSaveUrlErrorDownloadFailed = \"download_failed\"\n\tSaveUrlErrorInvalidUrl     = \"invalid_url\"\n\tSaveUrlErrorNotFound       = \"not_found\"\n\tSaveUrlErrorOther          = \"other\"\n)\n\n// UnmarshalJSON deserializes into a SaveUrlError instance\nfunc (u *SaveUrlError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *WriteError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// SaveUrlJobStatus : has no documentation (yet)\ntype SaveUrlJobStatus struct {\n\tdropbox.Tagged\n\t// Complete : Metadata of the file where the URL is saved to.\n\tComplete *FileMetadata `json:\"complete,omitempty\"`\n\t// Failed : has no documentation (yet)\n\tFailed *SaveUrlError `json:\"failed,omitempty\"`\n}\n\n// Valid tag values for SaveUrlJobStatus\nconst (\n\tSaveUrlJobStatusInProgress = \"in_progress\"\n\tSaveUrlJobStatusComplete   = \"complete\"\n\tSaveUrlJobStatusFailed     = \"failed\"\n)\n\n// UnmarshalJSON deserializes into a SaveUrlJobStatus instance\nfunc (u *SaveUrlJobStatus) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Failed : has no documentation (yet)\n\t\tFailed *SaveUrlError `json:\"failed,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"failed\":\n\t\tu.Failed = w.Failed\n\n\t}\n\treturn nil\n}\n\n// SaveUrlResult : has no documentation (yet)\ntype SaveUrlResult struct {\n\tdropbox.Tagged\n\t// AsyncJobId : This response indicates that the processing is asynchronous.\n\t// The string is an id that can be used to obtain the status of the\n\t// asynchronous job.\n\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t// Complete : Metadata of the file where the URL is saved to.\n\tComplete *FileMetadata `json:\"complete,omitempty\"`\n}\n\n// Valid tag values for SaveUrlResult\nconst (\n\tSaveUrlResultAsyncJobId = \"async_job_id\"\n\tSaveUrlResultComplete   = \"complete\"\n)\n\n// UnmarshalJSON deserializes into a SaveUrlResult instance\nfunc (u *SaveUrlResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AsyncJobId : This response indicates that the processing is\n\t\t// asynchronous. The string is an id that can be used to obtain the\n\t\t// status of the asynchronous job.\n\t\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"async_job_id\":\n\t\tu.AsyncJobId = w.AsyncJobId\n\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// SearchArg : has no documentation (yet)\ntype SearchArg struct {\n\t// Path : The path in the user's Dropbox to search. Should probably be a\n\t// folder.\n\tPath string `json:\"path\"`\n\t// Query : The string to search for. Query string may be rewritten to\n\t// improve relevance of results. The string is split on spaces into multiple\n\t// tokens. For file name searching, the last token is used for prefix\n\t// matching (i.e. \"bat c\" matches \"bat cave\" but not \"batman car\").\n\tQuery string `json:\"query\"`\n\t// Start : The starting index within the search results (used for paging).\n\tStart uint64 `json:\"start\"`\n\t// MaxResults : The maximum number of search results to return.\n\tMaxResults uint64 `json:\"max_results\"`\n\t// Mode : The search mode (filename, filename_and_content, or\n\t// deleted_filename). Note that searching file content is only available for\n\t// Dropbox Business accounts.\n\tMode *SearchMode `json:\"mode\"`\n}\n\n// NewSearchArg returns a new SearchArg instance\nfunc NewSearchArg(Path string, Query string) *SearchArg {\n\ts := new(SearchArg)\n\ts.Path = Path\n\ts.Query = Query\n\ts.Start = 0\n\ts.MaxResults = 100\n\ts.Mode = &SearchMode{Tagged: dropbox.Tagged{Tag: \"filename\"}}\n\treturn s\n}\n\n// SearchError : has no documentation (yet)\ntype SearchError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n\t// InvalidArgument : has no documentation (yet)\n\tInvalidArgument string `json:\"invalid_argument,omitempty\"`\n}\n\n// Valid tag values for SearchError\nconst (\n\tSearchErrorPath            = \"path\"\n\tSearchErrorInvalidArgument = \"invalid_argument\"\n\tSearchErrorInternalError   = \"internal_error\"\n\tSearchErrorOther           = \"other\"\n)\n\n// UnmarshalJSON deserializes into a SearchError instance\nfunc (u *SearchError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t\t// InvalidArgument : has no documentation (yet)\n\t\tInvalidArgument string `json:\"invalid_argument,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\tcase \"invalid_argument\":\n\t\tu.InvalidArgument = w.InvalidArgument\n\n\t}\n\treturn nil\n}\n\n// SearchMatch : has no documentation (yet)\ntype SearchMatch struct {\n\t// MatchType : The type of the match.\n\tMatchType *SearchMatchType `json:\"match_type\"`\n\t// Metadata : The metadata for the matched file or folder.\n\tMetadata IsMetadata `json:\"metadata\"`\n}\n\n// NewSearchMatch returns a new SearchMatch instance\nfunc NewSearchMatch(MatchType *SearchMatchType, Metadata IsMetadata) *SearchMatch {\n\ts := new(SearchMatch)\n\ts.MatchType = MatchType\n\ts.Metadata = Metadata\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a SearchMatch instance\nfunc (u *SearchMatch) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// MatchType : The type of the match.\n\t\tMatchType *SearchMatchType `json:\"match_type\"`\n\t\t// Metadata : The metadata for the matched file or folder.\n\t\tMetadata json.RawMessage `json:\"metadata\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tu.MatchType = w.MatchType\n\tMetadata, err := IsMetadataFromJSON(w.Metadata)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.Metadata = Metadata\n\treturn nil\n}\n\n// SearchMatchFieldOptions : has no documentation (yet)\ntype SearchMatchFieldOptions struct {\n\t// IncludeHighlights : Whether to include highlight span from file title.\n\tIncludeHighlights bool `json:\"include_highlights\"`\n}\n\n// NewSearchMatchFieldOptions returns a new SearchMatchFieldOptions instance\nfunc NewSearchMatchFieldOptions() *SearchMatchFieldOptions {\n\ts := new(SearchMatchFieldOptions)\n\ts.IncludeHighlights = false\n\treturn s\n}\n\n// SearchMatchType : Indicates what type of match was found for a given item.\ntype SearchMatchType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SearchMatchType\nconst (\n\tSearchMatchTypeFilename = \"filename\"\n\tSearchMatchTypeContent  = \"content\"\n\tSearchMatchTypeBoth     = \"both\"\n)\n\n// SearchMatchTypeV2 : Indicates what type of match was found for a given item.\ntype SearchMatchTypeV2 struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SearchMatchTypeV2\nconst (\n\tSearchMatchTypeV2Filename           = \"filename\"\n\tSearchMatchTypeV2FileContent        = \"file_content\"\n\tSearchMatchTypeV2FilenameAndContent = \"filename_and_content\"\n\tSearchMatchTypeV2ImageContent       = \"image_content\"\n\tSearchMatchTypeV2Other              = \"other\"\n)\n\n// SearchMatchV2 : has no documentation (yet)\ntype SearchMatchV2 struct {\n\t// Metadata : The metadata for the matched file or folder.\n\tMetadata *MetadataV2 `json:\"metadata\"`\n\t// MatchType : The type of the match.\n\tMatchType *SearchMatchTypeV2 `json:\"match_type,omitempty\"`\n\t// HighlightSpans : The list of HighlightSpan determines which parts of the\n\t// file title should be highlighted.\n\tHighlightSpans []*HighlightSpan `json:\"highlight_spans,omitempty\"`\n}\n\n// NewSearchMatchV2 returns a new SearchMatchV2 instance\nfunc NewSearchMatchV2(Metadata *MetadataV2) *SearchMatchV2 {\n\ts := new(SearchMatchV2)\n\ts.Metadata = Metadata\n\treturn s\n}\n\n// SearchMode : has no documentation (yet)\ntype SearchMode struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SearchMode\nconst (\n\tSearchModeFilename           = \"filename\"\n\tSearchModeFilenameAndContent = \"filename_and_content\"\n\tSearchModeDeletedFilename    = \"deleted_filename\"\n)\n\n// SearchOptions : has no documentation (yet)\ntype SearchOptions struct {\n\t// Path : Scopes the search to a path in the user's Dropbox. Searches the\n\t// entire Dropbox if not specified.\n\tPath string `json:\"path,omitempty\"`\n\t// MaxResults : The maximum number of search results to return.\n\tMaxResults uint64 `json:\"max_results\"`\n\t// OrderBy : Specified property of the order of search results. By default,\n\t// results are sorted by relevance.\n\tOrderBy *SearchOrderBy `json:\"order_by,omitempty\"`\n\t// FileStatus : Restricts search to the given file status.\n\tFileStatus *FileStatus `json:\"file_status\"`\n\t// FilenameOnly : Restricts search to only match on filenames.\n\tFilenameOnly bool `json:\"filename_only\"`\n\t// FileExtensions : Restricts search to only the extensions specified. Only\n\t// supported for active file search.\n\tFileExtensions []string `json:\"file_extensions,omitempty\"`\n\t// FileCategories : Restricts search to only the file categories specified.\n\t// Only supported for active file search.\n\tFileCategories []*FileCategory `json:\"file_categories,omitempty\"`\n\t// AccountId : Restricts results to the given account id.\n\tAccountId string `json:\"account_id,omitempty\"`\n}\n\n// NewSearchOptions returns a new SearchOptions instance\nfunc NewSearchOptions() *SearchOptions {\n\ts := new(SearchOptions)\n\ts.MaxResults = 100\n\ts.FileStatus = &FileStatus{Tagged: dropbox.Tagged{Tag: \"active\"}}\n\ts.FilenameOnly = false\n\treturn s\n}\n\n// SearchOrderBy : has no documentation (yet)\ntype SearchOrderBy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SearchOrderBy\nconst (\n\tSearchOrderByRelevance        = \"relevance\"\n\tSearchOrderByLastModifiedTime = \"last_modified_time\"\n\tSearchOrderByOther            = \"other\"\n)\n\n// SearchResult : has no documentation (yet)\ntype SearchResult struct {\n\t// Matches : A list (possibly empty) of matches for the query.\n\tMatches []*SearchMatch `json:\"matches\"`\n\t// More : Used for paging. If true, indicates there is another page of\n\t// results available that can be fetched by calling `search` again.\n\tMore bool `json:\"more\"`\n\t// Start : Used for paging. Value to set the start argument to when calling\n\t// `search` to fetch the next page of results.\n\tStart uint64 `json:\"start\"`\n}\n\n// NewSearchResult returns a new SearchResult instance\nfunc NewSearchResult(Matches []*SearchMatch, More bool, Start uint64) *SearchResult {\n\ts := new(SearchResult)\n\ts.Matches = Matches\n\ts.More = More\n\ts.Start = Start\n\treturn s\n}\n\n// SearchV2Arg : has no documentation (yet)\ntype SearchV2Arg struct {\n\t// Query : The string to search for. May match across multiple fields based\n\t// on the request arguments.\n\tQuery string `json:\"query\"`\n\t// Options : Options for more targeted search results.\n\tOptions *SearchOptions `json:\"options,omitempty\"`\n\t// MatchFieldOptions : Options for search results match fields.\n\tMatchFieldOptions *SearchMatchFieldOptions `json:\"match_field_options,omitempty\"`\n\t// IncludeHighlights : Deprecated and moved this option to\n\t// SearchMatchFieldOptions.\n\tIncludeHighlights bool `json:\"include_highlights,omitempty\"`\n}\n\n// NewSearchV2Arg returns a new SearchV2Arg instance\nfunc NewSearchV2Arg(Query string) *SearchV2Arg {\n\ts := new(SearchV2Arg)\n\ts.Query = Query\n\treturn s\n}\n\n// SearchV2ContinueArg : has no documentation (yet)\ntype SearchV2ContinueArg struct {\n\t// Cursor : The cursor returned by your last call to `search`. Used to fetch\n\t// the next page of results.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewSearchV2ContinueArg returns a new SearchV2ContinueArg instance\nfunc NewSearchV2ContinueArg(Cursor string) *SearchV2ContinueArg {\n\ts := new(SearchV2ContinueArg)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// SearchV2Result : has no documentation (yet)\ntype SearchV2Result struct {\n\t// Matches : A list (possibly empty) of matches for the query.\n\tMatches []*SearchMatchV2 `json:\"matches\"`\n\t// HasMore : Used for paging. If true, indicates there is another page of\n\t// results available that can be fetched by calling `searchContinue` with\n\t// the cursor.\n\tHasMore bool `json:\"has_more\"`\n\t// Cursor : Pass the cursor into `searchContinue` to fetch the next page of\n\t// results.\n\tCursor string `json:\"cursor,omitempty\"`\n}\n\n// NewSearchV2Result returns a new SearchV2Result instance\nfunc NewSearchV2Result(Matches []*SearchMatchV2, HasMore bool) *SearchV2Result {\n\ts := new(SearchV2Result)\n\ts.Matches = Matches\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// SharedLink : has no documentation (yet)\ntype SharedLink struct {\n\t// Url : Shared link url.\n\tUrl string `json:\"url\"`\n\t// Password : Password for the shared link.\n\tPassword string `json:\"password,omitempty\"`\n}\n\n// NewSharedLink returns a new SharedLink instance\nfunc NewSharedLink(Url string) *SharedLink {\n\ts := new(SharedLink)\n\ts.Url = Url\n\treturn s\n}\n\n// SharedLinkFileInfo : has no documentation (yet)\ntype SharedLinkFileInfo struct {\n\t// Url : The shared link corresponding to either a file or shared link to a\n\t// folder. If it is for a folder shared link, we use the path param to\n\t// determine for which file in the folder the view is for.\n\tUrl string `json:\"url\"`\n\t// Path : The path corresponding to a file in a shared link to a folder.\n\t// Required for shared links to folders.\n\tPath string `json:\"path,omitempty\"`\n\t// Password : Password for the shared link. Required for password-protected\n\t// shared links to files  unless it can be read from a cookie.\n\tPassword string `json:\"password,omitempty\"`\n}\n\n// NewSharedLinkFileInfo returns a new SharedLinkFileInfo instance\nfunc NewSharedLinkFileInfo(Url string) *SharedLinkFileInfo {\n\ts := new(SharedLinkFileInfo)\n\ts.Url = Url\n\treturn s\n}\n\n// SingleUserLock : has no documentation (yet)\ntype SingleUserLock struct {\n\t// Created : The time the lock was created.\n\tCreated time.Time `json:\"created\"`\n\t// LockHolderAccountId : The account ID of the lock holder if known.\n\tLockHolderAccountId string `json:\"lock_holder_account_id\"`\n\t// LockHolderTeamId : The id of the team of the account holder if it exists.\n\tLockHolderTeamId string `json:\"lock_holder_team_id,omitempty\"`\n}\n\n// NewSingleUserLock returns a new SingleUserLock instance\nfunc NewSingleUserLock(Created time.Time, LockHolderAccountId string) *SingleUserLock {\n\ts := new(SingleUserLock)\n\ts.Created = Created\n\ts.LockHolderAccountId = LockHolderAccountId\n\treturn s\n}\n\n// SymlinkInfo : has no documentation (yet)\ntype SymlinkInfo struct {\n\t// Target : The target this symlink points to.\n\tTarget string `json:\"target\"`\n}\n\n// NewSymlinkInfo returns a new SymlinkInfo instance\nfunc NewSymlinkInfo(Target string) *SymlinkInfo {\n\ts := new(SymlinkInfo)\n\ts.Target = Target\n\treturn s\n}\n\n// SyncSetting : has no documentation (yet)\ntype SyncSetting struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SyncSetting\nconst (\n\tSyncSettingDefault           = \"default\"\n\tSyncSettingNotSynced         = \"not_synced\"\n\tSyncSettingNotSyncedInactive = \"not_synced_inactive\"\n\tSyncSettingOther             = \"other\"\n)\n\n// SyncSettingArg : has no documentation (yet)\ntype SyncSettingArg struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SyncSettingArg\nconst (\n\tSyncSettingArgDefault   = \"default\"\n\tSyncSettingArgNotSynced = \"not_synced\"\n\tSyncSettingArgOther     = \"other\"\n)\n\n// SyncSettingsError : has no documentation (yet)\ntype SyncSettingsError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for SyncSettingsError\nconst (\n\tSyncSettingsErrorPath                     = \"path\"\n\tSyncSettingsErrorUnsupportedCombination   = \"unsupported_combination\"\n\tSyncSettingsErrorUnsupportedConfiguration = \"unsupported_configuration\"\n\tSyncSettingsErrorOther                    = \"other\"\n)\n\n// UnmarshalJSON deserializes into a SyncSettingsError instance\nfunc (u *SyncSettingsError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// Tag : Tag that can be added in multiple ways.\ntype Tag struct {\n\tdropbox.Tagged\n\t// UserGeneratedTag : Tag generated by the user.\n\tUserGeneratedTag *UserGeneratedTag `json:\"user_generated_tag,omitempty\"`\n}\n\n// Valid tag values for Tag\nconst (\n\tTagUserGeneratedTag = \"user_generated_tag\"\n\tTagOther            = \"other\"\n)\n\n// UnmarshalJSON deserializes into a Tag instance\nfunc (u *Tag) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"user_generated_tag\":\n\t\tif err = json.Unmarshal(body, &u.UserGeneratedTag); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// ThumbnailArg : has no documentation (yet)\ntype ThumbnailArg struct {\n\t// Path : The path to the image file you want to thumbnail.\n\tPath string `json:\"path\"`\n\t// Format : The format for the thumbnail image, jpeg (default) or png. For\n\t// images that are photos, jpeg should be preferred, while png is  better\n\t// for screenshots and digital arts.\n\tFormat *ThumbnailFormat `json:\"format\"`\n\t// Size : The size for the thumbnail image.\n\tSize *ThumbnailSize `json:\"size\"`\n\t// Mode : How to resize and crop the image to achieve the desired size.\n\tMode *ThumbnailMode `json:\"mode\"`\n}\n\n// NewThumbnailArg returns a new ThumbnailArg instance\nfunc NewThumbnailArg(Path string) *ThumbnailArg {\n\ts := new(ThumbnailArg)\n\ts.Path = Path\n\ts.Format = &ThumbnailFormat{Tagged: dropbox.Tagged{Tag: \"jpeg\"}}\n\ts.Size = &ThumbnailSize{Tagged: dropbox.Tagged{Tag: \"w64h64\"}}\n\ts.Mode = &ThumbnailMode{Tagged: dropbox.Tagged{Tag: \"strict\"}}\n\treturn s\n}\n\n// ThumbnailError : has no documentation (yet)\ntype ThumbnailError struct {\n\tdropbox.Tagged\n\t// Path : An error occurs when downloading metadata for the image.\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for ThumbnailError\nconst (\n\tThumbnailErrorPath                 = \"path\"\n\tThumbnailErrorUnsupportedExtension = \"unsupported_extension\"\n\tThumbnailErrorUnsupportedImage     = \"unsupported_image\"\n\tThumbnailErrorConversionError      = \"conversion_error\"\n)\n\n// UnmarshalJSON deserializes into a ThumbnailError instance\nfunc (u *ThumbnailError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : An error occurs when downloading metadata for the image.\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// ThumbnailFormat : has no documentation (yet)\ntype ThumbnailFormat struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ThumbnailFormat\nconst (\n\tThumbnailFormatJpeg = \"jpeg\"\n\tThumbnailFormatPng  = \"png\"\n)\n\n// ThumbnailMode : has no documentation (yet)\ntype ThumbnailMode struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ThumbnailMode\nconst (\n\tThumbnailModeStrict        = \"strict\"\n\tThumbnailModeBestfit       = \"bestfit\"\n\tThumbnailModeFitoneBestfit = \"fitone_bestfit\"\n)\n\n// ThumbnailSize : has no documentation (yet)\ntype ThumbnailSize struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ThumbnailSize\nconst (\n\tThumbnailSizeW32h32     = \"w32h32\"\n\tThumbnailSizeW64h64     = \"w64h64\"\n\tThumbnailSizeW128h128   = \"w128h128\"\n\tThumbnailSizeW256h256   = \"w256h256\"\n\tThumbnailSizeW480h320   = \"w480h320\"\n\tThumbnailSizeW640h480   = \"w640h480\"\n\tThumbnailSizeW960h640   = \"w960h640\"\n\tThumbnailSizeW1024h768  = \"w1024h768\"\n\tThumbnailSizeW2048h1536 = \"w2048h1536\"\n)\n\n// ThumbnailV2Arg : has no documentation (yet)\ntype ThumbnailV2Arg struct {\n\t// Resource : Information specifying which file to preview. This could be a\n\t// path to a file, a shared link pointing to a file, or a shared link\n\t// pointing to a folder, with a relative path.\n\tResource *PathOrLink `json:\"resource\"`\n\t// Format : The format for the thumbnail image, jpeg (default) or png. For\n\t// images that are photos, jpeg should be preferred, while png is  better\n\t// for screenshots and digital arts.\n\tFormat *ThumbnailFormat `json:\"format\"`\n\t// Size : The size for the thumbnail image.\n\tSize *ThumbnailSize `json:\"size\"`\n\t// Mode : How to resize and crop the image to achieve the desired size.\n\tMode *ThumbnailMode `json:\"mode\"`\n}\n\n// NewThumbnailV2Arg returns a new ThumbnailV2Arg instance\nfunc NewThumbnailV2Arg(Resource *PathOrLink) *ThumbnailV2Arg {\n\ts := new(ThumbnailV2Arg)\n\ts.Resource = Resource\n\ts.Format = &ThumbnailFormat{Tagged: dropbox.Tagged{Tag: \"jpeg\"}}\n\ts.Size = &ThumbnailSize{Tagged: dropbox.Tagged{Tag: \"w64h64\"}}\n\ts.Mode = &ThumbnailMode{Tagged: dropbox.Tagged{Tag: \"strict\"}}\n\treturn s\n}\n\n// ThumbnailV2Error : has no documentation (yet)\ntype ThumbnailV2Error struct {\n\tdropbox.Tagged\n\t// Path : An error occurred when downloading metadata for the image.\n\tPath *LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for ThumbnailV2Error\nconst (\n\tThumbnailV2ErrorPath                 = \"path\"\n\tThumbnailV2ErrorUnsupportedExtension = \"unsupported_extension\"\n\tThumbnailV2ErrorUnsupportedImage     = \"unsupported_image\"\n\tThumbnailV2ErrorConversionError      = \"conversion_error\"\n\tThumbnailV2ErrorAccessDenied         = \"access_denied\"\n\tThumbnailV2ErrorNotFound             = \"not_found\"\n\tThumbnailV2ErrorOther                = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ThumbnailV2Error instance\nfunc (u *ThumbnailV2Error) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : An error occurred when downloading metadata for the image.\n\t\tPath *LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// UnlockFileArg : has no documentation (yet)\ntype UnlockFileArg struct {\n\t// Path : Path in the user's Dropbox to a file.\n\tPath string `json:\"path\"`\n}\n\n// NewUnlockFileArg returns a new UnlockFileArg instance\nfunc NewUnlockFileArg(Path string) *UnlockFileArg {\n\ts := new(UnlockFileArg)\n\ts.Path = Path\n\treturn s\n}\n\n// UnlockFileBatchArg : has no documentation (yet)\ntype UnlockFileBatchArg struct {\n\t// Entries : List of 'entries'. Each 'entry' contains a path of the file\n\t// which will be unlocked. Duplicate path arguments in the batch are\n\t// considered only once.\n\tEntries []*UnlockFileArg `json:\"entries\"`\n}\n\n// NewUnlockFileBatchArg returns a new UnlockFileBatchArg instance\nfunc NewUnlockFileBatchArg(Entries []*UnlockFileArg) *UnlockFileBatchArg {\n\ts := new(UnlockFileBatchArg)\n\ts.Entries = Entries\n\treturn s\n}\n\n// UploadArg : has no documentation (yet)\ntype UploadArg struct {\n\tCommitInfo\n\t// ContentHash : A hash of the file content uploaded in this call. If\n\t// provided and the uploaded content does not match this hash, an error will\n\t// be returned. For more information see our `Content hash`\n\t// <https://www.dropbox.com/developers/reference/content-hash> page.\n\tContentHash string `json:\"content_hash,omitempty\"`\n}\n\n// NewUploadArg returns a new UploadArg instance\nfunc NewUploadArg(Path string) *UploadArg {\n\ts := new(UploadArg)\n\ts.Path = Path\n\ts.Mode = &WriteMode{Tagged: dropbox.Tagged{Tag: \"add\"}}\n\ts.Autorename = false\n\ts.Mute = false\n\ts.StrictConflict = false\n\treturn s\n}\n\n// UploadError : has no documentation (yet)\ntype UploadError struct {\n\tdropbox.Tagged\n\t// Path : Unable to save the uploaded contents to a file.\n\tPath *UploadWriteFailed `json:\"path,omitempty\"`\n\t// PropertiesError : The supplied property group is invalid. The file has\n\t// uploaded without property groups.\n\tPropertiesError *file_properties.InvalidPropertyGroupError `json:\"properties_error,omitempty\"`\n}\n\n// Valid tag values for UploadError\nconst (\n\tUploadErrorPath                = \"path\"\n\tUploadErrorPropertiesError     = \"properties_error\"\n\tUploadErrorPayloadTooLarge     = \"payload_too_large\"\n\tUploadErrorContentHashMismatch = \"content_hash_mismatch\"\n\tUploadErrorOther               = \"other\"\n)\n\n// UnmarshalJSON deserializes into a UploadError instance\nfunc (u *UploadError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// PropertiesError : The supplied property group is invalid. The file\n\t\t// has uploaded without property groups.\n\t\tPropertiesError *file_properties.InvalidPropertyGroupError `json:\"properties_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tif err = json.Unmarshal(body, &u.Path); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"properties_error\":\n\t\tu.PropertiesError = w.PropertiesError\n\n\t}\n\treturn nil\n}\n\n// UploadSessionAppendArg : has no documentation (yet)\ntype UploadSessionAppendArg struct {\n\t// Cursor : Contains the upload session ID and the offset.\n\tCursor *UploadSessionCursor `json:\"cursor\"`\n\t// Close : If true, the current session will be closed, at which point you\n\t// won't be able to call `uploadSessionAppend` anymore with the current\n\t// session.\n\tClose bool `json:\"close\"`\n\t// ContentHash : A hash of the file content uploaded in this call. If\n\t// provided and the uploaded content does not match this hash, an error will\n\t// be returned. For more information see our `Content hash`\n\t// <https://www.dropbox.com/developers/reference/content-hash> page.\n\tContentHash string `json:\"content_hash,omitempty\"`\n}\n\n// NewUploadSessionAppendArg returns a new UploadSessionAppendArg instance\nfunc NewUploadSessionAppendArg(Cursor *UploadSessionCursor) *UploadSessionAppendArg {\n\ts := new(UploadSessionAppendArg)\n\ts.Cursor = Cursor\n\ts.Close = false\n\treturn s\n}\n\n// UploadSessionLookupError : has no documentation (yet)\ntype UploadSessionLookupError struct {\n\tdropbox.Tagged\n\t// IncorrectOffset : The specified offset was incorrect. See the value for\n\t// the correct offset. This error may occur when a previous request was\n\t// received and processed successfully but the client did not receive the\n\t// response, e.g. due to a network error.\n\tIncorrectOffset *UploadSessionOffsetError `json:\"incorrect_offset,omitempty\"`\n}\n\n// Valid tag values for UploadSessionLookupError\nconst (\n\tUploadSessionLookupErrorNotFound                         = \"not_found\"\n\tUploadSessionLookupErrorIncorrectOffset                  = \"incorrect_offset\"\n\tUploadSessionLookupErrorClosed                           = \"closed\"\n\tUploadSessionLookupErrorNotClosed                        = \"not_closed\"\n\tUploadSessionLookupErrorTooLarge                         = \"too_large\"\n\tUploadSessionLookupErrorConcurrentSessionInvalidOffset   = \"concurrent_session_invalid_offset\"\n\tUploadSessionLookupErrorConcurrentSessionInvalidDataSize = \"concurrent_session_invalid_data_size\"\n\tUploadSessionLookupErrorPayloadTooLarge                  = \"payload_too_large\"\n\tUploadSessionLookupErrorOther                            = \"other\"\n)\n\n// UnmarshalJSON deserializes into a UploadSessionLookupError instance\nfunc (u *UploadSessionLookupError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"incorrect_offset\":\n\t\tif err = json.Unmarshal(body, &u.IncorrectOffset); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// UploadSessionAppendError : has no documentation (yet)\ntype UploadSessionAppendError struct {\n\tdropbox.Tagged\n\t// IncorrectOffset : The specified offset was incorrect. See the value for\n\t// the correct offset. This error may occur when a previous request was\n\t// received and processed successfully but the client did not receive the\n\t// response, e.g. due to a network error.\n\tIncorrectOffset *UploadSessionOffsetError `json:\"incorrect_offset,omitempty\"`\n}\n\n// Valid tag values for UploadSessionAppendError\nconst (\n\tUploadSessionAppendErrorNotFound                         = \"not_found\"\n\tUploadSessionAppendErrorIncorrectOffset                  = \"incorrect_offset\"\n\tUploadSessionAppendErrorClosed                           = \"closed\"\n\tUploadSessionAppendErrorNotClosed                        = \"not_closed\"\n\tUploadSessionAppendErrorTooLarge                         = \"too_large\"\n\tUploadSessionAppendErrorConcurrentSessionInvalidOffset   = \"concurrent_session_invalid_offset\"\n\tUploadSessionAppendErrorConcurrentSessionInvalidDataSize = \"concurrent_session_invalid_data_size\"\n\tUploadSessionAppendErrorPayloadTooLarge                  = \"payload_too_large\"\n\tUploadSessionAppendErrorOther                            = \"other\"\n\tUploadSessionAppendErrorContentHashMismatch              = \"content_hash_mismatch\"\n)\n\n// UnmarshalJSON deserializes into a UploadSessionAppendError instance\nfunc (u *UploadSessionAppendError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"incorrect_offset\":\n\t\tif err = json.Unmarshal(body, &u.IncorrectOffset); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// UploadSessionCursor : has no documentation (yet)\ntype UploadSessionCursor struct {\n\t// SessionId : The upload session ID (returned by `uploadSessionStart`).\n\tSessionId string `json:\"session_id\"`\n\t// Offset : Offset in bytes at which data should be appended. We use this to\n\t// make sure upload data isn't lost or duplicated in the event of a network\n\t// error.\n\tOffset uint64 `json:\"offset\"`\n}\n\n// NewUploadSessionCursor returns a new UploadSessionCursor instance\nfunc NewUploadSessionCursor(SessionId string, Offset uint64) *UploadSessionCursor {\n\ts := new(UploadSessionCursor)\n\ts.SessionId = SessionId\n\ts.Offset = Offset\n\treturn s\n}\n\n// UploadSessionFinishArg : has no documentation (yet)\ntype UploadSessionFinishArg struct {\n\t// Cursor : Contains the upload session ID and the offset.\n\tCursor *UploadSessionCursor `json:\"cursor\"`\n\t// Commit : Contains the path and other optional modifiers for the commit.\n\tCommit *CommitInfo `json:\"commit\"`\n\t// ContentHash : A hash of the file content uploaded in this call. If\n\t// provided and the uploaded content does not match this hash, an error will\n\t// be returned. For more information see our `Content hash`\n\t// <https://www.dropbox.com/developers/reference/content-hash> page.\n\tContentHash string `json:\"content_hash,omitempty\"`\n}\n\n// NewUploadSessionFinishArg returns a new UploadSessionFinishArg instance\nfunc NewUploadSessionFinishArg(Cursor *UploadSessionCursor, Commit *CommitInfo) *UploadSessionFinishArg {\n\ts := new(UploadSessionFinishArg)\n\ts.Cursor = Cursor\n\ts.Commit = Commit\n\treturn s\n}\n\n// UploadSessionFinishBatchArg : has no documentation (yet)\ntype UploadSessionFinishBatchArg struct {\n\t// Entries : Commit information for each file in the batch.\n\tEntries []*UploadSessionFinishArg `json:\"entries\"`\n}\n\n// NewUploadSessionFinishBatchArg returns a new UploadSessionFinishBatchArg instance\nfunc NewUploadSessionFinishBatchArg(Entries []*UploadSessionFinishArg) *UploadSessionFinishBatchArg {\n\ts := new(UploadSessionFinishBatchArg)\n\ts.Entries = Entries\n\treturn s\n}\n\n// UploadSessionFinishBatchJobStatus : has no documentation (yet)\ntype UploadSessionFinishBatchJobStatus struct {\n\tdropbox.Tagged\n\t// Complete : The `uploadSessionFinishBatch` has finished.\n\tComplete *UploadSessionFinishBatchResult `json:\"complete,omitempty\"`\n}\n\n// Valid tag values for UploadSessionFinishBatchJobStatus\nconst (\n\tUploadSessionFinishBatchJobStatusInProgress = \"in_progress\"\n\tUploadSessionFinishBatchJobStatusComplete   = \"complete\"\n)\n\n// UnmarshalJSON deserializes into a UploadSessionFinishBatchJobStatus instance\nfunc (u *UploadSessionFinishBatchJobStatus) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// UploadSessionFinishBatchLaunch : Result returned by\n// `uploadSessionFinishBatch` that may either launch an asynchronous job or\n// complete synchronously.\ntype UploadSessionFinishBatchLaunch struct {\n\tdropbox.Tagged\n\t// AsyncJobId : This response indicates that the processing is asynchronous.\n\t// The string is an id that can be used to obtain the status of the\n\t// asynchronous job.\n\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t// Complete : has no documentation (yet)\n\tComplete *UploadSessionFinishBatchResult `json:\"complete,omitempty\"`\n}\n\n// Valid tag values for UploadSessionFinishBatchLaunch\nconst (\n\tUploadSessionFinishBatchLaunchAsyncJobId = \"async_job_id\"\n\tUploadSessionFinishBatchLaunchComplete   = \"complete\"\n\tUploadSessionFinishBatchLaunchOther      = \"other\"\n)\n\n// UnmarshalJSON deserializes into a UploadSessionFinishBatchLaunch instance\nfunc (u *UploadSessionFinishBatchLaunch) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AsyncJobId : This response indicates that the processing is\n\t\t// asynchronous. The string is an id that can be used to obtain the\n\t\t// status of the asynchronous job.\n\t\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"async_job_id\":\n\t\tu.AsyncJobId = w.AsyncJobId\n\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// UploadSessionFinishBatchResult : has no documentation (yet)\ntype UploadSessionFinishBatchResult struct {\n\t// Entries : Each entry in `UploadSessionFinishBatchArg.entries` will appear\n\t// at the same position inside `UploadSessionFinishBatchResult.entries`.\n\tEntries []*UploadSessionFinishBatchResultEntry `json:\"entries\"`\n}\n\n// NewUploadSessionFinishBatchResult returns a new UploadSessionFinishBatchResult instance\nfunc NewUploadSessionFinishBatchResult(Entries []*UploadSessionFinishBatchResultEntry) *UploadSessionFinishBatchResult {\n\ts := new(UploadSessionFinishBatchResult)\n\ts.Entries = Entries\n\treturn s\n}\n\n// UploadSessionFinishBatchResultEntry : has no documentation (yet)\ntype UploadSessionFinishBatchResultEntry struct {\n\tdropbox.Tagged\n\t// Success : has no documentation (yet)\n\tSuccess *FileMetadata `json:\"success,omitempty\"`\n\t// Failure : has no documentation (yet)\n\tFailure *UploadSessionFinishError `json:\"failure,omitempty\"`\n}\n\n// Valid tag values for UploadSessionFinishBatchResultEntry\nconst (\n\tUploadSessionFinishBatchResultEntrySuccess = \"success\"\n\tUploadSessionFinishBatchResultEntryFailure = \"failure\"\n)\n\n// UnmarshalJSON deserializes into a UploadSessionFinishBatchResultEntry instance\nfunc (u *UploadSessionFinishBatchResultEntry) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Failure : has no documentation (yet)\n\t\tFailure *UploadSessionFinishError `json:\"failure,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tif err = json.Unmarshal(body, &u.Success); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"failure\":\n\t\tu.Failure = w.Failure\n\n\t}\n\treturn nil\n}\n\n// UploadSessionFinishError : has no documentation (yet)\ntype UploadSessionFinishError struct {\n\tdropbox.Tagged\n\t// LookupFailed : The session arguments are incorrect; the value explains\n\t// the reason.\n\tLookupFailed *UploadSessionLookupError `json:\"lookup_failed,omitempty\"`\n\t// Path : Unable to save the uploaded contents to a file. Data has already\n\t// been appended to the upload session. Please retry with empty data body\n\t// and updated offset.\n\tPath *WriteError `json:\"path,omitempty\"`\n\t// PropertiesError : The supplied property group is invalid. The file has\n\t// uploaded without property groups.\n\tPropertiesError *file_properties.InvalidPropertyGroupError `json:\"properties_error,omitempty\"`\n}\n\n// Valid tag values for UploadSessionFinishError\nconst (\n\tUploadSessionFinishErrorLookupFailed                    = \"lookup_failed\"\n\tUploadSessionFinishErrorPath                            = \"path\"\n\tUploadSessionFinishErrorPropertiesError                 = \"properties_error\"\n\tUploadSessionFinishErrorTooManySharedFolderTargets      = \"too_many_shared_folder_targets\"\n\tUploadSessionFinishErrorTooManyWriteOperations          = \"too_many_write_operations\"\n\tUploadSessionFinishErrorConcurrentSessionDataNotAllowed = \"concurrent_session_data_not_allowed\"\n\tUploadSessionFinishErrorConcurrentSessionNotClosed      = \"concurrent_session_not_closed\"\n\tUploadSessionFinishErrorConcurrentSessionMissingData    = \"concurrent_session_missing_data\"\n\tUploadSessionFinishErrorPayloadTooLarge                 = \"payload_too_large\"\n\tUploadSessionFinishErrorContentHashMismatch             = \"content_hash_mismatch\"\n\tUploadSessionFinishErrorOther                           = \"other\"\n)\n\n// UnmarshalJSON deserializes into a UploadSessionFinishError instance\nfunc (u *UploadSessionFinishError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// LookupFailed : The session arguments are incorrect; the value\n\t\t// explains the reason.\n\t\tLookupFailed *UploadSessionLookupError `json:\"lookup_failed,omitempty\"`\n\t\t// Path : Unable to save the uploaded contents to a file. Data has\n\t\t// already been appended to the upload session. Please retry with empty\n\t\t// data body and updated offset.\n\t\tPath *WriteError `json:\"path,omitempty\"`\n\t\t// PropertiesError : The supplied property group is invalid. The file\n\t\t// has uploaded without property groups.\n\t\tPropertiesError *file_properties.InvalidPropertyGroupError `json:\"properties_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"lookup_failed\":\n\t\tu.LookupFailed = w.LookupFailed\n\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\tcase \"properties_error\":\n\t\tu.PropertiesError = w.PropertiesError\n\n\t}\n\treturn nil\n}\n\n// UploadSessionOffsetError : has no documentation (yet)\ntype UploadSessionOffsetError struct {\n\t// CorrectOffset : The offset up to which data has been collected.\n\tCorrectOffset uint64 `json:\"correct_offset\"`\n}\n\n// NewUploadSessionOffsetError returns a new UploadSessionOffsetError instance\nfunc NewUploadSessionOffsetError(CorrectOffset uint64) *UploadSessionOffsetError {\n\ts := new(UploadSessionOffsetError)\n\ts.CorrectOffset = CorrectOffset\n\treturn s\n}\n\n// UploadSessionStartArg : has no documentation (yet)\ntype UploadSessionStartArg struct {\n\t// Close : If true, the current session will be closed, at which point you\n\t// won't be able to call `uploadSessionAppend` anymore with the current\n\t// session.\n\tClose bool `json:\"close\"`\n\t// SessionType : Type of upload session you want to start. If not specified,\n\t// default is `UploadSessionType.sequential`.\n\tSessionType *UploadSessionType `json:\"session_type,omitempty\"`\n\t// ContentHash : A hash of the file content uploaded in this call. If\n\t// provided and the uploaded content does not match this hash, an error will\n\t// be returned. For more information see our `Content hash`\n\t// <https://www.dropbox.com/developers/reference/content-hash> page.\n\tContentHash string `json:\"content_hash,omitempty\"`\n}\n\n// NewUploadSessionStartArg returns a new UploadSessionStartArg instance\nfunc NewUploadSessionStartArg() *UploadSessionStartArg {\n\ts := new(UploadSessionStartArg)\n\ts.Close = false\n\treturn s\n}\n\n// UploadSessionStartBatchArg : has no documentation (yet)\ntype UploadSessionStartBatchArg struct {\n\t// SessionType : Type of upload session you want to start. If not specified,\n\t// default is `UploadSessionType.sequential`.\n\tSessionType *UploadSessionType `json:\"session_type,omitempty\"`\n\t// NumSessions : The number of upload sessions to start.\n\tNumSessions uint64 `json:\"num_sessions\"`\n}\n\n// NewUploadSessionStartBatchArg returns a new UploadSessionStartBatchArg instance\nfunc NewUploadSessionStartBatchArg(NumSessions uint64) *UploadSessionStartBatchArg {\n\ts := new(UploadSessionStartBatchArg)\n\ts.NumSessions = NumSessions\n\treturn s\n}\n\n// UploadSessionStartBatchResult : has no documentation (yet)\ntype UploadSessionStartBatchResult struct {\n\t// SessionIds : A List of unique identifiers for the upload session. Pass\n\t// each session_id to `uploadSessionAppend` and `uploadSessionFinish`.\n\tSessionIds []string `json:\"session_ids\"`\n}\n\n// NewUploadSessionStartBatchResult returns a new UploadSessionStartBatchResult instance\nfunc NewUploadSessionStartBatchResult(SessionIds []string) *UploadSessionStartBatchResult {\n\ts := new(UploadSessionStartBatchResult)\n\ts.SessionIds = SessionIds\n\treturn s\n}\n\n// UploadSessionStartError : has no documentation (yet)\ntype UploadSessionStartError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for UploadSessionStartError\nconst (\n\tUploadSessionStartErrorConcurrentSessionDataNotAllowed  = \"concurrent_session_data_not_allowed\"\n\tUploadSessionStartErrorConcurrentSessionCloseNotAllowed = \"concurrent_session_close_not_allowed\"\n\tUploadSessionStartErrorPayloadTooLarge                  = \"payload_too_large\"\n\tUploadSessionStartErrorContentHashMismatch              = \"content_hash_mismatch\"\n\tUploadSessionStartErrorOther                            = \"other\"\n)\n\n// UploadSessionStartResult : has no documentation (yet)\ntype UploadSessionStartResult struct {\n\t// SessionId : A unique identifier for the upload session. Pass this to\n\t// `uploadSessionAppend` and `uploadSessionFinish`.\n\tSessionId string `json:\"session_id\"`\n}\n\n// NewUploadSessionStartResult returns a new UploadSessionStartResult instance\nfunc NewUploadSessionStartResult(SessionId string) *UploadSessionStartResult {\n\ts := new(UploadSessionStartResult)\n\ts.SessionId = SessionId\n\treturn s\n}\n\n// UploadSessionType : has no documentation (yet)\ntype UploadSessionType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for UploadSessionType\nconst (\n\tUploadSessionTypeSequential = \"sequential\"\n\tUploadSessionTypeConcurrent = \"concurrent\"\n\tUploadSessionTypeOther      = \"other\"\n)\n\n// UploadWriteFailed : has no documentation (yet)\ntype UploadWriteFailed struct {\n\t// Reason : The reason why the file couldn't be saved.\n\tReason *WriteError `json:\"reason\"`\n\t// UploadSessionId : The upload session ID; data has already been uploaded\n\t// to the corresponding upload session and this ID may be used to retry the\n\t// commit with `uploadSessionFinish`.\n\tUploadSessionId string `json:\"upload_session_id\"`\n}\n\n// NewUploadWriteFailed returns a new UploadWriteFailed instance\nfunc NewUploadWriteFailed(Reason *WriteError, UploadSessionId string) *UploadWriteFailed {\n\ts := new(UploadWriteFailed)\n\ts.Reason = Reason\n\ts.UploadSessionId = UploadSessionId\n\treturn s\n}\n\n// UserGeneratedTag : has no documentation (yet)\ntype UserGeneratedTag struct {\n\t// TagText : has no documentation (yet)\n\tTagText string `json:\"tag_text\"`\n}\n\n// NewUserGeneratedTag returns a new UserGeneratedTag instance\nfunc NewUserGeneratedTag(TagText string) *UserGeneratedTag {\n\ts := new(UserGeneratedTag)\n\ts.TagText = TagText\n\treturn s\n}\n\n// VideoMetadata : Metadata for a video.\ntype VideoMetadata struct {\n\tMediaMetadata\n\t// Duration : The duration of the video in milliseconds.\n\tDuration uint64 `json:\"duration,omitempty\"`\n}\n\n// NewVideoMetadata returns a new VideoMetadata instance\nfunc NewVideoMetadata() *VideoMetadata {\n\ts := new(VideoMetadata)\n\treturn s\n}\n\n// WriteConflictError : has no documentation (yet)\ntype WriteConflictError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for WriteConflictError\nconst (\n\tWriteConflictErrorFile         = \"file\"\n\tWriteConflictErrorFolder       = \"folder\"\n\tWriteConflictErrorFileAncestor = \"file_ancestor\"\n\tWriteConflictErrorOther        = \"other\"\n)\n\n// WriteError : has no documentation (yet)\ntype WriteError struct {\n\tdropbox.Tagged\n\t// MalformedPath : The given path does not satisfy the required path format.\n\t// Please refer to the `Path formats documentation`\n\t// <https://www.dropbox.com/developers/documentation/http/documentation#path-formats>\n\t// for more information.\n\tMalformedPath string `json:\"malformed_path,omitempty\"`\n\t// Conflict : Couldn't write to the target path because there was something\n\t// in the way.\n\tConflict *WriteConflictError `json:\"conflict,omitempty\"`\n}\n\n// Valid tag values for WriteError\nconst (\n\tWriteErrorMalformedPath          = \"malformed_path\"\n\tWriteErrorConflict               = \"conflict\"\n\tWriteErrorNoWritePermission      = \"no_write_permission\"\n\tWriteErrorInsufficientSpace      = \"insufficient_space\"\n\tWriteErrorDisallowedName         = \"disallowed_name\"\n\tWriteErrorTeamFolder             = \"team_folder\"\n\tWriteErrorOperationSuppressed    = \"operation_suppressed\"\n\tWriteErrorTooManyWriteOperations = \"too_many_write_operations\"\n\tWriteErrorOther                  = \"other\"\n)\n\n// UnmarshalJSON deserializes into a WriteError instance\nfunc (u *WriteError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// MalformedPath : The given path does not satisfy the required path\n\t\t// format. Please refer to the `Path formats documentation`\n\t\t// <https://www.dropbox.com/developers/documentation/http/documentation#path-formats>\n\t\t// for more information.\n\t\tMalformedPath string `json:\"malformed_path,omitempty\"`\n\t\t// Conflict : Couldn't write to the target path because there was\n\t\t// something in the way.\n\t\tConflict *WriteConflictError `json:\"conflict,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"malformed_path\":\n\t\tu.MalformedPath = w.MalformedPath\n\n\tcase \"conflict\":\n\t\tu.Conflict = w.Conflict\n\n\t}\n\treturn nil\n}\n\n// WriteMode : Your intent when writing a file to some path. This is used to\n// determine what constitutes a conflict and what the autorename strategy is. In\n// some situations, the conflict behavior is identical: (a) If the target path\n// doesn't refer to anything, the file is always written; no conflict. (b) If\n// the target path refers to a folder, it's always a conflict. (c) If the target\n// path refers to a file with identical contents, nothing gets written; no\n// conflict. The conflict checking differs in the case where there's a file at\n// the target path with contents different from the contents you're trying to\n// write.\ntype WriteMode struct {\n\tdropbox.Tagged\n\t// Update : Overwrite if the given \"rev\" matches the existing file's \"rev\".\n\t// The supplied value should be the latest known \"rev\" of the file, for\n\t// example, from `FileMetadata`, from when the file was last downloaded by\n\t// the app. This will cause the file on the Dropbox servers to be\n\t// overwritten if the given \"rev\" matches the existing file's current \"rev\"\n\t// on the Dropbox servers. The autorename strategy is to append the string\n\t// \"conflicted copy\" to the file name. For example, \"document.txt\" might\n\t// become \"document (conflicted copy).txt\" or \"document (Panda's conflicted\n\t// copy).txt\".\n\tUpdate string `json:\"update,omitempty\"`\n}\n\n// Valid tag values for WriteMode\nconst (\n\tWriteModeAdd       = \"add\"\n\tWriteModeOverwrite = \"overwrite\"\n\tWriteModeUpdate    = \"update\"\n)\n\n// UnmarshalJSON deserializes into a WriteMode instance\nfunc (u *WriteMode) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Update : Overwrite if the given \"rev\" matches the existing file's\n\t\t// \"rev\". The supplied value should be the latest known \"rev\" of the\n\t\t// file, for example, from `FileMetadata`, from when the file was last\n\t\t// downloaded by the app. This will cause the file on the Dropbox\n\t\t// servers to be overwritten if the given \"rev\" matches the existing\n\t\t// file's current \"rev\" on the Dropbox servers. The autorename strategy\n\t\t// is to append the string \"conflicted copy\" to the file name. For\n\t\t// example, \"document.txt\" might become \"document (conflicted copy).txt\"\n\t\t// or \"document (Panda's conflicted copy).txt\".\n\t\tUpdate string `json:\"update,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"update\":\n\t\tu.Update = w.Update\n\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "v6/dropbox/openid/client.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage openid\n\nimport (\n\t\"encoding/json\"\n\t\"io\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/auth\"\n)\n\n// Client interface describes all routes in this namespace\ntype Client interface {\n\t// Userinfo : This route is used for refreshing the info that is found in\n\t// the id_token during the OIDC flow. This route doesn't require any\n\t// arguments and will use the scopes approved for the given access token.\n\tUserinfo(arg *UserInfoArgs) (res *UserInfoResult, err error)\n}\n\ntype apiImpl dropbox.Context\n\n//UserinfoAPIError is an error-wrapper for the userinfo route\ntype UserinfoAPIError struct {\n\tdropbox.APIError\n\tEndpointError *UserInfoError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) Userinfo(arg *UserInfoArgs) (res *UserInfoResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"openid\",\n\t\tRoute:        \"userinfo\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr UserinfoAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n// New returns a Client implementation for this namespace\nfunc New(c dropbox.Config) Client {\n\tctx := apiImpl(dropbox.NewContext(c))\n\treturn &ctx\n}\n"
  },
  {
    "path": "v6/dropbox/openid/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package openid : has no documentation (yet)\npackage openid\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n)\n\n// AuthError : has no documentation (yet)\ntype AuthError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AuthError\nconst (\n\tAuthErrorInvalidToken = \"invalid_token\"\n\tAuthErrorNoOpenidAuth = \"no_openid_auth\"\n\tAuthErrorOther        = \"other\"\n)\n\n// UserInfoArgs : This struct is empty. The comment here is intentionally\n// emitted to avoid indentation issues with Stone.\ntype UserInfoArgs struct {\n}\n\n// NewUserInfoArgs returns a new UserInfoArgs instance\nfunc NewUserInfoArgs() *UserInfoArgs {\n\ts := new(UserInfoArgs)\n\treturn s\n}\n\n// UserInfoError : has no documentation (yet)\ntype UserInfoError struct {\n\t// Err : has no documentation (yet)\n\tErr *err_union `json:\"err,omitempty\"`\n\t// ErrorMessage : Brief explanation of the error.\n\tErrorMessage string `json:\"error_message\"`\n}\n\n// NewUserInfoError returns a new UserInfoError instance\nfunc NewUserInfoError() *UserInfoError {\n\ts := new(UserInfoError)\n\ts.ErrorMessage = \"\"\n\treturn s\n}\n\n// UserInfoResult : has no documentation (yet)\ntype UserInfoResult struct {\n\t// FamilyName : Last name of user.\n\tFamilyName string `json:\"family_name,omitempty\"`\n\t// GivenName : First name of user.\n\tGivenName string `json:\"given_name,omitempty\"`\n\t// Email : Email address of user.\n\tEmail string `json:\"email,omitempty\"`\n\t// EmailVerified : If user is email verified.\n\tEmailVerified bool `json:\"email_verified,omitempty\"`\n\t// Iss : Issuer of token (in this case Dropbox).\n\tIss string `json:\"iss\"`\n\t// Sub : An identifier for the user. This is the Dropbox account_id, a\n\t// string value such as dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc.\n\tSub string `json:\"sub\"`\n}\n\n// NewUserInfoResult returns a new UserInfoResult instance\nfunc NewUserInfoResult() *UserInfoResult {\n\ts := new(UserInfoResult)\n\ts.Iss = \"\"\n\ts.Sub = \"\"\n\treturn s\n}\n\n// ErrUnion : has no documentation (yet)\ntype err_union struct {\n\tdropbox.Tagged\n\t// AuthError : has no documentation (yet)\n\tAuthError *AuthError `json:\"auth_error,omitempty\"`\n}\n\n// Valid tag values for ErrUnion\nconst (\n\tErrUnionAuthError = \"auth_error\"\n\tErrUnionOther     = \"other\"\n)\n\n// UnmarshalJSON deserializes into a err_union instance\nfunc (u *err_union) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AuthError : has no documentation (yet)\n\t\tAuthError *AuthError `json:\"auth_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"auth_error\":\n\t\tu.AuthError = w.AuthError\n\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "v6/dropbox/paper/client.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage paper\n\nimport (\n\t\"encoding/json\"\n\t\"io\"\n\t\"log\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/auth\"\n)\n\n// Client interface describes all routes in this namespace\ntype Client interface {\n\t// DocsArchive : Marks the given Paper doc as archived. This action can be\n\t// performed or undone by anyone with edit permissions to the doc. Note that\n\t// this endpoint will continue to work for content created by users on the\n\t// older version of Paper. To check which version of Paper a user is on, use\n\t// /users/features/get_values. If the paper_as_files feature is enabled,\n\t// then the user is running the new version of Paper. This endpoint will be\n\t// retired in September 2020. Refer to the `Paper Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for more information.\n\t// Deprecated:\n\tDocsArchive(arg *RefPaperDoc) (err error)\n\t// DocsCreate : Creates a new Paper doc with the provided content. Note that\n\t// this endpoint will continue to work for content created by users on the\n\t// older version of Paper. To check which version of Paper a user is on, use\n\t// /users/features/get_values. If the paper_as_files feature is enabled,\n\t// then the user is running the new version of Paper. This endpoint will be\n\t// retired in September 2020. Refer to the `Paper Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for more information.\n\t// Deprecated:\n\tDocsCreate(arg *PaperDocCreateArgs, content io.Reader) (res *PaperDocCreateUpdateResult, err error)\n\t// DocsDownload : Exports and downloads Paper doc either as HTML or\n\t// markdown. Note that this endpoint will continue to work for content\n\t// created by users on the older version of Paper. To check which version of\n\t// Paper a user is on, use /users/features/get_values. If the paper_as_files\n\t// feature is enabled, then the user is running the new version of Paper.\n\t// Refer to the `Paper Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for migration information.\n\t// Deprecated:\n\tDocsDownload(arg *PaperDocExport) (res *PaperDocExportResult, content io.ReadCloser, err error)\n\t// DocsFolderUsersList : Lists the users who are explicitly invited to the\n\t// Paper folder in which the Paper doc is contained. For private folders all\n\t// users (including owner) shared on the folder are listed and for team\n\t// folders all non-team users shared on the folder are returned. Note that\n\t// this endpoint will continue to work for content created by users on the\n\t// older version of Paper. To check which version of Paper a user is on, use\n\t// /users/features/get_values. If the paper_as_files feature is enabled,\n\t// then the user is running the new version of Paper. Refer to the `Paper\n\t// Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for migration information.\n\t// Deprecated:\n\tDocsFolderUsersList(arg *ListUsersOnFolderArgs) (res *ListUsersOnFolderResponse, err error)\n\t// DocsFolderUsersListContinue : Once a cursor has been retrieved from\n\t// `docsFolderUsersList`, use this to paginate through all users on the\n\t// Paper folder. Note that this endpoint will continue to work for content\n\t// created by users on the older version of Paper. To check which version of\n\t// Paper a user is on, use /users/features/get_values. If the paper_as_files\n\t// feature is enabled, then the user is running the new version of Paper.\n\t// Refer to the `Paper Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for migration information.\n\t// Deprecated:\n\tDocsFolderUsersListContinue(arg *ListUsersOnFolderContinueArgs) (res *ListUsersOnFolderResponse, err error)\n\t// DocsGetFolderInfo : Retrieves folder information for the given Paper doc.\n\t// This includes:   - folder sharing policy; permissions for subfolders are\n\t// set by the top-level folder.   - full 'filepath', i.e. the list of\n\t// folders (both folderId and folderName) from     the root folder to the\n\t// folder directly containing the Paper doc.  If the Paper doc is not in any\n\t// folder (aka unfiled) the response will be empty. Note that this endpoint\n\t// will continue to work for content created by users on the older version\n\t// of Paper. To check which version of Paper a user is on, use\n\t// /users/features/get_values. If the paper_as_files feature is enabled,\n\t// then the user is running the new version of Paper. Refer to the `Paper\n\t// Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for migration information.\n\t// Deprecated:\n\tDocsGetFolderInfo(arg *RefPaperDoc) (res *FoldersContainingPaperDoc, err error)\n\t// DocsList : Return the list of all Paper docs according to the argument\n\t// specifications. To iterate over through the full pagination, pass the\n\t// cursor to `docsListContinue`. Note that this endpoint will continue to\n\t// work for content created by users on the older version of Paper. To check\n\t// which version of Paper a user is on, use /users/features/get_values. If\n\t// the paper_as_files feature is enabled, then the user is running the new\n\t// version of Paper. Refer to the `Paper Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for migration information.\n\t// Deprecated:\n\tDocsList(arg *ListPaperDocsArgs) (res *ListPaperDocsResponse, err error)\n\t// DocsListContinue : Once a cursor has been retrieved from `docsList`, use\n\t// this to paginate through all Paper doc. Note that this endpoint will\n\t// continue to work for content created by users on the older version of\n\t// Paper. To check which version of Paper a user is on, use\n\t// /users/features/get_values. If the paper_as_files feature is enabled,\n\t// then the user is running the new version of Paper. Refer to the `Paper\n\t// Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for migration information.\n\t// Deprecated:\n\tDocsListContinue(arg *ListPaperDocsContinueArgs) (res *ListPaperDocsResponse, err error)\n\t// DocsPermanentlyDelete : Permanently deletes the given Paper doc. This\n\t// operation is final as the doc cannot be recovered. This action can be\n\t// performed only by the doc owner. Note that this endpoint will continue to\n\t// work for content created by users on the older version of Paper. To check\n\t// which version of Paper a user is on, use /users/features/get_values. If\n\t// the paper_as_files feature is enabled, then the user is running the new\n\t// version of Paper. Refer to the `Paper Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for migration information.\n\t// Deprecated:\n\tDocsPermanentlyDelete(arg *RefPaperDoc) (err error)\n\t// DocsSharingPolicyGet : Gets the default sharing policy for the given\n\t// Paper doc. Note that this endpoint will continue to work for content\n\t// created by users on the older version of Paper. To check which version of\n\t// Paper a user is on, use /users/features/get_values. If the paper_as_files\n\t// feature is enabled, then the user is running the new version of Paper.\n\t// Refer to the `Paper Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for migration information.\n\t// Deprecated:\n\tDocsSharingPolicyGet(arg *RefPaperDoc) (res *SharingPolicy, err error)\n\t// DocsSharingPolicySet : Sets the default sharing policy for the given\n\t// Paper doc. The default 'team_sharing_policy' can be changed only by\n\t// teams, omit this field for personal accounts. The 'public_sharing_policy'\n\t// policy can't be set to the value 'disabled' because this setting can be\n\t// changed only via the team admin console. Note that this endpoint will\n\t// continue to work for content created by users on the older version of\n\t// Paper. To check which version of Paper a user is on, use\n\t// /users/features/get_values. If the paper_as_files feature is enabled,\n\t// then the user is running the new version of Paper. Refer to the `Paper\n\t// Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for migration information.\n\t// Deprecated:\n\tDocsSharingPolicySet(arg *PaperDocSharingPolicy) (err error)\n\t// DocsUpdate : Updates an existing Paper doc with the provided content.\n\t// Note that this endpoint will continue to work for content created by\n\t// users on the older version of Paper. To check which version of Paper a\n\t// user is on, use /users/features/get_values. If the paper_as_files feature\n\t// is enabled, then the user is running the new version of Paper. This\n\t// endpoint will be retired in September 2020. Refer to the `Paper Migration\n\t// Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for more information.\n\t// Deprecated:\n\tDocsUpdate(arg *PaperDocUpdateArgs, content io.Reader) (res *PaperDocCreateUpdateResult, err error)\n\t// DocsUsersAdd : Allows an owner or editor to add users to a Paper doc or\n\t// change their permissions using their email address or Dropbox account ID.\n\t// The doc owner's permissions cannot be changed. Note that this endpoint\n\t// will continue to work for content created by users on the older version\n\t// of Paper. To check which version of Paper a user is on, use\n\t// /users/features/get_values. If the paper_as_files feature is enabled,\n\t// then the user is running the new version of Paper. Refer to the `Paper\n\t// Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for migration information.\n\t// Deprecated:\n\tDocsUsersAdd(arg *AddPaperDocUser) (res []*AddPaperDocUserMemberResult, err error)\n\t// DocsUsersList : Lists all users who visited the Paper doc or users with\n\t// explicit access. This call excludes users who have been removed. The list\n\t// is sorted by the date of the visit or the share date. The list will\n\t// include both users, the explicitly shared ones as well as those who came\n\t// in using the Paper url link. Note that this endpoint will continue to\n\t// work for content created by users on the older version of Paper. To check\n\t// which version of Paper a user is on, use /users/features/get_values. If\n\t// the paper_as_files feature is enabled, then the user is running the new\n\t// version of Paper. Refer to the `Paper Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for migration information.\n\t// Deprecated:\n\tDocsUsersList(arg *ListUsersOnPaperDocArgs) (res *ListUsersOnPaperDocResponse, err error)\n\t// DocsUsersListContinue : Once a cursor has been retrieved from\n\t// `docsUsersList`, use this to paginate through all users on the Paper doc.\n\t// Note that this endpoint will continue to work for content created by\n\t// users on the older version of Paper. To check which version of Paper a\n\t// user is on, use /users/features/get_values. If the paper_as_files feature\n\t// is enabled, then the user is running the new version of Paper. Refer to\n\t// the `Paper Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for migration information.\n\t// Deprecated:\n\tDocsUsersListContinue(arg *ListUsersOnPaperDocContinueArgs) (res *ListUsersOnPaperDocResponse, err error)\n\t// DocsUsersRemove : Allows an owner or editor to remove users from a Paper\n\t// doc using their email address or Dropbox account ID. The doc owner cannot\n\t// be removed. Note that this endpoint will continue to work for content\n\t// created by users on the older version of Paper. To check which version of\n\t// Paper a user is on, use /users/features/get_values. If the paper_as_files\n\t// feature is enabled, then the user is running the new version of Paper.\n\t// Refer to the `Paper Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for migration information.\n\t// Deprecated:\n\tDocsUsersRemove(arg *RemovePaperDocUser) (err error)\n\t// FoldersCreate : Create a new Paper folder with the provided info. Note\n\t// that this endpoint will continue to work for content created by users on\n\t// the older version of Paper. To check which version of Paper a user is on,\n\t// use /users/features/get_values. If the paper_as_files feature is enabled,\n\t// then the user is running the new version of Paper. Refer to the `Paper\n\t// Migration Guide`\n\t// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>\n\t// for migration information.\n\t// Deprecated:\n\tFoldersCreate(arg *PaperFolderCreateArg) (res *PaperFolderCreateResult, err error)\n}\n\ntype apiImpl dropbox.Context\n\n//DocsArchiveAPIError is an error-wrapper for the docs/archive route\ntype DocsArchiveAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DocLookupError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsArchive(arg *RefPaperDoc) (err error) {\n\tlog.Printf(\"WARNING: API `DocsArchive` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/archive\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DocsArchiveAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//DocsCreateAPIError is an error-wrapper for the docs/create route\ntype DocsCreateAPIError struct {\n\tdropbox.APIError\n\tEndpointError *PaperDocCreateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsCreate(arg *PaperDocCreateArgs, content io.Reader) (res *PaperDocCreateUpdateResult, err error) {\n\tlog.Printf(\"WARNING: API `DocsCreate` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/create\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"upload\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, content)\n\tif err != nil {\n\t\tvar appErr DocsCreateAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DocsDownloadAPIError is an error-wrapper for the docs/download route\ntype DocsDownloadAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DocLookupError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsDownload(arg *PaperDocExport) (res *PaperDocExportResult, content io.ReadCloser, err error) {\n\tlog.Printf(\"WARNING: API `DocsDownload` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/download\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"download\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DocsDownloadAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tcontent = respBody\n\treturn\n}\n\n//DocsFolderUsersListAPIError is an error-wrapper for the docs/folder_users/list route\ntype DocsFolderUsersListAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DocLookupError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsFolderUsersList(arg *ListUsersOnFolderArgs) (res *ListUsersOnFolderResponse, err error) {\n\tlog.Printf(\"WARNING: API `DocsFolderUsersList` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/folder_users/list\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DocsFolderUsersListAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DocsFolderUsersListContinueAPIError is an error-wrapper for the docs/folder_users/list/continue route\ntype DocsFolderUsersListContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListUsersCursorError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsFolderUsersListContinue(arg *ListUsersOnFolderContinueArgs) (res *ListUsersOnFolderResponse, err error) {\n\tlog.Printf(\"WARNING: API `DocsFolderUsersListContinue` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/folder_users/list/continue\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DocsFolderUsersListContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DocsGetFolderInfoAPIError is an error-wrapper for the docs/get_folder_info route\ntype DocsGetFolderInfoAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DocLookupError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsGetFolderInfo(arg *RefPaperDoc) (res *FoldersContainingPaperDoc, err error) {\n\tlog.Printf(\"WARNING: API `DocsGetFolderInfo` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/get_folder_info\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DocsGetFolderInfoAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DocsListAPIError is an error-wrapper for the docs/list route\ntype DocsListAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsList(arg *ListPaperDocsArgs) (res *ListPaperDocsResponse, err error) {\n\tlog.Printf(\"WARNING: API `DocsList` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/list\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DocsListAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DocsListContinueAPIError is an error-wrapper for the docs/list/continue route\ntype DocsListContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListDocsCursorError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsListContinue(arg *ListPaperDocsContinueArgs) (res *ListPaperDocsResponse, err error) {\n\tlog.Printf(\"WARNING: API `DocsListContinue` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/list/continue\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DocsListContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DocsPermanentlyDeleteAPIError is an error-wrapper for the docs/permanently_delete route\ntype DocsPermanentlyDeleteAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DocLookupError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsPermanentlyDelete(arg *RefPaperDoc) (err error) {\n\tlog.Printf(\"WARNING: API `DocsPermanentlyDelete` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/permanently_delete\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DocsPermanentlyDeleteAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//DocsSharingPolicyGetAPIError is an error-wrapper for the docs/sharing_policy/get route\ntype DocsSharingPolicyGetAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DocLookupError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsSharingPolicyGet(arg *RefPaperDoc) (res *SharingPolicy, err error) {\n\tlog.Printf(\"WARNING: API `DocsSharingPolicyGet` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/sharing_policy/get\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DocsSharingPolicyGetAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DocsSharingPolicySetAPIError is an error-wrapper for the docs/sharing_policy/set route\ntype DocsSharingPolicySetAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DocLookupError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsSharingPolicySet(arg *PaperDocSharingPolicy) (err error) {\n\tlog.Printf(\"WARNING: API `DocsSharingPolicySet` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/sharing_policy/set\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DocsSharingPolicySetAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//DocsUpdateAPIError is an error-wrapper for the docs/update route\ntype DocsUpdateAPIError struct {\n\tdropbox.APIError\n\tEndpointError *PaperDocUpdateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsUpdate(arg *PaperDocUpdateArgs, content io.Reader) (res *PaperDocCreateUpdateResult, err error) {\n\tlog.Printf(\"WARNING: API `DocsUpdate` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/update\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"upload\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, content)\n\tif err != nil {\n\t\tvar appErr DocsUpdateAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DocsUsersAddAPIError is an error-wrapper for the docs/users/add route\ntype DocsUsersAddAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DocLookupError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsUsersAdd(arg *AddPaperDocUser) (res []*AddPaperDocUserMemberResult, err error) {\n\tlog.Printf(\"WARNING: API `DocsUsersAdd` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/users/add\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DocsUsersAddAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DocsUsersListAPIError is an error-wrapper for the docs/users/list route\ntype DocsUsersListAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DocLookupError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsUsersList(arg *ListUsersOnPaperDocArgs) (res *ListUsersOnPaperDocResponse, err error) {\n\tlog.Printf(\"WARNING: API `DocsUsersList` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/users/list\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DocsUsersListAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DocsUsersListContinueAPIError is an error-wrapper for the docs/users/list/continue route\ntype DocsUsersListContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListUsersCursorError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsUsersListContinue(arg *ListUsersOnPaperDocContinueArgs) (res *ListUsersOnPaperDocResponse, err error) {\n\tlog.Printf(\"WARNING: API `DocsUsersListContinue` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/users/list/continue\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DocsUsersListContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DocsUsersRemoveAPIError is an error-wrapper for the docs/users/remove route\ntype DocsUsersRemoveAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DocLookupError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DocsUsersRemove(arg *RemovePaperDocUser) (err error) {\n\tlog.Printf(\"WARNING: API `DocsUsersRemove` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"docs/users/remove\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DocsUsersRemoveAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//FoldersCreateAPIError is an error-wrapper for the folders/create route\ntype FoldersCreateAPIError struct {\n\tdropbox.APIError\n\tEndpointError *PaperFolderCreateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) FoldersCreate(arg *PaperFolderCreateArg) (res *PaperFolderCreateResult, err error) {\n\tlog.Printf(\"WARNING: API `FoldersCreate` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"paper\",\n\t\tRoute:        \"folders/create\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr FoldersCreateAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n// New returns a Client implementation for this namespace\nfunc New(c dropbox.Config) Client {\n\tctx := apiImpl(dropbox.NewContext(c))\n\treturn &ctx\n}\n"
  },
  {
    "path": "v6/dropbox/paper/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package paper : This namespace contains endpoints and data types for managing\n// docs and folders in Dropbox Paper. New Paper users will see docs they create\n// in their filesystem as '.paper' files alongside their other Dropbox content.\n// The /paper endpoints are being deprecated and you'll need to use /files and\n// /sharing endpoints to interact with their Paper content. Read more in the\n// `Paper Migration Guide`\n// <https://www.dropbox.com/lp/developers/reference/paper-migration-guide>.\npackage paper\n\nimport (\n\t\"encoding/json\"\n\t\"time\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/sharing\"\n)\n\n// AddMember : has no documentation (yet)\ntype AddMember struct {\n\t// PermissionLevel : Permission for the user.\n\tPermissionLevel *PaperDocPermissionLevel `json:\"permission_level\"`\n\t// Member : User which should be added to the Paper doc. Specify only email\n\t// address or Dropbox account ID.\n\tMember *sharing.MemberSelector `json:\"member\"`\n}\n\n// NewAddMember returns a new AddMember instance\nfunc NewAddMember(Member *sharing.MemberSelector) *AddMember {\n\ts := new(AddMember)\n\ts.Member = Member\n\ts.PermissionLevel = &PaperDocPermissionLevel{Tagged: dropbox.Tagged{Tag: \"edit\"}}\n\treturn s\n}\n\n// RefPaperDoc : has no documentation (yet)\ntype RefPaperDoc struct {\n\t// DocId : The Paper doc ID.\n\tDocId string `json:\"doc_id\"`\n}\n\n// NewRefPaperDoc returns a new RefPaperDoc instance\nfunc NewRefPaperDoc(DocId string) *RefPaperDoc {\n\ts := new(RefPaperDoc)\n\ts.DocId = DocId\n\treturn s\n}\n\n// AddPaperDocUser : has no documentation (yet)\ntype AddPaperDocUser struct {\n\tRefPaperDoc\n\t// Members : User which should be added to the Paper doc. Specify only email\n\t// address or Dropbox account ID.\n\tMembers []*AddMember `json:\"members\"`\n\t// CustomMessage : A personal message that will be emailed to each\n\t// successfully added member.\n\tCustomMessage string `json:\"custom_message,omitempty\"`\n\t// Quiet : Clients should set this to true if no email message shall be sent\n\t// to added users.\n\tQuiet bool `json:\"quiet\"`\n}\n\n// NewAddPaperDocUser returns a new AddPaperDocUser instance\nfunc NewAddPaperDocUser(DocId string, Members []*AddMember) *AddPaperDocUser {\n\ts := new(AddPaperDocUser)\n\ts.DocId = DocId\n\ts.Members = Members\n\ts.Quiet = false\n\treturn s\n}\n\n// AddPaperDocUserMemberResult : Per-member result for `docsUsersAdd`.\ntype AddPaperDocUserMemberResult struct {\n\t// Member : One of specified input members.\n\tMember *sharing.MemberSelector `json:\"member\"`\n\t// Result : The outcome of the action on this member.\n\tResult *AddPaperDocUserResult `json:\"result\"`\n}\n\n// NewAddPaperDocUserMemberResult returns a new AddPaperDocUserMemberResult instance\nfunc NewAddPaperDocUserMemberResult(Member *sharing.MemberSelector, Result *AddPaperDocUserResult) *AddPaperDocUserMemberResult {\n\ts := new(AddPaperDocUserMemberResult)\n\ts.Member = Member\n\ts.Result = Result\n\treturn s\n}\n\n// AddPaperDocUserResult : has no documentation (yet)\ntype AddPaperDocUserResult struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AddPaperDocUserResult\nconst (\n\tAddPaperDocUserResultSuccess                    = \"success\"\n\tAddPaperDocUserResultUnknownError               = \"unknown_error\"\n\tAddPaperDocUserResultSharingOutsideTeamDisabled = \"sharing_outside_team_disabled\"\n\tAddPaperDocUserResultDailyLimitReached          = \"daily_limit_reached\"\n\tAddPaperDocUserResultUserIsOwner                = \"user_is_owner\"\n\tAddPaperDocUserResultFailedUserDataRetrieval    = \"failed_user_data_retrieval\"\n\tAddPaperDocUserResultPermissionAlreadyGranted   = \"permission_already_granted\"\n\tAddPaperDocUserResultOther                      = \"other\"\n)\n\n// Cursor : has no documentation (yet)\ntype Cursor struct {\n\t// Value : The actual cursor value.\n\tValue string `json:\"value\"`\n\t// Expiration : Expiration time of `value`. Some cursors might have\n\t// expiration time assigned. This is a UTC value after which the cursor is\n\t// no longer valid and the API starts returning an error. If cursor expires\n\t// a new one needs to be obtained and pagination needs to be restarted. Some\n\t// cursors might be short-lived some cursors might be long-lived. This\n\t// really depends on the sorting type and order, e.g.: 1. on one hand,\n\t// listing docs created by the user, sorted by the created time ascending\n\t// will have undefinite expiration because the results cannot change while\n\t// the iteration is happening. This cursor would be suitable for long term\n\t// polling. 2. on the other hand, listing docs sorted by the last modified\n\t// time will have a very short expiration as docs do get modified very often\n\t// and the modified time can be changed while the iteration is happening\n\t// thus altering the results.\n\tExpiration *time.Time `json:\"expiration,omitempty\"`\n}\n\n// NewCursor returns a new Cursor instance\nfunc NewCursor(Value string) *Cursor {\n\ts := new(Cursor)\n\ts.Value = Value\n\treturn s\n}\n\n// PaperApiBaseError : has no documentation (yet)\ntype PaperApiBaseError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperApiBaseError\nconst (\n\tPaperApiBaseErrorInsufficientPermissions = \"insufficient_permissions\"\n\tPaperApiBaseErrorOther                   = \"other\"\n)\n\n// DocLookupError : has no documentation (yet)\ntype DocLookupError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for DocLookupError\nconst (\n\tDocLookupErrorInsufficientPermissions = \"insufficient_permissions\"\n\tDocLookupErrorOther                   = \"other\"\n\tDocLookupErrorDocNotFound             = \"doc_not_found\"\n)\n\n// DocSubscriptionLevel : The subscription level of a Paper doc.\ntype DocSubscriptionLevel struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for DocSubscriptionLevel\nconst (\n\tDocSubscriptionLevelDefault = \"default\"\n\tDocSubscriptionLevelIgnore  = \"ignore\"\n\tDocSubscriptionLevelEvery   = \"every\"\n\tDocSubscriptionLevelNoEmail = \"no_email\"\n)\n\n// ExportFormat : The desired export format of the Paper doc.\ntype ExportFormat struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ExportFormat\nconst (\n\tExportFormatHtml     = \"html\"\n\tExportFormatMarkdown = \"markdown\"\n\tExportFormatOther    = \"other\"\n)\n\n// Folder : Data structure representing a Paper folder.\ntype Folder struct {\n\t// Id : Paper folder ID. This ID uniquely identifies the folder.\n\tId string `json:\"id\"`\n\t// Name : Paper folder name.\n\tName string `json:\"name\"`\n}\n\n// NewFolder returns a new Folder instance\nfunc NewFolder(Id string, Name string) *Folder {\n\ts := new(Folder)\n\ts.Id = Id\n\ts.Name = Name\n\treturn s\n}\n\n// FolderSharingPolicyType : The sharing policy of a Paper folder. The sharing\n// policy of subfolders is inherited from the root folder.\ntype FolderSharingPolicyType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FolderSharingPolicyType\nconst (\n\tFolderSharingPolicyTypeTeam       = \"team\"\n\tFolderSharingPolicyTypeInviteOnly = \"invite_only\"\n)\n\n// FolderSubscriptionLevel : The subscription level of a Paper folder.\ntype FolderSubscriptionLevel struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FolderSubscriptionLevel\nconst (\n\tFolderSubscriptionLevelNone         = \"none\"\n\tFolderSubscriptionLevelActivityOnly = \"activity_only\"\n\tFolderSubscriptionLevelDailyEmails  = \"daily_emails\"\n\tFolderSubscriptionLevelWeeklyEmails = \"weekly_emails\"\n)\n\n// FoldersContainingPaperDoc : Metadata about Paper folders containing the\n// specififed Paper doc.\ntype FoldersContainingPaperDoc struct {\n\t// FolderSharingPolicyType : The sharing policy of the folder containing the\n\t// Paper doc.\n\tFolderSharingPolicyType *FolderSharingPolicyType `json:\"folder_sharing_policy_type,omitempty\"`\n\t// Folders : The folder path. If present the first folder is the root\n\t// folder.\n\tFolders []*Folder `json:\"folders,omitempty\"`\n}\n\n// NewFoldersContainingPaperDoc returns a new FoldersContainingPaperDoc instance\nfunc NewFoldersContainingPaperDoc() *FoldersContainingPaperDoc {\n\ts := new(FoldersContainingPaperDoc)\n\treturn s\n}\n\n// ImportFormat : The import format of the incoming data.\ntype ImportFormat struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ImportFormat\nconst (\n\tImportFormatHtml      = \"html\"\n\tImportFormatMarkdown  = \"markdown\"\n\tImportFormatPlainText = \"plain_text\"\n\tImportFormatOther     = \"other\"\n)\n\n// InviteeInfoWithPermissionLevel : has no documentation (yet)\ntype InviteeInfoWithPermissionLevel struct {\n\t// Invitee : Email address invited to the Paper doc.\n\tInvitee *sharing.InviteeInfo `json:\"invitee\"`\n\t// PermissionLevel : Permission level for the invitee.\n\tPermissionLevel *PaperDocPermissionLevel `json:\"permission_level\"`\n}\n\n// NewInviteeInfoWithPermissionLevel returns a new InviteeInfoWithPermissionLevel instance\nfunc NewInviteeInfoWithPermissionLevel(Invitee *sharing.InviteeInfo, PermissionLevel *PaperDocPermissionLevel) *InviteeInfoWithPermissionLevel {\n\ts := new(InviteeInfoWithPermissionLevel)\n\ts.Invitee = Invitee\n\ts.PermissionLevel = PermissionLevel\n\treturn s\n}\n\n// ListDocsCursorError : has no documentation (yet)\ntype ListDocsCursorError struct {\n\tdropbox.Tagged\n\t// CursorError : has no documentation (yet)\n\tCursorError *PaperApiCursorError `json:\"cursor_error,omitempty\"`\n}\n\n// Valid tag values for ListDocsCursorError\nconst (\n\tListDocsCursorErrorCursorError = \"cursor_error\"\n\tListDocsCursorErrorOther       = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ListDocsCursorError instance\nfunc (u *ListDocsCursorError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// CursorError : has no documentation (yet)\n\t\tCursorError *PaperApiCursorError `json:\"cursor_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"cursor_error\":\n\t\tu.CursorError = w.CursorError\n\n\t}\n\treturn nil\n}\n\n// ListPaperDocsArgs : has no documentation (yet)\ntype ListPaperDocsArgs struct {\n\t// FilterBy : Allows user to specify how the Paper docs should be filtered.\n\tFilterBy *ListPaperDocsFilterBy `json:\"filter_by\"`\n\t// SortBy : Allows user to specify how the Paper docs should be sorted.\n\tSortBy *ListPaperDocsSortBy `json:\"sort_by\"`\n\t// SortOrder : Allows user to specify the sort order of the result.\n\tSortOrder *ListPaperDocsSortOrder `json:\"sort_order\"`\n\t// Limit : Size limit per batch. The maximum number of docs that can be\n\t// retrieved per batch is 1000. Higher value results in invalid arguments\n\t// error.\n\tLimit int32 `json:\"limit\"`\n}\n\n// NewListPaperDocsArgs returns a new ListPaperDocsArgs instance\nfunc NewListPaperDocsArgs() *ListPaperDocsArgs {\n\ts := new(ListPaperDocsArgs)\n\ts.FilterBy = &ListPaperDocsFilterBy{Tagged: dropbox.Tagged{Tag: \"docs_accessed\"}}\n\ts.SortBy = &ListPaperDocsSortBy{Tagged: dropbox.Tagged{Tag: \"accessed\"}}\n\ts.SortOrder = &ListPaperDocsSortOrder{Tagged: dropbox.Tagged{Tag: \"ascending\"}}\n\ts.Limit = 1000\n\treturn s\n}\n\n// ListPaperDocsContinueArgs : has no documentation (yet)\ntype ListPaperDocsContinueArgs struct {\n\t// Cursor : The cursor obtained from `docsList` or `docsListContinue`.\n\t// Allows for pagination.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewListPaperDocsContinueArgs returns a new ListPaperDocsContinueArgs instance\nfunc NewListPaperDocsContinueArgs(Cursor string) *ListPaperDocsContinueArgs {\n\ts := new(ListPaperDocsContinueArgs)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// ListPaperDocsFilterBy : has no documentation (yet)\ntype ListPaperDocsFilterBy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ListPaperDocsFilterBy\nconst (\n\tListPaperDocsFilterByDocsAccessed = \"docs_accessed\"\n\tListPaperDocsFilterByDocsCreated  = \"docs_created\"\n\tListPaperDocsFilterByOther        = \"other\"\n)\n\n// ListPaperDocsResponse : has no documentation (yet)\ntype ListPaperDocsResponse struct {\n\t// DocIds : The list of Paper doc IDs that can be used to access the given\n\t// Paper docs or supplied to other API methods. The list is sorted in the\n\t// order specified by the initial call to `docsList`.\n\tDocIds []string `json:\"doc_ids\"`\n\t// Cursor : Pass the cursor into `docsListContinue` to paginate through all\n\t// files. The cursor preserves all properties as specified in the original\n\t// call to `docsList`.\n\tCursor *Cursor `json:\"cursor\"`\n\t// HasMore : Will be set to True if a subsequent call with the provided\n\t// cursor to `docsListContinue` returns immediately with some results. If\n\t// set to False please allow some delay before making another call to\n\t// `docsListContinue`.\n\tHasMore bool `json:\"has_more\"`\n}\n\n// NewListPaperDocsResponse returns a new ListPaperDocsResponse instance\nfunc NewListPaperDocsResponse(DocIds []string, Cursor *Cursor, HasMore bool) *ListPaperDocsResponse {\n\ts := new(ListPaperDocsResponse)\n\ts.DocIds = DocIds\n\ts.Cursor = Cursor\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// ListPaperDocsSortBy : has no documentation (yet)\ntype ListPaperDocsSortBy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ListPaperDocsSortBy\nconst (\n\tListPaperDocsSortByAccessed = \"accessed\"\n\tListPaperDocsSortByModified = \"modified\"\n\tListPaperDocsSortByCreated  = \"created\"\n\tListPaperDocsSortByOther    = \"other\"\n)\n\n// ListPaperDocsSortOrder : has no documentation (yet)\ntype ListPaperDocsSortOrder struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ListPaperDocsSortOrder\nconst (\n\tListPaperDocsSortOrderAscending  = \"ascending\"\n\tListPaperDocsSortOrderDescending = \"descending\"\n\tListPaperDocsSortOrderOther      = \"other\"\n)\n\n// ListUsersCursorError : has no documentation (yet)\ntype ListUsersCursorError struct {\n\tdropbox.Tagged\n\t// CursorError : has no documentation (yet)\n\tCursorError *PaperApiCursorError `json:\"cursor_error,omitempty\"`\n}\n\n// Valid tag values for ListUsersCursorError\nconst (\n\tListUsersCursorErrorInsufficientPermissions = \"insufficient_permissions\"\n\tListUsersCursorErrorOther                   = \"other\"\n\tListUsersCursorErrorDocNotFound             = \"doc_not_found\"\n\tListUsersCursorErrorCursorError             = \"cursor_error\"\n)\n\n// UnmarshalJSON deserializes into a ListUsersCursorError instance\nfunc (u *ListUsersCursorError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// CursorError : has no documentation (yet)\n\t\tCursorError *PaperApiCursorError `json:\"cursor_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"cursor_error\":\n\t\tu.CursorError = w.CursorError\n\n\t}\n\treturn nil\n}\n\n// ListUsersOnFolderArgs : has no documentation (yet)\ntype ListUsersOnFolderArgs struct {\n\tRefPaperDoc\n\t// Limit : Size limit per batch. The maximum number of users that can be\n\t// retrieved per batch is 1000. Higher value results in invalid arguments\n\t// error.\n\tLimit int32 `json:\"limit\"`\n}\n\n// NewListUsersOnFolderArgs returns a new ListUsersOnFolderArgs instance\nfunc NewListUsersOnFolderArgs(DocId string) *ListUsersOnFolderArgs {\n\ts := new(ListUsersOnFolderArgs)\n\ts.DocId = DocId\n\ts.Limit = 1000\n\treturn s\n}\n\n// ListUsersOnFolderContinueArgs : has no documentation (yet)\ntype ListUsersOnFolderContinueArgs struct {\n\tRefPaperDoc\n\t// Cursor : The cursor obtained from `docsFolderUsersList` or\n\t// `docsFolderUsersListContinue`. Allows for pagination.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewListUsersOnFolderContinueArgs returns a new ListUsersOnFolderContinueArgs instance\nfunc NewListUsersOnFolderContinueArgs(DocId string, Cursor string) *ListUsersOnFolderContinueArgs {\n\ts := new(ListUsersOnFolderContinueArgs)\n\ts.DocId = DocId\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// ListUsersOnFolderResponse : has no documentation (yet)\ntype ListUsersOnFolderResponse struct {\n\t// Invitees : List of email addresses that are invited on the Paper folder.\n\tInvitees []*sharing.InviteeInfo `json:\"invitees\"`\n\t// Users : List of users that are invited on the Paper folder.\n\tUsers []*sharing.UserInfo `json:\"users\"`\n\t// Cursor : Pass the cursor into `docsFolderUsersListContinue` to paginate\n\t// through all users. The cursor preserves all properties as specified in\n\t// the original call to `docsFolderUsersList`.\n\tCursor *Cursor `json:\"cursor\"`\n\t// HasMore : Will be set to True if a subsequent call with the provided\n\t// cursor to `docsFolderUsersListContinue` returns immediately with some\n\t// results. If set to False please allow some delay before making another\n\t// call to `docsFolderUsersListContinue`.\n\tHasMore bool `json:\"has_more\"`\n}\n\n// NewListUsersOnFolderResponse returns a new ListUsersOnFolderResponse instance\nfunc NewListUsersOnFolderResponse(Invitees []*sharing.InviteeInfo, Users []*sharing.UserInfo, Cursor *Cursor, HasMore bool) *ListUsersOnFolderResponse {\n\ts := new(ListUsersOnFolderResponse)\n\ts.Invitees = Invitees\n\ts.Users = Users\n\ts.Cursor = Cursor\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// ListUsersOnPaperDocArgs : has no documentation (yet)\ntype ListUsersOnPaperDocArgs struct {\n\tRefPaperDoc\n\t// Limit : Size limit per batch. The maximum number of users that can be\n\t// retrieved per batch is 1000. Higher value results in invalid arguments\n\t// error.\n\tLimit int32 `json:\"limit\"`\n\t// FilterBy : Specify this attribute if you want to obtain users that have\n\t// already accessed the Paper doc.\n\tFilterBy *UserOnPaperDocFilter `json:\"filter_by\"`\n}\n\n// NewListUsersOnPaperDocArgs returns a new ListUsersOnPaperDocArgs instance\nfunc NewListUsersOnPaperDocArgs(DocId string) *ListUsersOnPaperDocArgs {\n\ts := new(ListUsersOnPaperDocArgs)\n\ts.DocId = DocId\n\ts.Limit = 1000\n\ts.FilterBy = &UserOnPaperDocFilter{Tagged: dropbox.Tagged{Tag: \"shared\"}}\n\treturn s\n}\n\n// ListUsersOnPaperDocContinueArgs : has no documentation (yet)\ntype ListUsersOnPaperDocContinueArgs struct {\n\tRefPaperDoc\n\t// Cursor : The cursor obtained from `docsUsersList` or\n\t// `docsUsersListContinue`. Allows for pagination.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewListUsersOnPaperDocContinueArgs returns a new ListUsersOnPaperDocContinueArgs instance\nfunc NewListUsersOnPaperDocContinueArgs(DocId string, Cursor string) *ListUsersOnPaperDocContinueArgs {\n\ts := new(ListUsersOnPaperDocContinueArgs)\n\ts.DocId = DocId\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// ListUsersOnPaperDocResponse : has no documentation (yet)\ntype ListUsersOnPaperDocResponse struct {\n\t// Invitees : List of email addresses with their respective permission\n\t// levels that are invited on the Paper doc.\n\tInvitees []*InviteeInfoWithPermissionLevel `json:\"invitees\"`\n\t// Users : List of users with their respective permission levels that are\n\t// invited on the Paper folder.\n\tUsers []*UserInfoWithPermissionLevel `json:\"users\"`\n\t// DocOwner : The Paper doc owner. This field is populated on every single\n\t// response.\n\tDocOwner *sharing.UserInfo `json:\"doc_owner\"`\n\t// Cursor : Pass the cursor into `docsUsersListContinue` to paginate through\n\t// all users. The cursor preserves all properties as specified in the\n\t// original call to `docsUsersList`.\n\tCursor *Cursor `json:\"cursor\"`\n\t// HasMore : Will be set to True if a subsequent call with the provided\n\t// cursor to `docsUsersListContinue` returns immediately with some results.\n\t// If set to False please allow some delay before making another call to\n\t// `docsUsersListContinue`.\n\tHasMore bool `json:\"has_more\"`\n}\n\n// NewListUsersOnPaperDocResponse returns a new ListUsersOnPaperDocResponse instance\nfunc NewListUsersOnPaperDocResponse(Invitees []*InviteeInfoWithPermissionLevel, Users []*UserInfoWithPermissionLevel, DocOwner *sharing.UserInfo, Cursor *Cursor, HasMore bool) *ListUsersOnPaperDocResponse {\n\ts := new(ListUsersOnPaperDocResponse)\n\ts.Invitees = Invitees\n\ts.Users = Users\n\ts.DocOwner = DocOwner\n\ts.Cursor = Cursor\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// PaperApiCursorError : has no documentation (yet)\ntype PaperApiCursorError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperApiCursorError\nconst (\n\tPaperApiCursorErrorExpiredCursor     = \"expired_cursor\"\n\tPaperApiCursorErrorInvalidCursor     = \"invalid_cursor\"\n\tPaperApiCursorErrorWrongUserInCursor = \"wrong_user_in_cursor\"\n\tPaperApiCursorErrorReset             = \"reset\"\n\tPaperApiCursorErrorOther             = \"other\"\n)\n\n// PaperDocCreateArgs : has no documentation (yet)\ntype PaperDocCreateArgs struct {\n\t// ParentFolderId : The Paper folder ID where the Paper document should be\n\t// created. The API user has to have write access to this folder or error is\n\t// thrown.\n\tParentFolderId string `json:\"parent_folder_id,omitempty\"`\n\t// ImportFormat : The format of provided data.\n\tImportFormat *ImportFormat `json:\"import_format\"`\n}\n\n// NewPaperDocCreateArgs returns a new PaperDocCreateArgs instance\nfunc NewPaperDocCreateArgs(ImportFormat *ImportFormat) *PaperDocCreateArgs {\n\ts := new(PaperDocCreateArgs)\n\ts.ImportFormat = ImportFormat\n\treturn s\n}\n\n// PaperDocCreateError : has no documentation (yet)\ntype PaperDocCreateError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperDocCreateError\nconst (\n\tPaperDocCreateErrorInsufficientPermissions = \"insufficient_permissions\"\n\tPaperDocCreateErrorOther                   = \"other\"\n\tPaperDocCreateErrorContentMalformed        = \"content_malformed\"\n\tPaperDocCreateErrorFolderNotFound          = \"folder_not_found\"\n\tPaperDocCreateErrorDocLengthExceeded       = \"doc_length_exceeded\"\n\tPaperDocCreateErrorImageSizeExceeded       = \"image_size_exceeded\"\n)\n\n// PaperDocCreateUpdateResult : has no documentation (yet)\ntype PaperDocCreateUpdateResult struct {\n\t// DocId : Doc ID of the newly created doc.\n\tDocId string `json:\"doc_id\"`\n\t// Revision : The Paper doc revision. Simply an ever increasing number.\n\tRevision int64 `json:\"revision\"`\n\t// Title : The Paper doc title.\n\tTitle string `json:\"title\"`\n}\n\n// NewPaperDocCreateUpdateResult returns a new PaperDocCreateUpdateResult instance\nfunc NewPaperDocCreateUpdateResult(DocId string, Revision int64, Title string) *PaperDocCreateUpdateResult {\n\ts := new(PaperDocCreateUpdateResult)\n\ts.DocId = DocId\n\ts.Revision = Revision\n\ts.Title = Title\n\treturn s\n}\n\n// PaperDocExport : has no documentation (yet)\ntype PaperDocExport struct {\n\tRefPaperDoc\n\t// ExportFormat : has no documentation (yet)\n\tExportFormat *ExportFormat `json:\"export_format\"`\n}\n\n// NewPaperDocExport returns a new PaperDocExport instance\nfunc NewPaperDocExport(DocId string, ExportFormat *ExportFormat) *PaperDocExport {\n\ts := new(PaperDocExport)\n\ts.DocId = DocId\n\ts.ExportFormat = ExportFormat\n\treturn s\n}\n\n// PaperDocExportResult : has no documentation (yet)\ntype PaperDocExportResult struct {\n\t// Owner : The Paper doc owner's email address.\n\tOwner string `json:\"owner\"`\n\t// Title : The Paper doc title.\n\tTitle string `json:\"title\"`\n\t// Revision : The Paper doc revision. Simply an ever increasing number.\n\tRevision int64 `json:\"revision\"`\n\t// MimeType : MIME type of the export. This corresponds to `ExportFormat`\n\t// specified in the request.\n\tMimeType string `json:\"mime_type\"`\n}\n\n// NewPaperDocExportResult returns a new PaperDocExportResult instance\nfunc NewPaperDocExportResult(Owner string, Title string, Revision int64, MimeType string) *PaperDocExportResult {\n\ts := new(PaperDocExportResult)\n\ts.Owner = Owner\n\ts.Title = Title\n\ts.Revision = Revision\n\ts.MimeType = MimeType\n\treturn s\n}\n\n// PaperDocPermissionLevel : has no documentation (yet)\ntype PaperDocPermissionLevel struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperDocPermissionLevel\nconst (\n\tPaperDocPermissionLevelEdit           = \"edit\"\n\tPaperDocPermissionLevelViewAndComment = \"view_and_comment\"\n\tPaperDocPermissionLevelOther          = \"other\"\n)\n\n// PaperDocSharingPolicy : has no documentation (yet)\ntype PaperDocSharingPolicy struct {\n\tRefPaperDoc\n\t// SharingPolicy : The default sharing policy to be set for the Paper doc.\n\tSharingPolicy *SharingPolicy `json:\"sharing_policy\"`\n}\n\n// NewPaperDocSharingPolicy returns a new PaperDocSharingPolicy instance\nfunc NewPaperDocSharingPolicy(DocId string, SharingPolicy *SharingPolicy) *PaperDocSharingPolicy {\n\ts := new(PaperDocSharingPolicy)\n\ts.DocId = DocId\n\ts.SharingPolicy = SharingPolicy\n\treturn s\n}\n\n// PaperDocUpdateArgs : has no documentation (yet)\ntype PaperDocUpdateArgs struct {\n\tRefPaperDoc\n\t// DocUpdatePolicy : The policy used for the current update call.\n\tDocUpdatePolicy *PaperDocUpdatePolicy `json:\"doc_update_policy\"`\n\t// Revision : The latest doc revision. This value must match the head\n\t// revision or an error code will be returned. This is to prevent colliding\n\t// writes.\n\tRevision int64 `json:\"revision\"`\n\t// ImportFormat : The format of provided data.\n\tImportFormat *ImportFormat `json:\"import_format\"`\n}\n\n// NewPaperDocUpdateArgs returns a new PaperDocUpdateArgs instance\nfunc NewPaperDocUpdateArgs(DocId string, DocUpdatePolicy *PaperDocUpdatePolicy, Revision int64, ImportFormat *ImportFormat) *PaperDocUpdateArgs {\n\ts := new(PaperDocUpdateArgs)\n\ts.DocId = DocId\n\ts.DocUpdatePolicy = DocUpdatePolicy\n\ts.Revision = Revision\n\ts.ImportFormat = ImportFormat\n\treturn s\n}\n\n// PaperDocUpdateError : has no documentation (yet)\ntype PaperDocUpdateError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperDocUpdateError\nconst (\n\tPaperDocUpdateErrorInsufficientPermissions = \"insufficient_permissions\"\n\tPaperDocUpdateErrorOther                   = \"other\"\n\tPaperDocUpdateErrorDocNotFound             = \"doc_not_found\"\n\tPaperDocUpdateErrorContentMalformed        = \"content_malformed\"\n\tPaperDocUpdateErrorRevisionMismatch        = \"revision_mismatch\"\n\tPaperDocUpdateErrorDocLengthExceeded       = \"doc_length_exceeded\"\n\tPaperDocUpdateErrorImageSizeExceeded       = \"image_size_exceeded\"\n\tPaperDocUpdateErrorDocArchived             = \"doc_archived\"\n\tPaperDocUpdateErrorDocDeleted              = \"doc_deleted\"\n)\n\n// PaperDocUpdatePolicy : has no documentation (yet)\ntype PaperDocUpdatePolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperDocUpdatePolicy\nconst (\n\tPaperDocUpdatePolicyAppend       = \"append\"\n\tPaperDocUpdatePolicyPrepend      = \"prepend\"\n\tPaperDocUpdatePolicyOverwriteAll = \"overwrite_all\"\n\tPaperDocUpdatePolicyOther        = \"other\"\n)\n\n// PaperFolderCreateArg : has no documentation (yet)\ntype PaperFolderCreateArg struct {\n\t// Name : The name of the new Paper folder.\n\tName string `json:\"name\"`\n\t// ParentFolderId : The encrypted Paper folder Id where the new Paper folder\n\t// should be created. The API user has to have write access to this folder\n\t// or error is thrown. If not supplied, the new folder will be created at\n\t// top level.\n\tParentFolderId string `json:\"parent_folder_id,omitempty\"`\n\t// IsTeamFolder : Whether the folder to be created should be a team folder.\n\t// This value will be ignored if parent_folder_id is supplied, as the new\n\t// folder will inherit the type (private or team folder) from its parent. We\n\t// will by default create a top-level private folder if both\n\t// parent_folder_id and is_team_folder are not supplied.\n\tIsTeamFolder bool `json:\"is_team_folder,omitempty\"`\n}\n\n// NewPaperFolderCreateArg returns a new PaperFolderCreateArg instance\nfunc NewPaperFolderCreateArg(Name string) *PaperFolderCreateArg {\n\ts := new(PaperFolderCreateArg)\n\ts.Name = Name\n\treturn s\n}\n\n// PaperFolderCreateError : has no documentation (yet)\ntype PaperFolderCreateError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperFolderCreateError\nconst (\n\tPaperFolderCreateErrorInsufficientPermissions = \"insufficient_permissions\"\n\tPaperFolderCreateErrorOther                   = \"other\"\n\tPaperFolderCreateErrorFolderNotFound          = \"folder_not_found\"\n\tPaperFolderCreateErrorInvalidFolderId         = \"invalid_folder_id\"\n)\n\n// PaperFolderCreateResult : has no documentation (yet)\ntype PaperFolderCreateResult struct {\n\t// FolderId : Folder ID of the newly created folder.\n\tFolderId string `json:\"folder_id\"`\n}\n\n// NewPaperFolderCreateResult returns a new PaperFolderCreateResult instance\nfunc NewPaperFolderCreateResult(FolderId string) *PaperFolderCreateResult {\n\ts := new(PaperFolderCreateResult)\n\ts.FolderId = FolderId\n\treturn s\n}\n\n// RemovePaperDocUser : has no documentation (yet)\ntype RemovePaperDocUser struct {\n\tRefPaperDoc\n\t// Member : User which should be removed from the Paper doc. Specify only\n\t// email address or Dropbox account ID.\n\tMember *sharing.MemberSelector `json:\"member\"`\n}\n\n// NewRemovePaperDocUser returns a new RemovePaperDocUser instance\nfunc NewRemovePaperDocUser(DocId string, Member *sharing.MemberSelector) *RemovePaperDocUser {\n\ts := new(RemovePaperDocUser)\n\ts.DocId = DocId\n\ts.Member = Member\n\treturn s\n}\n\n// SharingPolicy : Sharing policy of Paper doc.\ntype SharingPolicy struct {\n\t// PublicSharingPolicy : This value applies to the non-team members.\n\tPublicSharingPolicy *SharingPublicPolicyType `json:\"public_sharing_policy,omitempty\"`\n\t// TeamSharingPolicy : This value applies to the team members only. The\n\t// value is null for all personal accounts.\n\tTeamSharingPolicy *SharingTeamPolicyType `json:\"team_sharing_policy,omitempty\"`\n}\n\n// NewSharingPolicy returns a new SharingPolicy instance\nfunc NewSharingPolicy() *SharingPolicy {\n\ts := new(SharingPolicy)\n\treturn s\n}\n\n// SharingTeamPolicyType : The sharing policy type of the Paper doc.\ntype SharingTeamPolicyType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharingTeamPolicyType\nconst (\n\tSharingTeamPolicyTypePeopleWithLinkCanEdit           = \"people_with_link_can_edit\"\n\tSharingTeamPolicyTypePeopleWithLinkCanViewAndComment = \"people_with_link_can_view_and_comment\"\n\tSharingTeamPolicyTypeInviteOnly                      = \"invite_only\"\n)\n\n// SharingPublicPolicyType : has no documentation (yet)\ntype SharingPublicPolicyType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharingPublicPolicyType\nconst (\n\tSharingPublicPolicyTypePeopleWithLinkCanEdit           = \"people_with_link_can_edit\"\n\tSharingPublicPolicyTypePeopleWithLinkCanViewAndComment = \"people_with_link_can_view_and_comment\"\n\tSharingPublicPolicyTypeInviteOnly                      = \"invite_only\"\n\tSharingPublicPolicyTypeDisabled                        = \"disabled\"\n)\n\n// UserInfoWithPermissionLevel : has no documentation (yet)\ntype UserInfoWithPermissionLevel struct {\n\t// User : User shared on the Paper doc.\n\tUser *sharing.UserInfo `json:\"user\"`\n\t// PermissionLevel : Permission level for the user.\n\tPermissionLevel *PaperDocPermissionLevel `json:\"permission_level\"`\n}\n\n// NewUserInfoWithPermissionLevel returns a new UserInfoWithPermissionLevel instance\nfunc NewUserInfoWithPermissionLevel(User *sharing.UserInfo, PermissionLevel *PaperDocPermissionLevel) *UserInfoWithPermissionLevel {\n\ts := new(UserInfoWithPermissionLevel)\n\ts.User = User\n\ts.PermissionLevel = PermissionLevel\n\treturn s\n}\n\n// UserOnPaperDocFilter : has no documentation (yet)\ntype UserOnPaperDocFilter struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for UserOnPaperDocFilter\nconst (\n\tUserOnPaperDocFilterVisited = \"visited\"\n\tUserOnPaperDocFilterShared  = \"shared\"\n\tUserOnPaperDocFilterOther   = \"other\"\n)\n"
  },
  {
    "path": "v6/dropbox/sdk.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage dropbox\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n\t\"strings\"\n\n\t\"golang.org/x/oauth2\"\n)\n\nconst (\n\tapiVersion    = 2\n\tdefaultDomain = \".dropboxapi.com\"\n\thostAPI       = \"api\"\n\thostContent   = \"content\"\n\thostNotify    = \"notify\"\n\tsdkVersion    = \"6.0.5\"\n\tspecVersion   = \"c36ba27\"\n)\n\n// Version returns the current SDK version and API Spec version\nfunc Version() (string, string) {\n\treturn sdkVersion, specVersion\n}\n\n// Tagged is used for tagged unions.\ntype Tagged struct {\n\tTag string `json:\".tag\"`\n}\n\n// APIError is the base type for endpoint-specific errors.\ntype APIError struct {\n\tErrorSummary string `json:\"error_summary\"`\n}\n\nfunc (e APIError) Error() string {\n\treturn e.ErrorSummary\n}\n\ntype SDKInternalError struct {\n\tStatusCode int\n\tContent    string\n}\n\nfunc (e SDKInternalError) Error() string {\n\treturn fmt.Sprintf(\"Unexpected error: %v (code: %v)\", e.Content, e.StatusCode)\n}\n\n// Config contains parameters for configuring the SDK.\ntype Config struct {\n\t// OAuth2 access token\n\tToken string\n\t// Logging level for SDK generated logs\n\tLogLevel LogLevel\n\t// Logging target for verbose SDK logging\n\tLogger *log.Logger\n\t// Used with APIs that support operations as another user\n\tAsMemberID string\n\t// Used with APIs that support operations as an admin\n\tAsAdminID string\n\t// Path relative to which action should be taken\n\tPathRoot string\n\t// No need to set -- for testing only\n\tDomain string\n\t// No need to set -- for testing only\n\tClient *http.Client\n\t// No need to set -- for testing only\n\tHeaderGenerator func(hostType string, namespace string, route string) map[string]string\n\t// No need to set -- for testing only\n\tURLGenerator func(hostType string, namespace string, route string) string\n}\n\n// LogLevel defines a type that can set the desired level of logging the SDK will generate.\ntype LogLevel uint\n\nconst (\n\t// LogOff will disable all SDK logging. This is the default log level\n\tLogOff LogLevel = iota * (1 << 8)\n\t// LogDebug will enable detailed SDK debug logs. It will log requests (including arguments),\n\t// response and body contents.\n\tLogDebug\n\t// LogInfo will log SDK request (not including arguments) and responses.\n\tLogInfo\n)\n\nfunc (l LogLevel) shouldLog(v LogLevel) bool {\n\treturn l > v || l&v == v\n}\n\nfunc (c *Config) doLog(l LogLevel, format string, v ...interface{}) {\n\tif !c.LogLevel.shouldLog(l) {\n\t\treturn\n\t}\n\n\tif c.Logger != nil {\n\t\tc.Logger.Printf(format, v...)\n\t} else {\n\t\tlog.Printf(format, v...)\n\t}\n}\n\n// LogDebug emits a debug level SDK log if config's log level is at least LogDebug\nfunc (c *Config) LogDebug(format string, v ...interface{}) {\n\tc.doLog(LogDebug, format, v...)\n}\n\n// LogInfo emits an info level SDK log if config's log level is at least LogInfo\nfunc (c *Config) LogInfo(format string, v ...interface{}) {\n\tc.doLog(LogInfo, format, v...)\n}\n\n// Ergonomic methods to set namespace relative to which action should be taken\nfunc (c Config) WithNamespaceID(nsID string) Config {\n\tc.PathRoot = fmt.Sprintf(`{\".tag\": \"namespace_id\", \"namespace_id\": \"%s\"}`, nsID)\n\treturn c\n}\n\nfunc (c Config) WithRoot(nsID string) Config {\n\tc.PathRoot = fmt.Sprintf(`{\".tag\": \"root\", \"root\": \"%s\"}`, nsID)\n\treturn c\n}\n\n// Context is the base client context used to implement per-namespace clients.\ntype Context struct {\n\tConfig          Config\n\tClient          *http.Client\n\tNoAuthClient    *http.Client\n\tHeaderGenerator func(hostType string, namespace string, route string) map[string]string\n\tURLGenerator    func(hostType string, namespace string, route string) string\n}\n\ntype Request struct {\n\tHost      string\n\tNamespace string\n\tRoute     string\n\tStyle     string\n\tAuth      string\n\n\tArg          interface{}\n\tExtraHeaders map[string]string\n}\n\nfunc (c *Context) Execute(req Request, body io.Reader) ([]byte, io.ReadCloser, error) {\n\turl := c.URLGenerator(req.Host, req.Namespace, req.Route)\n\thttpReq, err := http.NewRequest(\"POST\", url, body)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tfor k, v := range req.ExtraHeaders {\n\t\thttpReq.Header.Add(k, v)\n\t}\n\n\tfor k, v := range c.HeaderGenerator(req.Host, req.Namespace, req.Route) {\n\t\thttpReq.Header.Add(k, v)\n\t}\n\n\tif httpReq.Header.Get(\"Host\") != \"\" {\n\t\thttpReq.Host = httpReq.Header.Get(\"Host\")\n\t}\n\n\tif req.Auth == \"noauth\" {\n\t\thttpReq.Header.Del(\"Authorization\")\n\t}\n\tif req.Auth != \"team\" && c.Config.AsMemberID != \"\" {\n\t\thttpReq.Header.Add(\"Dropbox-API-Select-User\", c.Config.AsMemberID)\n\t}\n\tif req.Auth != \"team\" && c.Config.AsAdminID != \"\" {\n\t\thttpReq.Header.Add(\"Dropbox-API-Select-Admin\", c.Config.AsAdminID)\n\t}\n\tif c.Config.PathRoot != \"\" {\n\t\thttpReq.Header.Add(\"Dropbox-API-Path-Root\", c.Config.PathRoot)\n\t}\n\n\tif req.Arg != nil {\n\t\tserializedArg, err := json.Marshal(req.Arg)\n\t\tif err != nil {\n\t\t\treturn nil, nil, err\n\t\t}\n\n\t\tswitch req.Style {\n\t\tcase \"rpc\":\n\t\t\tif body != nil {\n\t\t\t\treturn nil, nil, errors.New(\"RPC style requests can not have body\")\n\t\t\t}\n\n\t\t\thttpReq.Header.Set(\"Content-Type\", \"application/json\")\n\t\t\thttpReq.Body = ioutil.NopCloser(bytes.NewReader(serializedArg))\n\t\t\thttpReq.ContentLength = int64(len(serializedArg))\n\t\tcase \"upload\", \"download\":\n\t\t\thttpReq.Header.Set(\"Dropbox-API-Arg\", string(serializedArg))\n\t\t\thttpReq.Header.Set(\"Content-Type\", \"application/octet-stream\")\n\t\t}\n\t}\n\n\tclient := c.Client\n\tif req.Auth == \"noauth\" {\n\t\tclient = c.NoAuthClient\n\t}\n\n\tresp, err := client.Do(httpReq)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\tif resp.StatusCode == http.StatusOK || resp.StatusCode == http.StatusPartialContent {\n\t\tswitch req.Style {\n\t\tcase \"rpc\", \"upload\":\n\t\t\tif resp.Body == nil {\n\t\t\t\treturn nil, nil, errors.New(\"Expected body in RPC response, got nil\")\n\t\t\t}\n\n\t\t\tb, err := ioutil.ReadAll(resp.Body)\n\t\t\tresp.Body.Close()\n\t\t\tif err != nil {\n\t\t\t\treturn nil, nil, err\n\t\t\t}\n\n\t\t\treturn b, nil, nil\n\t\tcase \"download\":\n\t\t\tb := []byte(resp.Header.Get(\"Dropbox-API-Result\"))\n\t\t\treturn b, resp.Body, nil\n\t\t}\n\t}\n\n\tb, err := ioutil.ReadAll(resp.Body)\n\tresp.Body.Close()\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\n\treturn nil, nil, SDKInternalError{\n\t\tStatusCode: resp.StatusCode,\n\t\tContent:    string(b),\n\t}\n}\n\n// NewContext returns a new Context with the given Config.\nfunc NewContext(c Config) Context {\n\tdomain := c.Domain\n\tif domain == \"\" {\n\t\tdomain = defaultDomain\n\t}\n\n\tclient := c.Client\n\tif client == nil {\n\t\tvar conf = &oauth2.Config{Endpoint: OAuthEndpoint(domain)}\n\t\ttok := &oauth2.Token{AccessToken: c.Token}\n\t\tclient = conf.Client(context.Background(), tok)\n\t}\n\n\tnoAuthClient := c.Client\n\tif noAuthClient == nil {\n\t\tnoAuthClient = &http.Client{}\n\t}\n\n\theaderGenerator := c.HeaderGenerator\n\tif headerGenerator == nil {\n\t\theaderGenerator = func(hostType string, namespace string, route string) map[string]string {\n\t\t\treturn map[string]string{}\n\t\t}\n\t}\n\n\turlGenerator := c.URLGenerator\n\tif urlGenerator == nil {\n\t\thostMap := map[string]string{\n\t\t\thostAPI:     hostAPI + domain,\n\t\t\thostContent: hostContent + domain,\n\t\t\thostNotify:  hostNotify + domain,\n\t\t}\n\t\turlGenerator = func(hostType string, namespace string, route string) string {\n\t\t\tfqHost := hostMap[hostType]\n\t\t\treturn fmt.Sprintf(\"https://%s/%d/%s/%s\", fqHost, apiVersion, namespace, route)\n\t\t}\n\t}\n\n\treturn Context{c, client, noAuthClient, headerGenerator, urlGenerator}\n}\n\n// OAuthEndpoint constructs an `oauth2.Endpoint` for the given domain\nfunc OAuthEndpoint(domain string) oauth2.Endpoint {\n\tif domain == \"\" {\n\t\tdomain = defaultDomain\n\t}\n\tauthURL := fmt.Sprintf(\"https://meta%s/1/oauth2/authorize\", domain)\n\ttokenURL := fmt.Sprintf(\"https://api%s/1/oauth2/token\", domain)\n\tif domain == defaultDomain {\n\t\tauthURL = \"https://www.dropbox.com/1/oauth2/authorize\"\n\t}\n\treturn oauth2.Endpoint{AuthURL: authURL, TokenURL: tokenURL}\n}\n\n// HTTPHeaderSafeJSON encode the JSON passed in b []byte passed in in\n// a way that is suitable for HTTP headers.\n//\n// See: https://www.dropbox.com/developers/reference/json-encoding\nfunc HTTPHeaderSafeJSON(b []byte) string {\n\tvar s strings.Builder\n\ts.Grow(len(b))\n\tfor _, r := range string(b) {\n\t\tif r >= 0x007f {\n\t\t\tfmt.Fprintf(&s, \"\\\\u%04x\", r)\n\t\t} else {\n\t\t\ts.WriteRune(r)\n\t\t}\n\t}\n\treturn s.String()\n}\n"
  },
  {
    "path": "v6/dropbox/sdk_test.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage dropbox_test\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"net/http/httptest\"\n\t\"strings\"\n\t\"testing\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/auth\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/users\"\n)\n\nfunc generateURL(base string, namespace string, route string) string {\n\treturn fmt.Sprintf(\"%s/%s/%s\", base, namespace, route)\n}\n\nfunc TestInternalError(t *testing.T) {\n\teString := \"internal server error\"\n\tts := httptest.NewServer(http.HandlerFunc(\n\t\tfunc(w http.ResponseWriter, r *http.Request) {\n\t\t\thttp.Error(w, eString, http.StatusInternalServerError)\n\t\t}))\n\tdefer ts.Close()\n\n\tconfig := dropbox.Config{Client: ts.Client(), LogLevel: dropbox.LogDebug,\n\t\tURLGenerator: func(hostType string, namespace string, route string) string {\n\t\t\treturn generateURL(ts.URL, namespace, route)\n\t\t}}\n\tclient := users.New(config)\n\tv, e := client.GetCurrentAccount()\n\tif v != nil || strings.Trim(e.Error(), \"\\n\") != eString {\n\t\tt.Errorf(\"v: %v e: '%s'\\n\", v, e.Error())\n\t}\n}\n\nfunc TestRateLimitJSON(t *testing.T) {\n\teString := `{\"error_summary\": \"too_many_requests/..\", \"error\": {\"reason\": {\".tag\": \"too_many_requests\"}, \"retry_after\": 300}}`\n\tts := httptest.NewServer(http.HandlerFunc(\n\t\tfunc(w http.ResponseWriter, r *http.Request) {\n\t\t\tw.Header().Set(\"Content-Type\", \"application/json; charset=utf-8\")\n\t\t\tw.Header().Set(\"Retry-After\", \"10\")\n\t\t\tw.WriteHeader(http.StatusTooManyRequests)\n\t\t\t_, _ = w.Write([]byte(eString))\n\t\t}))\n\tdefer ts.Close()\n\n\tconfig := dropbox.Config{Client: ts.Client(), LogLevel: dropbox.LogDebug,\n\t\tURLGenerator: func(hostType string, namespace string, route string) string {\n\t\t\treturn generateURL(ts.URL, namespace, route)\n\t\t}}\n\tclient := users.New(config)\n\t_, e := client.GetCurrentAccount()\n\tre, ok := e.(auth.RateLimitAPIError)\n\tif !ok {\n\t\tt.Errorf(\"Unexpected error type: %T\\n\", e)\n\t}\n\tif re.RateLimitError.RetryAfter != 300 {\n\t\tt.Errorf(\"Unexpected retry-after value: %d\\n\", re.RateLimitError.RetryAfter)\n\t}\n\tif re.RateLimitError.Reason.Tag != auth.RateLimitReasonTooManyRequests {\n\t\tt.Errorf(\"Unexpected reason: %v\\n\", re.RateLimitError.Reason)\n\t}\n}\n\nfunc TestAuthError(t *testing.T) {\n\teString := `{\"error_summary\": \"user_suspended/...\", \"error\": {\".tag\": \"user_suspended\"}}`\n\tts := httptest.NewServer(http.HandlerFunc(\n\t\tfunc(w http.ResponseWriter, r *http.Request) {\n\t\t\tw.Header().Set(\"Content-Type\", \"application/json; charset=utf-8\")\n\t\t\tw.WriteHeader(http.StatusUnauthorized)\n\t\t\t_, _ = w.Write([]byte(eString))\n\t\t}))\n\tdefer ts.Close()\n\n\tconfig := dropbox.Config{Client: ts.Client(), LogLevel: dropbox.LogDebug,\n\t\tURLGenerator: func(hostType string, namespace string, route string) string {\n\t\t\treturn generateURL(ts.URL, namespace, route)\n\t\t}}\n\tclient := users.New(config)\n\t_, e := client.GetCurrentAccount()\n\tre, ok := e.(auth.AuthAPIError)\n\tif !ok {\n\t\tt.Errorf(\"Unexpected error type: %T\\n\", e)\n\t}\n\tfmt.Printf(\"ERROR is %v\\n\", re)\n\tif re.AuthError.Tag != auth.AuthErrorUserSuspended {\n\t\tt.Errorf(\"Unexpected tag: %s\\n\", re.AuthError.Tag)\n\t}\n}\n\nfunc TestAccessError(t *testing.T) {\n\teString := `{\"error_summary\": \"access_error/...\",\n\t\"error\": {\n\t\t\".tag\": \"paper_access_denied\",\n\t  \"paper_access_denied\": {\".tag\": \"not_paper_user\"}\n\t}}`\n\tts := httptest.NewServer(http.HandlerFunc(\n\t\tfunc(w http.ResponseWriter, r *http.Request) {\n\t\t\tw.Header().Set(\"Content-Type\", \"application/json; charset=utf-8\")\n\t\t\tw.WriteHeader(http.StatusForbidden)\n\t\t\t_, _ = w.Write([]byte(eString))\n\t\t}))\n\tdefer ts.Close()\n\n\tconfig := dropbox.Config{Client: ts.Client(), LogLevel: dropbox.LogDebug,\n\t\tURLGenerator: func(hostType string, namespace string, route string) string {\n\t\t\treturn generateURL(ts.URL, namespace, route)\n\t\t}}\n\tclient := users.New(config)\n\t_, e := client.GetCurrentAccount()\n\tre, ok := e.(auth.AccessAPIError)\n\tif !ok {\n\t\tt.Errorf(\"Unexpected error type: %T\\n\", e)\n\t}\n\tif re.AccessError.Tag != auth.AccessErrorPaperAccessDenied {\n\t\tt.Errorf(\"Unexpected tag: %s\\n\", re.AccessError.Tag)\n\t}\n\tif re.AccessError.PaperAccessDenied.Tag != auth.PaperAccessErrorNotPaperUser {\n\t\tt.Errorf(\"Unexpected tag: %s\\n\", re.AccessError.PaperAccessDenied.Tag)\n\t}\n}\n\nfunc TestAppError(t *testing.T) {\n\teString := `{\"error_summary\":\"\",\"error\":{\".tag\":\"app_id_mismatch\"}}`\n\tts := httptest.NewServer(http.HandlerFunc(\n\t\tfunc(w http.ResponseWriter, r *http.Request) {\n\t\t\tw.Header().Set(\"Content-Type\", \"application/json; charset=utf-8\")\n\t\t\tw.WriteHeader(http.StatusConflict)\n\t\t\t_, _ = w.Write([]byte(eString))\n\t\t}))\n\tdefer ts.Close()\n\n\tconfig := dropbox.Config{Client: ts.Client(), LogLevel: dropbox.LogDebug,\n\t\tURLGenerator: func(hostType string, namespace string, route string) string {\n\t\t\treturn generateURL(ts.URL, namespace, route)\n\t\t}}\n\tclient := auth.New(config)\n\t_, e := client.TokenFromOauth1(nil)\n\tre, ok := e.(auth.TokenFromOauth1APIError)\n\tif !ok {\n\t\tt.Errorf(\"Unexpected error type: %T\\n%v\\n\", e, e)\n\t}\n\tif re.EndpointError.Tag != auth.TokenFromOAuth1ErrorAppIdMismatch {\n\t\tt.Errorf(\"Unexpected tag: %s\\n\", re.EndpointError.Tag)\n\t}\n}\n\nfunc TestHTTPHeaderSafeJSON(t *testing.T) {\n\tfor _, test := range []struct {\n\t\tname string\n\t\tin   interface{}\n\t\twant string\n\t}{\n\t\t{\n\t\t\tname: \"empty string\",\n\t\t\tin:   ``,\n\t\t\twant: `\"\"`,\n\t\t},\n\t\t{\n\t\t\tname: \"integer\",\n\t\t\tin:   123,\n\t\t\twant: `123`,\n\t\t},\n\t\t{\n\t\t\tname: \"normal string\",\n\t\t\tin:   `Normal string!`,\n\t\t\twant: `\"Normal string!\"`,\n\t\t},\n\t\t{\n\t\t\tname: \"unicode\",\n\t\t\tin:   `üñîcødé`,\n\t\t\twant: `\"\\u00fc\\u00f1\\u00eec\\u00f8d\\u00e9\"`,\n\t\t},\n\t\t{\n\t\t\tname: \"7f\",\n\t\t\tin:   \"\\x7f\",\n\t\t\twant: `\"\\u007f\"`,\n\t\t},\n\t\t{\n\t\t\tname: \"example from the docs\",\n\t\t\tin: struct {\n\t\t\t\tField string `json:\"field\"`\n\t\t\t}{\n\t\t\t\tField: \"some_üñîcødé_and_\\x7F\",\n\t\t\t},\n\t\t\twant: `{\"field\":\"some_\\u00fc\\u00f1\\u00eec\\u00f8d\\u00e9_and_\\u007f\"}`,\n\t\t},\n\t} {\n\t\tt.Run(test.name, func(t *testing.T) {\n\t\t\tb, err := json.Marshal(test.in)\n\t\t\tif err != nil {\n\t\t\t\tt.Fatal(err)\n\t\t\t}\n\t\t\tgot := dropbox.HTTPHeaderSafeJSON(b)\n\t\t\tif got != test.want {\n\t\t\t\tt.Errorf(\"Want %q got %q\", test.want, got)\n\t\t\t}\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "v6/dropbox/secondary_emails/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package secondary_emails : has no documentation (yet)\npackage secondary_emails\n\n// SecondaryEmail : has no documentation (yet)\ntype SecondaryEmail struct {\n\t// Email : Secondary email address.\n\tEmail string `json:\"email\"`\n\t// IsVerified : Whether or not the secondary email address is verified to be\n\t// owned by a user.\n\tIsVerified bool `json:\"is_verified\"`\n}\n\n// NewSecondaryEmail returns a new SecondaryEmail instance\nfunc NewSecondaryEmail(Email string, IsVerified bool) *SecondaryEmail {\n\ts := new(SecondaryEmail)\n\ts.Email = Email\n\ts.IsVerified = IsVerified\n\treturn s\n}\n"
  },
  {
    "path": "v6/dropbox/seen_state/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package seen_state : has no documentation (yet)\npackage seen_state\n\nimport \"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\n// PlatformType : Possible platforms on which a user may view content.\ntype PlatformType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PlatformType\nconst (\n\tPlatformTypeWeb           = \"web\"\n\tPlatformTypeDesktop       = \"desktop\"\n\tPlatformTypeMobileIos     = \"mobile_ios\"\n\tPlatformTypeMobileAndroid = \"mobile_android\"\n\tPlatformTypeApi           = \"api\"\n\tPlatformTypeUnknown       = \"unknown\"\n\tPlatformTypeMobile        = \"mobile\"\n\tPlatformTypeOther         = \"other\"\n)\n"
  },
  {
    "path": "v6/dropbox/sharing/client.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage sharing\n\nimport (\n\t\"encoding/json\"\n\t\"io\"\n\t\"log\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/async\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/auth\"\n)\n\n// Client interface describes all routes in this namespace\ntype Client interface {\n\t// AddFileMember : Adds specified members to a file.\n\tAddFileMember(arg *AddFileMemberArgs) (res []*FileMemberActionResult, err error)\n\t// AddFolderMember : Allows an owner or editor (if the ACL update policy\n\t// allows) of a shared folder to add another member. For the new member to\n\t// get access to all the functionality for this folder, you will need to\n\t// call `mountFolder` on their behalf.\n\tAddFolderMember(arg *AddFolderMemberArg) (err error)\n\t// CheckJobStatus : Returns the status of an asynchronous job.\n\tCheckJobStatus(arg *async.PollArg) (res *JobStatus, err error)\n\t// CheckRemoveMemberJobStatus : Returns the status of an asynchronous job\n\t// for sharing a folder.\n\tCheckRemoveMemberJobStatus(arg *async.PollArg) (res *RemoveMemberJobStatus, err error)\n\t// CheckShareJobStatus : Returns the status of an asynchronous job for\n\t// sharing a folder.\n\tCheckShareJobStatus(arg *async.PollArg) (res *ShareFolderJobStatus, err error)\n\t// CreateSharedLink : Create a shared link. If a shared link already exists\n\t// for the given path, that link is returned. Previously, it was technically\n\t// possible to break a shared link by moving or renaming the corresponding\n\t// file or folder. In the future, this will no longer be the case, so your\n\t// app shouldn't rely on this behavior. Instead, if your app needs to revoke\n\t// a shared link, use `revokeSharedLink`.\n\t// Deprecated: Use `CreateSharedLinkWithSettings` instead\n\tCreateSharedLink(arg *CreateSharedLinkArg) (res *PathLinkMetadata, err error)\n\t// CreateSharedLinkWithSettings : Create a shared link with custom settings.\n\t// If no settings are given then the default visibility is\n\t// `RequestedVisibility.public` (The resolved visibility, though, may depend\n\t// on other aspects such as team and shared folder settings).\n\tCreateSharedLinkWithSettings(arg *CreateSharedLinkWithSettingsArg) (res IsSharedLinkMetadata, err error)\n\t// GetFileMetadata : Returns shared file metadata.\n\tGetFileMetadata(arg *GetFileMetadataArg) (res *SharedFileMetadata, err error)\n\t// GetFileMetadataBatch : Returns shared file metadata.\n\tGetFileMetadataBatch(arg *GetFileMetadataBatchArg) (res []*GetFileMetadataBatchResult, err error)\n\t// GetFolderMetadata : Returns shared folder metadata by its folder ID.\n\tGetFolderMetadata(arg *GetMetadataArgs) (res *SharedFolderMetadata, err error)\n\t// GetSharedLinkFile : Download the shared link's file from a user's\n\t// Dropbox.\n\tGetSharedLinkFile(arg *GetSharedLinkMetadataArg) (res IsSharedLinkMetadata, content io.ReadCloser, err error)\n\t// GetSharedLinkMetadata : Get the shared link's metadata.\n\tGetSharedLinkMetadata(arg *GetSharedLinkMetadataArg) (res IsSharedLinkMetadata, err error)\n\t// GetSharedLinks : Returns a list of `LinkMetadata` objects for this user,\n\t// including collection links. If no path is given, returns a list of all\n\t// shared links for the current user, including collection links, up to a\n\t// maximum of 1000 links. If a non-empty path is given, returns a list of\n\t// all shared links that allow access to the given path.  Collection links\n\t// are never returned in this case.\n\t// Deprecated: Use `ListSharedLinks` instead\n\tGetSharedLinks(arg *GetSharedLinksArg) (res *GetSharedLinksResult, err error)\n\t// ListFileMembers : Use to obtain the members who have been invited to a\n\t// file, both inherited and uninherited members.\n\tListFileMembers(arg *ListFileMembersArg) (res *SharedFileMembers, err error)\n\t// ListFileMembersBatch : Get members of multiple files at once. The\n\t// arguments to this route are more limited, and the limit on query result\n\t// size per file is more strict. To customize the results more, use the\n\t// individual file endpoint. Inherited users and groups are not included in\n\t// the result, and permissions are not returned for this endpoint.\n\tListFileMembersBatch(arg *ListFileMembersBatchArg) (res []*ListFileMembersBatchResult, err error)\n\t// ListFileMembersContinue : Once a cursor has been retrieved from\n\t// `listFileMembers` or `listFileMembersBatch`, use this to paginate through\n\t// all shared file members.\n\tListFileMembersContinue(arg *ListFileMembersContinueArg) (res *SharedFileMembers, err error)\n\t// ListFolderMembers : Returns shared folder membership by its folder ID.\n\tListFolderMembers(arg *ListFolderMembersArgs) (res *SharedFolderMembers, err error)\n\t// ListFolderMembersContinue : Once a cursor has been retrieved from\n\t// `listFolderMembers`, use this to paginate through all shared folder\n\t// members.\n\tListFolderMembersContinue(arg *ListFolderMembersContinueArg) (res *SharedFolderMembers, err error)\n\t// ListFolders : Return the list of all shared folders the current user has\n\t// access to.\n\tListFolders(arg *ListFoldersArgs) (res *ListFoldersResult, err error)\n\t// ListFoldersContinue : Once a cursor has been retrieved from\n\t// `listFolders`, use this to paginate through all shared folders. The\n\t// cursor must come from a previous call to `listFolders` or\n\t// `listFoldersContinue`.\n\tListFoldersContinue(arg *ListFoldersContinueArg) (res *ListFoldersResult, err error)\n\t// ListMountableFolders : Return the list of all shared folders the current\n\t// user can mount or unmount.\n\tListMountableFolders(arg *ListFoldersArgs) (res *ListFoldersResult, err error)\n\t// ListMountableFoldersContinue : Once a cursor has been retrieved from\n\t// `listMountableFolders`, use this to paginate through all mountable shared\n\t// folders. The cursor must come from a previous call to\n\t// `listMountableFolders` or `listMountableFoldersContinue`.\n\tListMountableFoldersContinue(arg *ListFoldersContinueArg) (res *ListFoldersResult, err error)\n\t// ListReceivedFiles : Returns a list of all files shared with current user.\n\t// Does not include files the user has received via shared folders, and does\n\t// not include unclaimed invitations.\n\tListReceivedFiles(arg *ListFilesArg) (res *ListFilesResult, err error)\n\t// ListReceivedFilesContinue : Get more results with a cursor from\n\t// `listReceivedFiles`.\n\tListReceivedFilesContinue(arg *ListFilesContinueArg) (res *ListFilesResult, err error)\n\t// ListSharedLinks : List shared links of this user. If no path is given,\n\t// returns a list of all shared links for the current user. For members of\n\t// business teams using team space and member folders, returns all shared\n\t// links in the team member's home folder unless the team space ID is\n\t// specified in the request header. For more information, refer to the\n\t// `Namespace Guide`\n\t// <https://www.dropbox.com/developers/reference/namespace-guide>. If a\n\t// non-empty path is given, returns a list of all shared links that allow\n\t// access to the given path - direct links to the given path and links to\n\t// parent folders of the given path. Links to parent folders can be\n\t// suppressed by setting direct_only to true.\n\tListSharedLinks(arg *ListSharedLinksArg) (res *ListSharedLinksResult, err error)\n\t// ModifySharedLinkSettings : Modify the shared link's settings. If the\n\t// requested visibility conflict with the shared links policy of the team or\n\t// the shared folder (in case the linked file is part of a shared folder)\n\t// then the `LinkPermissions.resolved_visibility` of the returned\n\t// `SharedLinkMetadata` will reflect the actual visibility of the shared\n\t// link and the `LinkPermissions.requested_visibility` will reflect the\n\t// requested visibility.\n\tModifySharedLinkSettings(arg *ModifySharedLinkSettingsArgs) (res IsSharedLinkMetadata, err error)\n\t// MountFolder : The current user mounts the designated folder. Mount a\n\t// shared folder for a user after they have been added as a member. Once\n\t// mounted, the shared folder will appear in their Dropbox.\n\tMountFolder(arg *MountFolderArg) (res *SharedFolderMetadata, err error)\n\t// RelinquishFileMembership : The current user relinquishes their membership\n\t// in the designated file. Note that the current user may still have\n\t// inherited access to this file through the parent folder.\n\tRelinquishFileMembership(arg *RelinquishFileMembershipArg) (err error)\n\t// RelinquishFolderMembership : The current user relinquishes their\n\t// membership in the designated shared folder and will no longer have access\n\t// to the folder.  A folder owner cannot relinquish membership in their own\n\t// folder. This will run synchronously if leave_a_copy is false, and\n\t// asynchronously if leave_a_copy is true.\n\tRelinquishFolderMembership(arg *RelinquishFolderMembershipArg) (res *async.LaunchEmptyResult, err error)\n\t// RemoveFileMember : Identical to remove_file_member_2 but with less\n\t// information returned.\n\t// Deprecated: Use `RemoveFileMember2` instead\n\tRemoveFileMember(arg *RemoveFileMemberArg) (res *FileMemberActionIndividualResult, err error)\n\t// RemoveFileMember2 : Removes a specified member from the file.\n\tRemoveFileMember2(arg *RemoveFileMemberArg) (res *FileMemberRemoveActionResult, err error)\n\t// RemoveFolderMember : Allows an owner or editor (if the ACL update policy\n\t// allows) of a shared folder to remove another member.\n\tRemoveFolderMember(arg *RemoveFolderMemberArg) (res *async.LaunchResultBase, err error)\n\t// RevokeSharedLink : Revoke a shared link. Note that even after revoking a\n\t// shared link to a file, the file may be accessible if there are shared\n\t// links leading to any of the file parent folders. To list all shared links\n\t// that enable access to a specific file, you can use the `listSharedLinks`\n\t// with the file as the `ListSharedLinksArg.path` argument.\n\tRevokeSharedLink(arg *RevokeSharedLinkArg) (err error)\n\t// SetAccessInheritance : Change the inheritance policy of an existing\n\t// Shared Folder. Only permitted for shared folders in a shared team root.\n\t// If a `ShareFolderLaunch.async_job_id` is returned, you'll need to call\n\t// `checkShareJobStatus` until the action completes to get the metadata for\n\t// the folder.\n\tSetAccessInheritance(arg *SetAccessInheritanceArg) (res *ShareFolderLaunch, err error)\n\t// ShareFolder : Share a folder with collaborators. Most sharing will be\n\t// completed synchronously. Large folders will be completed asynchronously.\n\t// To make testing the async case repeatable, set\n\t// `ShareFolderArg.force_async`. If a `ShareFolderLaunch.async_job_id` is\n\t// returned, you'll need to call `checkShareJobStatus` until the action\n\t// completes to get the metadata for the folder.\n\tShareFolder(arg *ShareFolderArg) (res *ShareFolderLaunch, err error)\n\t// TransferFolder : Transfer ownership of a shared folder to a member of the\n\t// shared folder. User must have `AccessLevel.owner` access to the shared\n\t// folder to perform a transfer.\n\tTransferFolder(arg *TransferFolderArg) (err error)\n\t// UnmountFolder : The current user unmounts the designated folder. They can\n\t// re-mount the folder at a later time using `mountFolder`.\n\tUnmountFolder(arg *UnmountFolderArg) (err error)\n\t// UnshareFile : Remove all members from this file. Does not remove\n\t// inherited members.\n\tUnshareFile(arg *UnshareFileArg) (err error)\n\t// UnshareFolder : Allows a shared folder owner to unshare the folder.\n\t// You'll need to call `checkJobStatus` to determine if the action has\n\t// completed successfully.\n\tUnshareFolder(arg *UnshareFolderArg) (res *async.LaunchEmptyResult, err error)\n\t// UpdateFileMember : Changes a member's access on a shared file.\n\tUpdateFileMember(arg *UpdateFileMemberArgs) (res *MemberAccessLevelResult, err error)\n\t// UpdateFolderMember : Allows an owner or editor of a shared folder to\n\t// update another member's permissions.\n\tUpdateFolderMember(arg *UpdateFolderMemberArg) (res *MemberAccessLevelResult, err error)\n\t// UpdateFolderPolicy : Update the sharing policies for a shared folder.\n\t// User must have `AccessLevel.owner` access to the shared folder to update\n\t// its policies.\n\tUpdateFolderPolicy(arg *UpdateFolderPolicyArg) (res *SharedFolderMetadata, err error)\n}\n\ntype apiImpl dropbox.Context\n\n//AddFileMemberAPIError is an error-wrapper for the add_file_member route\ntype AddFileMemberAPIError struct {\n\tdropbox.APIError\n\tEndpointError *AddFileMemberError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) AddFileMember(arg *AddFileMemberArgs) (res []*FileMemberActionResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"add_file_member\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr AddFileMemberAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//AddFolderMemberAPIError is an error-wrapper for the add_folder_member route\ntype AddFolderMemberAPIError struct {\n\tdropbox.APIError\n\tEndpointError *AddFolderMemberError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) AddFolderMember(arg *AddFolderMemberArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"add_folder_member\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr AddFolderMemberAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//CheckJobStatusAPIError is an error-wrapper for the check_job_status route\ntype CheckJobStatusAPIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CheckJobStatus(arg *async.PollArg) (res *JobStatus, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"check_job_status\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CheckJobStatusAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CheckRemoveMemberJobStatusAPIError is an error-wrapper for the check_remove_member_job_status route\ntype CheckRemoveMemberJobStatusAPIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CheckRemoveMemberJobStatus(arg *async.PollArg) (res *RemoveMemberJobStatus, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"check_remove_member_job_status\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CheckRemoveMemberJobStatusAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CheckShareJobStatusAPIError is an error-wrapper for the check_share_job_status route\ntype CheckShareJobStatusAPIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CheckShareJobStatus(arg *async.PollArg) (res *ShareFolderJobStatus, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"check_share_job_status\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CheckShareJobStatusAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CreateSharedLinkAPIError is an error-wrapper for the create_shared_link route\ntype CreateSharedLinkAPIError struct {\n\tdropbox.APIError\n\tEndpointError *CreateSharedLinkError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CreateSharedLink(arg *CreateSharedLinkArg) (res *PathLinkMetadata, err error) {\n\tlog.Printf(\"WARNING: API `CreateSharedLink` is deprecated\")\n\tlog.Printf(\"Use API `CreateSharedLinkWithSettings` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"create_shared_link\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CreateSharedLinkAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//CreateSharedLinkWithSettingsAPIError is an error-wrapper for the create_shared_link_with_settings route\ntype CreateSharedLinkWithSettingsAPIError struct {\n\tdropbox.APIError\n\tEndpointError *CreateSharedLinkWithSettingsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) CreateSharedLinkWithSettings(arg *CreateSharedLinkWithSettingsArg) (res IsSharedLinkMetadata, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"create_shared_link_with_settings\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr CreateSharedLinkWithSettingsAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\tvar tmp sharedLinkMetadataUnion\n\terr = json.Unmarshal(resp, &tmp)\n\tif err != nil {\n\t\treturn\n\t}\n\tswitch tmp.Tag {\n\tcase \"file\":\n\t\tres = tmp.File\n\n\tcase \"folder\":\n\t\tres = tmp.Folder\n\n\t}\n\t_ = respBody\n\treturn\n}\n\n//GetFileMetadataAPIError is an error-wrapper for the get_file_metadata route\ntype GetFileMetadataAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GetFileMetadataError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetFileMetadata(arg *GetFileMetadataArg) (res *SharedFileMetadata, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"get_file_metadata\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetFileMetadataAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GetFileMetadataBatchAPIError is an error-wrapper for the get_file_metadata/batch route\ntype GetFileMetadataBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError *SharingUserError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetFileMetadataBatch(arg *GetFileMetadataBatchArg) (res []*GetFileMetadataBatchResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"get_file_metadata/batch\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetFileMetadataBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GetFolderMetadataAPIError is an error-wrapper for the get_folder_metadata route\ntype GetFolderMetadataAPIError struct {\n\tdropbox.APIError\n\tEndpointError *SharedFolderAccessError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetFolderMetadata(arg *GetMetadataArgs) (res *SharedFolderMetadata, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"get_folder_metadata\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetFolderMetadataAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GetSharedLinkFileAPIError is an error-wrapper for the get_shared_link_file route\ntype GetSharedLinkFileAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GetSharedLinkFileError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetSharedLinkFile(arg *GetSharedLinkMetadataArg) (res IsSharedLinkMetadata, content io.ReadCloser, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"content\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"get_shared_link_file\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"download\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetSharedLinkFileAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\tvar tmp sharedLinkMetadataUnion\n\terr = json.Unmarshal(resp, &tmp)\n\tif err != nil {\n\t\treturn\n\t}\n\tswitch tmp.Tag {\n\tcase \"file\":\n\t\tres = tmp.File\n\n\tcase \"folder\":\n\t\tres = tmp.Folder\n\n\t}\n\tcontent = respBody\n\treturn\n}\n\n//GetSharedLinkMetadataAPIError is an error-wrapper for the get_shared_link_metadata route\ntype GetSharedLinkMetadataAPIError struct {\n\tdropbox.APIError\n\tEndpointError *SharedLinkError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetSharedLinkMetadata(arg *GetSharedLinkMetadataArg) (res IsSharedLinkMetadata, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"get_shared_link_metadata\",\n\t\tAuth:         \"app, user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetSharedLinkMetadataAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\tvar tmp sharedLinkMetadataUnion\n\terr = json.Unmarshal(resp, &tmp)\n\tif err != nil {\n\t\treturn\n\t}\n\tswitch tmp.Tag {\n\tcase \"file\":\n\t\tres = tmp.File\n\n\tcase \"folder\":\n\t\tres = tmp.Folder\n\n\t}\n\t_ = respBody\n\treturn\n}\n\n//GetSharedLinksAPIError is an error-wrapper for the get_shared_links route\ntype GetSharedLinksAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GetSharedLinksError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetSharedLinks(arg *GetSharedLinksArg) (res *GetSharedLinksResult, err error) {\n\tlog.Printf(\"WARNING: API `GetSharedLinks` is deprecated\")\n\tlog.Printf(\"Use API `ListSharedLinks` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"get_shared_links\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetSharedLinksAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListFileMembersAPIError is an error-wrapper for the list_file_members route\ntype ListFileMembersAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListFileMembersError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListFileMembers(arg *ListFileMembersArg) (res *SharedFileMembers, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"list_file_members\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListFileMembersAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListFileMembersBatchAPIError is an error-wrapper for the list_file_members/batch route\ntype ListFileMembersBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError *SharingUserError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListFileMembersBatch(arg *ListFileMembersBatchArg) (res []*ListFileMembersBatchResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"list_file_members/batch\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListFileMembersBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListFileMembersContinueAPIError is an error-wrapper for the list_file_members/continue route\ntype ListFileMembersContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListFileMembersContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListFileMembersContinue(arg *ListFileMembersContinueArg) (res *SharedFileMembers, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"list_file_members/continue\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListFileMembersContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListFolderMembersAPIError is an error-wrapper for the list_folder_members route\ntype ListFolderMembersAPIError struct {\n\tdropbox.APIError\n\tEndpointError *SharedFolderAccessError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListFolderMembers(arg *ListFolderMembersArgs) (res *SharedFolderMembers, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"list_folder_members\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListFolderMembersAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListFolderMembersContinueAPIError is an error-wrapper for the list_folder_members/continue route\ntype ListFolderMembersContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListFolderMembersContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListFolderMembersContinue(arg *ListFolderMembersContinueArg) (res *SharedFolderMembers, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"list_folder_members/continue\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListFolderMembersContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListFoldersAPIError is an error-wrapper for the list_folders route\ntype ListFoldersAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListFolders(arg *ListFoldersArgs) (res *ListFoldersResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"list_folders\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListFoldersAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListFoldersContinueAPIError is an error-wrapper for the list_folders/continue route\ntype ListFoldersContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListFoldersContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListFoldersContinue(arg *ListFoldersContinueArg) (res *ListFoldersResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"list_folders/continue\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListFoldersContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListMountableFoldersAPIError is an error-wrapper for the list_mountable_folders route\ntype ListMountableFoldersAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListMountableFolders(arg *ListFoldersArgs) (res *ListFoldersResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"list_mountable_folders\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListMountableFoldersAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListMountableFoldersContinueAPIError is an error-wrapper for the list_mountable_folders/continue route\ntype ListMountableFoldersContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListFoldersContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListMountableFoldersContinue(arg *ListFoldersContinueArg) (res *ListFoldersResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"list_mountable_folders/continue\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListMountableFoldersContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListReceivedFilesAPIError is an error-wrapper for the list_received_files route\ntype ListReceivedFilesAPIError struct {\n\tdropbox.APIError\n\tEndpointError *SharingUserError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListReceivedFiles(arg *ListFilesArg) (res *ListFilesResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"list_received_files\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListReceivedFilesAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListReceivedFilesContinueAPIError is an error-wrapper for the list_received_files/continue route\ntype ListReceivedFilesContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListFilesContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListReceivedFilesContinue(arg *ListFilesContinueArg) (res *ListFilesResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"list_received_files/continue\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListReceivedFilesContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ListSharedLinksAPIError is an error-wrapper for the list_shared_links route\ntype ListSharedLinksAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListSharedLinksError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ListSharedLinks(arg *ListSharedLinksArg) (res *ListSharedLinksResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"list_shared_links\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ListSharedLinksAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ModifySharedLinkSettingsAPIError is an error-wrapper for the modify_shared_link_settings route\ntype ModifySharedLinkSettingsAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ModifySharedLinkSettingsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ModifySharedLinkSettings(arg *ModifySharedLinkSettingsArgs) (res IsSharedLinkMetadata, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"modify_shared_link_settings\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ModifySharedLinkSettingsAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\tvar tmp sharedLinkMetadataUnion\n\terr = json.Unmarshal(resp, &tmp)\n\tif err != nil {\n\t\treturn\n\t}\n\tswitch tmp.Tag {\n\tcase \"file\":\n\t\tres = tmp.File\n\n\tcase \"folder\":\n\t\tres = tmp.Folder\n\n\t}\n\t_ = respBody\n\treturn\n}\n\n//MountFolderAPIError is an error-wrapper for the mount_folder route\ntype MountFolderAPIError struct {\n\tdropbox.APIError\n\tEndpointError *MountFolderError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MountFolder(arg *MountFolderArg) (res *SharedFolderMetadata, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"mount_folder\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MountFolderAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//RelinquishFileMembershipAPIError is an error-wrapper for the relinquish_file_membership route\ntype RelinquishFileMembershipAPIError struct {\n\tdropbox.APIError\n\tEndpointError *RelinquishFileMembershipError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) RelinquishFileMembership(arg *RelinquishFileMembershipArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"relinquish_file_membership\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr RelinquishFileMembershipAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//RelinquishFolderMembershipAPIError is an error-wrapper for the relinquish_folder_membership route\ntype RelinquishFolderMembershipAPIError struct {\n\tdropbox.APIError\n\tEndpointError *RelinquishFolderMembershipError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) RelinquishFolderMembership(arg *RelinquishFolderMembershipArg) (res *async.LaunchEmptyResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"relinquish_folder_membership\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr RelinquishFolderMembershipAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//RemoveFileMemberAPIError is an error-wrapper for the remove_file_member route\ntype RemoveFileMemberAPIError struct {\n\tdropbox.APIError\n\tEndpointError *RemoveFileMemberError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) RemoveFileMember(arg *RemoveFileMemberArg) (res *FileMemberActionIndividualResult, err error) {\n\tlog.Printf(\"WARNING: API `RemoveFileMember` is deprecated\")\n\tlog.Printf(\"Use API `RemoveFileMember2` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"remove_file_member\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr RemoveFileMemberAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//RemoveFileMember2APIError is an error-wrapper for the remove_file_member_2 route\ntype RemoveFileMember2APIError struct {\n\tdropbox.APIError\n\tEndpointError *RemoveFileMemberError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) RemoveFileMember2(arg *RemoveFileMemberArg) (res *FileMemberRemoveActionResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"remove_file_member_2\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr RemoveFileMember2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//RemoveFolderMemberAPIError is an error-wrapper for the remove_folder_member route\ntype RemoveFolderMemberAPIError struct {\n\tdropbox.APIError\n\tEndpointError *RemoveFolderMemberError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) RemoveFolderMember(arg *RemoveFolderMemberArg) (res *async.LaunchResultBase, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"remove_folder_member\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr RemoveFolderMemberAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//RevokeSharedLinkAPIError is an error-wrapper for the revoke_shared_link route\ntype RevokeSharedLinkAPIError struct {\n\tdropbox.APIError\n\tEndpointError *RevokeSharedLinkError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) RevokeSharedLink(arg *RevokeSharedLinkArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"revoke_shared_link\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr RevokeSharedLinkAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//SetAccessInheritanceAPIError is an error-wrapper for the set_access_inheritance route\ntype SetAccessInheritanceAPIError struct {\n\tdropbox.APIError\n\tEndpointError *SetAccessInheritanceError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) SetAccessInheritance(arg *SetAccessInheritanceArg) (res *ShareFolderLaunch, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"set_access_inheritance\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr SetAccessInheritanceAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ShareFolderAPIError is an error-wrapper for the share_folder route\ntype ShareFolderAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ShareFolderError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ShareFolder(arg *ShareFolderArg) (res *ShareFolderLaunch, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"share_folder\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ShareFolderAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TransferFolderAPIError is an error-wrapper for the transfer_folder route\ntype TransferFolderAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TransferFolderError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TransferFolder(arg *TransferFolderArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"transfer_folder\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TransferFolderAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//UnmountFolderAPIError is an error-wrapper for the unmount_folder route\ntype UnmountFolderAPIError struct {\n\tdropbox.APIError\n\tEndpointError *UnmountFolderError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) UnmountFolder(arg *UnmountFolderArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"unmount_folder\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr UnmountFolderAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//UnshareFileAPIError is an error-wrapper for the unshare_file route\ntype UnshareFileAPIError struct {\n\tdropbox.APIError\n\tEndpointError *UnshareFileError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) UnshareFile(arg *UnshareFileArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"unshare_file\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr UnshareFileAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//UnshareFolderAPIError is an error-wrapper for the unshare_folder route\ntype UnshareFolderAPIError struct {\n\tdropbox.APIError\n\tEndpointError *UnshareFolderError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) UnshareFolder(arg *UnshareFolderArg) (res *async.LaunchEmptyResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"unshare_folder\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr UnshareFolderAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//UpdateFileMemberAPIError is an error-wrapper for the update_file_member route\ntype UpdateFileMemberAPIError struct {\n\tdropbox.APIError\n\tEndpointError *FileMemberActionError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) UpdateFileMember(arg *UpdateFileMemberArgs) (res *MemberAccessLevelResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"update_file_member\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr UpdateFileMemberAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//UpdateFolderMemberAPIError is an error-wrapper for the update_folder_member route\ntype UpdateFolderMemberAPIError struct {\n\tdropbox.APIError\n\tEndpointError *UpdateFolderMemberError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) UpdateFolderMember(arg *UpdateFolderMemberArg) (res *MemberAccessLevelResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"update_folder_member\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr UpdateFolderMemberAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//UpdateFolderPolicyAPIError is an error-wrapper for the update_folder_policy route\ntype UpdateFolderPolicyAPIError struct {\n\tdropbox.APIError\n\tEndpointError *UpdateFolderPolicyError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) UpdateFolderPolicy(arg *UpdateFolderPolicyArg) (res *SharedFolderMetadata, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"sharing\",\n\t\tRoute:        \"update_folder_policy\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr UpdateFolderPolicyAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n// New returns a Client implementation for this namespace\nfunc New(c dropbox.Config) Client {\n\tctx := apiImpl(dropbox.NewContext(c))\n\treturn &ctx\n}\n"
  },
  {
    "path": "v6/dropbox/sharing/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package sharing : This namespace contains endpoints and data types for\n// creating and managing shared links and shared folders.\npackage sharing\n\nimport (\n\t\"encoding/json\"\n\t\"time\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/files\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/seen_state\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/team_common\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/users\"\n)\n\n// AccessInheritance : Information about the inheritance policy of a shared\n// folder.\ntype AccessInheritance struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AccessInheritance\nconst (\n\tAccessInheritanceInherit   = \"inherit\"\n\tAccessInheritanceNoInherit = \"no_inherit\"\n\tAccessInheritanceOther     = \"other\"\n)\n\n// AccessLevel : Defines the access levels for collaborators.\ntype AccessLevel struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AccessLevel\nconst (\n\tAccessLevelOwner           = \"owner\"\n\tAccessLevelEditor          = \"editor\"\n\tAccessLevelViewer          = \"viewer\"\n\tAccessLevelViewerNoComment = \"viewer_no_comment\"\n\tAccessLevelTraverse        = \"traverse\"\n\tAccessLevelOther           = \"other\"\n)\n\n// AclUpdatePolicy : Who can change a shared folder's access control list (ACL).\n// In other words, who can add, remove, or change the privileges of members.\ntype AclUpdatePolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AclUpdatePolicy\nconst (\n\tAclUpdatePolicyOwner   = \"owner\"\n\tAclUpdatePolicyEditors = \"editors\"\n\tAclUpdatePolicyOther   = \"other\"\n)\n\n// AddFileMemberArgs : Arguments for `addFileMember`.\ntype AddFileMemberArgs struct {\n\t// File : File to which to add members.\n\tFile string `json:\"file\"`\n\t// Members : Members to add. Note that even an email address is given, this\n\t// may result in a user being directly added to the membership if that email\n\t// is the user's main account email.\n\tMembers []*MemberSelector `json:\"members\"`\n\t// CustomMessage : Message to send to added members in their invitation.\n\tCustomMessage string `json:\"custom_message,omitempty\"`\n\t// Quiet : Whether added members should be notified via email and device\n\t// notifications of their invitation.\n\tQuiet bool `json:\"quiet\"`\n\t// AccessLevel : AccessLevel union object, describing what access level we\n\t// want to give new members.\n\tAccessLevel *AccessLevel `json:\"access_level\"`\n\t// AddMessageAsComment : If the custom message should be added as a comment\n\t// on the file.\n\tAddMessageAsComment bool `json:\"add_message_as_comment\"`\n}\n\n// NewAddFileMemberArgs returns a new AddFileMemberArgs instance\nfunc NewAddFileMemberArgs(File string, Members []*MemberSelector) *AddFileMemberArgs {\n\ts := new(AddFileMemberArgs)\n\ts.File = File\n\ts.Members = Members\n\ts.Quiet = false\n\ts.AccessLevel = &AccessLevel{Tagged: dropbox.Tagged{Tag: \"viewer\"}}\n\ts.AddMessageAsComment = false\n\treturn s\n}\n\n// AddFileMemberError : Errors for `addFileMember`.\ntype AddFileMemberError struct {\n\tdropbox.Tagged\n\t// UserError : has no documentation (yet)\n\tUserError *SharingUserError `json:\"user_error,omitempty\"`\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n}\n\n// Valid tag values for AddFileMemberError\nconst (\n\tAddFileMemberErrorUserError      = \"user_error\"\n\tAddFileMemberErrorAccessError    = \"access_error\"\n\tAddFileMemberErrorRateLimit      = \"rate_limit\"\n\tAddFileMemberErrorInvalidComment = \"invalid_comment\"\n\tAddFileMemberErrorOther          = \"other\"\n)\n\n// UnmarshalJSON deserializes into a AddFileMemberError instance\nfunc (u *AddFileMemberError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// UserError : has no documentation (yet)\n\t\tUserError *SharingUserError `json:\"user_error,omitempty\"`\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"user_error\":\n\t\tu.UserError = w.UserError\n\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\t}\n\treturn nil\n}\n\n// AddFolderMemberArg : has no documentation (yet)\ntype AddFolderMemberArg struct {\n\t// SharedFolderId : The ID for the shared folder.\n\tSharedFolderId string `json:\"shared_folder_id\"`\n\t// Members : The intended list of members to add.  Added members will\n\t// receive invites to join the shared folder.\n\tMembers []*AddMember `json:\"members\"`\n\t// Quiet : Whether added members should be notified via email and device\n\t// notifications of their invite.\n\tQuiet bool `json:\"quiet\"`\n\t// CustomMessage : Optional message to display to added members in their\n\t// invitation.\n\tCustomMessage string `json:\"custom_message,omitempty\"`\n}\n\n// NewAddFolderMemberArg returns a new AddFolderMemberArg instance\nfunc NewAddFolderMemberArg(SharedFolderId string, Members []*AddMember) *AddFolderMemberArg {\n\ts := new(AddFolderMemberArg)\n\ts.SharedFolderId = SharedFolderId\n\ts.Members = Members\n\ts.Quiet = false\n\treturn s\n}\n\n// AddFolderMemberError : has no documentation (yet)\ntype AddFolderMemberError struct {\n\tdropbox.Tagged\n\t// AccessError : Unable to access shared folder.\n\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n\t// BadMember : `AddFolderMemberArg.members` contains a bad invitation\n\t// recipient.\n\tBadMember *AddMemberSelectorError `json:\"bad_member,omitempty\"`\n\t// TooManyMembers : The value is the member limit that was reached.\n\tTooManyMembers uint64 `json:\"too_many_members,omitempty\"`\n\t// TooManyPendingInvites : The value is the pending invite limit that was\n\t// reached.\n\tTooManyPendingInvites uint64 `json:\"too_many_pending_invites,omitempty\"`\n}\n\n// Valid tag values for AddFolderMemberError\nconst (\n\tAddFolderMemberErrorAccessError           = \"access_error\"\n\tAddFolderMemberErrorEmailUnverified       = \"email_unverified\"\n\tAddFolderMemberErrorBannedMember          = \"banned_member\"\n\tAddFolderMemberErrorBadMember             = \"bad_member\"\n\tAddFolderMemberErrorCantShareOutsideTeam  = \"cant_share_outside_team\"\n\tAddFolderMemberErrorTooManyMembers        = \"too_many_members\"\n\tAddFolderMemberErrorTooManyPendingInvites = \"too_many_pending_invites\"\n\tAddFolderMemberErrorRateLimit             = \"rate_limit\"\n\tAddFolderMemberErrorTooManyInvitees       = \"too_many_invitees\"\n\tAddFolderMemberErrorInsufficientPlan      = \"insufficient_plan\"\n\tAddFolderMemberErrorTeamFolder            = \"team_folder\"\n\tAddFolderMemberErrorNoPermission          = \"no_permission\"\n\tAddFolderMemberErrorInvalidSharedFolder   = \"invalid_shared_folder\"\n\tAddFolderMemberErrorOther                 = \"other\"\n)\n\n// UnmarshalJSON deserializes into a AddFolderMemberError instance\nfunc (u *AddFolderMemberError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : Unable to access shared folder.\n\t\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n\t\t// BadMember : `AddFolderMemberArg.members` contains a bad invitation\n\t\t// recipient.\n\t\tBadMember *AddMemberSelectorError `json:\"bad_member,omitempty\"`\n\t\t// TooManyMembers : The value is the member limit that was reached.\n\t\tTooManyMembers uint64 `json:\"too_many_members,omitempty\"`\n\t\t// TooManyPendingInvites : The value is the pending invite limit that\n\t\t// was reached.\n\t\tTooManyPendingInvites uint64 `json:\"too_many_pending_invites,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\tcase \"bad_member\":\n\t\tu.BadMember = w.BadMember\n\n\tcase \"too_many_members\":\n\t\tu.TooManyMembers = w.TooManyMembers\n\n\tcase \"too_many_pending_invites\":\n\t\tu.TooManyPendingInvites = w.TooManyPendingInvites\n\n\t}\n\treturn nil\n}\n\n// AddMember : The member and type of access the member should have when added\n// to a shared folder.\ntype AddMember struct {\n\t// Member : The member to add to the shared folder.\n\tMember *MemberSelector `json:\"member\"`\n\t// AccessLevel : The access level to grant `member` to the shared folder.\n\t// `AccessLevel.owner` is disallowed.\n\tAccessLevel *AccessLevel `json:\"access_level\"`\n}\n\n// NewAddMember returns a new AddMember instance\nfunc NewAddMember(Member *MemberSelector) *AddMember {\n\ts := new(AddMember)\n\ts.Member = Member\n\ts.AccessLevel = &AccessLevel{Tagged: dropbox.Tagged{Tag: \"viewer\"}}\n\treturn s\n}\n\n// AddMemberSelectorError : has no documentation (yet)\ntype AddMemberSelectorError struct {\n\tdropbox.Tagged\n\t// InvalidDropboxId : The value is the ID that could not be identified.\n\tInvalidDropboxId string `json:\"invalid_dropbox_id,omitempty\"`\n\t// InvalidEmail : The value is the e-email address that is malformed.\n\tInvalidEmail string `json:\"invalid_email,omitempty\"`\n\t// UnverifiedDropboxId : The value is the ID of the Dropbox user with an\n\t// unverified email address. Invite unverified users by email address\n\t// instead of by their Dropbox ID.\n\tUnverifiedDropboxId string `json:\"unverified_dropbox_id,omitempty\"`\n}\n\n// Valid tag values for AddMemberSelectorError\nconst (\n\tAddMemberSelectorErrorAutomaticGroup      = \"automatic_group\"\n\tAddMemberSelectorErrorInvalidDropboxId    = \"invalid_dropbox_id\"\n\tAddMemberSelectorErrorInvalidEmail        = \"invalid_email\"\n\tAddMemberSelectorErrorUnverifiedDropboxId = \"unverified_dropbox_id\"\n\tAddMemberSelectorErrorGroupDeleted        = \"group_deleted\"\n\tAddMemberSelectorErrorGroupNotOnTeam      = \"group_not_on_team\"\n\tAddMemberSelectorErrorOther               = \"other\"\n)\n\n// UnmarshalJSON deserializes into a AddMemberSelectorError instance\nfunc (u *AddMemberSelectorError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// InvalidDropboxId : The value is the ID that could not be identified.\n\t\tInvalidDropboxId string `json:\"invalid_dropbox_id,omitempty\"`\n\t\t// InvalidEmail : The value is the e-email address that is malformed.\n\t\tInvalidEmail string `json:\"invalid_email,omitempty\"`\n\t\t// UnverifiedDropboxId : The value is the ID of the Dropbox user with an\n\t\t// unverified email address. Invite unverified users by email address\n\t\t// instead of by their Dropbox ID.\n\t\tUnverifiedDropboxId string `json:\"unverified_dropbox_id,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"invalid_dropbox_id\":\n\t\tu.InvalidDropboxId = w.InvalidDropboxId\n\n\tcase \"invalid_email\":\n\t\tu.InvalidEmail = w.InvalidEmail\n\n\tcase \"unverified_dropbox_id\":\n\t\tu.UnverifiedDropboxId = w.UnverifiedDropboxId\n\n\t}\n\treturn nil\n}\n\n// RequestedVisibility : The access permission that can be requested by the\n// caller for the shared link. Note that the final resolved visibility of the\n// shared link takes into account other aspects, such as team and shared folder\n// settings. Check the `ResolvedVisibility` for more info on the possible\n// resolved visibility values of shared links.\ntype RequestedVisibility struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for RequestedVisibility\nconst (\n\tRequestedVisibilityPublic   = \"public\"\n\tRequestedVisibilityTeamOnly = \"team_only\"\n\tRequestedVisibilityPassword = \"password\"\n)\n\n// ResolvedVisibility : The actual access permissions values of shared links\n// after taking into account user preferences and the team and shared folder\n// settings. Check the `RequestedVisibility` for more info on the possible\n// visibility values that can be set by the shared link's owner.\ntype ResolvedVisibility struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ResolvedVisibility\nconst (\n\tResolvedVisibilityPublic           = \"public\"\n\tResolvedVisibilityTeamOnly         = \"team_only\"\n\tResolvedVisibilityPassword         = \"password\"\n\tResolvedVisibilityTeamAndPassword  = \"team_and_password\"\n\tResolvedVisibilitySharedFolderOnly = \"shared_folder_only\"\n\tResolvedVisibilityNoOne            = \"no_one\"\n\tResolvedVisibilityOnlyYou          = \"only_you\"\n\tResolvedVisibilityOther            = \"other\"\n)\n\n// AlphaResolvedVisibility : check documentation for ResolvedVisibility.\ntype AlphaResolvedVisibility struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AlphaResolvedVisibility\nconst (\n\tAlphaResolvedVisibilityPublic           = \"public\"\n\tAlphaResolvedVisibilityTeamOnly         = \"team_only\"\n\tAlphaResolvedVisibilityPassword         = \"password\"\n\tAlphaResolvedVisibilityTeamAndPassword  = \"team_and_password\"\n\tAlphaResolvedVisibilitySharedFolderOnly = \"shared_folder_only\"\n\tAlphaResolvedVisibilityNoOne            = \"no_one\"\n\tAlphaResolvedVisibilityOnlyYou          = \"only_you\"\n\tAlphaResolvedVisibilityOther            = \"other\"\n)\n\n// AudienceExceptionContentInfo : Information about the content that has a link\n// audience different than that of this folder.\ntype AudienceExceptionContentInfo struct {\n\t// Name : The name of the content, which is either a file or a folder.\n\tName string `json:\"name\"`\n}\n\n// NewAudienceExceptionContentInfo returns a new AudienceExceptionContentInfo instance\nfunc NewAudienceExceptionContentInfo(Name string) *AudienceExceptionContentInfo {\n\ts := new(AudienceExceptionContentInfo)\n\ts.Name = Name\n\treturn s\n}\n\n// AudienceExceptions : The total count and truncated list of information of\n// content inside this folder that has a different audience than the link on\n// this folder. This is only returned for folders.\ntype AudienceExceptions struct {\n\t// Count : has no documentation (yet)\n\tCount uint32 `json:\"count\"`\n\t// Exceptions : A truncated list of some of the content that is an\n\t// exception. The length of this list could be smaller than the count since\n\t// it is only a sample but will not be empty as long as count is not 0.\n\tExceptions []*AudienceExceptionContentInfo `json:\"exceptions\"`\n}\n\n// NewAudienceExceptions returns a new AudienceExceptions instance\nfunc NewAudienceExceptions(Count uint32, Exceptions []*AudienceExceptionContentInfo) *AudienceExceptions {\n\ts := new(AudienceExceptions)\n\ts.Count = Count\n\ts.Exceptions = Exceptions\n\treturn s\n}\n\n// AudienceRestrictingSharedFolder : Information about the shared folder that\n// prevents the link audience for this link from being more restrictive.\ntype AudienceRestrictingSharedFolder struct {\n\t// SharedFolderId : The ID of the shared folder.\n\tSharedFolderId string `json:\"shared_folder_id\"`\n\t// Name : The name of the shared folder.\n\tName string `json:\"name\"`\n\t// Audience : The link audience of the shared folder.\n\tAudience *LinkAudience `json:\"audience\"`\n}\n\n// NewAudienceRestrictingSharedFolder returns a new AudienceRestrictingSharedFolder instance\nfunc NewAudienceRestrictingSharedFolder(SharedFolderId string, Name string, Audience *LinkAudience) *AudienceRestrictingSharedFolder {\n\ts := new(AudienceRestrictingSharedFolder)\n\ts.SharedFolderId = SharedFolderId\n\ts.Name = Name\n\ts.Audience = Audience\n\treturn s\n}\n\n// LinkMetadata : Metadata for a shared link. This can be either a\n// `PathLinkMetadata` or `CollectionLinkMetadata`.\ntype LinkMetadata struct {\n\t// Url : URL of the shared link.\n\tUrl string `json:\"url\"`\n\t// Visibility : Who can access the link.\n\tVisibility *Visibility `json:\"visibility\"`\n\t// Expires : Expiration time, if set. By default the link won't expire.\n\tExpires *time.Time `json:\"expires,omitempty\"`\n}\n\n// NewLinkMetadata returns a new LinkMetadata instance\nfunc NewLinkMetadata(Url string, Visibility *Visibility) *LinkMetadata {\n\ts := new(LinkMetadata)\n\ts.Url = Url\n\ts.Visibility = Visibility\n\treturn s\n}\n\n// IsLinkMetadata is the interface type for LinkMetadata and its subtypes\ntype IsLinkMetadata interface {\n\tIsLinkMetadata()\n}\n\n// IsLinkMetadata implements the IsLinkMetadata interface\nfunc (u *LinkMetadata) IsLinkMetadata() {}\n\ntype linkMetadataUnion struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *PathLinkMetadata `json:\"path,omitempty\"`\n\t// Collection : has no documentation (yet)\n\tCollection *CollectionLinkMetadata `json:\"collection,omitempty\"`\n}\n\n// Valid tag values for LinkMetadata\nconst (\n\tLinkMetadataPath       = \"path\"\n\tLinkMetadataCollection = \"collection\"\n)\n\n// UnmarshalJSON deserializes into a linkMetadataUnion instance\nfunc (u *linkMetadataUnion) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tif err = json.Unmarshal(body, &u.Path); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"collection\":\n\t\tif err = json.Unmarshal(body, &u.Collection); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// IsLinkMetadataFromJSON converts JSON to a concrete IsLinkMetadata instance\nfunc IsLinkMetadataFromJSON(data []byte) (IsLinkMetadata, error) {\n\tvar t linkMetadataUnion\n\tif err := json.Unmarshal(data, &t); err != nil {\n\t\treturn nil, err\n\t}\n\tswitch t.Tag {\n\tcase \"path\":\n\t\treturn t.Path, nil\n\n\tcase \"collection\":\n\t\treturn t.Collection, nil\n\n\t}\n\treturn nil, nil\n}\n\n// CollectionLinkMetadata : Metadata for a collection-based shared link.\ntype CollectionLinkMetadata struct {\n\tLinkMetadata\n}\n\n// NewCollectionLinkMetadata returns a new CollectionLinkMetadata instance\nfunc NewCollectionLinkMetadata(Url string, Visibility *Visibility) *CollectionLinkMetadata {\n\ts := new(CollectionLinkMetadata)\n\ts.Url = Url\n\ts.Visibility = Visibility\n\treturn s\n}\n\n// CreateSharedLinkArg : has no documentation (yet)\ntype CreateSharedLinkArg struct {\n\t// Path : The path to share.\n\tPath string `json:\"path\"`\n\t// ShortUrl : has no documentation (yet)\n\tShortUrl bool `json:\"short_url\"`\n\t// PendingUpload : If it's okay to share a path that does not yet exist, set\n\t// this to either `PendingUploadMode.file` or `PendingUploadMode.folder` to\n\t// indicate whether to assume it's a file or folder.\n\tPendingUpload *PendingUploadMode `json:\"pending_upload,omitempty\"`\n}\n\n// NewCreateSharedLinkArg returns a new CreateSharedLinkArg instance\nfunc NewCreateSharedLinkArg(Path string) *CreateSharedLinkArg {\n\ts := new(CreateSharedLinkArg)\n\ts.Path = Path\n\ts.ShortUrl = false\n\treturn s\n}\n\n// CreateSharedLinkError : has no documentation (yet)\ntype CreateSharedLinkError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *files.LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for CreateSharedLinkError\nconst (\n\tCreateSharedLinkErrorPath  = \"path\"\n\tCreateSharedLinkErrorOther = \"other\"\n)\n\n// UnmarshalJSON deserializes into a CreateSharedLinkError instance\nfunc (u *CreateSharedLinkError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *files.LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// CreateSharedLinkWithSettingsArg : has no documentation (yet)\ntype CreateSharedLinkWithSettingsArg struct {\n\t// Path : The path to be shared by the shared link.\n\tPath string `json:\"path\"`\n\t// Settings : The requested settings for the newly created shared link.\n\tSettings *SharedLinkSettings `json:\"settings,omitempty\"`\n}\n\n// NewCreateSharedLinkWithSettingsArg returns a new CreateSharedLinkWithSettingsArg instance\nfunc NewCreateSharedLinkWithSettingsArg(Path string) *CreateSharedLinkWithSettingsArg {\n\ts := new(CreateSharedLinkWithSettingsArg)\n\ts.Path = Path\n\treturn s\n}\n\n// CreateSharedLinkWithSettingsError : has no documentation (yet)\ntype CreateSharedLinkWithSettingsError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *files.LookupError `json:\"path,omitempty\"`\n\t// SharedLinkAlreadyExists : The shared link already exists. You can call\n\t// `listSharedLinks` to get the  existing link, or use the provided metadata\n\t// if it is returned.\n\tSharedLinkAlreadyExists *SharedLinkAlreadyExistsMetadata `json:\"shared_link_already_exists,omitempty\"`\n\t// SettingsError : There is an error with the given settings.\n\tSettingsError *SharedLinkSettingsError `json:\"settings_error,omitempty\"`\n}\n\n// Valid tag values for CreateSharedLinkWithSettingsError\nconst (\n\tCreateSharedLinkWithSettingsErrorPath                    = \"path\"\n\tCreateSharedLinkWithSettingsErrorEmailNotVerified        = \"email_not_verified\"\n\tCreateSharedLinkWithSettingsErrorSharedLinkAlreadyExists = \"shared_link_already_exists\"\n\tCreateSharedLinkWithSettingsErrorSettingsError           = \"settings_error\"\n\tCreateSharedLinkWithSettingsErrorAccessDenied            = \"access_denied\"\n)\n\n// UnmarshalJSON deserializes into a CreateSharedLinkWithSettingsError instance\nfunc (u *CreateSharedLinkWithSettingsError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *files.LookupError `json:\"path,omitempty\"`\n\t\t// SharedLinkAlreadyExists : The shared link already exists. You can\n\t\t// call `listSharedLinks` to get the  existing link, or use the provided\n\t\t// metadata if it is returned.\n\t\tSharedLinkAlreadyExists *SharedLinkAlreadyExistsMetadata `json:\"shared_link_already_exists,omitempty\"`\n\t\t// SettingsError : There is an error with the given settings.\n\t\tSettingsError *SharedLinkSettingsError `json:\"settings_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\tcase \"shared_link_already_exists\":\n\t\tu.SharedLinkAlreadyExists = w.SharedLinkAlreadyExists\n\n\tcase \"settings_error\":\n\t\tu.SettingsError = w.SettingsError\n\n\t}\n\treturn nil\n}\n\n// SharedContentLinkMetadataBase : has no documentation (yet)\ntype SharedContentLinkMetadataBase struct {\n\t// AccessLevel : The access level on the link for this file.\n\tAccessLevel *AccessLevel `json:\"access_level,omitempty\"`\n\t// AudienceOptions : The audience options that are available for the\n\t// content. Some audience options may be unavailable. For example, team_only\n\t// may be unavailable if the content is not owned by a user on a team. The\n\t// 'default' audience option is always available if the user can modify link\n\t// settings.\n\tAudienceOptions []*LinkAudience `json:\"audience_options\"`\n\t// AudienceRestrictingSharedFolder : The shared folder that prevents the\n\t// link audience for this link from being more restrictive.\n\tAudienceRestrictingSharedFolder *AudienceRestrictingSharedFolder `json:\"audience_restricting_shared_folder,omitempty\"`\n\t// CurrentAudience : The current audience of the link.\n\tCurrentAudience *LinkAudience `json:\"current_audience\"`\n\t// Expiry : Whether the link has an expiry set on it. A link with an expiry\n\t// will have its  audience changed to members when the expiry is reached.\n\tExpiry *time.Time `json:\"expiry,omitempty\"`\n\t// LinkPermissions : A list of permissions for actions you can perform on\n\t// the link.\n\tLinkPermissions []*LinkPermission `json:\"link_permissions\"`\n\t// PasswordProtected : Whether the link is protected by a password.\n\tPasswordProtected bool `json:\"password_protected\"`\n}\n\n// NewSharedContentLinkMetadataBase returns a new SharedContentLinkMetadataBase instance\nfunc NewSharedContentLinkMetadataBase(AudienceOptions []*LinkAudience, CurrentAudience *LinkAudience, LinkPermissions []*LinkPermission, PasswordProtected bool) *SharedContentLinkMetadataBase {\n\ts := new(SharedContentLinkMetadataBase)\n\ts.AudienceOptions = AudienceOptions\n\ts.CurrentAudience = CurrentAudience\n\ts.LinkPermissions = LinkPermissions\n\ts.PasswordProtected = PasswordProtected\n\treturn s\n}\n\n// ExpectedSharedContentLinkMetadata : The expected metadata of a shared link\n// for a file or folder when a link is first created for the content. Absent if\n// the link already exists.\ntype ExpectedSharedContentLinkMetadata struct {\n\tSharedContentLinkMetadataBase\n}\n\n// NewExpectedSharedContentLinkMetadata returns a new ExpectedSharedContentLinkMetadata instance\nfunc NewExpectedSharedContentLinkMetadata(AudienceOptions []*LinkAudience, CurrentAudience *LinkAudience, LinkPermissions []*LinkPermission, PasswordProtected bool) *ExpectedSharedContentLinkMetadata {\n\ts := new(ExpectedSharedContentLinkMetadata)\n\ts.AudienceOptions = AudienceOptions\n\ts.CurrentAudience = CurrentAudience\n\ts.LinkPermissions = LinkPermissions\n\ts.PasswordProtected = PasswordProtected\n\treturn s\n}\n\n// FileAction : Sharing actions that may be taken on files.\ntype FileAction struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FileAction\nconst (\n\tFileActionDisableViewerInfo     = \"disable_viewer_info\"\n\tFileActionEditContents          = \"edit_contents\"\n\tFileActionEnableViewerInfo      = \"enable_viewer_info\"\n\tFileActionInviteViewer          = \"invite_viewer\"\n\tFileActionInviteViewerNoComment = \"invite_viewer_no_comment\"\n\tFileActionInviteEditor          = \"invite_editor\"\n\tFileActionUnshare               = \"unshare\"\n\tFileActionRelinquishMembership  = \"relinquish_membership\"\n\tFileActionShareLink             = \"share_link\"\n\tFileActionCreateLink            = \"create_link\"\n\tFileActionCreateViewLink        = \"create_view_link\"\n\tFileActionCreateEditLink        = \"create_edit_link\"\n\tFileActionOther                 = \"other\"\n)\n\n// FileErrorResult : has no documentation (yet)\ntype FileErrorResult struct {\n\tdropbox.Tagged\n\t// FileNotFoundError : File specified by id was not found.\n\tFileNotFoundError string `json:\"file_not_found_error,omitempty\"`\n\t// InvalidFileActionError : User does not have permission to take the\n\t// specified action on the file.\n\tInvalidFileActionError string `json:\"invalid_file_action_error,omitempty\"`\n\t// PermissionDeniedError : User does not have permission to access file\n\t// specified by file.Id.\n\tPermissionDeniedError string `json:\"permission_denied_error,omitempty\"`\n}\n\n// Valid tag values for FileErrorResult\nconst (\n\tFileErrorResultFileNotFoundError      = \"file_not_found_error\"\n\tFileErrorResultInvalidFileActionError = \"invalid_file_action_error\"\n\tFileErrorResultPermissionDeniedError  = \"permission_denied_error\"\n\tFileErrorResultOther                  = \"other\"\n)\n\n// UnmarshalJSON deserializes into a FileErrorResult instance\nfunc (u *FileErrorResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// FileNotFoundError : File specified by id was not found.\n\t\tFileNotFoundError string `json:\"file_not_found_error,omitempty\"`\n\t\t// InvalidFileActionError : User does not have permission to take the\n\t\t// specified action on the file.\n\t\tInvalidFileActionError string `json:\"invalid_file_action_error,omitempty\"`\n\t\t// PermissionDeniedError : User does not have permission to access file\n\t\t// specified by file.Id.\n\t\tPermissionDeniedError string `json:\"permission_denied_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"file_not_found_error\":\n\t\tu.FileNotFoundError = w.FileNotFoundError\n\n\tcase \"invalid_file_action_error\":\n\t\tu.InvalidFileActionError = w.InvalidFileActionError\n\n\tcase \"permission_denied_error\":\n\t\tu.PermissionDeniedError = w.PermissionDeniedError\n\n\t}\n\treturn nil\n}\n\n// SharedLinkMetadata : The metadata of a shared link.\ntype SharedLinkMetadata struct {\n\t// Url : URL of the shared link.\n\tUrl string `json:\"url\"`\n\t// Id : A unique identifier for the linked file.\n\tId string `json:\"id,omitempty\"`\n\t// Name : The linked file name (including extension). This never contains a\n\t// slash.\n\tName string `json:\"name\"`\n\t// Expires : Expiration time, if set. By default the link won't expire.\n\tExpires *time.Time `json:\"expires,omitempty\"`\n\t// PathLower : The lowercased full path in the user's Dropbox. This always\n\t// starts with a slash. This field will only be present only if the linked\n\t// file is in the authenticated user's  dropbox.\n\tPathLower string `json:\"path_lower,omitempty\"`\n\t// LinkPermissions : The link's access permissions.\n\tLinkPermissions *LinkPermissions `json:\"link_permissions\"`\n\t// TeamMemberInfo : The team membership information of the link's owner.\n\t// This field will only be present  if the link's owner is a team member.\n\tTeamMemberInfo *TeamMemberInfo `json:\"team_member_info,omitempty\"`\n\t// ContentOwnerTeamInfo : The team information of the content's owner. This\n\t// field will only be present if the content's owner is a team member and\n\t// the content's owner team is different from the link's owner team.\n\tContentOwnerTeamInfo *users.Team `json:\"content_owner_team_info,omitempty\"`\n}\n\n// NewSharedLinkMetadata returns a new SharedLinkMetadata instance\nfunc NewSharedLinkMetadata(Url string, Name string, LinkPermissions *LinkPermissions) *SharedLinkMetadata {\n\ts := new(SharedLinkMetadata)\n\ts.Url = Url\n\ts.Name = Name\n\ts.LinkPermissions = LinkPermissions\n\treturn s\n}\n\n// IsSharedLinkMetadata is the interface type for SharedLinkMetadata and its subtypes\ntype IsSharedLinkMetadata interface {\n\tIsSharedLinkMetadata()\n}\n\n// IsSharedLinkMetadata implements the IsSharedLinkMetadata interface\nfunc (u *SharedLinkMetadata) IsSharedLinkMetadata() {}\n\ntype sharedLinkMetadataUnion struct {\n\tdropbox.Tagged\n\t// File : has no documentation (yet)\n\tFile *FileLinkMetadata `json:\"file,omitempty\"`\n\t// Folder : has no documentation (yet)\n\tFolder *FolderLinkMetadata `json:\"folder,omitempty\"`\n}\n\n// Valid tag values for SharedLinkMetadata\nconst (\n\tSharedLinkMetadataFile   = \"file\"\n\tSharedLinkMetadataFolder = \"folder\"\n)\n\n// UnmarshalJSON deserializes into a sharedLinkMetadataUnion instance\nfunc (u *sharedLinkMetadataUnion) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"file\":\n\t\tif err = json.Unmarshal(body, &u.File); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"folder\":\n\t\tif err = json.Unmarshal(body, &u.Folder); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// IsSharedLinkMetadataFromJSON converts JSON to a concrete IsSharedLinkMetadata instance\nfunc IsSharedLinkMetadataFromJSON(data []byte) (IsSharedLinkMetadata, error) {\n\tvar t sharedLinkMetadataUnion\n\tif err := json.Unmarshal(data, &t); err != nil {\n\t\treturn nil, err\n\t}\n\tswitch t.Tag {\n\tcase \"file\":\n\t\treturn t.File, nil\n\n\tcase \"folder\":\n\t\treturn t.Folder, nil\n\n\t}\n\treturn nil, nil\n}\n\n// FileLinkMetadata : The metadata of a file shared link.\ntype FileLinkMetadata struct {\n\tSharedLinkMetadata\n\t// ClientModified : The modification time set by the desktop client when the\n\t// file was added to Dropbox. Since this time is not verified (the Dropbox\n\t// server stores whatever the desktop client sends up), this should only be\n\t// used for display purposes (such as sorting) and not, for example, to\n\t// determine if a file has changed or not.\n\tClientModified time.Time `json:\"client_modified\"`\n\t// ServerModified : The last time the file was modified on Dropbox.\n\tServerModified time.Time `json:\"server_modified\"`\n\t// Rev : A unique identifier for the current revision of a file. This field\n\t// is the same rev as elsewhere in the API and can be used to detect changes\n\t// and avoid conflicts.\n\tRev string `json:\"rev\"`\n\t// Size : The file size in bytes.\n\tSize uint64 `json:\"size\"`\n}\n\n// NewFileLinkMetadata returns a new FileLinkMetadata instance\nfunc NewFileLinkMetadata(Url string, Name string, LinkPermissions *LinkPermissions, ClientModified time.Time, ServerModified time.Time, Rev string, Size uint64) *FileLinkMetadata {\n\ts := new(FileLinkMetadata)\n\ts.Url = Url\n\ts.Name = Name\n\ts.LinkPermissions = LinkPermissions\n\ts.ClientModified = ClientModified\n\ts.ServerModified = ServerModified\n\ts.Rev = Rev\n\ts.Size = Size\n\treturn s\n}\n\n// FileMemberActionError : has no documentation (yet)\ntype FileMemberActionError struct {\n\tdropbox.Tagged\n\t// AccessError : Specified file was invalid or user does not have access.\n\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n\t// NoExplicitAccess : The action cannot be completed because the target\n\t// member does not have explicit access to the file. The return value is the\n\t// access that the member has to the file from a parent folder.\n\tNoExplicitAccess *MemberAccessLevelResult `json:\"no_explicit_access,omitempty\"`\n}\n\n// Valid tag values for FileMemberActionError\nconst (\n\tFileMemberActionErrorInvalidMember    = \"invalid_member\"\n\tFileMemberActionErrorNoPermission     = \"no_permission\"\n\tFileMemberActionErrorAccessError      = \"access_error\"\n\tFileMemberActionErrorNoExplicitAccess = \"no_explicit_access\"\n\tFileMemberActionErrorOther            = \"other\"\n)\n\n// UnmarshalJSON deserializes into a FileMemberActionError instance\nfunc (u *FileMemberActionError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : Specified file was invalid or user does not have\n\t\t// access.\n\t\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\tcase \"no_explicit_access\":\n\t\tif err = json.Unmarshal(body, &u.NoExplicitAccess); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// FileMemberActionIndividualResult : has no documentation (yet)\ntype FileMemberActionIndividualResult struct {\n\tdropbox.Tagged\n\t// Success : Part of the response for both add_file_member and\n\t// remove_file_member_v1 (deprecated). For add_file_member, indicates giving\n\t// access was successful and at what AccessLevel. For remove_file_member_v1,\n\t// indicates member was successfully removed from the file. If AccessLevel\n\t// is given, the member still has access via a parent shared folder.\n\tSuccess *AccessLevel `json:\"success,omitempty\"`\n\t// MemberError : User was not able to perform this action.\n\tMemberError *FileMemberActionError `json:\"member_error,omitempty\"`\n}\n\n// Valid tag values for FileMemberActionIndividualResult\nconst (\n\tFileMemberActionIndividualResultSuccess     = \"success\"\n\tFileMemberActionIndividualResultMemberError = \"member_error\"\n)\n\n// UnmarshalJSON deserializes into a FileMemberActionIndividualResult instance\nfunc (u *FileMemberActionIndividualResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Success : Part of the response for both add_file_member and\n\t\t// remove_file_member_v1 (deprecated). For add_file_member, indicates\n\t\t// giving access was successful and at what AccessLevel. For\n\t\t// remove_file_member_v1, indicates member was successfully removed from\n\t\t// the file. If AccessLevel is given, the member still has access via a\n\t\t// parent shared folder.\n\t\tSuccess *AccessLevel `json:\"success,omitempty\"`\n\t\t// MemberError : User was not able to perform this action.\n\t\tMemberError *FileMemberActionError `json:\"member_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tu.Success = w.Success\n\n\tcase \"member_error\":\n\t\tu.MemberError = w.MemberError\n\n\t}\n\treturn nil\n}\n\n// FileMemberActionResult : Per-member result for `addFileMember`.\ntype FileMemberActionResult struct {\n\t// Member : One of specified input members.\n\tMember *MemberSelector `json:\"member\"`\n\t// Result : The outcome of the action on this member.\n\tResult *FileMemberActionIndividualResult `json:\"result\"`\n\t// SckeySha1 : The SHA-1 encrypted shared content key.\n\tSckeySha1 string `json:\"sckey_sha1,omitempty\"`\n\t// InvitationSignature : The sharing sender-recipient invitation signatures\n\t// for the input member_id. A member_id can be a group and thus have\n\t// multiple users and multiple invitation signatures.\n\tInvitationSignature []string `json:\"invitation_signature,omitempty\"`\n}\n\n// NewFileMemberActionResult returns a new FileMemberActionResult instance\nfunc NewFileMemberActionResult(Member *MemberSelector, Result *FileMemberActionIndividualResult) *FileMemberActionResult {\n\ts := new(FileMemberActionResult)\n\ts.Member = Member\n\ts.Result = Result\n\treturn s\n}\n\n// FileMemberRemoveActionResult : has no documentation (yet)\ntype FileMemberRemoveActionResult struct {\n\tdropbox.Tagged\n\t// Success : Member was successfully removed from this file.\n\tSuccess *MemberAccessLevelResult `json:\"success,omitempty\"`\n\t// MemberError : User was not able to remove this member.\n\tMemberError *FileMemberActionError `json:\"member_error,omitempty\"`\n}\n\n// Valid tag values for FileMemberRemoveActionResult\nconst (\n\tFileMemberRemoveActionResultSuccess     = \"success\"\n\tFileMemberRemoveActionResultMemberError = \"member_error\"\n\tFileMemberRemoveActionResultOther       = \"other\"\n)\n\n// UnmarshalJSON deserializes into a FileMemberRemoveActionResult instance\nfunc (u *FileMemberRemoveActionResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// MemberError : User was not able to remove this member.\n\t\tMemberError *FileMemberActionError `json:\"member_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tif err = json.Unmarshal(body, &u.Success); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_error\":\n\t\tu.MemberError = w.MemberError\n\n\t}\n\treturn nil\n}\n\n// FilePermission : Whether the user is allowed to take the sharing action on\n// the file.\ntype FilePermission struct {\n\t// Action : The action that the user may wish to take on the file.\n\tAction *FileAction `json:\"action\"`\n\t// Allow : True if the user is allowed to take the action.\n\tAllow bool `json:\"allow\"`\n\t// Reason : The reason why the user is denied the permission. Not present if\n\t// the action is allowed.\n\tReason *PermissionDeniedReason `json:\"reason,omitempty\"`\n}\n\n// NewFilePermission returns a new FilePermission instance\nfunc NewFilePermission(Action *FileAction, Allow bool) *FilePermission {\n\ts := new(FilePermission)\n\ts.Action = Action\n\ts.Allow = Allow\n\treturn s\n}\n\n// FolderAction : Actions that may be taken on shared folders.\ntype FolderAction struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FolderAction\nconst (\n\tFolderActionChangeOptions         = \"change_options\"\n\tFolderActionDisableViewerInfo     = \"disable_viewer_info\"\n\tFolderActionEditContents          = \"edit_contents\"\n\tFolderActionEnableViewerInfo      = \"enable_viewer_info\"\n\tFolderActionInviteEditor          = \"invite_editor\"\n\tFolderActionInviteViewer          = \"invite_viewer\"\n\tFolderActionInviteViewerNoComment = \"invite_viewer_no_comment\"\n\tFolderActionRelinquishMembership  = \"relinquish_membership\"\n\tFolderActionUnmount               = \"unmount\"\n\tFolderActionUnshare               = \"unshare\"\n\tFolderActionLeaveACopy            = \"leave_a_copy\"\n\tFolderActionShareLink             = \"share_link\"\n\tFolderActionCreateLink            = \"create_link\"\n\tFolderActionSetAccessInheritance  = \"set_access_inheritance\"\n\tFolderActionOther                 = \"other\"\n)\n\n// FolderLinkMetadata : The metadata of a folder shared link.\ntype FolderLinkMetadata struct {\n\tSharedLinkMetadata\n}\n\n// NewFolderLinkMetadata returns a new FolderLinkMetadata instance\nfunc NewFolderLinkMetadata(Url string, Name string, LinkPermissions *LinkPermissions) *FolderLinkMetadata {\n\ts := new(FolderLinkMetadata)\n\ts.Url = Url\n\ts.Name = Name\n\ts.LinkPermissions = LinkPermissions\n\treturn s\n}\n\n// FolderPermission : Whether the user is allowed to take the action on the\n// shared folder.\ntype FolderPermission struct {\n\t// Action : The action that the user may wish to take on the folder.\n\tAction *FolderAction `json:\"action\"`\n\t// Allow : True if the user is allowed to take the action.\n\tAllow bool `json:\"allow\"`\n\t// Reason : The reason why the user is denied the permission. Not present if\n\t// the action is allowed, or if no reason is available.\n\tReason *PermissionDeniedReason `json:\"reason,omitempty\"`\n}\n\n// NewFolderPermission returns a new FolderPermission instance\nfunc NewFolderPermission(Action *FolderAction, Allow bool) *FolderPermission {\n\ts := new(FolderPermission)\n\ts.Action = Action\n\ts.Allow = Allow\n\treturn s\n}\n\n// FolderPolicy : A set of policies governing membership and privileges for a\n// shared folder.\ntype FolderPolicy struct {\n\t// MemberPolicy : Who can be a member of this shared folder, as set on the\n\t// folder itself. The effective policy may differ from this value if the\n\t// team-wide policy is more restrictive. Present only if the folder is owned\n\t// by a team.\n\tMemberPolicy *MemberPolicy `json:\"member_policy,omitempty\"`\n\t// ResolvedMemberPolicy : Who can be a member of this shared folder, taking\n\t// into account both the folder and the team-wide policy. This value may\n\t// differ from that of member_policy if the team-wide policy is more\n\t// restrictive than the folder policy. Present only if the folder is owned\n\t// by a team.\n\tResolvedMemberPolicy *MemberPolicy `json:\"resolved_member_policy,omitempty\"`\n\t// AclUpdatePolicy : Who can add and remove members from this shared folder.\n\tAclUpdatePolicy *AclUpdatePolicy `json:\"acl_update_policy\"`\n\t// SharedLinkPolicy : Who links can be shared with.\n\tSharedLinkPolicy *SharedLinkPolicy `json:\"shared_link_policy\"`\n\t// ViewerInfoPolicy : Who can enable/disable viewer info for this shared\n\t// folder.\n\tViewerInfoPolicy *ViewerInfoPolicy `json:\"viewer_info_policy,omitempty\"`\n}\n\n// NewFolderPolicy returns a new FolderPolicy instance\nfunc NewFolderPolicy(AclUpdatePolicy *AclUpdatePolicy, SharedLinkPolicy *SharedLinkPolicy) *FolderPolicy {\n\ts := new(FolderPolicy)\n\ts.AclUpdatePolicy = AclUpdatePolicy\n\ts.SharedLinkPolicy = SharedLinkPolicy\n\treturn s\n}\n\n// GetFileMetadataArg : Arguments of `getFileMetadata`.\ntype GetFileMetadataArg struct {\n\t// File : The file to query.\n\tFile string `json:\"file\"`\n\t// Actions : A list of `FileAction`s corresponding to `FilePermission`s that\n\t// should appear in the  response's `SharedFileMetadata.permissions` field\n\t// describing the actions the  authenticated user can perform on the file.\n\tActions []*FileAction `json:\"actions,omitempty\"`\n}\n\n// NewGetFileMetadataArg returns a new GetFileMetadataArg instance\nfunc NewGetFileMetadataArg(File string) *GetFileMetadataArg {\n\ts := new(GetFileMetadataArg)\n\ts.File = File\n\treturn s\n}\n\n// GetFileMetadataBatchArg : Arguments of `getFileMetadataBatch`.\ntype GetFileMetadataBatchArg struct {\n\t// Files : The files to query.\n\tFiles []string `json:\"files\"`\n\t// Actions : A list of `FileAction`s corresponding to `FilePermission`s that\n\t// should appear in the  response's `SharedFileMetadata.permissions` field\n\t// describing the actions the  authenticated user can perform on the file.\n\tActions []*FileAction `json:\"actions,omitempty\"`\n}\n\n// NewGetFileMetadataBatchArg returns a new GetFileMetadataBatchArg instance\nfunc NewGetFileMetadataBatchArg(Files []string) *GetFileMetadataBatchArg {\n\ts := new(GetFileMetadataBatchArg)\n\ts.Files = Files\n\treturn s\n}\n\n// GetFileMetadataBatchResult : Per file results of `getFileMetadataBatch`.\ntype GetFileMetadataBatchResult struct {\n\t// File : This is the input file identifier corresponding to one of\n\t// `GetFileMetadataBatchArg.files`.\n\tFile string `json:\"file\"`\n\t// Result : The result for this particular file.\n\tResult *GetFileMetadataIndividualResult `json:\"result\"`\n}\n\n// NewGetFileMetadataBatchResult returns a new GetFileMetadataBatchResult instance\nfunc NewGetFileMetadataBatchResult(File string, Result *GetFileMetadataIndividualResult) *GetFileMetadataBatchResult {\n\ts := new(GetFileMetadataBatchResult)\n\ts.File = File\n\ts.Result = Result\n\treturn s\n}\n\n// GetFileMetadataError : Error result for `getFileMetadata`.\ntype GetFileMetadataError struct {\n\tdropbox.Tagged\n\t// UserError : has no documentation (yet)\n\tUserError *SharingUserError `json:\"user_error,omitempty\"`\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n}\n\n// Valid tag values for GetFileMetadataError\nconst (\n\tGetFileMetadataErrorUserError   = \"user_error\"\n\tGetFileMetadataErrorAccessError = \"access_error\"\n\tGetFileMetadataErrorOther       = \"other\"\n)\n\n// UnmarshalJSON deserializes into a GetFileMetadataError instance\nfunc (u *GetFileMetadataError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// UserError : has no documentation (yet)\n\t\tUserError *SharingUserError `json:\"user_error,omitempty\"`\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"user_error\":\n\t\tu.UserError = w.UserError\n\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\t}\n\treturn nil\n}\n\n// GetFileMetadataIndividualResult : has no documentation (yet)\ntype GetFileMetadataIndividualResult struct {\n\tdropbox.Tagged\n\t// Metadata : The result for this file if it was successful.\n\tMetadata *SharedFileMetadata `json:\"metadata,omitempty\"`\n\t// AccessError : The result for this file if it was an error.\n\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n}\n\n// Valid tag values for GetFileMetadataIndividualResult\nconst (\n\tGetFileMetadataIndividualResultMetadata    = \"metadata\"\n\tGetFileMetadataIndividualResultAccessError = \"access_error\"\n\tGetFileMetadataIndividualResultOther       = \"other\"\n)\n\n// UnmarshalJSON deserializes into a GetFileMetadataIndividualResult instance\nfunc (u *GetFileMetadataIndividualResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : The result for this file if it was an error.\n\t\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"metadata\":\n\t\tif err = json.Unmarshal(body, &u.Metadata); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\t}\n\treturn nil\n}\n\n// GetMetadataArgs : has no documentation (yet)\ntype GetMetadataArgs struct {\n\t// SharedFolderId : The ID for the shared folder.\n\tSharedFolderId string `json:\"shared_folder_id\"`\n\t// Actions : A list of `FolderAction`s corresponding to `FolderPermission`s\n\t// that should appear in the  response's `SharedFolderMetadata.permissions`\n\t// field describing the actions the  authenticated user can perform on the\n\t// folder.\n\tActions []*FolderAction `json:\"actions,omitempty\"`\n}\n\n// NewGetMetadataArgs returns a new GetMetadataArgs instance\nfunc NewGetMetadataArgs(SharedFolderId string) *GetMetadataArgs {\n\ts := new(GetMetadataArgs)\n\ts.SharedFolderId = SharedFolderId\n\treturn s\n}\n\n// SharedLinkError : has no documentation (yet)\ntype SharedLinkError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharedLinkError\nconst (\n\tSharedLinkErrorSharedLinkNotFound     = \"shared_link_not_found\"\n\tSharedLinkErrorSharedLinkAccessDenied = \"shared_link_access_denied\"\n\tSharedLinkErrorUnsupportedLinkType    = \"unsupported_link_type\"\n\tSharedLinkErrorOther                  = \"other\"\n)\n\n// GetSharedLinkFileError : has no documentation (yet)\ntype GetSharedLinkFileError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GetSharedLinkFileError\nconst (\n\tGetSharedLinkFileErrorSharedLinkNotFound     = \"shared_link_not_found\"\n\tGetSharedLinkFileErrorSharedLinkAccessDenied = \"shared_link_access_denied\"\n\tGetSharedLinkFileErrorUnsupportedLinkType    = \"unsupported_link_type\"\n\tGetSharedLinkFileErrorOther                  = \"other\"\n\tGetSharedLinkFileErrorSharedLinkIsDirectory  = \"shared_link_is_directory\"\n)\n\n// GetSharedLinkMetadataArg : has no documentation (yet)\ntype GetSharedLinkMetadataArg struct {\n\t// Url : URL of the shared link.\n\tUrl string `json:\"url\"`\n\t// Path : If the shared link is to a folder, this parameter can be used to\n\t// retrieve the metadata for a specific file or sub-folder in this folder. A\n\t// relative path should be used.\n\tPath string `json:\"path,omitempty\"`\n\t// LinkPassword : If the shared link has a password, this parameter can be\n\t// used.\n\tLinkPassword string `json:\"link_password,omitempty\"`\n}\n\n// NewGetSharedLinkMetadataArg returns a new GetSharedLinkMetadataArg instance\nfunc NewGetSharedLinkMetadataArg(Url string) *GetSharedLinkMetadataArg {\n\ts := new(GetSharedLinkMetadataArg)\n\ts.Url = Url\n\treturn s\n}\n\n// GetSharedLinksArg : has no documentation (yet)\ntype GetSharedLinksArg struct {\n\t// Path : See `getSharedLinks` description.\n\tPath string `json:\"path,omitempty\"`\n}\n\n// NewGetSharedLinksArg returns a new GetSharedLinksArg instance\nfunc NewGetSharedLinksArg() *GetSharedLinksArg {\n\ts := new(GetSharedLinksArg)\n\treturn s\n}\n\n// GetSharedLinksError : has no documentation (yet)\ntype GetSharedLinksError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath string `json:\"path,omitempty\"`\n}\n\n// Valid tag values for GetSharedLinksError\nconst (\n\tGetSharedLinksErrorPath  = \"path\"\n\tGetSharedLinksErrorOther = \"other\"\n)\n\n// UnmarshalJSON deserializes into a GetSharedLinksError instance\nfunc (u *GetSharedLinksError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath string `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// GetSharedLinksResult : has no documentation (yet)\ntype GetSharedLinksResult struct {\n\t// Links : Shared links applicable to the path argument.\n\tLinks []IsLinkMetadata `json:\"links\"`\n}\n\n// NewGetSharedLinksResult returns a new GetSharedLinksResult instance\nfunc NewGetSharedLinksResult(Links []IsLinkMetadata) *GetSharedLinksResult {\n\ts := new(GetSharedLinksResult)\n\ts.Links = Links\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a GetSharedLinksResult instance\nfunc (u *GetSharedLinksResult) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// Links : Shared links applicable to the path argument.\n\t\tLinks []json.RawMessage `json:\"links\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Links = make([]IsLinkMetadata, len(w.Links))\n\tfor i, e := range w.Links {\n\t\tv, err := IsLinkMetadataFromJSON(e)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tu.Links[i] = v\n\t}\n\treturn nil\n}\n\n// GroupInfo : The information about a group. Groups is a way to manage a list\n// of users  who need same access permission to the shared folder.\ntype GroupInfo struct {\n\tteam_common.GroupSummary\n\t// GroupType : The type of group.\n\tGroupType *team_common.GroupType `json:\"group_type\"`\n\t// IsMember : If the current user is a member of the group.\n\tIsMember bool `json:\"is_member\"`\n\t// IsOwner : If the current user is an owner of the group.\n\tIsOwner bool `json:\"is_owner\"`\n\t// SameTeam : If the group is owned by the current user's team.\n\tSameTeam bool `json:\"same_team\"`\n}\n\n// NewGroupInfo returns a new GroupInfo instance\nfunc NewGroupInfo(GroupName string, GroupId string, GroupManagementType *team_common.GroupManagementType, GroupType *team_common.GroupType, IsMember bool, IsOwner bool, SameTeam bool) *GroupInfo {\n\ts := new(GroupInfo)\n\ts.GroupName = GroupName\n\ts.GroupId = GroupId\n\ts.GroupManagementType = GroupManagementType\n\ts.GroupType = GroupType\n\ts.IsMember = IsMember\n\ts.IsOwner = IsOwner\n\ts.SameTeam = SameTeam\n\treturn s\n}\n\n// MembershipInfo : The information about a member of the shared content.\ntype MembershipInfo struct {\n\t// AccessType : The access type for this member. It contains inherited\n\t// access type from parent folder, and acquired access type from this\n\t// folder.\n\tAccessType *AccessLevel `json:\"access_type\"`\n\t// Permissions : The permissions that requesting user has on this member.\n\t// The set of permissions corresponds to the MemberActions in the request.\n\tPermissions []*MemberPermission `json:\"permissions,omitempty\"`\n\t// Initials : Never set.\n\tInitials string `json:\"initials,omitempty\"`\n\t// IsInherited : True if the member has access from a parent folder.\n\tIsInherited bool `json:\"is_inherited\"`\n}\n\n// NewMembershipInfo returns a new MembershipInfo instance\nfunc NewMembershipInfo(AccessType *AccessLevel) *MembershipInfo {\n\ts := new(MembershipInfo)\n\ts.AccessType = AccessType\n\ts.IsInherited = false\n\treturn s\n}\n\n// GroupMembershipInfo : The information about a group member of the shared\n// content.\ntype GroupMembershipInfo struct {\n\tMembershipInfo\n\t// Group : The information about the membership group.\n\tGroup *GroupInfo `json:\"group\"`\n}\n\n// NewGroupMembershipInfo returns a new GroupMembershipInfo instance\nfunc NewGroupMembershipInfo(AccessType *AccessLevel, Group *GroupInfo) *GroupMembershipInfo {\n\ts := new(GroupMembershipInfo)\n\ts.AccessType = AccessType\n\ts.Group = Group\n\ts.IsInherited = false\n\treturn s\n}\n\n// InsufficientPlan : has no documentation (yet)\ntype InsufficientPlan struct {\n\t// Message : A message to tell the user to upgrade in order to support\n\t// expected action.\n\tMessage string `json:\"message\"`\n\t// UpsellUrl : A URL to send the user to in order to obtain the account type\n\t// they need, e.g. upgrading. Absent if there is no action the user can take\n\t// to upgrade.\n\tUpsellUrl string `json:\"upsell_url,omitempty\"`\n}\n\n// NewInsufficientPlan returns a new InsufficientPlan instance\nfunc NewInsufficientPlan(Message string) *InsufficientPlan {\n\ts := new(InsufficientPlan)\n\ts.Message = Message\n\treturn s\n}\n\n// InsufficientQuotaAmounts : has no documentation (yet)\ntype InsufficientQuotaAmounts struct {\n\t// SpaceNeeded : The amount of space needed to add the item (the size of the\n\t// item).\n\tSpaceNeeded uint64 `json:\"space_needed\"`\n\t// SpaceShortage : The amount of extra space needed to add the item.\n\tSpaceShortage uint64 `json:\"space_shortage\"`\n\t// SpaceLeft : The amount of space left in the user's Dropbox, less than\n\t// space_needed.\n\tSpaceLeft uint64 `json:\"space_left\"`\n}\n\n// NewInsufficientQuotaAmounts returns a new InsufficientQuotaAmounts instance\nfunc NewInsufficientQuotaAmounts(SpaceNeeded uint64, SpaceShortage uint64, SpaceLeft uint64) *InsufficientQuotaAmounts {\n\ts := new(InsufficientQuotaAmounts)\n\ts.SpaceNeeded = SpaceNeeded\n\ts.SpaceShortage = SpaceShortage\n\ts.SpaceLeft = SpaceLeft\n\treturn s\n}\n\n// InviteeInfo : Information about the recipient of a shared content invitation.\ntype InviteeInfo struct {\n\tdropbox.Tagged\n\t// Email : Email address of invited user.\n\tEmail string `json:\"email,omitempty\"`\n}\n\n// Valid tag values for InviteeInfo\nconst (\n\tInviteeInfoEmail = \"email\"\n\tInviteeInfoOther = \"other\"\n)\n\n// UnmarshalJSON deserializes into a InviteeInfo instance\nfunc (u *InviteeInfo) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Email : Email address of invited user.\n\t\tEmail string `json:\"email,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"email\":\n\t\tu.Email = w.Email\n\n\t}\n\treturn nil\n}\n\n// InviteeMembershipInfo : Information about an invited member of a shared\n// content.\ntype InviteeMembershipInfo struct {\n\tMembershipInfo\n\t// Invitee : Recipient of the invitation.\n\tInvitee *InviteeInfo `json:\"invitee\"`\n\t// User : The user this invitation is tied to, if available.\n\tUser *UserInfo `json:\"user,omitempty\"`\n}\n\n// NewInviteeMembershipInfo returns a new InviteeMembershipInfo instance\nfunc NewInviteeMembershipInfo(AccessType *AccessLevel, Invitee *InviteeInfo) *InviteeMembershipInfo {\n\ts := new(InviteeMembershipInfo)\n\ts.AccessType = AccessType\n\ts.Invitee = Invitee\n\ts.IsInherited = false\n\treturn s\n}\n\n// JobError : Error occurred while performing an asynchronous job from\n// `unshareFolder` or `removeFolderMember`.\ntype JobError struct {\n\tdropbox.Tagged\n\t// UnshareFolderError : Error occurred while performing `unshareFolder`\n\t// action.\n\tUnshareFolderError *UnshareFolderError `json:\"unshare_folder_error,omitempty\"`\n\t// RemoveFolderMemberError : Error occurred while performing\n\t// `removeFolderMember` action.\n\tRemoveFolderMemberError *RemoveFolderMemberError `json:\"remove_folder_member_error,omitempty\"`\n\t// RelinquishFolderMembershipError : Error occurred while performing\n\t// `relinquishFolderMembership` action.\n\tRelinquishFolderMembershipError *RelinquishFolderMembershipError `json:\"relinquish_folder_membership_error,omitempty\"`\n}\n\n// Valid tag values for JobError\nconst (\n\tJobErrorUnshareFolderError              = \"unshare_folder_error\"\n\tJobErrorRemoveFolderMemberError         = \"remove_folder_member_error\"\n\tJobErrorRelinquishFolderMembershipError = \"relinquish_folder_membership_error\"\n\tJobErrorOther                           = \"other\"\n)\n\n// UnmarshalJSON deserializes into a JobError instance\nfunc (u *JobError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// UnshareFolderError : Error occurred while performing `unshareFolder`\n\t\t// action.\n\t\tUnshareFolderError *UnshareFolderError `json:\"unshare_folder_error,omitempty\"`\n\t\t// RemoveFolderMemberError : Error occurred while performing\n\t\t// `removeFolderMember` action.\n\t\tRemoveFolderMemberError *RemoveFolderMemberError `json:\"remove_folder_member_error,omitempty\"`\n\t\t// RelinquishFolderMembershipError : Error occurred while performing\n\t\t// `relinquishFolderMembership` action.\n\t\tRelinquishFolderMembershipError *RelinquishFolderMembershipError `json:\"relinquish_folder_membership_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"unshare_folder_error\":\n\t\tu.UnshareFolderError = w.UnshareFolderError\n\n\tcase \"remove_folder_member_error\":\n\t\tu.RemoveFolderMemberError = w.RemoveFolderMemberError\n\n\tcase \"relinquish_folder_membership_error\":\n\t\tu.RelinquishFolderMembershipError = w.RelinquishFolderMembershipError\n\n\t}\n\treturn nil\n}\n\n// JobStatus : has no documentation (yet)\ntype JobStatus struct {\n\tdropbox.Tagged\n\t// Failed : The asynchronous job returned an error.\n\tFailed *JobError `json:\"failed,omitempty\"`\n}\n\n// Valid tag values for JobStatus\nconst (\n\tJobStatusInProgress = \"in_progress\"\n\tJobStatusComplete   = \"complete\"\n\tJobStatusFailed     = \"failed\"\n)\n\n// UnmarshalJSON deserializes into a JobStatus instance\nfunc (u *JobStatus) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Failed : The asynchronous job returned an error.\n\t\tFailed *JobError `json:\"failed,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"failed\":\n\t\tu.Failed = w.Failed\n\n\t}\n\treturn nil\n}\n\n// LinkAccessLevel : has no documentation (yet)\ntype LinkAccessLevel struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LinkAccessLevel\nconst (\n\tLinkAccessLevelViewer = \"viewer\"\n\tLinkAccessLevelEditor = \"editor\"\n\tLinkAccessLevelOther  = \"other\"\n)\n\n// LinkAction : Actions that can be performed on a link.\ntype LinkAction struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LinkAction\nconst (\n\tLinkActionChangeAccessLevel = \"change_access_level\"\n\tLinkActionChangeAudience    = \"change_audience\"\n\tLinkActionRemoveExpiry      = \"remove_expiry\"\n\tLinkActionRemovePassword    = \"remove_password\"\n\tLinkActionSetExpiry         = \"set_expiry\"\n\tLinkActionSetPassword       = \"set_password\"\n\tLinkActionOther             = \"other\"\n)\n\n// LinkAudience : has no documentation (yet)\ntype LinkAudience struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LinkAudience\nconst (\n\tLinkAudiencePublic   = \"public\"\n\tLinkAudienceTeam     = \"team\"\n\tLinkAudienceNoOne    = \"no_one\"\n\tLinkAudiencePassword = \"password\"\n\tLinkAudienceMembers  = \"members\"\n\tLinkAudienceOther    = \"other\"\n)\n\n// VisibilityPolicyDisallowedReason : has no documentation (yet)\ntype VisibilityPolicyDisallowedReason struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for VisibilityPolicyDisallowedReason\nconst (\n\tVisibilityPolicyDisallowedReasonDeleteAndRecreate        = \"delete_and_recreate\"\n\tVisibilityPolicyDisallowedReasonRestrictedBySharedFolder = \"restricted_by_shared_folder\"\n\tVisibilityPolicyDisallowedReasonRestrictedByTeam         = \"restricted_by_team\"\n\tVisibilityPolicyDisallowedReasonUserNotOnTeam            = \"user_not_on_team\"\n\tVisibilityPolicyDisallowedReasonUserAccountType          = \"user_account_type\"\n\tVisibilityPolicyDisallowedReasonPermissionDenied         = \"permission_denied\"\n\tVisibilityPolicyDisallowedReasonOther                    = \"other\"\n)\n\n// LinkAudienceDisallowedReason : check documentation for\n// VisibilityPolicyDisallowedReason.\ntype LinkAudienceDisallowedReason struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LinkAudienceDisallowedReason\nconst (\n\tLinkAudienceDisallowedReasonDeleteAndRecreate        = \"delete_and_recreate\"\n\tLinkAudienceDisallowedReasonRestrictedBySharedFolder = \"restricted_by_shared_folder\"\n\tLinkAudienceDisallowedReasonRestrictedByTeam         = \"restricted_by_team\"\n\tLinkAudienceDisallowedReasonUserNotOnTeam            = \"user_not_on_team\"\n\tLinkAudienceDisallowedReasonUserAccountType          = \"user_account_type\"\n\tLinkAudienceDisallowedReasonPermissionDenied         = \"permission_denied\"\n\tLinkAudienceDisallowedReasonOther                    = \"other\"\n)\n\n// LinkAudienceOption : has no documentation (yet)\ntype LinkAudienceOption struct {\n\t// Audience : Specifies who can access the link.\n\tAudience *LinkAudience `json:\"audience\"`\n\t// Allowed : Whether the user calling this API can select this audience\n\t// option.\n\tAllowed bool `json:\"allowed\"`\n\t// DisallowedReason : If `allowed` is false, this will provide the reason\n\t// that the user is not permitted to set the visibility to this policy.\n\tDisallowedReason *LinkAudienceDisallowedReason `json:\"disallowed_reason,omitempty\"`\n}\n\n// NewLinkAudienceOption returns a new LinkAudienceOption instance\nfunc NewLinkAudienceOption(Audience *LinkAudience, Allowed bool) *LinkAudienceOption {\n\ts := new(LinkAudienceOption)\n\ts.Audience = Audience\n\ts.Allowed = Allowed\n\treturn s\n}\n\n// LinkExpiry : has no documentation (yet)\ntype LinkExpiry struct {\n\tdropbox.Tagged\n\t// SetExpiry : Set a new expiry or change an existing expiry.\n\tSetExpiry time.Time `json:\"set_expiry,omitempty\"`\n}\n\n// Valid tag values for LinkExpiry\nconst (\n\tLinkExpiryRemoveExpiry = \"remove_expiry\"\n\tLinkExpirySetExpiry    = \"set_expiry\"\n\tLinkExpiryOther        = \"other\"\n)\n\n// UnmarshalJSON deserializes into a LinkExpiry instance\nfunc (u *LinkExpiry) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// SetExpiry : Set a new expiry or change an existing expiry.\n\t\tSetExpiry time.Time `json:\"set_expiry,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"set_expiry\":\n\t\tu.SetExpiry = w.SetExpiry\n\n\t}\n\treturn nil\n}\n\n// LinkPassword : has no documentation (yet)\ntype LinkPassword struct {\n\tdropbox.Tagged\n\t// SetPassword : Set a new password or change an existing password.\n\tSetPassword string `json:\"set_password,omitempty\"`\n}\n\n// Valid tag values for LinkPassword\nconst (\n\tLinkPasswordRemovePassword = \"remove_password\"\n\tLinkPasswordSetPassword    = \"set_password\"\n\tLinkPasswordOther          = \"other\"\n)\n\n// UnmarshalJSON deserializes into a LinkPassword instance\nfunc (u *LinkPassword) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// SetPassword : Set a new password or change an existing password.\n\t\tSetPassword string `json:\"set_password,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"set_password\":\n\t\tu.SetPassword = w.SetPassword\n\n\t}\n\treturn nil\n}\n\n// LinkPermission : Permissions for actions that can be performed on a link.\ntype LinkPermission struct {\n\t// Action : has no documentation (yet)\n\tAction *LinkAction `json:\"action\"`\n\t// Allow : has no documentation (yet)\n\tAllow bool `json:\"allow\"`\n\t// Reason : has no documentation (yet)\n\tReason *PermissionDeniedReason `json:\"reason,omitempty\"`\n}\n\n// NewLinkPermission returns a new LinkPermission instance\nfunc NewLinkPermission(Action *LinkAction, Allow bool) *LinkPermission {\n\ts := new(LinkPermission)\n\ts.Action = Action\n\ts.Allow = Allow\n\treturn s\n}\n\n// LinkPermissions : has no documentation (yet)\ntype LinkPermissions struct {\n\t// ResolvedVisibility : The current visibility of the link after considering\n\t// the shared links policies of the the team (in case the link's owner is\n\t// part of a team) and the shared folder (in case the linked file is part of\n\t// a shared folder). This field is shown only if the caller has access to\n\t// this info (the link's owner always has access to this data). For some\n\t// links, an effective_audience value is returned instead.\n\tResolvedVisibility *ResolvedVisibility `json:\"resolved_visibility,omitempty\"`\n\t// RequestedVisibility : The shared link's requested visibility. This can be\n\t// overridden by the team and shared folder policies. The final visibility,\n\t// after considering these policies, can be found in `resolved_visibility`.\n\t// This is shown only if the caller is the link's owner and\n\t// resolved_visibility is returned instead of effective_audience.\n\tRequestedVisibility *RequestedVisibility `json:\"requested_visibility,omitempty\"`\n\t// CanRevoke : Whether the caller can revoke the shared link.\n\tCanRevoke bool `json:\"can_revoke\"`\n\t// RevokeFailureReason : The failure reason for revoking the link. This\n\t// field will only be present if the `can_revoke` is false.\n\tRevokeFailureReason *SharedLinkAccessFailureReason `json:\"revoke_failure_reason,omitempty\"`\n\t// EffectiveAudience : The type of audience who can benefit from the access\n\t// level specified by the `link_access_level` field.\n\tEffectiveAudience *LinkAudience `json:\"effective_audience,omitempty\"`\n\t// LinkAccessLevel : The access level that the link will grant to its users.\n\t// A link can grant additional rights to a user beyond their current access\n\t// level. For example, if a user was invited as a viewer to a file, and then\n\t// opens a link with `link_access_level` set to `editor`, then they will\n\t// gain editor privileges. The `link_access_level` is a property of the\n\t// link, and does not depend on who is calling this API. In particular,\n\t// `link_access_level` does not take into account the API caller's current\n\t// permissions to the content.\n\tLinkAccessLevel *LinkAccessLevel `json:\"link_access_level,omitempty\"`\n\t// VisibilityPolicies : A list of policies that the user might be able to\n\t// set for the visibility.\n\tVisibilityPolicies []*VisibilityPolicy `json:\"visibility_policies\"`\n\t// CanSetExpiry : Whether the user can set the expiry settings of the link.\n\t// This refers to the ability to create a new expiry and modify an existing\n\t// expiry.\n\tCanSetExpiry bool `json:\"can_set_expiry\"`\n\t// CanRemoveExpiry : Whether the user can remove the expiry of the link.\n\tCanRemoveExpiry bool `json:\"can_remove_expiry\"`\n\t// AllowDownload : Whether the link can be downloaded or not.\n\tAllowDownload bool `json:\"allow_download\"`\n\t// CanAllowDownload : Whether the user can allow downloads via the link.\n\t// This refers to the ability to remove a no-download restriction on the\n\t// link.\n\tCanAllowDownload bool `json:\"can_allow_download\"`\n\t// CanDisallowDownload : Whether the user can disallow downloads via the\n\t// link. This refers to the ability to impose a no-download restriction on\n\t// the link.\n\tCanDisallowDownload bool `json:\"can_disallow_download\"`\n\t// AllowComments : Whether comments are enabled for the linked file. This\n\t// takes the team commenting policy into account.\n\tAllowComments bool `json:\"allow_comments\"`\n\t// TeamRestrictsComments : Whether the team has disabled commenting\n\t// globally.\n\tTeamRestrictsComments bool `json:\"team_restricts_comments\"`\n\t// AudienceOptions : A list of link audience options the user might be able\n\t// to set as the new audience.\n\tAudienceOptions []*LinkAudienceOption `json:\"audience_options,omitempty\"`\n\t// CanSetPassword : Whether the user can set a password for the link.\n\tCanSetPassword bool `json:\"can_set_password,omitempty\"`\n\t// CanRemovePassword : Whether the user can remove the password of the link.\n\tCanRemovePassword bool `json:\"can_remove_password,omitempty\"`\n\t// RequirePassword : Whether the user is required to provide a password to\n\t// view the link.\n\tRequirePassword bool `json:\"require_password,omitempty\"`\n\t// CanUseExtendedSharingControls : Whether the user can use extended sharing\n\t// controls, based on their account type.\n\tCanUseExtendedSharingControls bool `json:\"can_use_extended_sharing_controls,omitempty\"`\n}\n\n// NewLinkPermissions returns a new LinkPermissions instance\nfunc NewLinkPermissions(CanRevoke bool, VisibilityPolicies []*VisibilityPolicy, CanSetExpiry bool, CanRemoveExpiry bool, AllowDownload bool, CanAllowDownload bool, CanDisallowDownload bool, AllowComments bool, TeamRestrictsComments bool) *LinkPermissions {\n\ts := new(LinkPermissions)\n\ts.CanRevoke = CanRevoke\n\ts.VisibilityPolicies = VisibilityPolicies\n\ts.CanSetExpiry = CanSetExpiry\n\ts.CanRemoveExpiry = CanRemoveExpiry\n\ts.AllowDownload = AllowDownload\n\ts.CanAllowDownload = CanAllowDownload\n\ts.CanDisallowDownload = CanDisallowDownload\n\ts.AllowComments = AllowComments\n\ts.TeamRestrictsComments = TeamRestrictsComments\n\treturn s\n}\n\n// LinkSettings : Settings that apply to a link.\ntype LinkSettings struct {\n\t// AccessLevel : The access level on the link for this file. Currently, it\n\t// only accepts 'viewer' and 'viewer_no_comment'.\n\tAccessLevel *AccessLevel `json:\"access_level,omitempty\"`\n\t// Audience : The type of audience on the link for this file.\n\tAudience *LinkAudience `json:\"audience,omitempty\"`\n\t// Expiry : An expiry timestamp to set on a link.\n\tExpiry *LinkExpiry `json:\"expiry,omitempty\"`\n\t// Password : The password for the link.\n\tPassword *LinkPassword `json:\"password,omitempty\"`\n}\n\n// NewLinkSettings returns a new LinkSettings instance\nfunc NewLinkSettings() *LinkSettings {\n\ts := new(LinkSettings)\n\treturn s\n}\n\n// ListFileMembersArg : Arguments for `listFileMembers`.\ntype ListFileMembersArg struct {\n\t// File : The file for which you want to see members.\n\tFile string `json:\"file\"`\n\t// Actions : The actions for which to return permissions on a member.\n\tActions []*MemberAction `json:\"actions,omitempty\"`\n\t// IncludeInherited : Whether to include members who only have access from a\n\t// parent shared folder.\n\tIncludeInherited bool `json:\"include_inherited\"`\n\t// Limit : Number of members to return max per query. Defaults to 100 if no\n\t// limit is specified.\n\tLimit uint32 `json:\"limit\"`\n}\n\n// NewListFileMembersArg returns a new ListFileMembersArg instance\nfunc NewListFileMembersArg(File string) *ListFileMembersArg {\n\ts := new(ListFileMembersArg)\n\ts.File = File\n\ts.IncludeInherited = true\n\ts.Limit = 100\n\treturn s\n}\n\n// ListFileMembersBatchArg : Arguments for `listFileMembersBatch`.\ntype ListFileMembersBatchArg struct {\n\t// Files : Files for which to return members.\n\tFiles []string `json:\"files\"`\n\t// Limit : Number of members to return max per query. Defaults to 10 if no\n\t// limit is specified.\n\tLimit uint32 `json:\"limit\"`\n}\n\n// NewListFileMembersBatchArg returns a new ListFileMembersBatchArg instance\nfunc NewListFileMembersBatchArg(Files []string) *ListFileMembersBatchArg {\n\ts := new(ListFileMembersBatchArg)\n\ts.Files = Files\n\ts.Limit = 10\n\treturn s\n}\n\n// ListFileMembersBatchResult : Per-file result for `listFileMembersBatch`.\ntype ListFileMembersBatchResult struct {\n\t// File : This is the input file identifier, whether an ID or a path.\n\tFile string `json:\"file\"`\n\t// Result : The result for this particular file.\n\tResult *ListFileMembersIndividualResult `json:\"result\"`\n}\n\n// NewListFileMembersBatchResult returns a new ListFileMembersBatchResult instance\nfunc NewListFileMembersBatchResult(File string, Result *ListFileMembersIndividualResult) *ListFileMembersBatchResult {\n\ts := new(ListFileMembersBatchResult)\n\ts.File = File\n\ts.Result = Result\n\treturn s\n}\n\n// ListFileMembersContinueArg : Arguments for `listFileMembersContinue`.\ntype ListFileMembersContinueArg struct {\n\t// Cursor : The cursor returned by your last call to `listFileMembers`,\n\t// `listFileMembersContinue`, or `listFileMembersBatch`.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewListFileMembersContinueArg returns a new ListFileMembersContinueArg instance\nfunc NewListFileMembersContinueArg(Cursor string) *ListFileMembersContinueArg {\n\ts := new(ListFileMembersContinueArg)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// ListFileMembersContinueError : Error for `listFileMembersContinue`.\ntype ListFileMembersContinueError struct {\n\tdropbox.Tagged\n\t// UserError : has no documentation (yet)\n\tUserError *SharingUserError `json:\"user_error,omitempty\"`\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n}\n\n// Valid tag values for ListFileMembersContinueError\nconst (\n\tListFileMembersContinueErrorUserError     = \"user_error\"\n\tListFileMembersContinueErrorAccessError   = \"access_error\"\n\tListFileMembersContinueErrorInvalidCursor = \"invalid_cursor\"\n\tListFileMembersContinueErrorOther         = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ListFileMembersContinueError instance\nfunc (u *ListFileMembersContinueError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// UserError : has no documentation (yet)\n\t\tUserError *SharingUserError `json:\"user_error,omitempty\"`\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"user_error\":\n\t\tu.UserError = w.UserError\n\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\t}\n\treturn nil\n}\n\n// ListFileMembersCountResult : has no documentation (yet)\ntype ListFileMembersCountResult struct {\n\t// Members : A list of members on this file.\n\tMembers *SharedFileMembers `json:\"members\"`\n\t// MemberCount : The number of members on this file. This does not include\n\t// inherited members.\n\tMemberCount uint32 `json:\"member_count\"`\n}\n\n// NewListFileMembersCountResult returns a new ListFileMembersCountResult instance\nfunc NewListFileMembersCountResult(Members *SharedFileMembers, MemberCount uint32) *ListFileMembersCountResult {\n\ts := new(ListFileMembersCountResult)\n\ts.Members = Members\n\ts.MemberCount = MemberCount\n\treturn s\n}\n\n// ListFileMembersError : Error for `listFileMembers`.\ntype ListFileMembersError struct {\n\tdropbox.Tagged\n\t// UserError : has no documentation (yet)\n\tUserError *SharingUserError `json:\"user_error,omitempty\"`\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n}\n\n// Valid tag values for ListFileMembersError\nconst (\n\tListFileMembersErrorUserError   = \"user_error\"\n\tListFileMembersErrorAccessError = \"access_error\"\n\tListFileMembersErrorOther       = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ListFileMembersError instance\nfunc (u *ListFileMembersError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// UserError : has no documentation (yet)\n\t\tUserError *SharingUserError `json:\"user_error,omitempty\"`\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"user_error\":\n\t\tu.UserError = w.UserError\n\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\t}\n\treturn nil\n}\n\n// ListFileMembersIndividualResult : has no documentation (yet)\ntype ListFileMembersIndividualResult struct {\n\tdropbox.Tagged\n\t// Result : The results of the query for this file if it was successful.\n\tResult *ListFileMembersCountResult `json:\"result,omitempty\"`\n\t// AccessError : The result of the query for this file if it was an error.\n\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n}\n\n// Valid tag values for ListFileMembersIndividualResult\nconst (\n\tListFileMembersIndividualResultResult      = \"result\"\n\tListFileMembersIndividualResultAccessError = \"access_error\"\n\tListFileMembersIndividualResultOther       = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ListFileMembersIndividualResult instance\nfunc (u *ListFileMembersIndividualResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : The result of the query for this file if it was an\n\t\t// error.\n\t\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"result\":\n\t\tif err = json.Unmarshal(body, &u.Result); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\t}\n\treturn nil\n}\n\n// ListFilesArg : Arguments for `listReceivedFiles`.\ntype ListFilesArg struct {\n\t// Limit : Number of files to return max per query. Defaults to 100 if no\n\t// limit is specified.\n\tLimit uint32 `json:\"limit\"`\n\t// Actions : A list of `FileAction`s corresponding to `FilePermission`s that\n\t// should appear in the  response's `SharedFileMetadata.permissions` field\n\t// describing the actions the  authenticated user can perform on the file.\n\tActions []*FileAction `json:\"actions,omitempty\"`\n}\n\n// NewListFilesArg returns a new ListFilesArg instance\nfunc NewListFilesArg() *ListFilesArg {\n\ts := new(ListFilesArg)\n\ts.Limit = 100\n\treturn s\n}\n\n// ListFilesContinueArg : Arguments for `listReceivedFilesContinue`.\ntype ListFilesContinueArg struct {\n\t// Cursor : Cursor in `ListFilesResult.cursor`.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewListFilesContinueArg returns a new ListFilesContinueArg instance\nfunc NewListFilesContinueArg(Cursor string) *ListFilesContinueArg {\n\ts := new(ListFilesContinueArg)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// ListFilesContinueError : Error results for `listReceivedFilesContinue`.\ntype ListFilesContinueError struct {\n\tdropbox.Tagged\n\t// UserError : User account had a problem.\n\tUserError *SharingUserError `json:\"user_error,omitempty\"`\n}\n\n// Valid tag values for ListFilesContinueError\nconst (\n\tListFilesContinueErrorUserError     = \"user_error\"\n\tListFilesContinueErrorInvalidCursor = \"invalid_cursor\"\n\tListFilesContinueErrorOther         = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ListFilesContinueError instance\nfunc (u *ListFilesContinueError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// UserError : User account had a problem.\n\t\tUserError *SharingUserError `json:\"user_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"user_error\":\n\t\tu.UserError = w.UserError\n\n\t}\n\treturn nil\n}\n\n// ListFilesResult : Success results for `listReceivedFiles`.\ntype ListFilesResult struct {\n\t// Entries : Information about the files shared with current user.\n\tEntries []*SharedFileMetadata `json:\"entries\"`\n\t// Cursor : Cursor used to obtain additional shared files.\n\tCursor string `json:\"cursor,omitempty\"`\n}\n\n// NewListFilesResult returns a new ListFilesResult instance\nfunc NewListFilesResult(Entries []*SharedFileMetadata) *ListFilesResult {\n\ts := new(ListFilesResult)\n\ts.Entries = Entries\n\treturn s\n}\n\n// ListFolderMembersCursorArg : has no documentation (yet)\ntype ListFolderMembersCursorArg struct {\n\t// Actions : This is a list indicating whether each returned member will\n\t// include a boolean value `MemberPermission.allow` that describes whether\n\t// the current user can perform the MemberAction on the member.\n\tActions []*MemberAction `json:\"actions,omitempty\"`\n\t// Limit : The maximum number of results that include members, groups and\n\t// invitees to return per request.\n\tLimit uint32 `json:\"limit\"`\n}\n\n// NewListFolderMembersCursorArg returns a new ListFolderMembersCursorArg instance\nfunc NewListFolderMembersCursorArg() *ListFolderMembersCursorArg {\n\ts := new(ListFolderMembersCursorArg)\n\ts.Limit = 1000\n\treturn s\n}\n\n// ListFolderMembersArgs : has no documentation (yet)\ntype ListFolderMembersArgs struct {\n\tListFolderMembersCursorArg\n\t// SharedFolderId : The ID for the shared folder.\n\tSharedFolderId string `json:\"shared_folder_id\"`\n}\n\n// NewListFolderMembersArgs returns a new ListFolderMembersArgs instance\nfunc NewListFolderMembersArgs(SharedFolderId string) *ListFolderMembersArgs {\n\ts := new(ListFolderMembersArgs)\n\ts.SharedFolderId = SharedFolderId\n\ts.Limit = 1000\n\treturn s\n}\n\n// ListFolderMembersContinueArg : has no documentation (yet)\ntype ListFolderMembersContinueArg struct {\n\t// Cursor : The cursor returned by your last call to `listFolderMembers` or\n\t// `listFolderMembersContinue`.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewListFolderMembersContinueArg returns a new ListFolderMembersContinueArg instance\nfunc NewListFolderMembersContinueArg(Cursor string) *ListFolderMembersContinueArg {\n\ts := new(ListFolderMembersContinueArg)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// ListFolderMembersContinueError : has no documentation (yet)\ntype ListFolderMembersContinueError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n}\n\n// Valid tag values for ListFolderMembersContinueError\nconst (\n\tListFolderMembersContinueErrorAccessError   = \"access_error\"\n\tListFolderMembersContinueErrorInvalidCursor = \"invalid_cursor\"\n\tListFolderMembersContinueErrorOther         = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ListFolderMembersContinueError instance\nfunc (u *ListFolderMembersContinueError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\t}\n\treturn nil\n}\n\n// ListFoldersArgs : has no documentation (yet)\ntype ListFoldersArgs struct {\n\t// Limit : The maximum number of results to return per request.\n\tLimit uint32 `json:\"limit\"`\n\t// Actions : A list of `FolderAction`s corresponding to `FolderPermission`s\n\t// that should appear in the  response's `SharedFolderMetadata.permissions`\n\t// field describing the actions the  authenticated user can perform on the\n\t// folder.\n\tActions []*FolderAction `json:\"actions,omitempty\"`\n}\n\n// NewListFoldersArgs returns a new ListFoldersArgs instance\nfunc NewListFoldersArgs() *ListFoldersArgs {\n\ts := new(ListFoldersArgs)\n\ts.Limit = 1000\n\treturn s\n}\n\n// ListFoldersContinueArg : has no documentation (yet)\ntype ListFoldersContinueArg struct {\n\t// Cursor : The cursor returned by the previous API call specified in the\n\t// endpoint description.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewListFoldersContinueArg returns a new ListFoldersContinueArg instance\nfunc NewListFoldersContinueArg(Cursor string) *ListFoldersContinueArg {\n\ts := new(ListFoldersContinueArg)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// ListFoldersContinueError : has no documentation (yet)\ntype ListFoldersContinueError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ListFoldersContinueError\nconst (\n\tListFoldersContinueErrorInvalidCursor = \"invalid_cursor\"\n\tListFoldersContinueErrorOther         = \"other\"\n)\n\n// ListFoldersResult : Result for `listFolders` or `listMountableFolders`,\n// depending on which endpoint was requested. Unmounted shared folders can be\n// identified by the absence of `SharedFolderMetadata.path_lower`.\ntype ListFoldersResult struct {\n\t// Entries : List of all shared folders the authenticated user has access\n\t// to.\n\tEntries []*SharedFolderMetadata `json:\"entries\"`\n\t// Cursor : Present if there are additional shared folders that have not\n\t// been returned yet. Pass the cursor into the corresponding continue\n\t// endpoint (either `listFoldersContinue` or `listMountableFoldersContinue`)\n\t// to list additional folders.\n\tCursor string `json:\"cursor,omitempty\"`\n}\n\n// NewListFoldersResult returns a new ListFoldersResult instance\nfunc NewListFoldersResult(Entries []*SharedFolderMetadata) *ListFoldersResult {\n\ts := new(ListFoldersResult)\n\ts.Entries = Entries\n\treturn s\n}\n\n// ListSharedLinksArg : has no documentation (yet)\ntype ListSharedLinksArg struct {\n\t// Path : See `listSharedLinks` description.\n\tPath string `json:\"path,omitempty\"`\n\t// Cursor : The cursor returned by your last call to `listSharedLinks`.\n\tCursor string `json:\"cursor,omitempty\"`\n\t// DirectOnly : See `listSharedLinks` description.\n\tDirectOnly bool `json:\"direct_only,omitempty\"`\n}\n\n// NewListSharedLinksArg returns a new ListSharedLinksArg instance\nfunc NewListSharedLinksArg() *ListSharedLinksArg {\n\ts := new(ListSharedLinksArg)\n\treturn s\n}\n\n// ListSharedLinksError : has no documentation (yet)\ntype ListSharedLinksError struct {\n\tdropbox.Tagged\n\t// Path : has no documentation (yet)\n\tPath *files.LookupError `json:\"path,omitempty\"`\n}\n\n// Valid tag values for ListSharedLinksError\nconst (\n\tListSharedLinksErrorPath  = \"path\"\n\tListSharedLinksErrorReset = \"reset\"\n\tListSharedLinksErrorOther = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ListSharedLinksError instance\nfunc (u *ListSharedLinksError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Path : has no documentation (yet)\n\t\tPath *files.LookupError `json:\"path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"path\":\n\t\tu.Path = w.Path\n\n\t}\n\treturn nil\n}\n\n// ListSharedLinksResult : has no documentation (yet)\ntype ListSharedLinksResult struct {\n\t// Links : Shared links applicable to the path argument.\n\tLinks []IsSharedLinkMetadata `json:\"links\"`\n\t// HasMore : Is true if there are additional shared links that have not been\n\t// returned yet. Pass the cursor into `listSharedLinks` to retrieve them.\n\tHasMore bool `json:\"has_more\"`\n\t// Cursor : Pass the cursor into `listSharedLinks` to obtain the additional\n\t// links. Cursor is returned only if no path is given.\n\tCursor string `json:\"cursor,omitempty\"`\n}\n\n// NewListSharedLinksResult returns a new ListSharedLinksResult instance\nfunc NewListSharedLinksResult(Links []IsSharedLinkMetadata, HasMore bool) *ListSharedLinksResult {\n\ts := new(ListSharedLinksResult)\n\ts.Links = Links\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a ListSharedLinksResult instance\nfunc (u *ListSharedLinksResult) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// Links : Shared links applicable to the path argument.\n\t\tLinks []json.RawMessage `json:\"links\"`\n\t\t// HasMore : Is true if there are additional shared links that have not\n\t\t// been returned yet. Pass the cursor into `listSharedLinks` to retrieve\n\t\t// them.\n\t\tHasMore bool `json:\"has_more\"`\n\t\t// Cursor : Pass the cursor into `listSharedLinks` to obtain the\n\t\t// additional links. Cursor is returned only if no path is given.\n\t\tCursor string `json:\"cursor,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Links = make([]IsSharedLinkMetadata, len(w.Links))\n\tfor i, e := range w.Links {\n\t\tv, err := IsSharedLinkMetadataFromJSON(e)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tu.Links[i] = v\n\t}\n\tu.HasMore = w.HasMore\n\tu.Cursor = w.Cursor\n\treturn nil\n}\n\n// MemberAccessLevelResult : Contains information about a member's access level\n// to content after an operation.\ntype MemberAccessLevelResult struct {\n\t// AccessLevel : The member still has this level of access to the content\n\t// through a parent folder.\n\tAccessLevel *AccessLevel `json:\"access_level,omitempty\"`\n\t// Warning : A localized string with additional information about why the\n\t// user has this access level to the content.\n\tWarning string `json:\"warning,omitempty\"`\n\t// AccessDetails : The parent folders that a member has access to. The field\n\t// is present if the user has access to the first parent folder where the\n\t// member gains access.\n\tAccessDetails []*ParentFolderAccessInfo `json:\"access_details,omitempty\"`\n}\n\n// NewMemberAccessLevelResult returns a new MemberAccessLevelResult instance\nfunc NewMemberAccessLevelResult() *MemberAccessLevelResult {\n\ts := new(MemberAccessLevelResult)\n\treturn s\n}\n\n// MemberAction : Actions that may be taken on members of a shared folder.\ntype MemberAction struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MemberAction\nconst (\n\tMemberActionLeaveACopy          = \"leave_a_copy\"\n\tMemberActionMakeEditor          = \"make_editor\"\n\tMemberActionMakeOwner           = \"make_owner\"\n\tMemberActionMakeViewer          = \"make_viewer\"\n\tMemberActionMakeViewerNoComment = \"make_viewer_no_comment\"\n\tMemberActionRemove              = \"remove\"\n\tMemberActionOther               = \"other\"\n)\n\n// MemberPermission : Whether the user is allowed to take the action on the\n// associated member.\ntype MemberPermission struct {\n\t// Action : The action that the user may wish to take on the member.\n\tAction *MemberAction `json:\"action\"`\n\t// Allow : True if the user is allowed to take the action.\n\tAllow bool `json:\"allow\"`\n\t// Reason : The reason why the user is denied the permission. Not present if\n\t// the action is allowed.\n\tReason *PermissionDeniedReason `json:\"reason,omitempty\"`\n}\n\n// NewMemberPermission returns a new MemberPermission instance\nfunc NewMemberPermission(Action *MemberAction, Allow bool) *MemberPermission {\n\ts := new(MemberPermission)\n\ts.Action = Action\n\ts.Allow = Allow\n\treturn s\n}\n\n// MemberPolicy : Policy governing who can be a member of a shared folder. Only\n// applicable to folders owned by a user on a team.\ntype MemberPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MemberPolicy\nconst (\n\tMemberPolicyTeam   = \"team\"\n\tMemberPolicyAnyone = \"anyone\"\n\tMemberPolicyOther  = \"other\"\n)\n\n// MemberSelector : Includes different ways to identify a member of a shared\n// folder.\ntype MemberSelector struct {\n\tdropbox.Tagged\n\t// DropboxId : Dropbox account, team member, or group ID of member.\n\tDropboxId string `json:\"dropbox_id,omitempty\"`\n\t// Email : Email address of member.\n\tEmail string `json:\"email,omitempty\"`\n}\n\n// Valid tag values for MemberSelector\nconst (\n\tMemberSelectorDropboxId = \"dropbox_id\"\n\tMemberSelectorEmail     = \"email\"\n\tMemberSelectorOther     = \"other\"\n)\n\n// UnmarshalJSON deserializes into a MemberSelector instance\nfunc (u *MemberSelector) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// DropboxId : Dropbox account, team member, or group ID of member.\n\t\tDropboxId string `json:\"dropbox_id,omitempty\"`\n\t\t// Email : Email address of member.\n\t\tEmail string `json:\"email,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"dropbox_id\":\n\t\tu.DropboxId = w.DropboxId\n\n\tcase \"email\":\n\t\tu.Email = w.Email\n\n\t}\n\treturn nil\n}\n\n// ModifySharedLinkSettingsArgs : has no documentation (yet)\ntype ModifySharedLinkSettingsArgs struct {\n\t// Url : URL of the shared link to change its settings.\n\tUrl string `json:\"url\"`\n\t// Settings : Set of settings for the shared link.\n\tSettings *SharedLinkSettings `json:\"settings\"`\n\t// RemoveExpiration : If set to true, removes the expiration of the shared\n\t// link.\n\tRemoveExpiration bool `json:\"remove_expiration\"`\n}\n\n// NewModifySharedLinkSettingsArgs returns a new ModifySharedLinkSettingsArgs instance\nfunc NewModifySharedLinkSettingsArgs(Url string, Settings *SharedLinkSettings) *ModifySharedLinkSettingsArgs {\n\ts := new(ModifySharedLinkSettingsArgs)\n\ts.Url = Url\n\ts.Settings = Settings\n\ts.RemoveExpiration = false\n\treturn s\n}\n\n// ModifySharedLinkSettingsError : has no documentation (yet)\ntype ModifySharedLinkSettingsError struct {\n\tdropbox.Tagged\n\t// SettingsError : There is an error with the given settings.\n\tSettingsError *SharedLinkSettingsError `json:\"settings_error,omitempty\"`\n}\n\n// Valid tag values for ModifySharedLinkSettingsError\nconst (\n\tModifySharedLinkSettingsErrorSharedLinkNotFound     = \"shared_link_not_found\"\n\tModifySharedLinkSettingsErrorSharedLinkAccessDenied = \"shared_link_access_denied\"\n\tModifySharedLinkSettingsErrorUnsupportedLinkType    = \"unsupported_link_type\"\n\tModifySharedLinkSettingsErrorOther                  = \"other\"\n\tModifySharedLinkSettingsErrorSettingsError          = \"settings_error\"\n\tModifySharedLinkSettingsErrorEmailNotVerified       = \"email_not_verified\"\n)\n\n// UnmarshalJSON deserializes into a ModifySharedLinkSettingsError instance\nfunc (u *ModifySharedLinkSettingsError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// SettingsError : There is an error with the given settings.\n\t\tSettingsError *SharedLinkSettingsError `json:\"settings_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"settings_error\":\n\t\tu.SettingsError = w.SettingsError\n\n\t}\n\treturn nil\n}\n\n// MountFolderArg : has no documentation (yet)\ntype MountFolderArg struct {\n\t// SharedFolderId : The ID of the shared folder to mount.\n\tSharedFolderId string `json:\"shared_folder_id\"`\n}\n\n// NewMountFolderArg returns a new MountFolderArg instance\nfunc NewMountFolderArg(SharedFolderId string) *MountFolderArg {\n\ts := new(MountFolderArg)\n\ts.SharedFolderId = SharedFolderId\n\treturn s\n}\n\n// MountFolderError : has no documentation (yet)\ntype MountFolderError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n\t// InsufficientQuota : The current user does not have enough space to mount\n\t// the shared folder.\n\tInsufficientQuota *InsufficientQuotaAmounts `json:\"insufficient_quota,omitempty\"`\n}\n\n// Valid tag values for MountFolderError\nconst (\n\tMountFolderErrorAccessError        = \"access_error\"\n\tMountFolderErrorInsideSharedFolder = \"inside_shared_folder\"\n\tMountFolderErrorInsufficientQuota  = \"insufficient_quota\"\n\tMountFolderErrorAlreadyMounted     = \"already_mounted\"\n\tMountFolderErrorNoPermission       = \"no_permission\"\n\tMountFolderErrorNotMountable       = \"not_mountable\"\n\tMountFolderErrorOther              = \"other\"\n)\n\n// UnmarshalJSON deserializes into a MountFolderError instance\nfunc (u *MountFolderError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\tcase \"insufficient_quota\":\n\t\tif err = json.Unmarshal(body, &u.InsufficientQuota); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// ParentFolderAccessInfo : Contains information about a parent folder that a\n// member has access to.\ntype ParentFolderAccessInfo struct {\n\t// FolderName : Display name for the folder.\n\tFolderName string `json:\"folder_name\"`\n\t// SharedFolderId : The identifier of the parent shared folder.\n\tSharedFolderId string `json:\"shared_folder_id\"`\n\t// Permissions : The user's permissions for the parent shared folder.\n\tPermissions []*MemberPermission `json:\"permissions\"`\n\t// Path : The full path to the parent shared folder relative to the acting\n\t// user's root.\n\tPath string `json:\"path\"`\n}\n\n// NewParentFolderAccessInfo returns a new ParentFolderAccessInfo instance\nfunc NewParentFolderAccessInfo(FolderName string, SharedFolderId string, Permissions []*MemberPermission, Path string) *ParentFolderAccessInfo {\n\ts := new(ParentFolderAccessInfo)\n\ts.FolderName = FolderName\n\ts.SharedFolderId = SharedFolderId\n\ts.Permissions = Permissions\n\ts.Path = Path\n\treturn s\n}\n\n// PathLinkMetadata : Metadata for a path-based shared link.\ntype PathLinkMetadata struct {\n\tLinkMetadata\n\t// Path : Path in user's Dropbox.\n\tPath string `json:\"path\"`\n}\n\n// NewPathLinkMetadata returns a new PathLinkMetadata instance\nfunc NewPathLinkMetadata(Url string, Visibility *Visibility, Path string) *PathLinkMetadata {\n\ts := new(PathLinkMetadata)\n\ts.Url = Url\n\ts.Visibility = Visibility\n\ts.Path = Path\n\treturn s\n}\n\n// PendingUploadMode : Flag to indicate pending upload default (for linking to\n// not-yet-existing paths).\ntype PendingUploadMode struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PendingUploadMode\nconst (\n\tPendingUploadModeFile   = \"file\"\n\tPendingUploadModeFolder = \"folder\"\n)\n\n// PermissionDeniedReason : Possible reasons the user is denied a permission.\ntype PermissionDeniedReason struct {\n\tdropbox.Tagged\n\t// InsufficientPlan : has no documentation (yet)\n\tInsufficientPlan *InsufficientPlan `json:\"insufficient_plan,omitempty\"`\n}\n\n// Valid tag values for PermissionDeniedReason\nconst (\n\tPermissionDeniedReasonUserNotSameTeamAsOwner     = \"user_not_same_team_as_owner\"\n\tPermissionDeniedReasonUserNotAllowedByOwner      = \"user_not_allowed_by_owner\"\n\tPermissionDeniedReasonTargetIsIndirectMember     = \"target_is_indirect_member\"\n\tPermissionDeniedReasonTargetIsOwner              = \"target_is_owner\"\n\tPermissionDeniedReasonTargetIsSelf               = \"target_is_self\"\n\tPermissionDeniedReasonTargetNotActive            = \"target_not_active\"\n\tPermissionDeniedReasonFolderIsLimitedTeamFolder  = \"folder_is_limited_team_folder\"\n\tPermissionDeniedReasonOwnerNotOnTeam             = \"owner_not_on_team\"\n\tPermissionDeniedReasonPermissionDenied           = \"permission_denied\"\n\tPermissionDeniedReasonRestrictedByTeam           = \"restricted_by_team\"\n\tPermissionDeniedReasonUserAccountType            = \"user_account_type\"\n\tPermissionDeniedReasonUserNotOnTeam              = \"user_not_on_team\"\n\tPermissionDeniedReasonFolderIsInsideSharedFolder = \"folder_is_inside_shared_folder\"\n\tPermissionDeniedReasonRestrictedByParentFolder   = \"restricted_by_parent_folder\"\n\tPermissionDeniedReasonInsufficientPlan           = \"insufficient_plan\"\n\tPermissionDeniedReasonOther                      = \"other\"\n)\n\n// UnmarshalJSON deserializes into a PermissionDeniedReason instance\nfunc (u *PermissionDeniedReason) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"insufficient_plan\":\n\t\tif err = json.Unmarshal(body, &u.InsufficientPlan); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// RelinquishFileMembershipArg : has no documentation (yet)\ntype RelinquishFileMembershipArg struct {\n\t// File : The path or id for the file.\n\tFile string `json:\"file\"`\n}\n\n// NewRelinquishFileMembershipArg returns a new RelinquishFileMembershipArg instance\nfunc NewRelinquishFileMembershipArg(File string) *RelinquishFileMembershipArg {\n\ts := new(RelinquishFileMembershipArg)\n\ts.File = File\n\treturn s\n}\n\n// RelinquishFileMembershipError : has no documentation (yet)\ntype RelinquishFileMembershipError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n}\n\n// Valid tag values for RelinquishFileMembershipError\nconst (\n\tRelinquishFileMembershipErrorAccessError  = \"access_error\"\n\tRelinquishFileMembershipErrorGroupAccess  = \"group_access\"\n\tRelinquishFileMembershipErrorNoPermission = \"no_permission\"\n\tRelinquishFileMembershipErrorOther        = \"other\"\n)\n\n// UnmarshalJSON deserializes into a RelinquishFileMembershipError instance\nfunc (u *RelinquishFileMembershipError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\t}\n\treturn nil\n}\n\n// RelinquishFolderMembershipArg : has no documentation (yet)\ntype RelinquishFolderMembershipArg struct {\n\t// SharedFolderId : The ID for the shared folder.\n\tSharedFolderId string `json:\"shared_folder_id\"`\n\t// LeaveACopy : Keep a copy of the folder's contents upon relinquishing\n\t// membership. This must be set to false when the folder is within a team\n\t// folder or another shared folder.\n\tLeaveACopy bool `json:\"leave_a_copy\"`\n}\n\n// NewRelinquishFolderMembershipArg returns a new RelinquishFolderMembershipArg instance\nfunc NewRelinquishFolderMembershipArg(SharedFolderId string) *RelinquishFolderMembershipArg {\n\ts := new(RelinquishFolderMembershipArg)\n\ts.SharedFolderId = SharedFolderId\n\ts.LeaveACopy = false\n\treturn s\n}\n\n// RelinquishFolderMembershipError : has no documentation (yet)\ntype RelinquishFolderMembershipError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n}\n\n// Valid tag values for RelinquishFolderMembershipError\nconst (\n\tRelinquishFolderMembershipErrorAccessError      = \"access_error\"\n\tRelinquishFolderMembershipErrorFolderOwner      = \"folder_owner\"\n\tRelinquishFolderMembershipErrorMounted          = \"mounted\"\n\tRelinquishFolderMembershipErrorGroupAccess      = \"group_access\"\n\tRelinquishFolderMembershipErrorTeamFolder       = \"team_folder\"\n\tRelinquishFolderMembershipErrorNoPermission     = \"no_permission\"\n\tRelinquishFolderMembershipErrorNoExplicitAccess = \"no_explicit_access\"\n\tRelinquishFolderMembershipErrorOther            = \"other\"\n)\n\n// UnmarshalJSON deserializes into a RelinquishFolderMembershipError instance\nfunc (u *RelinquishFolderMembershipError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\t}\n\treturn nil\n}\n\n// RemoveFileMemberArg : Arguments for `removeFileMember2`.\ntype RemoveFileMemberArg struct {\n\t// File : File from which to remove members.\n\tFile string `json:\"file\"`\n\t// Member : Member to remove from this file. Note that even if an email is\n\t// specified, it may result in the removal of a user (not an invitee) if the\n\t// user's main account corresponds to that email address.\n\tMember *MemberSelector `json:\"member\"`\n}\n\n// NewRemoveFileMemberArg returns a new RemoveFileMemberArg instance\nfunc NewRemoveFileMemberArg(File string, Member *MemberSelector) *RemoveFileMemberArg {\n\ts := new(RemoveFileMemberArg)\n\ts.File = File\n\ts.Member = Member\n\treturn s\n}\n\n// RemoveFileMemberError : Errors for `removeFileMember2`.\ntype RemoveFileMemberError struct {\n\tdropbox.Tagged\n\t// UserError : has no documentation (yet)\n\tUserError *SharingUserError `json:\"user_error,omitempty\"`\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n\t// NoExplicitAccess : This member does not have explicit access to the file\n\t// and therefore cannot be removed. The return value is the access that a\n\t// user might have to the file from a parent folder.\n\tNoExplicitAccess *MemberAccessLevelResult `json:\"no_explicit_access,omitempty\"`\n}\n\n// Valid tag values for RemoveFileMemberError\nconst (\n\tRemoveFileMemberErrorUserError        = \"user_error\"\n\tRemoveFileMemberErrorAccessError      = \"access_error\"\n\tRemoveFileMemberErrorNoExplicitAccess = \"no_explicit_access\"\n\tRemoveFileMemberErrorOther            = \"other\"\n)\n\n// UnmarshalJSON deserializes into a RemoveFileMemberError instance\nfunc (u *RemoveFileMemberError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// UserError : has no documentation (yet)\n\t\tUserError *SharingUserError `json:\"user_error,omitempty\"`\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"user_error\":\n\t\tu.UserError = w.UserError\n\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\tcase \"no_explicit_access\":\n\t\tif err = json.Unmarshal(body, &u.NoExplicitAccess); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// RemoveFolderMemberArg : has no documentation (yet)\ntype RemoveFolderMemberArg struct {\n\t// SharedFolderId : The ID for the shared folder.\n\tSharedFolderId string `json:\"shared_folder_id\"`\n\t// Member : The member to remove from the folder.\n\tMember *MemberSelector `json:\"member\"`\n\t// LeaveACopy : If true, the removed user will keep their copy of the folder\n\t// after it's unshared, assuming it was mounted. Otherwise, it will be\n\t// removed from their Dropbox. This must be set to false when removing a\n\t// group, or when the folder is within a team folder or another shared\n\t// folder.\n\tLeaveACopy bool `json:\"leave_a_copy\"`\n}\n\n// NewRemoveFolderMemberArg returns a new RemoveFolderMemberArg instance\nfunc NewRemoveFolderMemberArg(SharedFolderId string, Member *MemberSelector, LeaveACopy bool) *RemoveFolderMemberArg {\n\ts := new(RemoveFolderMemberArg)\n\ts.SharedFolderId = SharedFolderId\n\ts.Member = Member\n\ts.LeaveACopy = LeaveACopy\n\treturn s\n}\n\n// RemoveFolderMemberError : has no documentation (yet)\ntype RemoveFolderMemberError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n\t// MemberError : has no documentation (yet)\n\tMemberError *SharedFolderMemberError `json:\"member_error,omitempty\"`\n}\n\n// Valid tag values for RemoveFolderMemberError\nconst (\n\tRemoveFolderMemberErrorAccessError  = \"access_error\"\n\tRemoveFolderMemberErrorMemberError  = \"member_error\"\n\tRemoveFolderMemberErrorFolderOwner  = \"folder_owner\"\n\tRemoveFolderMemberErrorGroupAccess  = \"group_access\"\n\tRemoveFolderMemberErrorTeamFolder   = \"team_folder\"\n\tRemoveFolderMemberErrorNoPermission = \"no_permission\"\n\tRemoveFolderMemberErrorTooManyFiles = \"too_many_files\"\n\tRemoveFolderMemberErrorOther        = \"other\"\n)\n\n// UnmarshalJSON deserializes into a RemoveFolderMemberError instance\nfunc (u *RemoveFolderMemberError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n\t\t// MemberError : has no documentation (yet)\n\t\tMemberError *SharedFolderMemberError `json:\"member_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\tcase \"member_error\":\n\t\tu.MemberError = w.MemberError\n\n\t}\n\treturn nil\n}\n\n// RemoveMemberJobStatus : has no documentation (yet)\ntype RemoveMemberJobStatus struct {\n\tdropbox.Tagged\n\t// Complete : Removing the folder member has finished. The value is\n\t// information about whether the member has another form of access.\n\tComplete *MemberAccessLevelResult `json:\"complete,omitempty\"`\n\t// Failed : has no documentation (yet)\n\tFailed *RemoveFolderMemberError `json:\"failed,omitempty\"`\n}\n\n// Valid tag values for RemoveMemberJobStatus\nconst (\n\tRemoveMemberJobStatusInProgress = \"in_progress\"\n\tRemoveMemberJobStatusComplete   = \"complete\"\n\tRemoveMemberJobStatusFailed     = \"failed\"\n)\n\n// UnmarshalJSON deserializes into a RemoveMemberJobStatus instance\nfunc (u *RemoveMemberJobStatus) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Failed : has no documentation (yet)\n\t\tFailed *RemoveFolderMemberError `json:\"failed,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"failed\":\n\t\tu.Failed = w.Failed\n\n\t}\n\treturn nil\n}\n\n// RequestedLinkAccessLevel : has no documentation (yet)\ntype RequestedLinkAccessLevel struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for RequestedLinkAccessLevel\nconst (\n\tRequestedLinkAccessLevelViewer = \"viewer\"\n\tRequestedLinkAccessLevelEditor = \"editor\"\n\tRequestedLinkAccessLevelMax    = \"max\"\n\tRequestedLinkAccessLevelOther  = \"other\"\n)\n\n// RevokeSharedLinkArg : has no documentation (yet)\ntype RevokeSharedLinkArg struct {\n\t// Url : URL of the shared link.\n\tUrl string `json:\"url\"`\n}\n\n// NewRevokeSharedLinkArg returns a new RevokeSharedLinkArg instance\nfunc NewRevokeSharedLinkArg(Url string) *RevokeSharedLinkArg {\n\ts := new(RevokeSharedLinkArg)\n\ts.Url = Url\n\treturn s\n}\n\n// RevokeSharedLinkError : has no documentation (yet)\ntype RevokeSharedLinkError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for RevokeSharedLinkError\nconst (\n\tRevokeSharedLinkErrorSharedLinkNotFound     = \"shared_link_not_found\"\n\tRevokeSharedLinkErrorSharedLinkAccessDenied = \"shared_link_access_denied\"\n\tRevokeSharedLinkErrorUnsupportedLinkType    = \"unsupported_link_type\"\n\tRevokeSharedLinkErrorOther                  = \"other\"\n\tRevokeSharedLinkErrorSharedLinkMalformed    = \"shared_link_malformed\"\n)\n\n// SetAccessInheritanceArg : has no documentation (yet)\ntype SetAccessInheritanceArg struct {\n\t// AccessInheritance : The access inheritance settings for the folder.\n\tAccessInheritance *AccessInheritance `json:\"access_inheritance\"`\n\t// SharedFolderId : The ID for the shared folder.\n\tSharedFolderId string `json:\"shared_folder_id\"`\n}\n\n// NewSetAccessInheritanceArg returns a new SetAccessInheritanceArg instance\nfunc NewSetAccessInheritanceArg(SharedFolderId string) *SetAccessInheritanceArg {\n\ts := new(SetAccessInheritanceArg)\n\ts.SharedFolderId = SharedFolderId\n\ts.AccessInheritance = &AccessInheritance{Tagged: dropbox.Tagged{Tag: \"inherit\"}}\n\treturn s\n}\n\n// SetAccessInheritanceError : has no documentation (yet)\ntype SetAccessInheritanceError struct {\n\tdropbox.Tagged\n\t// AccessError : Unable to access shared folder.\n\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n}\n\n// Valid tag values for SetAccessInheritanceError\nconst (\n\tSetAccessInheritanceErrorAccessError  = \"access_error\"\n\tSetAccessInheritanceErrorNoPermission = \"no_permission\"\n\tSetAccessInheritanceErrorOther        = \"other\"\n)\n\n// UnmarshalJSON deserializes into a SetAccessInheritanceError instance\nfunc (u *SetAccessInheritanceError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : Unable to access shared folder.\n\t\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\t}\n\treturn nil\n}\n\n// ShareFolderArgBase : has no documentation (yet)\ntype ShareFolderArgBase struct {\n\t// AclUpdatePolicy : Who can add and remove members of this shared folder.\n\tAclUpdatePolicy *AclUpdatePolicy `json:\"acl_update_policy,omitempty\"`\n\t// ForceAsync : Whether to force the share to happen asynchronously.\n\tForceAsync bool `json:\"force_async\"`\n\t// MemberPolicy : Who can be a member of this shared folder. Only applicable\n\t// if the current user is on a team.\n\tMemberPolicy *MemberPolicy `json:\"member_policy,omitempty\"`\n\t// Path : The path to the folder to share. If it does not exist, then a new\n\t// one is created.\n\tPath string `json:\"path\"`\n\t// SharedLinkPolicy : The policy to apply to shared links created for\n\t// content inside this shared folder.  The current user must be on a team to\n\t// set this policy to `SharedLinkPolicy.members`.\n\tSharedLinkPolicy *SharedLinkPolicy `json:\"shared_link_policy,omitempty\"`\n\t// ViewerInfoPolicy : Who can enable/disable viewer info for this shared\n\t// folder.\n\tViewerInfoPolicy *ViewerInfoPolicy `json:\"viewer_info_policy,omitempty\"`\n\t// AccessInheritance : The access inheritance settings for the folder.\n\tAccessInheritance *AccessInheritance `json:\"access_inheritance\"`\n}\n\n// NewShareFolderArgBase returns a new ShareFolderArgBase instance\nfunc NewShareFolderArgBase(Path string) *ShareFolderArgBase {\n\ts := new(ShareFolderArgBase)\n\ts.Path = Path\n\ts.ForceAsync = false\n\ts.AccessInheritance = &AccessInheritance{Tagged: dropbox.Tagged{Tag: \"inherit\"}}\n\treturn s\n}\n\n// ShareFolderArg : has no documentation (yet)\ntype ShareFolderArg struct {\n\tShareFolderArgBase\n\t// Actions : A list of `FolderAction`s corresponding to `FolderPermission`s\n\t// that should appear in the  response's `SharedFolderMetadata.permissions`\n\t// field describing the actions the  authenticated user can perform on the\n\t// folder.\n\tActions []*FolderAction `json:\"actions,omitempty\"`\n\t// LinkSettings : Settings on the link for this folder.\n\tLinkSettings *LinkSettings `json:\"link_settings,omitempty\"`\n}\n\n// NewShareFolderArg returns a new ShareFolderArg instance\nfunc NewShareFolderArg(Path string) *ShareFolderArg {\n\ts := new(ShareFolderArg)\n\ts.Path = Path\n\ts.ForceAsync = false\n\ts.AccessInheritance = &AccessInheritance{Tagged: dropbox.Tagged{Tag: \"inherit\"}}\n\treturn s\n}\n\n// ShareFolderErrorBase : has no documentation (yet)\ntype ShareFolderErrorBase struct {\n\tdropbox.Tagged\n\t// BadPath : `ShareFolderArg.path` is invalid.\n\tBadPath *SharePathError `json:\"bad_path,omitempty\"`\n}\n\n// Valid tag values for ShareFolderErrorBase\nconst (\n\tShareFolderErrorBaseEmailUnverified                 = \"email_unverified\"\n\tShareFolderErrorBaseBadPath                         = \"bad_path\"\n\tShareFolderErrorBaseTeamPolicyDisallowsMemberPolicy = \"team_policy_disallows_member_policy\"\n\tShareFolderErrorBaseDisallowedSharedLinkPolicy      = \"disallowed_shared_link_policy\"\n\tShareFolderErrorBaseOther                           = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ShareFolderErrorBase instance\nfunc (u *ShareFolderErrorBase) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// BadPath : `ShareFolderArg.path` is invalid.\n\t\tBadPath *SharePathError `json:\"bad_path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"bad_path\":\n\t\tu.BadPath = w.BadPath\n\n\t}\n\treturn nil\n}\n\n// ShareFolderError : has no documentation (yet)\ntype ShareFolderError struct {\n\tdropbox.Tagged\n\t// BadPath : `ShareFolderArg.path` is invalid.\n\tBadPath *SharePathError `json:\"bad_path,omitempty\"`\n}\n\n// Valid tag values for ShareFolderError\nconst (\n\tShareFolderErrorEmailUnverified                 = \"email_unverified\"\n\tShareFolderErrorBadPath                         = \"bad_path\"\n\tShareFolderErrorTeamPolicyDisallowsMemberPolicy = \"team_policy_disallows_member_policy\"\n\tShareFolderErrorDisallowedSharedLinkPolicy      = \"disallowed_shared_link_policy\"\n\tShareFolderErrorOther                           = \"other\"\n\tShareFolderErrorNoPermission                    = \"no_permission\"\n)\n\n// UnmarshalJSON deserializes into a ShareFolderError instance\nfunc (u *ShareFolderError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// BadPath : `ShareFolderArg.path` is invalid.\n\t\tBadPath *SharePathError `json:\"bad_path,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"bad_path\":\n\t\tu.BadPath = w.BadPath\n\n\t}\n\treturn nil\n}\n\n// ShareFolderJobStatus : has no documentation (yet)\ntype ShareFolderJobStatus struct {\n\tdropbox.Tagged\n\t// Complete : The share job has finished. The value is the metadata for the\n\t// folder.\n\tComplete *SharedFolderMetadata `json:\"complete,omitempty\"`\n\t// Failed : has no documentation (yet)\n\tFailed *ShareFolderError `json:\"failed,omitempty\"`\n}\n\n// Valid tag values for ShareFolderJobStatus\nconst (\n\tShareFolderJobStatusInProgress = \"in_progress\"\n\tShareFolderJobStatusComplete   = \"complete\"\n\tShareFolderJobStatusFailed     = \"failed\"\n)\n\n// UnmarshalJSON deserializes into a ShareFolderJobStatus instance\nfunc (u *ShareFolderJobStatus) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Failed : has no documentation (yet)\n\t\tFailed *ShareFolderError `json:\"failed,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"failed\":\n\t\tu.Failed = w.Failed\n\n\t}\n\treturn nil\n}\n\n// ShareFolderLaunch : has no documentation (yet)\ntype ShareFolderLaunch struct {\n\tdropbox.Tagged\n\t// AsyncJobId : This response indicates that the processing is asynchronous.\n\t// The string is an id that can be used to obtain the status of the\n\t// asynchronous job.\n\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t// Complete : has no documentation (yet)\n\tComplete *SharedFolderMetadata `json:\"complete,omitempty\"`\n}\n\n// Valid tag values for ShareFolderLaunch\nconst (\n\tShareFolderLaunchAsyncJobId = \"async_job_id\"\n\tShareFolderLaunchComplete   = \"complete\"\n)\n\n// UnmarshalJSON deserializes into a ShareFolderLaunch instance\nfunc (u *ShareFolderLaunch) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AsyncJobId : This response indicates that the processing is\n\t\t// asynchronous. The string is an id that can be used to obtain the\n\t\t// status of the asynchronous job.\n\t\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"async_job_id\":\n\t\tu.AsyncJobId = w.AsyncJobId\n\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// SharePathError : has no documentation (yet)\ntype SharePathError struct {\n\tdropbox.Tagged\n\t// AlreadyShared : Folder is already shared. Contains metadata about the\n\t// existing shared folder.\n\tAlreadyShared *SharedFolderMetadata `json:\"already_shared,omitempty\"`\n}\n\n// Valid tag values for SharePathError\nconst (\n\tSharePathErrorIsFile               = \"is_file\"\n\tSharePathErrorInsideSharedFolder   = \"inside_shared_folder\"\n\tSharePathErrorContainsSharedFolder = \"contains_shared_folder\"\n\tSharePathErrorContainsAppFolder    = \"contains_app_folder\"\n\tSharePathErrorContainsTeamFolder   = \"contains_team_folder\"\n\tSharePathErrorIsAppFolder          = \"is_app_folder\"\n\tSharePathErrorInsideAppFolder      = \"inside_app_folder\"\n\tSharePathErrorIsPublicFolder       = \"is_public_folder\"\n\tSharePathErrorInsidePublicFolder   = \"inside_public_folder\"\n\tSharePathErrorAlreadyShared        = \"already_shared\"\n\tSharePathErrorInvalidPath          = \"invalid_path\"\n\tSharePathErrorIsOsxPackage         = \"is_osx_package\"\n\tSharePathErrorInsideOsxPackage     = \"inside_osx_package\"\n\tSharePathErrorIsVault              = \"is_vault\"\n\tSharePathErrorIsVaultLocked        = \"is_vault_locked\"\n\tSharePathErrorIsFamily             = \"is_family\"\n\tSharePathErrorOther                = \"other\"\n)\n\n// UnmarshalJSON deserializes into a SharePathError instance\nfunc (u *SharePathError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"already_shared\":\n\t\tif err = json.Unmarshal(body, &u.AlreadyShared); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// SharedContentLinkMetadata : Metadata of a shared link for a file or folder.\ntype SharedContentLinkMetadata struct {\n\tSharedContentLinkMetadataBase\n\t// AudienceExceptions : The content inside this folder with link audience\n\t// different than this folder's. This is only returned when an endpoint that\n\t// returns metadata for a single shared folder is called, e.g.\n\t// /get_folder_metadata.\n\tAudienceExceptions *AudienceExceptions `json:\"audience_exceptions,omitempty\"`\n\t// Url : The URL of the link.\n\tUrl string `json:\"url\"`\n}\n\n// NewSharedContentLinkMetadata returns a new SharedContentLinkMetadata instance\nfunc NewSharedContentLinkMetadata(AudienceOptions []*LinkAudience, CurrentAudience *LinkAudience, LinkPermissions []*LinkPermission, PasswordProtected bool, Url string) *SharedContentLinkMetadata {\n\ts := new(SharedContentLinkMetadata)\n\ts.AudienceOptions = AudienceOptions\n\ts.CurrentAudience = CurrentAudience\n\ts.LinkPermissions = LinkPermissions\n\ts.PasswordProtected = PasswordProtected\n\ts.Url = Url\n\treturn s\n}\n\n// SharedFileMembers : Shared file user, group, and invitee membership. Used for\n// the results of `listFileMembers` and `listFileMembersContinue`, and used as\n// part of the results for `listFileMembersBatch`.\ntype SharedFileMembers struct {\n\t// Users : The list of user members of the shared file.\n\tUsers []*UserFileMembershipInfo `json:\"users\"`\n\t// Groups : The list of group members of the shared file.\n\tGroups []*GroupMembershipInfo `json:\"groups\"`\n\t// Invitees : The list of invited members of a file, but have not logged in\n\t// and claimed this.\n\tInvitees []*InviteeMembershipInfo `json:\"invitees\"`\n\t// Cursor : Present if there are additional shared file members that have\n\t// not been returned yet. Pass the cursor into `listFileMembersContinue` to\n\t// list additional members.\n\tCursor string `json:\"cursor,omitempty\"`\n}\n\n// NewSharedFileMembers returns a new SharedFileMembers instance\nfunc NewSharedFileMembers(Users []*UserFileMembershipInfo, Groups []*GroupMembershipInfo, Invitees []*InviteeMembershipInfo) *SharedFileMembers {\n\ts := new(SharedFileMembers)\n\ts.Users = Users\n\ts.Groups = Groups\n\ts.Invitees = Invitees\n\treturn s\n}\n\n// SharedFileMetadata : Properties of the shared file.\ntype SharedFileMetadata struct {\n\t// AccessType : The current user's access level for this shared file.\n\tAccessType *AccessLevel `json:\"access_type,omitempty\"`\n\t// Id : The ID of the file.\n\tId string `json:\"id\"`\n\t// ExpectedLinkMetadata : The expected metadata of the link associated for\n\t// the file when it is first shared. Absent if the link already exists. This\n\t// is for an unreleased feature so it may not be returned yet.\n\tExpectedLinkMetadata *ExpectedSharedContentLinkMetadata `json:\"expected_link_metadata,omitempty\"`\n\t// LinkMetadata : The metadata of the link associated for the file. This is\n\t// for an unreleased feature so it may not be returned yet.\n\tLinkMetadata *SharedContentLinkMetadata `json:\"link_metadata,omitempty\"`\n\t// Name : The name of this file.\n\tName string `json:\"name\"`\n\t// OwnerDisplayNames : The display names of the users that own the file. If\n\t// the file is part of a team folder, the display names of the team admins\n\t// are also included. Absent if the owner display names cannot be fetched.\n\tOwnerDisplayNames []string `json:\"owner_display_names,omitempty\"`\n\t// OwnerTeam : The team that owns the file. This field is not present if the\n\t// file is not owned by a team.\n\tOwnerTeam *users.Team `json:\"owner_team,omitempty\"`\n\t// ParentSharedFolderId : The ID of the parent shared folder. This field is\n\t// present only if the file is contained within a shared folder.\n\tParentSharedFolderId string `json:\"parent_shared_folder_id,omitempty\"`\n\t// PathDisplay : The cased path to be used for display purposes only. In\n\t// rare instances the casing will not correctly match the user's filesystem,\n\t// but this behavior will match the path provided in the Core API v1. Absent\n\t// for unmounted files.\n\tPathDisplay string `json:\"path_display,omitempty\"`\n\t// PathLower : The lower-case full path of this file. Absent for unmounted\n\t// files.\n\tPathLower string `json:\"path_lower,omitempty\"`\n\t// Permissions : The sharing permissions that requesting user has on this\n\t// file. This corresponds to the entries given in\n\t// `GetFileMetadataBatchArg.actions` or `GetFileMetadataArg.actions`.\n\tPermissions []*FilePermission `json:\"permissions,omitempty\"`\n\t// Policy : Policies governing this shared file.\n\tPolicy *FolderPolicy `json:\"policy\"`\n\t// PreviewUrl : URL for displaying a web preview of the shared file.\n\tPreviewUrl string `json:\"preview_url\"`\n\t// TimeInvited : Timestamp indicating when the current user was invited to\n\t// this shared file. If the user was not invited to the shared file, the\n\t// timestamp will indicate when the user was invited to the parent shared\n\t// folder. This value may be absent.\n\tTimeInvited *time.Time `json:\"time_invited,omitempty\"`\n}\n\n// NewSharedFileMetadata returns a new SharedFileMetadata instance\nfunc NewSharedFileMetadata(Id string, Name string, Policy *FolderPolicy, PreviewUrl string) *SharedFileMetadata {\n\ts := new(SharedFileMetadata)\n\ts.Id = Id\n\ts.Name = Name\n\ts.Policy = Policy\n\ts.PreviewUrl = PreviewUrl\n\treturn s\n}\n\n// SharedFolderAccessError : There is an error accessing the shared folder.\ntype SharedFolderAccessError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharedFolderAccessError\nconst (\n\tSharedFolderAccessErrorInvalidId       = \"invalid_id\"\n\tSharedFolderAccessErrorNotAMember      = \"not_a_member\"\n\tSharedFolderAccessErrorEmailUnverified = \"email_unverified\"\n\tSharedFolderAccessErrorUnmounted       = \"unmounted\"\n\tSharedFolderAccessErrorOther           = \"other\"\n)\n\n// SharedFolderMemberError : has no documentation (yet)\ntype SharedFolderMemberError struct {\n\tdropbox.Tagged\n\t// NoExplicitAccess : The target member only has inherited access to the\n\t// shared folder.\n\tNoExplicitAccess *MemberAccessLevelResult `json:\"no_explicit_access,omitempty\"`\n}\n\n// Valid tag values for SharedFolderMemberError\nconst (\n\tSharedFolderMemberErrorInvalidDropboxId = \"invalid_dropbox_id\"\n\tSharedFolderMemberErrorNotAMember       = \"not_a_member\"\n\tSharedFolderMemberErrorNoExplicitAccess = \"no_explicit_access\"\n\tSharedFolderMemberErrorOther            = \"other\"\n)\n\n// UnmarshalJSON deserializes into a SharedFolderMemberError instance\nfunc (u *SharedFolderMemberError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"no_explicit_access\":\n\t\tif err = json.Unmarshal(body, &u.NoExplicitAccess); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// SharedFolderMembers : Shared folder user and group membership.\ntype SharedFolderMembers struct {\n\t// Users : The list of user members of the shared folder.\n\tUsers []*UserMembershipInfo `json:\"users\"`\n\t// Groups : The list of group members of the shared folder.\n\tGroups []*GroupMembershipInfo `json:\"groups\"`\n\t// Invitees : The list of invitees to the shared folder.\n\tInvitees []*InviteeMembershipInfo `json:\"invitees\"`\n\t// Cursor : Present if there are additional shared folder members that have\n\t// not been returned yet. Pass the cursor into `listFolderMembersContinue`\n\t// to list additional members.\n\tCursor string `json:\"cursor,omitempty\"`\n}\n\n// NewSharedFolderMembers returns a new SharedFolderMembers instance\nfunc NewSharedFolderMembers(Users []*UserMembershipInfo, Groups []*GroupMembershipInfo, Invitees []*InviteeMembershipInfo) *SharedFolderMembers {\n\ts := new(SharedFolderMembers)\n\ts.Users = Users\n\ts.Groups = Groups\n\ts.Invitees = Invitees\n\treturn s\n}\n\n// SharedFolderMetadataBase : Properties of the shared folder.\ntype SharedFolderMetadataBase struct {\n\t// AccessType : The current user's access level for this shared folder.\n\tAccessType *AccessLevel `json:\"access_type\"`\n\t// IsInsideTeamFolder : Whether this folder is inside of a team folder.\n\tIsInsideTeamFolder bool `json:\"is_inside_team_folder\"`\n\t// IsTeamFolder : Whether this folder is a `team folder`\n\t// <https://www.dropbox.com/en/help/986>.\n\tIsTeamFolder bool `json:\"is_team_folder\"`\n\t// OwnerDisplayNames : The display names of the users that own the folder.\n\t// If the folder is part of a team folder, the display names of the team\n\t// admins are also included. Absent if the owner display names cannot be\n\t// fetched.\n\tOwnerDisplayNames []string `json:\"owner_display_names,omitempty\"`\n\t// OwnerTeam : The team that owns the folder. This field is not present if\n\t// the folder is not owned by a team.\n\tOwnerTeam *users.Team `json:\"owner_team,omitempty\"`\n\t// ParentSharedFolderId : The ID of the parent shared folder. This field is\n\t// present only if the folder is contained within another shared folder.\n\tParentSharedFolderId string `json:\"parent_shared_folder_id,omitempty\"`\n\t// PathLower : The lower-cased full path of this shared folder. Absent for\n\t// unmounted folders.\n\tPathLower string `json:\"path_lower,omitempty\"`\n\t// ParentFolderName : Display name for the parent folder.\n\tParentFolderName string `json:\"parent_folder_name,omitempty\"`\n}\n\n// NewSharedFolderMetadataBase returns a new SharedFolderMetadataBase instance\nfunc NewSharedFolderMetadataBase(AccessType *AccessLevel, IsInsideTeamFolder bool, IsTeamFolder bool) *SharedFolderMetadataBase {\n\ts := new(SharedFolderMetadataBase)\n\ts.AccessType = AccessType\n\ts.IsInsideTeamFolder = IsInsideTeamFolder\n\ts.IsTeamFolder = IsTeamFolder\n\treturn s\n}\n\n// SharedFolderMetadata : The metadata which includes basic information about\n// the shared folder.\ntype SharedFolderMetadata struct {\n\tSharedFolderMetadataBase\n\t// LinkMetadata : The metadata of the shared content link to this shared\n\t// folder. Absent if there is no link on the folder. This is for an\n\t// unreleased feature so it may not be returned yet.\n\tLinkMetadata *SharedContentLinkMetadata `json:\"link_metadata,omitempty\"`\n\t// Name : The name of the this shared folder.\n\tName string `json:\"name\"`\n\t// Permissions : Actions the current user may perform on the folder and its\n\t// contents. The set of permissions corresponds to the FolderActions in the\n\t// request.\n\tPermissions []*FolderPermission `json:\"permissions,omitempty\"`\n\t// Policy : Policies governing this shared folder.\n\tPolicy *FolderPolicy `json:\"policy\"`\n\t// PreviewUrl : URL for displaying a web preview of the shared folder.\n\tPreviewUrl string `json:\"preview_url\"`\n\t// SharedFolderId : The ID of the shared folder.\n\tSharedFolderId string `json:\"shared_folder_id\"`\n\t// TimeInvited : Timestamp indicating when the current user was invited to\n\t// this shared folder.\n\tTimeInvited time.Time `json:\"time_invited\"`\n\t// AccessInheritance : Whether the folder inherits its members from its\n\t// parent.\n\tAccessInheritance *AccessInheritance `json:\"access_inheritance\"`\n}\n\n// NewSharedFolderMetadata returns a new SharedFolderMetadata instance\nfunc NewSharedFolderMetadata(AccessType *AccessLevel, IsInsideTeamFolder bool, IsTeamFolder bool, Name string, Policy *FolderPolicy, PreviewUrl string, SharedFolderId string, TimeInvited time.Time) *SharedFolderMetadata {\n\ts := new(SharedFolderMetadata)\n\ts.AccessType = AccessType\n\ts.IsInsideTeamFolder = IsInsideTeamFolder\n\ts.IsTeamFolder = IsTeamFolder\n\ts.Name = Name\n\ts.Policy = Policy\n\ts.PreviewUrl = PreviewUrl\n\ts.SharedFolderId = SharedFolderId\n\ts.TimeInvited = TimeInvited\n\ts.AccessInheritance = &AccessInheritance{Tagged: dropbox.Tagged{Tag: \"inherit\"}}\n\treturn s\n}\n\n// SharedLinkAccessFailureReason : has no documentation (yet)\ntype SharedLinkAccessFailureReason struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharedLinkAccessFailureReason\nconst (\n\tSharedLinkAccessFailureReasonLoginRequired       = \"login_required\"\n\tSharedLinkAccessFailureReasonEmailVerifyRequired = \"email_verify_required\"\n\tSharedLinkAccessFailureReasonPasswordRequired    = \"password_required\"\n\tSharedLinkAccessFailureReasonTeamOnly            = \"team_only\"\n\tSharedLinkAccessFailureReasonOwnerOnly           = \"owner_only\"\n\tSharedLinkAccessFailureReasonOther               = \"other\"\n)\n\n// SharedLinkAlreadyExistsMetadata : has no documentation (yet)\ntype SharedLinkAlreadyExistsMetadata struct {\n\tdropbox.Tagged\n\t// Metadata : Metadata of the shared link that already exists.\n\tMetadata IsSharedLinkMetadata `json:\"metadata,omitempty\"`\n}\n\n// Valid tag values for SharedLinkAlreadyExistsMetadata\nconst (\n\tSharedLinkAlreadyExistsMetadataMetadata = \"metadata\"\n\tSharedLinkAlreadyExistsMetadataOther    = \"other\"\n)\n\n// UnmarshalJSON deserializes into a SharedLinkAlreadyExistsMetadata instance\nfunc (u *SharedLinkAlreadyExistsMetadata) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Metadata : Metadata of the shared link that already exists.\n\t\tMetadata json.RawMessage `json:\"metadata,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"metadata\":\n\t\tif u.Metadata, err = IsSharedLinkMetadataFromJSON(w.Metadata); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// SharedLinkPolicy : Who can view shared links in this folder.\ntype SharedLinkPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharedLinkPolicy\nconst (\n\tSharedLinkPolicyAnyone  = \"anyone\"\n\tSharedLinkPolicyTeam    = \"team\"\n\tSharedLinkPolicyMembers = \"members\"\n\tSharedLinkPolicyOther   = \"other\"\n)\n\n// SharedLinkSettings : has no documentation (yet)\ntype SharedLinkSettings struct {\n\t// RequirePassword : Boolean flag to enable or disable password protection.\n\tRequirePassword bool `json:\"require_password,omitempty\"`\n\t// LinkPassword : If `require_password` is true, this is needed to specify\n\t// the password to access the link.\n\tLinkPassword string `json:\"link_password,omitempty\"`\n\t// Expires : Expiration time of the shared link. By default the link won't\n\t// expire.\n\tExpires *time.Time `json:\"expires,omitempty\"`\n\t// Audience : The new audience who can benefit from the access level\n\t// specified by the link's access level specified in the `link_access_level`\n\t// field of `LinkPermissions`. This is used in conjunction with team\n\t// policies and shared folder policies to determine the final effective\n\t// audience type in the `effective_audience` field of `LinkPermissions.\n\tAudience *LinkAudience `json:\"audience,omitempty\"`\n\t// Access : Requested access level you want the audience to gain from this\n\t// link. Note, modifying access level for an existing link is not supported.\n\tAccess *RequestedLinkAccessLevel `json:\"access,omitempty\"`\n\t// RequestedVisibility : Use `audience` instead.  The requested access for\n\t// this shared link.\n\tRequestedVisibility *RequestedVisibility `json:\"requested_visibility,omitempty\"`\n\t// AllowDownload : Boolean flag to allow or not download capabilities for\n\t// shared links.\n\tAllowDownload bool `json:\"allow_download,omitempty\"`\n}\n\n// NewSharedLinkSettings returns a new SharedLinkSettings instance\nfunc NewSharedLinkSettings() *SharedLinkSettings {\n\ts := new(SharedLinkSettings)\n\treturn s\n}\n\n// SharedLinkSettingsError : has no documentation (yet)\ntype SharedLinkSettingsError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharedLinkSettingsError\nconst (\n\tSharedLinkSettingsErrorInvalidSettings = \"invalid_settings\"\n\tSharedLinkSettingsErrorNotAuthorized   = \"not_authorized\"\n)\n\n// SharingFileAccessError : User could not access this file.\ntype SharingFileAccessError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharingFileAccessError\nconst (\n\tSharingFileAccessErrorNoPermission       = \"no_permission\"\n\tSharingFileAccessErrorInvalidFile        = \"invalid_file\"\n\tSharingFileAccessErrorIsFolder           = \"is_folder\"\n\tSharingFileAccessErrorInsidePublicFolder = \"inside_public_folder\"\n\tSharingFileAccessErrorInsideOsxPackage   = \"inside_osx_package\"\n\tSharingFileAccessErrorOther              = \"other\"\n)\n\n// SharingUserError : User account had a problem preventing this action.\ntype SharingUserError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharingUserError\nconst (\n\tSharingUserErrorEmailUnverified = \"email_unverified\"\n\tSharingUserErrorOther           = \"other\"\n)\n\n// TeamMemberInfo : Information about a team member.\ntype TeamMemberInfo struct {\n\t// TeamInfo : Information about the member's team.\n\tTeamInfo *users.Team `json:\"team_info\"`\n\t// DisplayName : The display name of the user.\n\tDisplayName string `json:\"display_name\"`\n\t// MemberId : ID of user as a member of a team. This field will only be\n\t// present if the member is in the same team as current user.\n\tMemberId string `json:\"member_id,omitempty\"`\n}\n\n// NewTeamMemberInfo returns a new TeamMemberInfo instance\nfunc NewTeamMemberInfo(TeamInfo *users.Team, DisplayName string) *TeamMemberInfo {\n\ts := new(TeamMemberInfo)\n\ts.TeamInfo = TeamInfo\n\ts.DisplayName = DisplayName\n\treturn s\n}\n\n// TransferFolderArg : has no documentation (yet)\ntype TransferFolderArg struct {\n\t// SharedFolderId : The ID for the shared folder.\n\tSharedFolderId string `json:\"shared_folder_id\"`\n\t// ToDropboxId : A account or team member ID to transfer ownership to.\n\tToDropboxId string `json:\"to_dropbox_id\"`\n}\n\n// NewTransferFolderArg returns a new TransferFolderArg instance\nfunc NewTransferFolderArg(SharedFolderId string, ToDropboxId string) *TransferFolderArg {\n\ts := new(TransferFolderArg)\n\ts.SharedFolderId = SharedFolderId\n\ts.ToDropboxId = ToDropboxId\n\treturn s\n}\n\n// TransferFolderError : has no documentation (yet)\ntype TransferFolderError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n}\n\n// Valid tag values for TransferFolderError\nconst (\n\tTransferFolderErrorAccessError             = \"access_error\"\n\tTransferFolderErrorInvalidDropboxId        = \"invalid_dropbox_id\"\n\tTransferFolderErrorNewOwnerNotAMember      = \"new_owner_not_a_member\"\n\tTransferFolderErrorNewOwnerUnmounted       = \"new_owner_unmounted\"\n\tTransferFolderErrorNewOwnerEmailUnverified = \"new_owner_email_unverified\"\n\tTransferFolderErrorTeamFolder              = \"team_folder\"\n\tTransferFolderErrorNoPermission            = \"no_permission\"\n\tTransferFolderErrorOther                   = \"other\"\n)\n\n// UnmarshalJSON deserializes into a TransferFolderError instance\nfunc (u *TransferFolderError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\t}\n\treturn nil\n}\n\n// UnmountFolderArg : has no documentation (yet)\ntype UnmountFolderArg struct {\n\t// SharedFolderId : The ID for the shared folder.\n\tSharedFolderId string `json:\"shared_folder_id\"`\n}\n\n// NewUnmountFolderArg returns a new UnmountFolderArg instance\nfunc NewUnmountFolderArg(SharedFolderId string) *UnmountFolderArg {\n\ts := new(UnmountFolderArg)\n\ts.SharedFolderId = SharedFolderId\n\treturn s\n}\n\n// UnmountFolderError : has no documentation (yet)\ntype UnmountFolderError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n}\n\n// Valid tag values for UnmountFolderError\nconst (\n\tUnmountFolderErrorAccessError    = \"access_error\"\n\tUnmountFolderErrorNoPermission   = \"no_permission\"\n\tUnmountFolderErrorNotUnmountable = \"not_unmountable\"\n\tUnmountFolderErrorOther          = \"other\"\n)\n\n// UnmarshalJSON deserializes into a UnmountFolderError instance\nfunc (u *UnmountFolderError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\t}\n\treturn nil\n}\n\n// UnshareFileArg : Arguments for `unshareFile`.\ntype UnshareFileArg struct {\n\t// File : The file to unshare.\n\tFile string `json:\"file\"`\n}\n\n// NewUnshareFileArg returns a new UnshareFileArg instance\nfunc NewUnshareFileArg(File string) *UnshareFileArg {\n\ts := new(UnshareFileArg)\n\ts.File = File\n\treturn s\n}\n\n// UnshareFileError : Error result for `unshareFile`.\ntype UnshareFileError struct {\n\tdropbox.Tagged\n\t// UserError : has no documentation (yet)\n\tUserError *SharingUserError `json:\"user_error,omitempty\"`\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n}\n\n// Valid tag values for UnshareFileError\nconst (\n\tUnshareFileErrorUserError   = \"user_error\"\n\tUnshareFileErrorAccessError = \"access_error\"\n\tUnshareFileErrorOther       = \"other\"\n)\n\n// UnmarshalJSON deserializes into a UnshareFileError instance\nfunc (u *UnshareFileError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// UserError : has no documentation (yet)\n\t\tUserError *SharingUserError `json:\"user_error,omitempty\"`\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharingFileAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"user_error\":\n\t\tu.UserError = w.UserError\n\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\t}\n\treturn nil\n}\n\n// UnshareFolderArg : has no documentation (yet)\ntype UnshareFolderArg struct {\n\t// SharedFolderId : The ID for the shared folder.\n\tSharedFolderId string `json:\"shared_folder_id\"`\n\t// LeaveACopy : If true, members of this shared folder will get a copy of\n\t// this folder after it's unshared. Otherwise, it will be removed from their\n\t// Dropbox. The current user, who is an owner, will always retain their\n\t// copy.\n\tLeaveACopy bool `json:\"leave_a_copy\"`\n}\n\n// NewUnshareFolderArg returns a new UnshareFolderArg instance\nfunc NewUnshareFolderArg(SharedFolderId string) *UnshareFolderArg {\n\ts := new(UnshareFolderArg)\n\ts.SharedFolderId = SharedFolderId\n\ts.LeaveACopy = false\n\treturn s\n}\n\n// UnshareFolderError : has no documentation (yet)\ntype UnshareFolderError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n}\n\n// Valid tag values for UnshareFolderError\nconst (\n\tUnshareFolderErrorAccessError  = \"access_error\"\n\tUnshareFolderErrorTeamFolder   = \"team_folder\"\n\tUnshareFolderErrorNoPermission = \"no_permission\"\n\tUnshareFolderErrorTooManyFiles = \"too_many_files\"\n\tUnshareFolderErrorOther        = \"other\"\n)\n\n// UnmarshalJSON deserializes into a UnshareFolderError instance\nfunc (u *UnshareFolderError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\t}\n\treturn nil\n}\n\n// UpdateFileMemberArgs : Arguments for `updateFileMember`.\ntype UpdateFileMemberArgs struct {\n\t// File : File for which we are changing a member's access.\n\tFile string `json:\"file\"`\n\t// Member : The member whose access we are changing.\n\tMember *MemberSelector `json:\"member\"`\n\t// AccessLevel : The new access level for the member.\n\tAccessLevel *AccessLevel `json:\"access_level\"`\n}\n\n// NewUpdateFileMemberArgs returns a new UpdateFileMemberArgs instance\nfunc NewUpdateFileMemberArgs(File string, Member *MemberSelector, AccessLevel *AccessLevel) *UpdateFileMemberArgs {\n\ts := new(UpdateFileMemberArgs)\n\ts.File = File\n\ts.Member = Member\n\ts.AccessLevel = AccessLevel\n\treturn s\n}\n\n// UpdateFolderMemberArg : has no documentation (yet)\ntype UpdateFolderMemberArg struct {\n\t// SharedFolderId : The ID for the shared folder.\n\tSharedFolderId string `json:\"shared_folder_id\"`\n\t// Member : The member of the shared folder to update.  Only the\n\t// `MemberSelector.dropbox_id` may be set at this time.\n\tMember *MemberSelector `json:\"member\"`\n\t// AccessLevel : The new access level for `member`. `AccessLevel.owner` is\n\t// disallowed.\n\tAccessLevel *AccessLevel `json:\"access_level\"`\n}\n\n// NewUpdateFolderMemberArg returns a new UpdateFolderMemberArg instance\nfunc NewUpdateFolderMemberArg(SharedFolderId string, Member *MemberSelector, AccessLevel *AccessLevel) *UpdateFolderMemberArg {\n\ts := new(UpdateFolderMemberArg)\n\ts.SharedFolderId = SharedFolderId\n\ts.Member = Member\n\ts.AccessLevel = AccessLevel\n\treturn s\n}\n\n// UpdateFolderMemberError : has no documentation (yet)\ntype UpdateFolderMemberError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n\t// MemberError : has no documentation (yet)\n\tMemberError *SharedFolderMemberError `json:\"member_error,omitempty\"`\n\t// NoExplicitAccess : If updating the access type required the member to be\n\t// added to the shared folder and there was an error when adding the member.\n\tNoExplicitAccess *AddFolderMemberError `json:\"no_explicit_access,omitempty\"`\n}\n\n// Valid tag values for UpdateFolderMemberError\nconst (\n\tUpdateFolderMemberErrorAccessError      = \"access_error\"\n\tUpdateFolderMemberErrorMemberError      = \"member_error\"\n\tUpdateFolderMemberErrorNoExplicitAccess = \"no_explicit_access\"\n\tUpdateFolderMemberErrorInsufficientPlan = \"insufficient_plan\"\n\tUpdateFolderMemberErrorNoPermission     = \"no_permission\"\n\tUpdateFolderMemberErrorOther            = \"other\"\n)\n\n// UnmarshalJSON deserializes into a UpdateFolderMemberError instance\nfunc (u *UpdateFolderMemberError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n\t\t// MemberError : has no documentation (yet)\n\t\tMemberError *SharedFolderMemberError `json:\"member_error,omitempty\"`\n\t\t// NoExplicitAccess : If updating the access type required the member to\n\t\t// be added to the shared folder and there was an error when adding the\n\t\t// member.\n\t\tNoExplicitAccess *AddFolderMemberError `json:\"no_explicit_access,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\tcase \"member_error\":\n\t\tu.MemberError = w.MemberError\n\n\tcase \"no_explicit_access\":\n\t\tu.NoExplicitAccess = w.NoExplicitAccess\n\n\t}\n\treturn nil\n}\n\n// UpdateFolderPolicyArg : If any of the policies are unset, then they retain\n// their current setting.\ntype UpdateFolderPolicyArg struct {\n\t// SharedFolderId : The ID for the shared folder.\n\tSharedFolderId string `json:\"shared_folder_id\"`\n\t// MemberPolicy : Who can be a member of this shared folder. Only applicable\n\t// if the current user is on a team.\n\tMemberPolicy *MemberPolicy `json:\"member_policy,omitempty\"`\n\t// AclUpdatePolicy : Who can add and remove members of this shared folder.\n\tAclUpdatePolicy *AclUpdatePolicy `json:\"acl_update_policy,omitempty\"`\n\t// ViewerInfoPolicy : Who can enable/disable viewer info for this shared\n\t// folder.\n\tViewerInfoPolicy *ViewerInfoPolicy `json:\"viewer_info_policy,omitempty\"`\n\t// SharedLinkPolicy : The policy to apply to shared links created for\n\t// content inside this shared folder. The current user must be on a team to\n\t// set this policy to `SharedLinkPolicy.members`.\n\tSharedLinkPolicy *SharedLinkPolicy `json:\"shared_link_policy,omitempty\"`\n\t// LinkSettings : Settings on the link for this folder.\n\tLinkSettings *LinkSettings `json:\"link_settings,omitempty\"`\n\t// Actions : A list of `FolderAction`s corresponding to `FolderPermission`s\n\t// that should appear in the  response's `SharedFolderMetadata.permissions`\n\t// field describing the actions the  authenticated user can perform on the\n\t// folder.\n\tActions []*FolderAction `json:\"actions,omitempty\"`\n}\n\n// NewUpdateFolderPolicyArg returns a new UpdateFolderPolicyArg instance\nfunc NewUpdateFolderPolicyArg(SharedFolderId string) *UpdateFolderPolicyArg {\n\ts := new(UpdateFolderPolicyArg)\n\ts.SharedFolderId = SharedFolderId\n\treturn s\n}\n\n// UpdateFolderPolicyError : has no documentation (yet)\ntype UpdateFolderPolicyError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n}\n\n// Valid tag values for UpdateFolderPolicyError\nconst (\n\tUpdateFolderPolicyErrorAccessError                     = \"access_error\"\n\tUpdateFolderPolicyErrorNotOnTeam                       = \"not_on_team\"\n\tUpdateFolderPolicyErrorTeamPolicyDisallowsMemberPolicy = \"team_policy_disallows_member_policy\"\n\tUpdateFolderPolicyErrorDisallowedSharedLinkPolicy      = \"disallowed_shared_link_policy\"\n\tUpdateFolderPolicyErrorNoPermission                    = \"no_permission\"\n\tUpdateFolderPolicyErrorTeamFolder                      = \"team_folder\"\n\tUpdateFolderPolicyErrorOther                           = \"other\"\n)\n\n// UnmarshalJSON deserializes into a UpdateFolderPolicyError instance\nfunc (u *UpdateFolderPolicyError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *SharedFolderAccessError `json:\"access_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\t}\n\treturn nil\n}\n\n// UserMembershipInfo : The information about a user member of the shared\n// content.\ntype UserMembershipInfo struct {\n\tMembershipInfo\n\t// User : The account information for the membership user.\n\tUser *UserInfo `json:\"user\"`\n}\n\n// NewUserMembershipInfo returns a new UserMembershipInfo instance\nfunc NewUserMembershipInfo(AccessType *AccessLevel, User *UserInfo) *UserMembershipInfo {\n\ts := new(UserMembershipInfo)\n\ts.AccessType = AccessType\n\ts.User = User\n\ts.IsInherited = false\n\treturn s\n}\n\n// UserFileMembershipInfo : The information about a user member of the shared\n// content with an appended last seen timestamp.\ntype UserFileMembershipInfo struct {\n\tUserMembershipInfo\n\t// TimeLastSeen : The UTC timestamp of when the user has last seen the\n\t// content. Only populated if the user has seen the content and the caller\n\t// has a plan that includes viewer history.\n\tTimeLastSeen *time.Time `json:\"time_last_seen,omitempty\"`\n\t// PlatformType : The platform on which the user has last seen the content,\n\t// or unknown.\n\tPlatformType *seen_state.PlatformType `json:\"platform_type,omitempty\"`\n}\n\n// NewUserFileMembershipInfo returns a new UserFileMembershipInfo instance\nfunc NewUserFileMembershipInfo(AccessType *AccessLevel, User *UserInfo) *UserFileMembershipInfo {\n\ts := new(UserFileMembershipInfo)\n\ts.AccessType = AccessType\n\ts.User = User\n\ts.IsInherited = false\n\treturn s\n}\n\n// UserInfo : Basic information about a user. Use `usersAccount` and\n// `usersAccountBatch` to obtain more detailed information.\ntype UserInfo struct {\n\t// AccountId : The account ID of the user.\n\tAccountId string `json:\"account_id\"`\n\t// Email : Email address of user.\n\tEmail string `json:\"email\"`\n\t// DisplayName : The display name of the user.\n\tDisplayName string `json:\"display_name\"`\n\t// SameTeam : If the user is in the same team as current user.\n\tSameTeam bool `json:\"same_team\"`\n\t// TeamMemberId : The team member ID of the shared folder member. Only\n\t// present if `same_team` is true.\n\tTeamMemberId string `json:\"team_member_id,omitempty\"`\n}\n\n// NewUserInfo returns a new UserInfo instance\nfunc NewUserInfo(AccountId string, Email string, DisplayName string, SameTeam bool) *UserInfo {\n\ts := new(UserInfo)\n\ts.AccountId = AccountId\n\ts.Email = Email\n\ts.DisplayName = DisplayName\n\ts.SameTeam = SameTeam\n\treturn s\n}\n\n// ViewerInfoPolicy : has no documentation (yet)\ntype ViewerInfoPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ViewerInfoPolicy\nconst (\n\tViewerInfoPolicyEnabled  = \"enabled\"\n\tViewerInfoPolicyDisabled = \"disabled\"\n\tViewerInfoPolicyOther    = \"other\"\n)\n\n// Visibility : Who can access a shared link. The most open visibility is\n// `public`. The default depends on many aspects, such as team and user\n// preferences and shared folder settings.\ntype Visibility struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for Visibility\nconst (\n\tVisibilityPublic           = \"public\"\n\tVisibilityTeamOnly         = \"team_only\"\n\tVisibilityPassword         = \"password\"\n\tVisibilityTeamAndPassword  = \"team_and_password\"\n\tVisibilitySharedFolderOnly = \"shared_folder_only\"\n\tVisibilityOther            = \"other\"\n)\n\n// VisibilityPolicy : has no documentation (yet)\ntype VisibilityPolicy struct {\n\t// Policy : This is the value to submit when saving the visibility setting.\n\tPolicy *RequestedVisibility `json:\"policy\"`\n\t// ResolvedPolicy : This is what the effective policy would be, if you\n\t// selected this option. The resolved policy is obtained after considering\n\t// external effects such as shared folder settings and team policy. This\n\t// value is guaranteed to be provided.\n\tResolvedPolicy *AlphaResolvedVisibility `json:\"resolved_policy\"`\n\t// Allowed : Whether the user is permitted to set the visibility to this\n\t// policy.\n\tAllowed bool `json:\"allowed\"`\n\t// DisallowedReason : If `allowed` is false, this will provide the reason\n\t// that the user is not permitted to set the visibility to this policy.\n\tDisallowedReason *VisibilityPolicyDisallowedReason `json:\"disallowed_reason,omitempty\"`\n}\n\n// NewVisibilityPolicy returns a new VisibilityPolicy instance\nfunc NewVisibilityPolicy(Policy *RequestedVisibility, ResolvedPolicy *AlphaResolvedVisibility, Allowed bool) *VisibilityPolicy {\n\ts := new(VisibilityPolicy)\n\ts.Policy = Policy\n\ts.ResolvedPolicy = ResolvedPolicy\n\ts.Allowed = Allowed\n\treturn s\n}\n"
  },
  {
    "path": "v6/dropbox/team/client.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage team\n\nimport (\n\t\"encoding/json\"\n\t\"io\"\n\t\"log\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/async\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/auth\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/file_properties\"\n)\n\n// Client interface describes all routes in this namespace\ntype Client interface {\n\t// DevicesListMemberDevices : List all device sessions of a team's member.\n\tDevicesListMemberDevices(arg *ListMemberDevicesArg) (res *ListMemberDevicesResult, err error)\n\t// DevicesListMembersDevices : List all device sessions of a team.\n\t// Permission : Team member file access.\n\tDevicesListMembersDevices(arg *ListMembersDevicesArg) (res *ListMembersDevicesResult, err error)\n\t// DevicesListTeamDevices : List all device sessions of a team. Permission :\n\t// Team member file access.\n\t// Deprecated: Use `DevicesListMembersDevices` instead\n\tDevicesListTeamDevices(arg *ListTeamDevicesArg) (res *ListTeamDevicesResult, err error)\n\t// DevicesRevokeDeviceSession : Revoke a device session of a team's member.\n\tDevicesRevokeDeviceSession(arg *RevokeDeviceSessionArg) (err error)\n\t// DevicesRevokeDeviceSessionBatch : Revoke a list of device sessions of\n\t// team members.\n\tDevicesRevokeDeviceSessionBatch(arg *RevokeDeviceSessionBatchArg) (res *RevokeDeviceSessionBatchResult, err error)\n\t// FeaturesGetValues : Get the values for one or more featues. This route\n\t// allows you to check your account's capability for what feature you can\n\t// access or what value you have for certain features. Permission : Team\n\t// information.\n\tFeaturesGetValues(arg *FeaturesGetValuesBatchArg) (res *FeaturesGetValuesBatchResult, err error)\n\t// GetInfo : Retrieves information about a team.\n\tGetInfo() (res *TeamGetInfoResult, err error)\n\t// GroupsCreate : Creates a new, empty group, with a requested name.\n\t// Permission : Team member management.\n\tGroupsCreate(arg *GroupCreateArg) (res *GroupFullInfo, err error)\n\t// GroupsDelete : Deletes a group. The group is deleted immediately. However\n\t// the revoking of group-owned resources may take additional time. Use the\n\t// `groupsJobStatusGet` to determine whether this process has completed.\n\t// Permission : Team member management.\n\tGroupsDelete(arg *GroupSelector) (res *async.LaunchEmptyResult, err error)\n\t// GroupsGetInfo : Retrieves information about one or more groups. Note that\n\t// the optional field  `GroupFullInfo.members` is not returned for\n\t// system-managed groups. Permission : Team Information.\n\tGroupsGetInfo(arg *GroupsSelector) (res []*GroupsGetInfoItem, err error)\n\t// GroupsJobStatusGet : Once an async_job_id is returned from\n\t// `groupsDelete`, `groupsMembersAdd` , or `groupsMembersRemove` use this\n\t// method to poll the status of granting/revoking group members' access to\n\t// group-owned resources. Permission : Team member management.\n\tGroupsJobStatusGet(arg *async.PollArg) (res *async.PollEmptyResult, err error)\n\t// GroupsList : Lists groups on a team. Permission : Team Information.\n\tGroupsList(arg *GroupsListArg) (res *GroupsListResult, err error)\n\t// GroupsListContinue : Once a cursor has been retrieved from `groupsList`,\n\t// use this to paginate through all groups. Permission : Team Information.\n\tGroupsListContinue(arg *GroupsListContinueArg) (res *GroupsListResult, err error)\n\t// GroupsMembersAdd : Adds members to a group. The members are added\n\t// immediately. However the granting of group-owned resources may take\n\t// additional time. Use the `groupsJobStatusGet` to determine whether this\n\t// process has completed. Permission : Team member management.\n\tGroupsMembersAdd(arg *GroupMembersAddArg) (res *GroupMembersChangeResult, err error)\n\t// GroupsMembersList : Lists members of a group. Permission : Team\n\t// Information.\n\tGroupsMembersList(arg *GroupsMembersListArg) (res *GroupsMembersListResult, err error)\n\t// GroupsMembersListContinue : Once a cursor has been retrieved from\n\t// `groupsMembersList`, use this to paginate through all members of the\n\t// group. Permission : Team information.\n\tGroupsMembersListContinue(arg *GroupsMembersListContinueArg) (res *GroupsMembersListResult, err error)\n\t// GroupsMembersRemove : Removes members from a group. The members are\n\t// removed immediately. However the revoking of group-owned resources may\n\t// take additional time. Use the `groupsJobStatusGet` to determine whether\n\t// this process has completed. This method permits removing the only owner\n\t// of a group, even in cases where this is not possible via the web client.\n\t// Permission : Team member management.\n\tGroupsMembersRemove(arg *GroupMembersRemoveArg) (res *GroupMembersChangeResult, err error)\n\t// GroupsMembersSetAccessType : Sets a member's access type in a group.\n\t// Permission : Team member management.\n\tGroupsMembersSetAccessType(arg *GroupMembersSetAccessTypeArg) (res []*GroupsGetInfoItem, err error)\n\t// GroupsUpdate : Updates a group's name and/or external ID. Permission :\n\t// Team member management.\n\tGroupsUpdate(arg *GroupUpdateArgs) (res *GroupFullInfo, err error)\n\t// LegalHoldsCreatePolicy : Creates new legal hold policy. Note: Legal Holds\n\t// is a paid add-on. Not all teams have the feature. Permission : Team\n\t// member file access.\n\tLegalHoldsCreatePolicy(arg *LegalHoldsPolicyCreateArg) (res *LegalHoldPolicy, err error)\n\t// LegalHoldsGetPolicy : Gets a legal hold by Id. Note: Legal Holds is a\n\t// paid add-on. Not all teams have the feature. Permission : Team member\n\t// file access.\n\tLegalHoldsGetPolicy(arg *LegalHoldsGetPolicyArg) (res *LegalHoldPolicy, err error)\n\t// LegalHoldsListHeldRevisions : List the file metadata that's under the\n\t// hold. Note: Legal Holds is a paid add-on. Not all teams have the feature.\n\t// Permission : Team member file access.\n\tLegalHoldsListHeldRevisions(arg *LegalHoldsListHeldRevisionsArg) (res *LegalHoldsListHeldRevisionResult, err error)\n\t// LegalHoldsListHeldRevisionsContinue : Continue listing the file metadata\n\t// that's under the hold. Note: Legal Holds is a paid add-on. Not all teams\n\t// have the feature. Permission : Team member file access.\n\tLegalHoldsListHeldRevisionsContinue(arg *LegalHoldsListHeldRevisionsContinueArg) (res *LegalHoldsListHeldRevisionResult, err error)\n\t// LegalHoldsListPolicies : Lists legal holds on a team. Note: Legal Holds\n\t// is a paid add-on. Not all teams have the feature. Permission : Team\n\t// member file access.\n\tLegalHoldsListPolicies(arg *LegalHoldsListPoliciesArg) (res *LegalHoldsListPoliciesResult, err error)\n\t// LegalHoldsReleasePolicy : Releases a legal hold by Id. Note: Legal Holds\n\t// is a paid add-on. Not all teams have the feature. Permission : Team\n\t// member file access.\n\tLegalHoldsReleasePolicy(arg *LegalHoldsPolicyReleaseArg) (err error)\n\t// LegalHoldsUpdatePolicy : Updates a legal hold. Note: Legal Holds is a\n\t// paid add-on. Not all teams have the feature. Permission : Team member\n\t// file access.\n\tLegalHoldsUpdatePolicy(arg *LegalHoldsPolicyUpdateArg) (res *LegalHoldPolicy, err error)\n\t// LinkedAppsListMemberLinkedApps : List all linked applications of the team\n\t// member. Note, this endpoint does not list any team-linked applications.\n\tLinkedAppsListMemberLinkedApps(arg *ListMemberAppsArg) (res *ListMemberAppsResult, err error)\n\t// LinkedAppsListMembersLinkedApps : List all applications linked to the\n\t// team members' accounts. Note, this endpoint does not list any team-linked\n\t// applications.\n\tLinkedAppsListMembersLinkedApps(arg *ListMembersAppsArg) (res *ListMembersAppsResult, err error)\n\t// LinkedAppsListTeamLinkedApps : List all applications linked to the team\n\t// members' accounts. Note, this endpoint doesn't list any team-linked\n\t// applications.\n\t// Deprecated: Use `LinkedAppsListMembersLinkedApps` instead\n\tLinkedAppsListTeamLinkedApps(arg *ListTeamAppsArg) (res *ListTeamAppsResult, err error)\n\t// LinkedAppsRevokeLinkedApp : Revoke a linked application of the team\n\t// member.\n\tLinkedAppsRevokeLinkedApp(arg *RevokeLinkedApiAppArg) (err error)\n\t// LinkedAppsRevokeLinkedAppBatch : Revoke a list of linked applications of\n\t// the team members.\n\tLinkedAppsRevokeLinkedAppBatch(arg *RevokeLinkedApiAppBatchArg) (res *RevokeLinkedAppBatchResult, err error)\n\t// MemberSpaceLimitsExcludedUsersAdd : Add users to member space limits\n\t// excluded users list.\n\tMemberSpaceLimitsExcludedUsersAdd(arg *ExcludedUsersUpdateArg) (res *ExcludedUsersUpdateResult, err error)\n\t// MemberSpaceLimitsExcludedUsersList : List member space limits excluded\n\t// users.\n\tMemberSpaceLimitsExcludedUsersList(arg *ExcludedUsersListArg) (res *ExcludedUsersListResult, err error)\n\t// MemberSpaceLimitsExcludedUsersListContinue : Continue listing member\n\t// space limits excluded users.\n\tMemberSpaceLimitsExcludedUsersListContinue(arg *ExcludedUsersListContinueArg) (res *ExcludedUsersListResult, err error)\n\t// MemberSpaceLimitsExcludedUsersRemove : Remove users from member space\n\t// limits excluded users list.\n\tMemberSpaceLimitsExcludedUsersRemove(arg *ExcludedUsersUpdateArg) (res *ExcludedUsersUpdateResult, err error)\n\t// MemberSpaceLimitsGetCustomQuota : Get users custom quota. Returns none as\n\t// the custom quota if none was set. A maximum of 1000 members can be\n\t// specified in a single call.\n\tMemberSpaceLimitsGetCustomQuota(arg *CustomQuotaUsersArg) (res []*CustomQuotaResult, err error)\n\t// MemberSpaceLimitsRemoveCustomQuota : Remove users custom quota. A maximum\n\t// of 1000 members can be specified in a single call.\n\tMemberSpaceLimitsRemoveCustomQuota(arg *CustomQuotaUsersArg) (res []*RemoveCustomQuotaResult, err error)\n\t// MemberSpaceLimitsSetCustomQuota : Set users custom quota. Custom quota\n\t// has to be at least 15GB. A maximum of 1000 members can be specified in a\n\t// single call.\n\tMemberSpaceLimitsSetCustomQuota(arg *SetCustomQuotaArg) (res []*CustomQuotaResult, err error)\n\t// MembersAdd : Adds members to a team. Permission : Team member management\n\t// A maximum of 20 members can be specified in a single call. If no Dropbox\n\t// account exists with the email address specified, a new Dropbox account\n\t// will be created with the given email address, and that account will be\n\t// invited to the team. If a personal Dropbox account exists with the email\n\t// address specified in the call, this call will create a placeholder\n\t// Dropbox account for the user on the team and send an email inviting the\n\t// user to migrate their existing personal account onto the team. Team\n\t// member management apps are required to set an initial given_name and\n\t// surname for a user to use in the team invitation and for 'Perform as team\n\t// member' actions taken on the user before they become 'active'.\n\tMembersAddV2(arg *MembersAddV2Arg) (res *MembersAddLaunchV2Result, err error)\n\t// MembersAdd : Adds members to a team. Permission : Team member management\n\t// A maximum of 20 members can be specified in a single call. If no Dropbox\n\t// account exists with the email address specified, a new Dropbox account\n\t// will be created with the given email address, and that account will be\n\t// invited to the team. If a personal Dropbox account exists with the email\n\t// address specified in the call, this call will create a placeholder\n\t// Dropbox account for the user on the team and send an email inviting the\n\t// user to migrate their existing personal account onto the team. Team\n\t// member management apps are required to set an initial given_name and\n\t// surname for a user to use in the team invitation and for 'Perform as team\n\t// member' actions taken on the user before they become 'active'.\n\tMembersAdd(arg *MembersAddArg) (res *MembersAddLaunch, err error)\n\t// MembersAddJobStatusGet : Once an async_job_id is returned from\n\t// `membersAdd` , use this to poll the status of the asynchronous request.\n\t// Permission : Team member management.\n\tMembersAddJobStatusGetV2(arg *async.PollArg) (res *MembersAddJobStatusV2Result, err error)\n\t// MembersAddJobStatusGet : Once an async_job_id is returned from\n\t// `membersAdd` , use this to poll the status of the asynchronous request.\n\t// Permission : Team member management.\n\tMembersAddJobStatusGet(arg *async.PollArg) (res *MembersAddJobStatus, err error)\n\t// MembersDeleteProfilePhoto : Deletes a team member's profile photo.\n\t// Permission : Team member management.\n\tMembersDeleteProfilePhotoV2(arg *MembersDeleteProfilePhotoArg) (res *TeamMemberInfoV2Result, err error)\n\t// MembersDeleteProfilePhoto : Deletes a team member's profile photo.\n\t// Permission : Team member management.\n\tMembersDeleteProfilePhoto(arg *MembersDeleteProfilePhotoArg) (res *TeamMemberInfo, err error)\n\t// MembersGetAvailableTeamMemberRoles : Get available TeamMemberRoles for\n\t// the connected team. To be used with `membersSetAdminPermissions`.\n\t// Permission : Team member management.\n\tMembersGetAvailableTeamMemberRoles() (res *MembersGetAvailableTeamMemberRolesResult, err error)\n\t// MembersGetInfo : Returns information about multiple team members.\n\t// Permission : Team information This endpoint will return\n\t// `MembersGetInfoItem.id_not_found`, for IDs (or emails) that cannot be\n\t// matched to a valid team member.\n\tMembersGetInfoV2(arg *MembersGetInfoV2Arg) (res *MembersGetInfoV2Result, err error)\n\t// MembersGetInfo : Returns information about multiple team members.\n\t// Permission : Team information This endpoint will return\n\t// `MembersGetInfoItem.id_not_found`, for IDs (or emails) that cannot be\n\t// matched to a valid team member.\n\tMembersGetInfo(arg *MembersGetInfoArgs) (res []*MembersGetInfoItem, err error)\n\t// MembersList : Lists members of a team. Permission : Team information.\n\tMembersListV2(arg *MembersListArg) (res *MembersListV2Result, err error)\n\t// MembersList : Lists members of a team. Permission : Team information.\n\tMembersList(arg *MembersListArg) (res *MembersListResult, err error)\n\t// MembersListContinue : Once a cursor has been retrieved from\n\t// `membersList`, use this to paginate through all team members. Permission\n\t// : Team information.\n\tMembersListContinueV2(arg *MembersListContinueArg) (res *MembersListV2Result, err error)\n\t// MembersListContinue : Once a cursor has been retrieved from\n\t// `membersList`, use this to paginate through all team members. Permission\n\t// : Team information.\n\tMembersListContinue(arg *MembersListContinueArg) (res *MembersListResult, err error)\n\t// MembersMoveFormerMemberFiles : Moves removed member's files to a\n\t// different member. This endpoint initiates an asynchronous job. To obtain\n\t// the final result of the job, the client should periodically poll\n\t// `membersMoveFormerMemberFilesJobStatusCheck`. Permission : Team member\n\t// management.\n\tMembersMoveFormerMemberFiles(arg *MembersDataTransferArg) (res *async.LaunchEmptyResult, err error)\n\t// MembersMoveFormerMemberFilesJobStatusCheck : Once an async_job_id is\n\t// returned from `membersMoveFormerMemberFiles` , use this to poll the\n\t// status of the asynchronous request. Permission : Team member management.\n\tMembersMoveFormerMemberFilesJobStatusCheck(arg *async.PollArg) (res *async.PollEmptyResult, err error)\n\t// MembersRecover : Recover a deleted member. Permission : Team member\n\t// management Exactly one of team_member_id, email, or external_id must be\n\t// provided to identify the user account.\n\tMembersRecover(arg *MembersRecoverArg) (err error)\n\t// MembersRemove : Removes a member from a team. Permission : Team member\n\t// management Exactly one of team_member_id, email, or external_id must be\n\t// provided to identify the user account. Accounts can be recovered via\n\t// `membersRecover` for a 7 day period or until the account has been\n\t// permanently deleted or transferred to another account (whichever comes\n\t// first). Calling `membersAdd` while a user is still recoverable on your\n\t// team will return with `MemberAddResult.user_already_on_team`. Accounts\n\t// can have their files transferred via the admin console for a limited\n\t// time, based on the version history length associated with the team (180\n\t// days for most teams). This endpoint may initiate an asynchronous job. To\n\t// obtain the final result of the job, the client should periodically poll\n\t// `membersRemoveJobStatusGet`.\n\tMembersRemove(arg *MembersRemoveArg) (res *async.LaunchEmptyResult, err error)\n\t// MembersRemoveJobStatusGet : Once an async_job_id is returned from\n\t// `membersRemove` , use this to poll the status of the asynchronous\n\t// request. Permission : Team member management.\n\tMembersRemoveJobStatusGet(arg *async.PollArg) (res *async.PollEmptyResult, err error)\n\t// MembersSecondaryEmailsAdd : Add secondary emails to users. Permission :\n\t// Team member management. Emails that are on verified domains will be\n\t// verified automatically. For each email address not on a verified domain a\n\t// verification email will be sent.\n\tMembersSecondaryEmailsAdd(arg *AddSecondaryEmailsArg) (res *AddSecondaryEmailsResult, err error)\n\t// MembersSecondaryEmailsDelete : Delete secondary emails from users\n\t// Permission : Team member management. Users will be notified of deletions\n\t// of verified secondary emails at both the secondary email and their\n\t// primary email.\n\tMembersSecondaryEmailsDelete(arg *DeleteSecondaryEmailsArg) (res *DeleteSecondaryEmailsResult, err error)\n\t// MembersSecondaryEmailsResendVerificationEmails : Resend secondary email\n\t// verification emails. Permission : Team member management.\n\tMembersSecondaryEmailsResendVerificationEmails(arg *ResendVerificationEmailArg) (res *ResendVerificationEmailResult, err error)\n\t// MembersSendWelcomeEmail : Sends welcome email to pending team member.\n\t// Permission : Team member management Exactly one of team_member_id, email,\n\t// or external_id must be provided to identify the user account. No-op if\n\t// team member is not pending.\n\tMembersSendWelcomeEmail(arg *UserSelectorArg) (err error)\n\t// MembersSetAdminPermissions : Updates a team member's permissions.\n\t// Permission : Team member management.\n\tMembersSetAdminPermissionsV2(arg *MembersSetPermissions2Arg) (res *MembersSetPermissions2Result, err error)\n\t// MembersSetAdminPermissions : Updates a team member's permissions.\n\t// Permission : Team member management.\n\tMembersSetAdminPermissions(arg *MembersSetPermissionsArg) (res *MembersSetPermissionsResult, err error)\n\t// MembersSetProfile : Updates a team member's profile. Permission : Team\n\t// member management.\n\tMembersSetProfileV2(arg *MembersSetProfileArg) (res *TeamMemberInfoV2Result, err error)\n\t// MembersSetProfile : Updates a team member's profile. Permission : Team\n\t// member management.\n\tMembersSetProfile(arg *MembersSetProfileArg) (res *TeamMemberInfo, err error)\n\t// MembersSetProfilePhoto : Updates a team member's profile photo.\n\t// Permission : Team member management.\n\tMembersSetProfilePhotoV2(arg *MembersSetProfilePhotoArg) (res *TeamMemberInfoV2Result, err error)\n\t// MembersSetProfilePhoto : Updates a team member's profile photo.\n\t// Permission : Team member management.\n\tMembersSetProfilePhoto(arg *MembersSetProfilePhotoArg) (res *TeamMemberInfo, err error)\n\t// MembersSuspend : Suspend a member from a team. Permission : Team member\n\t// management Exactly one of team_member_id, email, or external_id must be\n\t// provided to identify the user account.\n\tMembersSuspend(arg *MembersDeactivateArg) (err error)\n\t// MembersUnsuspend : Unsuspend a member from a team. Permission : Team\n\t// member management Exactly one of team_member_id, email, or external_id\n\t// must be provided to identify the user account.\n\tMembersUnsuspend(arg *MembersUnsuspendArg) (err error)\n\t// NamespacesList : Returns a list of all team-accessible namespaces. This\n\t// list includes team folders, shared folders containing team members, team\n\t// members' home namespaces, and team members' app folders. Home namespaces\n\t// and app folders are always owned by this team or members of the team, but\n\t// shared folders may be owned by other users or other teams. Duplicates may\n\t// occur in the list.\n\tNamespacesList(arg *TeamNamespacesListArg) (res *TeamNamespacesListResult, err error)\n\t// NamespacesListContinue : Once a cursor has been retrieved from\n\t// `namespacesList`, use this to paginate through all team-accessible\n\t// namespaces. Duplicates may occur in the list.\n\tNamespacesListContinue(arg *TeamNamespacesListContinueArg) (res *TeamNamespacesListResult, err error)\n\t// PropertiesTemplateAdd : Permission : Team member file access.\n\t// Deprecated:\n\tPropertiesTemplateAdd(arg *file_properties.AddTemplateArg) (res *file_properties.AddTemplateResult, err error)\n\t// PropertiesTemplateGet : Permission : Team member file access. The scope\n\t// for the route is files.team_metadata.write.\n\t// Deprecated:\n\tPropertiesTemplateGet(arg *file_properties.GetTemplateArg) (res *file_properties.GetTemplateResult, err error)\n\t// PropertiesTemplateList : Permission : Team member file access. The scope\n\t// for the route is files.team_metadata.write.\n\t// Deprecated:\n\tPropertiesTemplateList() (res *file_properties.ListTemplateResult, err error)\n\t// PropertiesTemplateUpdate : Permission : Team member file access.\n\t// Deprecated:\n\tPropertiesTemplateUpdate(arg *file_properties.UpdateTemplateArg) (res *file_properties.UpdateTemplateResult, err error)\n\t// ReportsGetActivity : Retrieves reporting data about a team's user\n\t// activity. Deprecated: Will be removed on July 1st 2021.\n\t// Deprecated:\n\tReportsGetActivity(arg *DateRange) (res *GetActivityReport, err error)\n\t// ReportsGetDevices : Retrieves reporting data about a team's linked\n\t// devices. Deprecated: Will be removed on July 1st 2021.\n\t// Deprecated:\n\tReportsGetDevices(arg *DateRange) (res *GetDevicesReport, err error)\n\t// ReportsGetMembership : Retrieves reporting data about a team's\n\t// membership. Deprecated: Will be removed on July 1st 2021.\n\t// Deprecated:\n\tReportsGetMembership(arg *DateRange) (res *GetMembershipReport, err error)\n\t// ReportsGetStorage : Retrieves reporting data about a team's storage\n\t// usage. Deprecated: Will be removed on July 1st 2021.\n\t// Deprecated:\n\tReportsGetStorage(arg *DateRange) (res *GetStorageReport, err error)\n\t// TeamFolderActivate : Sets an archived team folder's status to active.\n\t// Permission : Team member file access.\n\tTeamFolderActivate(arg *TeamFolderIdArg) (res *TeamFolderMetadata, err error)\n\t// TeamFolderArchive : Sets an active team folder's status to archived and\n\t// removes all folder and file members. This endpoint cannot be used for\n\t// teams that have a shared team space. Permission : Team member file\n\t// access.\n\tTeamFolderArchive(arg *TeamFolderArchiveArg) (res *TeamFolderArchiveLaunch, err error)\n\t// TeamFolderArchiveCheck : Returns the status of an asynchronous job for\n\t// archiving a team folder. Permission : Team member file access.\n\tTeamFolderArchiveCheck(arg *async.PollArg) (res *TeamFolderArchiveJobStatus, err error)\n\t// TeamFolderCreate : Creates a new, active, team folder with no members.\n\t// This endpoint can only be used for teams that do not already have a\n\t// shared team space. Permission : Team member file access.\n\tTeamFolderCreate(arg *TeamFolderCreateArg) (res *TeamFolderMetadata, err error)\n\t// TeamFolderGetInfo : Retrieves metadata for team folders. Permission :\n\t// Team member file access.\n\tTeamFolderGetInfo(arg *TeamFolderIdListArg) (res []*TeamFolderGetInfoItem, err error)\n\t// TeamFolderList : Lists all team folders. Permission : Team member file\n\t// access.\n\tTeamFolderList(arg *TeamFolderListArg) (res *TeamFolderListResult, err error)\n\t// TeamFolderListContinue : Once a cursor has been retrieved from\n\t// `teamFolderList`, use this to paginate through all team folders.\n\t// Permission : Team member file access.\n\tTeamFolderListContinue(arg *TeamFolderListContinueArg) (res *TeamFolderListResult, err error)\n\t// TeamFolderPermanentlyDelete : Permanently deletes an archived team\n\t// folder. This endpoint cannot be used for teams that have a shared team\n\t// space. Permission : Team member file access.\n\tTeamFolderPermanentlyDelete(arg *TeamFolderIdArg) (err error)\n\t// TeamFolderRename : Changes an active team folder's name. Permission :\n\t// Team member file access.\n\tTeamFolderRename(arg *TeamFolderRenameArg) (res *TeamFolderMetadata, err error)\n\t// TeamFolderUpdateSyncSettings : Updates the sync settings on a team folder\n\t// or its contents.  Use of this endpoint requires that the team has team\n\t// selective sync enabled.\n\tTeamFolderUpdateSyncSettings(arg *TeamFolderUpdateSyncSettingsArg) (res *TeamFolderMetadata, err error)\n\t// TokenGetAuthenticatedAdmin : Returns the member profile of the admin who\n\t// generated the team access token used to make the call.\n\tTokenGetAuthenticatedAdmin() (res *TokenGetAuthenticatedAdminResult, err error)\n}\n\ntype apiImpl dropbox.Context\n\n//DevicesListMemberDevicesAPIError is an error-wrapper for the devices/list_member_devices route\ntype DevicesListMemberDevicesAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListMemberDevicesError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DevicesListMemberDevices(arg *ListMemberDevicesArg) (res *ListMemberDevicesResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"devices/list_member_devices\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DevicesListMemberDevicesAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DevicesListMembersDevicesAPIError is an error-wrapper for the devices/list_members_devices route\ntype DevicesListMembersDevicesAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListMembersDevicesError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DevicesListMembersDevices(arg *ListMembersDevicesArg) (res *ListMembersDevicesResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"devices/list_members_devices\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DevicesListMembersDevicesAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DevicesListTeamDevicesAPIError is an error-wrapper for the devices/list_team_devices route\ntype DevicesListTeamDevicesAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListTeamDevicesError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DevicesListTeamDevices(arg *ListTeamDevicesArg) (res *ListTeamDevicesResult, err error) {\n\tlog.Printf(\"WARNING: API `DevicesListTeamDevices` is deprecated\")\n\tlog.Printf(\"Use API `DevicesListMembersDevices` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"devices/list_team_devices\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DevicesListTeamDevicesAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//DevicesRevokeDeviceSessionAPIError is an error-wrapper for the devices/revoke_device_session route\ntype DevicesRevokeDeviceSessionAPIError struct {\n\tdropbox.APIError\n\tEndpointError *RevokeDeviceSessionError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DevicesRevokeDeviceSession(arg *RevokeDeviceSessionArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"devices/revoke_device_session\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DevicesRevokeDeviceSessionAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//DevicesRevokeDeviceSessionBatchAPIError is an error-wrapper for the devices/revoke_device_session_batch route\ntype DevicesRevokeDeviceSessionBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError *RevokeDeviceSessionBatchError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) DevicesRevokeDeviceSessionBatch(arg *RevokeDeviceSessionBatchArg) (res *RevokeDeviceSessionBatchResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"devices/revoke_device_session_batch\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr DevicesRevokeDeviceSessionBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//FeaturesGetValuesAPIError is an error-wrapper for the features/get_values route\ntype FeaturesGetValuesAPIError struct {\n\tdropbox.APIError\n\tEndpointError *FeaturesGetValuesBatchError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) FeaturesGetValues(arg *FeaturesGetValuesBatchArg) (res *FeaturesGetValuesBatchResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"features/get_values\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr FeaturesGetValuesAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GetInfoAPIError is an error-wrapper for the get_info route\ntype GetInfoAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetInfo() (res *TeamGetInfoResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"get_info\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          nil,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetInfoAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GroupsCreateAPIError is an error-wrapper for the groups/create route\ntype GroupsCreateAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GroupCreateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GroupsCreate(arg *GroupCreateArg) (res *GroupFullInfo, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"groups/create\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GroupsCreateAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GroupsDeleteAPIError is an error-wrapper for the groups/delete route\ntype GroupsDeleteAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GroupDeleteError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GroupsDelete(arg *GroupSelector) (res *async.LaunchEmptyResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"groups/delete\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GroupsDeleteAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GroupsGetInfoAPIError is an error-wrapper for the groups/get_info route\ntype GroupsGetInfoAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GroupsGetInfoError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GroupsGetInfo(arg *GroupsSelector) (res []*GroupsGetInfoItem, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"groups/get_info\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GroupsGetInfoAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GroupsJobStatusGetAPIError is an error-wrapper for the groups/job_status/get route\ntype GroupsJobStatusGetAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GroupsPollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GroupsJobStatusGet(arg *async.PollArg) (res *async.PollEmptyResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"groups/job_status/get\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GroupsJobStatusGetAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GroupsListAPIError is an error-wrapper for the groups/list route\ntype GroupsListAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GroupsList(arg *GroupsListArg) (res *GroupsListResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"groups/list\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GroupsListAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GroupsListContinueAPIError is an error-wrapper for the groups/list/continue route\ntype GroupsListContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GroupsListContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GroupsListContinue(arg *GroupsListContinueArg) (res *GroupsListResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"groups/list/continue\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GroupsListContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GroupsMembersAddAPIError is an error-wrapper for the groups/members/add route\ntype GroupsMembersAddAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GroupMembersAddError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GroupsMembersAdd(arg *GroupMembersAddArg) (res *GroupMembersChangeResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"groups/members/add\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GroupsMembersAddAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GroupsMembersListAPIError is an error-wrapper for the groups/members/list route\ntype GroupsMembersListAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GroupSelectorError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GroupsMembersList(arg *GroupsMembersListArg) (res *GroupsMembersListResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"groups/members/list\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GroupsMembersListAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GroupsMembersListContinueAPIError is an error-wrapper for the groups/members/list/continue route\ntype GroupsMembersListContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GroupsMembersListContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GroupsMembersListContinue(arg *GroupsMembersListContinueArg) (res *GroupsMembersListResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"groups/members/list/continue\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GroupsMembersListContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GroupsMembersRemoveAPIError is an error-wrapper for the groups/members/remove route\ntype GroupsMembersRemoveAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GroupMembersRemoveError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GroupsMembersRemove(arg *GroupMembersRemoveArg) (res *GroupMembersChangeResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"groups/members/remove\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GroupsMembersRemoveAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GroupsMembersSetAccessTypeAPIError is an error-wrapper for the groups/members/set_access_type route\ntype GroupsMembersSetAccessTypeAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GroupMemberSetAccessTypeError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GroupsMembersSetAccessType(arg *GroupMembersSetAccessTypeArg) (res []*GroupsGetInfoItem, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"groups/members/set_access_type\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GroupsMembersSetAccessTypeAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GroupsUpdateAPIError is an error-wrapper for the groups/update route\ntype GroupsUpdateAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GroupUpdateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GroupsUpdate(arg *GroupUpdateArgs) (res *GroupFullInfo, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"groups/update\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GroupsUpdateAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//LegalHoldsCreatePolicyAPIError is an error-wrapper for the legal_holds/create_policy route\ntype LegalHoldsCreatePolicyAPIError struct {\n\tdropbox.APIError\n\tEndpointError *LegalHoldsPolicyCreateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) LegalHoldsCreatePolicy(arg *LegalHoldsPolicyCreateArg) (res *LegalHoldPolicy, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"legal_holds/create_policy\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr LegalHoldsCreatePolicyAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//LegalHoldsGetPolicyAPIError is an error-wrapper for the legal_holds/get_policy route\ntype LegalHoldsGetPolicyAPIError struct {\n\tdropbox.APIError\n\tEndpointError *LegalHoldsGetPolicyError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) LegalHoldsGetPolicy(arg *LegalHoldsGetPolicyArg) (res *LegalHoldPolicy, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"legal_holds/get_policy\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr LegalHoldsGetPolicyAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//LegalHoldsListHeldRevisionsAPIError is an error-wrapper for the legal_holds/list_held_revisions route\ntype LegalHoldsListHeldRevisionsAPIError struct {\n\tdropbox.APIError\n\tEndpointError *LegalHoldsListHeldRevisionsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) LegalHoldsListHeldRevisions(arg *LegalHoldsListHeldRevisionsArg) (res *LegalHoldsListHeldRevisionResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"legal_holds/list_held_revisions\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr LegalHoldsListHeldRevisionsAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//LegalHoldsListHeldRevisionsContinueAPIError is an error-wrapper for the legal_holds/list_held_revisions_continue route\ntype LegalHoldsListHeldRevisionsContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *LegalHoldsListHeldRevisionsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) LegalHoldsListHeldRevisionsContinue(arg *LegalHoldsListHeldRevisionsContinueArg) (res *LegalHoldsListHeldRevisionResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"legal_holds/list_held_revisions_continue\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr LegalHoldsListHeldRevisionsContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//LegalHoldsListPoliciesAPIError is an error-wrapper for the legal_holds/list_policies route\ntype LegalHoldsListPoliciesAPIError struct {\n\tdropbox.APIError\n\tEndpointError *LegalHoldsListPoliciesError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) LegalHoldsListPolicies(arg *LegalHoldsListPoliciesArg) (res *LegalHoldsListPoliciesResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"legal_holds/list_policies\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr LegalHoldsListPoliciesAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//LegalHoldsReleasePolicyAPIError is an error-wrapper for the legal_holds/release_policy route\ntype LegalHoldsReleasePolicyAPIError struct {\n\tdropbox.APIError\n\tEndpointError *LegalHoldsPolicyReleaseError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) LegalHoldsReleasePolicy(arg *LegalHoldsPolicyReleaseArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"legal_holds/release_policy\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr LegalHoldsReleasePolicyAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//LegalHoldsUpdatePolicyAPIError is an error-wrapper for the legal_holds/update_policy route\ntype LegalHoldsUpdatePolicyAPIError struct {\n\tdropbox.APIError\n\tEndpointError *LegalHoldsPolicyUpdateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) LegalHoldsUpdatePolicy(arg *LegalHoldsPolicyUpdateArg) (res *LegalHoldPolicy, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"legal_holds/update_policy\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr LegalHoldsUpdatePolicyAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//LinkedAppsListMemberLinkedAppsAPIError is an error-wrapper for the linked_apps/list_member_linked_apps route\ntype LinkedAppsListMemberLinkedAppsAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListMemberAppsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) LinkedAppsListMemberLinkedApps(arg *ListMemberAppsArg) (res *ListMemberAppsResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"linked_apps/list_member_linked_apps\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr LinkedAppsListMemberLinkedAppsAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//LinkedAppsListMembersLinkedAppsAPIError is an error-wrapper for the linked_apps/list_members_linked_apps route\ntype LinkedAppsListMembersLinkedAppsAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListMembersAppsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) LinkedAppsListMembersLinkedApps(arg *ListMembersAppsArg) (res *ListMembersAppsResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"linked_apps/list_members_linked_apps\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr LinkedAppsListMembersLinkedAppsAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//LinkedAppsListTeamLinkedAppsAPIError is an error-wrapper for the linked_apps/list_team_linked_apps route\ntype LinkedAppsListTeamLinkedAppsAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ListTeamAppsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) LinkedAppsListTeamLinkedApps(arg *ListTeamAppsArg) (res *ListTeamAppsResult, err error) {\n\tlog.Printf(\"WARNING: API `LinkedAppsListTeamLinkedApps` is deprecated\")\n\tlog.Printf(\"Use API `LinkedAppsListMembersLinkedApps` instead\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"linked_apps/list_team_linked_apps\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr LinkedAppsListTeamLinkedAppsAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//LinkedAppsRevokeLinkedAppAPIError is an error-wrapper for the linked_apps/revoke_linked_app route\ntype LinkedAppsRevokeLinkedAppAPIError struct {\n\tdropbox.APIError\n\tEndpointError *RevokeLinkedAppError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) LinkedAppsRevokeLinkedApp(arg *RevokeLinkedApiAppArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"linked_apps/revoke_linked_app\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr LinkedAppsRevokeLinkedAppAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//LinkedAppsRevokeLinkedAppBatchAPIError is an error-wrapper for the linked_apps/revoke_linked_app_batch route\ntype LinkedAppsRevokeLinkedAppBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError *RevokeLinkedAppBatchError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) LinkedAppsRevokeLinkedAppBatch(arg *RevokeLinkedApiAppBatchArg) (res *RevokeLinkedAppBatchResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"linked_apps/revoke_linked_app_batch\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr LinkedAppsRevokeLinkedAppBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MemberSpaceLimitsExcludedUsersAddAPIError is an error-wrapper for the member_space_limits/excluded_users/add route\ntype MemberSpaceLimitsExcludedUsersAddAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ExcludedUsersUpdateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MemberSpaceLimitsExcludedUsersAdd(arg *ExcludedUsersUpdateArg) (res *ExcludedUsersUpdateResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"member_space_limits/excluded_users/add\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MemberSpaceLimitsExcludedUsersAddAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MemberSpaceLimitsExcludedUsersListAPIError is an error-wrapper for the member_space_limits/excluded_users/list route\ntype MemberSpaceLimitsExcludedUsersListAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ExcludedUsersListError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MemberSpaceLimitsExcludedUsersList(arg *ExcludedUsersListArg) (res *ExcludedUsersListResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"member_space_limits/excluded_users/list\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MemberSpaceLimitsExcludedUsersListAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MemberSpaceLimitsExcludedUsersListContinueAPIError is an error-wrapper for the member_space_limits/excluded_users/list/continue route\ntype MemberSpaceLimitsExcludedUsersListContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ExcludedUsersListContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MemberSpaceLimitsExcludedUsersListContinue(arg *ExcludedUsersListContinueArg) (res *ExcludedUsersListResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"member_space_limits/excluded_users/list/continue\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MemberSpaceLimitsExcludedUsersListContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MemberSpaceLimitsExcludedUsersRemoveAPIError is an error-wrapper for the member_space_limits/excluded_users/remove route\ntype MemberSpaceLimitsExcludedUsersRemoveAPIError struct {\n\tdropbox.APIError\n\tEndpointError *ExcludedUsersUpdateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MemberSpaceLimitsExcludedUsersRemove(arg *ExcludedUsersUpdateArg) (res *ExcludedUsersUpdateResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"member_space_limits/excluded_users/remove\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MemberSpaceLimitsExcludedUsersRemoveAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MemberSpaceLimitsGetCustomQuotaAPIError is an error-wrapper for the member_space_limits/get_custom_quota route\ntype MemberSpaceLimitsGetCustomQuotaAPIError struct {\n\tdropbox.APIError\n\tEndpointError *CustomQuotaError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MemberSpaceLimitsGetCustomQuota(arg *CustomQuotaUsersArg) (res []*CustomQuotaResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"member_space_limits/get_custom_quota\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MemberSpaceLimitsGetCustomQuotaAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MemberSpaceLimitsRemoveCustomQuotaAPIError is an error-wrapper for the member_space_limits/remove_custom_quota route\ntype MemberSpaceLimitsRemoveCustomQuotaAPIError struct {\n\tdropbox.APIError\n\tEndpointError *CustomQuotaError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MemberSpaceLimitsRemoveCustomQuota(arg *CustomQuotaUsersArg) (res []*RemoveCustomQuotaResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"member_space_limits/remove_custom_quota\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MemberSpaceLimitsRemoveCustomQuotaAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MemberSpaceLimitsSetCustomQuotaAPIError is an error-wrapper for the member_space_limits/set_custom_quota route\ntype MemberSpaceLimitsSetCustomQuotaAPIError struct {\n\tdropbox.APIError\n\tEndpointError *SetCustomQuotaError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MemberSpaceLimitsSetCustomQuota(arg *SetCustomQuotaArg) (res []*CustomQuotaResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"member_space_limits/set_custom_quota\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MemberSpaceLimitsSetCustomQuotaAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersAddV2APIError is an error-wrapper for the members/add_v2 route\ntype MembersAddV2APIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersAddV2(arg *MembersAddV2Arg) (res *MembersAddLaunchV2Result, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/add_v2\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersAddV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersAddAPIError is an error-wrapper for the members/add route\ntype MembersAddAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersAdd(arg *MembersAddArg) (res *MembersAddLaunch, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/add\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersAddAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersAddJobStatusGetV2APIError is an error-wrapper for the members/add/job_status/get_v2 route\ntype MembersAddJobStatusGetV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersAddJobStatusGetV2(arg *async.PollArg) (res *MembersAddJobStatusV2Result, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/add/job_status/get_v2\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersAddJobStatusGetV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersAddJobStatusGetAPIError is an error-wrapper for the members/add/job_status/get route\ntype MembersAddJobStatusGetAPIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersAddJobStatusGet(arg *async.PollArg) (res *MembersAddJobStatus, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/add/job_status/get\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersAddJobStatusGetAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersDeleteProfilePhotoV2APIError is an error-wrapper for the members/delete_profile_photo_v2 route\ntype MembersDeleteProfilePhotoV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersDeleteProfilePhotoError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersDeleteProfilePhotoV2(arg *MembersDeleteProfilePhotoArg) (res *TeamMemberInfoV2Result, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/delete_profile_photo_v2\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersDeleteProfilePhotoV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersDeleteProfilePhotoAPIError is an error-wrapper for the members/delete_profile_photo route\ntype MembersDeleteProfilePhotoAPIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersDeleteProfilePhotoError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersDeleteProfilePhoto(arg *MembersDeleteProfilePhotoArg) (res *TeamMemberInfo, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/delete_profile_photo\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersDeleteProfilePhotoAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersGetAvailableTeamMemberRolesAPIError is an error-wrapper for the members/get_available_team_member_roles route\ntype MembersGetAvailableTeamMemberRolesAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersGetAvailableTeamMemberRoles() (res *MembersGetAvailableTeamMemberRolesResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/get_available_team_member_roles\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          nil,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersGetAvailableTeamMemberRolesAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersGetInfoV2APIError is an error-wrapper for the members/get_info_v2 route\ntype MembersGetInfoV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersGetInfoError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersGetInfoV2(arg *MembersGetInfoV2Arg) (res *MembersGetInfoV2Result, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/get_info_v2\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersGetInfoV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersGetInfoAPIError is an error-wrapper for the members/get_info route\ntype MembersGetInfoAPIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersGetInfoError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersGetInfo(arg *MembersGetInfoArgs) (res []*MembersGetInfoItem, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/get_info\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersGetInfoAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersListV2APIError is an error-wrapper for the members/list_v2 route\ntype MembersListV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersListError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersListV2(arg *MembersListArg) (res *MembersListV2Result, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/list_v2\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersListV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersListAPIError is an error-wrapper for the members/list route\ntype MembersListAPIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersListError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersList(arg *MembersListArg) (res *MembersListResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/list\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersListAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersListContinueV2APIError is an error-wrapper for the members/list/continue_v2 route\ntype MembersListContinueV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersListContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersListContinueV2(arg *MembersListContinueArg) (res *MembersListV2Result, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/list/continue_v2\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersListContinueV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersListContinueAPIError is an error-wrapper for the members/list/continue route\ntype MembersListContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersListContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersListContinue(arg *MembersListContinueArg) (res *MembersListResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/list/continue\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersListContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersMoveFormerMemberFilesAPIError is an error-wrapper for the members/move_former_member_files route\ntype MembersMoveFormerMemberFilesAPIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersTransferFormerMembersFilesError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersMoveFormerMemberFiles(arg *MembersDataTransferArg) (res *async.LaunchEmptyResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/move_former_member_files\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersMoveFormerMemberFilesAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersMoveFormerMemberFilesJobStatusCheckAPIError is an error-wrapper for the members/move_former_member_files/job_status/check route\ntype MembersMoveFormerMemberFilesJobStatusCheckAPIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersMoveFormerMemberFilesJobStatusCheck(arg *async.PollArg) (res *async.PollEmptyResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/move_former_member_files/job_status/check\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersMoveFormerMemberFilesJobStatusCheckAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersRecoverAPIError is an error-wrapper for the members/recover route\ntype MembersRecoverAPIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersRecoverError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersRecover(arg *MembersRecoverArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/recover\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersRecoverAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//MembersRemoveAPIError is an error-wrapper for the members/remove route\ntype MembersRemoveAPIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersRemoveError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersRemove(arg *MembersRemoveArg) (res *async.LaunchEmptyResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/remove\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersRemoveAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersRemoveJobStatusGetAPIError is an error-wrapper for the members/remove/job_status/get route\ntype MembersRemoveJobStatusGetAPIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersRemoveJobStatusGet(arg *async.PollArg) (res *async.PollEmptyResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/remove/job_status/get\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersRemoveJobStatusGetAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersSecondaryEmailsAddAPIError is an error-wrapper for the members/secondary_emails/add route\ntype MembersSecondaryEmailsAddAPIError struct {\n\tdropbox.APIError\n\tEndpointError *AddSecondaryEmailsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersSecondaryEmailsAdd(arg *AddSecondaryEmailsArg) (res *AddSecondaryEmailsResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/secondary_emails/add\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersSecondaryEmailsAddAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersSecondaryEmailsDeleteAPIError is an error-wrapper for the members/secondary_emails/delete route\ntype MembersSecondaryEmailsDeleteAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersSecondaryEmailsDelete(arg *DeleteSecondaryEmailsArg) (res *DeleteSecondaryEmailsResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/secondary_emails/delete\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersSecondaryEmailsDeleteAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersSecondaryEmailsResendVerificationEmailsAPIError is an error-wrapper for the members/secondary_emails/resend_verification_emails route\ntype MembersSecondaryEmailsResendVerificationEmailsAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersSecondaryEmailsResendVerificationEmails(arg *ResendVerificationEmailArg) (res *ResendVerificationEmailResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/secondary_emails/resend_verification_emails\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersSecondaryEmailsResendVerificationEmailsAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersSendWelcomeEmailAPIError is an error-wrapper for the members/send_welcome_email route\ntype MembersSendWelcomeEmailAPIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersSendWelcomeError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersSendWelcomeEmail(arg *UserSelectorArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/send_welcome_email\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersSendWelcomeEmailAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//MembersSetAdminPermissionsV2APIError is an error-wrapper for the members/set_admin_permissions_v2 route\ntype MembersSetAdminPermissionsV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersSetPermissions2Error `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersSetAdminPermissionsV2(arg *MembersSetPermissions2Arg) (res *MembersSetPermissions2Result, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/set_admin_permissions_v2\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersSetAdminPermissionsV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersSetAdminPermissionsAPIError is an error-wrapper for the members/set_admin_permissions route\ntype MembersSetAdminPermissionsAPIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersSetPermissionsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersSetAdminPermissions(arg *MembersSetPermissionsArg) (res *MembersSetPermissionsResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/set_admin_permissions\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersSetAdminPermissionsAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersSetProfileV2APIError is an error-wrapper for the members/set_profile_v2 route\ntype MembersSetProfileV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersSetProfileError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersSetProfileV2(arg *MembersSetProfileArg) (res *TeamMemberInfoV2Result, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/set_profile_v2\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersSetProfileV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersSetProfileAPIError is an error-wrapper for the members/set_profile route\ntype MembersSetProfileAPIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersSetProfileError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersSetProfile(arg *MembersSetProfileArg) (res *TeamMemberInfo, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/set_profile\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersSetProfileAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersSetProfilePhotoV2APIError is an error-wrapper for the members/set_profile_photo_v2 route\ntype MembersSetProfilePhotoV2APIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersSetProfilePhotoError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersSetProfilePhotoV2(arg *MembersSetProfilePhotoArg) (res *TeamMemberInfoV2Result, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/set_profile_photo_v2\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersSetProfilePhotoV2APIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersSetProfilePhotoAPIError is an error-wrapper for the members/set_profile_photo route\ntype MembersSetProfilePhotoAPIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersSetProfilePhotoError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersSetProfilePhoto(arg *MembersSetProfilePhotoArg) (res *TeamMemberInfo, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/set_profile_photo\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersSetProfilePhotoAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//MembersSuspendAPIError is an error-wrapper for the members/suspend route\ntype MembersSuspendAPIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersSuspendError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersSuspend(arg *MembersDeactivateArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/suspend\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersSuspendAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//MembersUnsuspendAPIError is an error-wrapper for the members/unsuspend route\ntype MembersUnsuspendAPIError struct {\n\tdropbox.APIError\n\tEndpointError *MembersUnsuspendError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) MembersUnsuspend(arg *MembersUnsuspendArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"members/unsuspend\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr MembersUnsuspendAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//NamespacesListAPIError is an error-wrapper for the namespaces/list route\ntype NamespacesListAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TeamNamespacesListError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) NamespacesList(arg *TeamNamespacesListArg) (res *TeamNamespacesListResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"namespaces/list\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr NamespacesListAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//NamespacesListContinueAPIError is an error-wrapper for the namespaces/list/continue route\ntype NamespacesListContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TeamNamespacesListContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) NamespacesListContinue(arg *TeamNamespacesListContinueArg) (res *TeamNamespacesListResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"namespaces/list/continue\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr NamespacesListContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//PropertiesTemplateAddAPIError is an error-wrapper for the properties/template/add route\ntype PropertiesTemplateAddAPIError struct {\n\tdropbox.APIError\n\tEndpointError *file_properties.ModifyTemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesTemplateAdd(arg *file_properties.AddTemplateArg) (res *file_properties.AddTemplateResult, err error) {\n\tlog.Printf(\"WARNING: API `PropertiesTemplateAdd` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"properties/template/add\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesTemplateAddAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//PropertiesTemplateGetAPIError is an error-wrapper for the properties/template/get route\ntype PropertiesTemplateGetAPIError struct {\n\tdropbox.APIError\n\tEndpointError *file_properties.TemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesTemplateGet(arg *file_properties.GetTemplateArg) (res *file_properties.GetTemplateResult, err error) {\n\tlog.Printf(\"WARNING: API `PropertiesTemplateGet` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"properties/template/get\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesTemplateGetAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//PropertiesTemplateListAPIError is an error-wrapper for the properties/template/list route\ntype PropertiesTemplateListAPIError struct {\n\tdropbox.APIError\n\tEndpointError *file_properties.TemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesTemplateList() (res *file_properties.ListTemplateResult, err error) {\n\tlog.Printf(\"WARNING: API `PropertiesTemplateList` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"properties/template/list\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          nil,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesTemplateListAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//PropertiesTemplateUpdateAPIError is an error-wrapper for the properties/template/update route\ntype PropertiesTemplateUpdateAPIError struct {\n\tdropbox.APIError\n\tEndpointError *file_properties.ModifyTemplateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) PropertiesTemplateUpdate(arg *file_properties.UpdateTemplateArg) (res *file_properties.UpdateTemplateResult, err error) {\n\tlog.Printf(\"WARNING: API `PropertiesTemplateUpdate` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"properties/template/update\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr PropertiesTemplateUpdateAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ReportsGetActivityAPIError is an error-wrapper for the reports/get_activity route\ntype ReportsGetActivityAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DateRangeError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ReportsGetActivity(arg *DateRange) (res *GetActivityReport, err error) {\n\tlog.Printf(\"WARNING: API `ReportsGetActivity` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"reports/get_activity\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ReportsGetActivityAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ReportsGetDevicesAPIError is an error-wrapper for the reports/get_devices route\ntype ReportsGetDevicesAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DateRangeError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ReportsGetDevices(arg *DateRange) (res *GetDevicesReport, err error) {\n\tlog.Printf(\"WARNING: API `ReportsGetDevices` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"reports/get_devices\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ReportsGetDevicesAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ReportsGetMembershipAPIError is an error-wrapper for the reports/get_membership route\ntype ReportsGetMembershipAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DateRangeError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ReportsGetMembership(arg *DateRange) (res *GetMembershipReport, err error) {\n\tlog.Printf(\"WARNING: API `ReportsGetMembership` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"reports/get_membership\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ReportsGetMembershipAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//ReportsGetStorageAPIError is an error-wrapper for the reports/get_storage route\ntype ReportsGetStorageAPIError struct {\n\tdropbox.APIError\n\tEndpointError *DateRangeError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) ReportsGetStorage(arg *DateRange) (res *GetStorageReport, err error) {\n\tlog.Printf(\"WARNING: API `ReportsGetStorage` is deprecated\")\n\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"reports/get_storage\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr ReportsGetStorageAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TeamFolderActivateAPIError is an error-wrapper for the team_folder/activate route\ntype TeamFolderActivateAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TeamFolderActivateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TeamFolderActivate(arg *TeamFolderIdArg) (res *TeamFolderMetadata, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"team_folder/activate\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TeamFolderActivateAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TeamFolderArchiveAPIError is an error-wrapper for the team_folder/archive route\ntype TeamFolderArchiveAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TeamFolderArchiveError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TeamFolderArchive(arg *TeamFolderArchiveArg) (res *TeamFolderArchiveLaunch, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"team_folder/archive\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TeamFolderArchiveAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TeamFolderArchiveCheckAPIError is an error-wrapper for the team_folder/archive/check route\ntype TeamFolderArchiveCheckAPIError struct {\n\tdropbox.APIError\n\tEndpointError *async.PollError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TeamFolderArchiveCheck(arg *async.PollArg) (res *TeamFolderArchiveJobStatus, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"team_folder/archive/check\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TeamFolderArchiveCheckAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TeamFolderCreateAPIError is an error-wrapper for the team_folder/create route\ntype TeamFolderCreateAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TeamFolderCreateError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TeamFolderCreate(arg *TeamFolderCreateArg) (res *TeamFolderMetadata, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"team_folder/create\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TeamFolderCreateAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TeamFolderGetInfoAPIError is an error-wrapper for the team_folder/get_info route\ntype TeamFolderGetInfoAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TeamFolderGetInfo(arg *TeamFolderIdListArg) (res []*TeamFolderGetInfoItem, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"team_folder/get_info\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TeamFolderGetInfoAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TeamFolderListAPIError is an error-wrapper for the team_folder/list route\ntype TeamFolderListAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TeamFolderListError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TeamFolderList(arg *TeamFolderListArg) (res *TeamFolderListResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"team_folder/list\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TeamFolderListAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TeamFolderListContinueAPIError is an error-wrapper for the team_folder/list/continue route\ntype TeamFolderListContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TeamFolderListContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TeamFolderListContinue(arg *TeamFolderListContinueArg) (res *TeamFolderListResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"team_folder/list/continue\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TeamFolderListContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TeamFolderPermanentlyDeleteAPIError is an error-wrapper for the team_folder/permanently_delete route\ntype TeamFolderPermanentlyDeleteAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TeamFolderPermanentlyDeleteError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TeamFolderPermanentlyDelete(arg *TeamFolderIdArg) (err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"team_folder/permanently_delete\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TeamFolderPermanentlyDeleteAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\t_ = resp\n\t_ = respBody\n\treturn\n}\n\n//TeamFolderRenameAPIError is an error-wrapper for the team_folder/rename route\ntype TeamFolderRenameAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TeamFolderRenameError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TeamFolderRename(arg *TeamFolderRenameArg) (res *TeamFolderMetadata, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"team_folder/rename\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TeamFolderRenameAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TeamFolderUpdateSyncSettingsAPIError is an error-wrapper for the team_folder/update_sync_settings route\ntype TeamFolderUpdateSyncSettingsAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TeamFolderUpdateSyncSettingsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TeamFolderUpdateSyncSettings(arg *TeamFolderUpdateSyncSettingsArg) (res *TeamFolderMetadata, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"team_folder/update_sync_settings\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TeamFolderUpdateSyncSettingsAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//TokenGetAuthenticatedAdminAPIError is an error-wrapper for the token/get_authenticated_admin route\ntype TokenGetAuthenticatedAdminAPIError struct {\n\tdropbox.APIError\n\tEndpointError *TokenGetAuthenticatedAdminError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) TokenGetAuthenticatedAdmin() (res *TokenGetAuthenticatedAdminResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team\",\n\t\tRoute:        \"token/get_authenticated_admin\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          nil,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr TokenGetAuthenticatedAdminAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n// New returns a Client implementation for this namespace\nfunc New(c dropbox.Config) Client {\n\tctx := apiImpl(dropbox.NewContext(c))\n\treturn &ctx\n}\n"
  },
  {
    "path": "v6/dropbox/team/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package team : has no documentation (yet)\npackage team\n\nimport (\n\t\"encoding/json\"\n\t\"time\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/account\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/files\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/secondary_emails\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/team_common\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/team_policies\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/users\"\n)\n\n// DeviceSession : has no documentation (yet)\ntype DeviceSession struct {\n\t// SessionId : The session id.\n\tSessionId string `json:\"session_id\"`\n\t// IpAddress : The IP address of the last activity from this session.\n\tIpAddress string `json:\"ip_address,omitempty\"`\n\t// Country : The country from which the last activity from this session was\n\t// made.\n\tCountry string `json:\"country,omitempty\"`\n\t// Created : The time this session was created.\n\tCreated *time.Time `json:\"created,omitempty\"`\n\t// Updated : The time of the last activity from this session.\n\tUpdated *time.Time `json:\"updated,omitempty\"`\n}\n\n// NewDeviceSession returns a new DeviceSession instance\nfunc NewDeviceSession(SessionId string) *DeviceSession {\n\ts := new(DeviceSession)\n\ts.SessionId = SessionId\n\treturn s\n}\n\n// ActiveWebSession : Information on active web sessions.\ntype ActiveWebSession struct {\n\tDeviceSession\n\t// UserAgent : Information on the hosting device.\n\tUserAgent string `json:\"user_agent\"`\n\t// Os : Information on the hosting operating system.\n\tOs string `json:\"os\"`\n\t// Browser : Information on the browser used for this web session.\n\tBrowser string `json:\"browser\"`\n\t// Expires : The time this session expires.\n\tExpires *time.Time `json:\"expires,omitempty\"`\n}\n\n// NewActiveWebSession returns a new ActiveWebSession instance\nfunc NewActiveWebSession(SessionId string, UserAgent string, Os string, Browser string) *ActiveWebSession {\n\ts := new(ActiveWebSession)\n\ts.SessionId = SessionId\n\ts.UserAgent = UserAgent\n\ts.Os = Os\n\ts.Browser = Browser\n\treturn s\n}\n\n// AddSecondaryEmailResult : Result of trying to add a secondary email to a\n// user. 'success' is the only value indicating that a secondary email was\n// successfully added to a user. The other values explain the type of error that\n// occurred, and include the email for which the error occurred.\ntype AddSecondaryEmailResult struct {\n\tdropbox.Tagged\n\t// Success : Describes a secondary email that was successfully added to a\n\t// user.\n\tSuccess *secondary_emails.SecondaryEmail `json:\"success,omitempty\"`\n\t// Unavailable : Secondary email is not available to be claimed by the user.\n\tUnavailable string `json:\"unavailable,omitempty\"`\n\t// AlreadyPending : Secondary email is already a pending email for the user.\n\tAlreadyPending string `json:\"already_pending,omitempty\"`\n\t// AlreadyOwnedByUser : Secondary email is already a verified email for the\n\t// user.\n\tAlreadyOwnedByUser string `json:\"already_owned_by_user,omitempty\"`\n\t// ReachedLimit : User already has the maximum number of secondary emails\n\t// allowed.\n\tReachedLimit string `json:\"reached_limit,omitempty\"`\n\t// TransientError : A transient error occurred. Please try again later.\n\tTransientError string `json:\"transient_error,omitempty\"`\n\t// TooManyUpdates : An error occurred due to conflicting updates. Please try\n\t// again later.\n\tTooManyUpdates string `json:\"too_many_updates,omitempty\"`\n\t// UnknownError : An unknown error occurred.\n\tUnknownError string `json:\"unknown_error,omitempty\"`\n\t// RateLimited : Too many emails are being sent to this email address.\n\t// Please try again later.\n\tRateLimited string `json:\"rate_limited,omitempty\"`\n}\n\n// Valid tag values for AddSecondaryEmailResult\nconst (\n\tAddSecondaryEmailResultSuccess            = \"success\"\n\tAddSecondaryEmailResultUnavailable        = \"unavailable\"\n\tAddSecondaryEmailResultAlreadyPending     = \"already_pending\"\n\tAddSecondaryEmailResultAlreadyOwnedByUser = \"already_owned_by_user\"\n\tAddSecondaryEmailResultReachedLimit       = \"reached_limit\"\n\tAddSecondaryEmailResultTransientError     = \"transient_error\"\n\tAddSecondaryEmailResultTooManyUpdates     = \"too_many_updates\"\n\tAddSecondaryEmailResultUnknownError       = \"unknown_error\"\n\tAddSecondaryEmailResultRateLimited        = \"rate_limited\"\n\tAddSecondaryEmailResultOther              = \"other\"\n)\n\n// UnmarshalJSON deserializes into a AddSecondaryEmailResult instance\nfunc (u *AddSecondaryEmailResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Unavailable : Secondary email is not available to be claimed by the\n\t\t// user.\n\t\tUnavailable string `json:\"unavailable,omitempty\"`\n\t\t// AlreadyPending : Secondary email is already a pending email for the\n\t\t// user.\n\t\tAlreadyPending string `json:\"already_pending,omitempty\"`\n\t\t// AlreadyOwnedByUser : Secondary email is already a verified email for\n\t\t// the user.\n\t\tAlreadyOwnedByUser string `json:\"already_owned_by_user,omitempty\"`\n\t\t// ReachedLimit : User already has the maximum number of secondary\n\t\t// emails allowed.\n\t\tReachedLimit string `json:\"reached_limit,omitempty\"`\n\t\t// TransientError : A transient error occurred. Please try again later.\n\t\tTransientError string `json:\"transient_error,omitempty\"`\n\t\t// TooManyUpdates : An error occurred due to conflicting updates. Please\n\t\t// try again later.\n\t\tTooManyUpdates string `json:\"too_many_updates,omitempty\"`\n\t\t// UnknownError : An unknown error occurred.\n\t\tUnknownError string `json:\"unknown_error,omitempty\"`\n\t\t// RateLimited : Too many emails are being sent to this email address.\n\t\t// Please try again later.\n\t\tRateLimited string `json:\"rate_limited,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tif err = json.Unmarshal(body, &u.Success); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"unavailable\":\n\t\tu.Unavailable = w.Unavailable\n\n\tcase \"already_pending\":\n\t\tu.AlreadyPending = w.AlreadyPending\n\n\tcase \"already_owned_by_user\":\n\t\tu.AlreadyOwnedByUser = w.AlreadyOwnedByUser\n\n\tcase \"reached_limit\":\n\t\tu.ReachedLimit = w.ReachedLimit\n\n\tcase \"transient_error\":\n\t\tu.TransientError = w.TransientError\n\n\tcase \"too_many_updates\":\n\t\tu.TooManyUpdates = w.TooManyUpdates\n\n\tcase \"unknown_error\":\n\t\tu.UnknownError = w.UnknownError\n\n\tcase \"rate_limited\":\n\t\tu.RateLimited = w.RateLimited\n\n\t}\n\treturn nil\n}\n\n// AddSecondaryEmailsArg : has no documentation (yet)\ntype AddSecondaryEmailsArg struct {\n\t// NewSecondaryEmails : List of users and secondary emails to add.\n\tNewSecondaryEmails []*UserSecondaryEmailsArg `json:\"new_secondary_emails\"`\n}\n\n// NewAddSecondaryEmailsArg returns a new AddSecondaryEmailsArg instance\nfunc NewAddSecondaryEmailsArg(NewSecondaryEmails []*UserSecondaryEmailsArg) *AddSecondaryEmailsArg {\n\ts := new(AddSecondaryEmailsArg)\n\ts.NewSecondaryEmails = NewSecondaryEmails\n\treturn s\n}\n\n// AddSecondaryEmailsError : Error returned when adding secondary emails fails.\ntype AddSecondaryEmailsError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AddSecondaryEmailsError\nconst (\n\tAddSecondaryEmailsErrorSecondaryEmailsDisabled = \"secondary_emails_disabled\"\n\tAddSecondaryEmailsErrorTooManyEmails           = \"too_many_emails\"\n\tAddSecondaryEmailsErrorOther                   = \"other\"\n)\n\n// AddSecondaryEmailsResult : has no documentation (yet)\ntype AddSecondaryEmailsResult struct {\n\t// Results : List of users and secondary email results.\n\tResults []*UserAddResult `json:\"results\"`\n}\n\n// NewAddSecondaryEmailsResult returns a new AddSecondaryEmailsResult instance\nfunc NewAddSecondaryEmailsResult(Results []*UserAddResult) *AddSecondaryEmailsResult {\n\ts := new(AddSecondaryEmailsResult)\n\ts.Results = Results\n\treturn s\n}\n\n// AdminTier : Describes which team-related admin permissions a user has.\ntype AdminTier struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AdminTier\nconst (\n\tAdminTierTeamAdmin           = \"team_admin\"\n\tAdminTierUserManagementAdmin = \"user_management_admin\"\n\tAdminTierSupportAdmin        = \"support_admin\"\n\tAdminTierMemberOnly          = \"member_only\"\n)\n\n// ApiApp : Information on linked third party applications.\ntype ApiApp struct {\n\t// AppId : The application unique id.\n\tAppId string `json:\"app_id\"`\n\t// AppName : The application name.\n\tAppName string `json:\"app_name\"`\n\t// Publisher : The application publisher name.\n\tPublisher string `json:\"publisher,omitempty\"`\n\t// PublisherUrl : The publisher's URL.\n\tPublisherUrl string `json:\"publisher_url,omitempty\"`\n\t// Linked : The time this application was linked.\n\tLinked *time.Time `json:\"linked,omitempty\"`\n\t// IsAppFolder : Whether the linked application uses a dedicated folder.\n\tIsAppFolder bool `json:\"is_app_folder\"`\n}\n\n// NewApiApp returns a new ApiApp instance\nfunc NewApiApp(AppId string, AppName string, IsAppFolder bool) *ApiApp {\n\ts := new(ApiApp)\n\ts.AppId = AppId\n\ts.AppName = AppName\n\ts.IsAppFolder = IsAppFolder\n\treturn s\n}\n\n// BaseDfbReport : Base report structure.\ntype BaseDfbReport struct {\n\t// StartDate : First date present in the results as 'YYYY-MM-DD' or None.\n\tStartDate string `json:\"start_date\"`\n}\n\n// NewBaseDfbReport returns a new BaseDfbReport instance\nfunc NewBaseDfbReport(StartDate string) *BaseDfbReport {\n\ts := new(BaseDfbReport)\n\ts.StartDate = StartDate\n\treturn s\n}\n\n// BaseTeamFolderError : Base error that all errors for existing team folders\n// should extend.\ntype BaseTeamFolderError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *TeamFolderAccessError `json:\"access_error,omitempty\"`\n\t// StatusError : has no documentation (yet)\n\tStatusError *TeamFolderInvalidStatusError `json:\"status_error,omitempty\"`\n\t// TeamSharedDropboxError : has no documentation (yet)\n\tTeamSharedDropboxError *TeamFolderTeamSharedDropboxError `json:\"team_shared_dropbox_error,omitempty\"`\n}\n\n// Valid tag values for BaseTeamFolderError\nconst (\n\tBaseTeamFolderErrorAccessError            = \"access_error\"\n\tBaseTeamFolderErrorStatusError            = \"status_error\"\n\tBaseTeamFolderErrorTeamSharedDropboxError = \"team_shared_dropbox_error\"\n\tBaseTeamFolderErrorOther                  = \"other\"\n)\n\n// UnmarshalJSON deserializes into a BaseTeamFolderError instance\nfunc (u *BaseTeamFolderError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *TeamFolderAccessError `json:\"access_error,omitempty\"`\n\t\t// StatusError : has no documentation (yet)\n\t\tStatusError *TeamFolderInvalidStatusError `json:\"status_error,omitempty\"`\n\t\t// TeamSharedDropboxError : has no documentation (yet)\n\t\tTeamSharedDropboxError *TeamFolderTeamSharedDropboxError `json:\"team_shared_dropbox_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\tcase \"status_error\":\n\t\tu.StatusError = w.StatusError\n\n\tcase \"team_shared_dropbox_error\":\n\t\tu.TeamSharedDropboxError = w.TeamSharedDropboxError\n\n\t}\n\treturn nil\n}\n\n// CustomQuotaError : Error returned when getting member custom quota.\ntype CustomQuotaError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for CustomQuotaError\nconst (\n\tCustomQuotaErrorTooManyUsers = \"too_many_users\"\n\tCustomQuotaErrorOther        = \"other\"\n)\n\n// CustomQuotaResult : User custom quota.\ntype CustomQuotaResult struct {\n\tdropbox.Tagged\n\t// Success : User's custom quota.\n\tSuccess *UserCustomQuotaResult `json:\"success,omitempty\"`\n\t// InvalidUser : Invalid user (not in team).\n\tInvalidUser *UserSelectorArg `json:\"invalid_user,omitempty\"`\n}\n\n// Valid tag values for CustomQuotaResult\nconst (\n\tCustomQuotaResultSuccess     = \"success\"\n\tCustomQuotaResultInvalidUser = \"invalid_user\"\n\tCustomQuotaResultOther       = \"other\"\n)\n\n// UnmarshalJSON deserializes into a CustomQuotaResult instance\nfunc (u *CustomQuotaResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// InvalidUser : Invalid user (not in team).\n\t\tInvalidUser *UserSelectorArg `json:\"invalid_user,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tif err = json.Unmarshal(body, &u.Success); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"invalid_user\":\n\t\tu.InvalidUser = w.InvalidUser\n\n\t}\n\treturn nil\n}\n\n// CustomQuotaUsersArg : has no documentation (yet)\ntype CustomQuotaUsersArg struct {\n\t// Users : List of users.\n\tUsers []*UserSelectorArg `json:\"users\"`\n}\n\n// NewCustomQuotaUsersArg returns a new CustomQuotaUsersArg instance\nfunc NewCustomQuotaUsersArg(Users []*UserSelectorArg) *CustomQuotaUsersArg {\n\ts := new(CustomQuotaUsersArg)\n\ts.Users = Users\n\treturn s\n}\n\n// DateRange : Input arguments that can be provided for most reports.\ntype DateRange struct {\n\t// StartDate : Optional starting date (inclusive). If start_date is None or\n\t// too long ago, this field will  be set to 6 months ago.\n\tStartDate *time.Time `json:\"start_date,omitempty\"`\n\t// EndDate : Optional ending date (exclusive).\n\tEndDate *time.Time `json:\"end_date,omitempty\"`\n}\n\n// NewDateRange returns a new DateRange instance\nfunc NewDateRange() *DateRange {\n\ts := new(DateRange)\n\treturn s\n}\n\n// DateRangeError : Errors that can originate from problems in input arguments\n// to reports.\ntype DateRangeError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for DateRangeError\nconst (\n\tDateRangeErrorOther = \"other\"\n)\n\n// DeleteSecondaryEmailResult : Result of trying to delete a secondary email\n// address. 'success' is the only value indicating that a secondary email was\n// successfully deleted. The other values explain the type of error that\n// occurred, and include the email for which the error occurred.\ntype DeleteSecondaryEmailResult struct {\n\tdropbox.Tagged\n\t// Success : The secondary email was successfully deleted.\n\tSuccess string `json:\"success,omitempty\"`\n\t// NotFound : The email address was not found for the user.\n\tNotFound string `json:\"not_found,omitempty\"`\n\t// CannotRemovePrimary : The email address is the primary email address of\n\t// the user, and cannot be removed.\n\tCannotRemovePrimary string `json:\"cannot_remove_primary,omitempty\"`\n}\n\n// Valid tag values for DeleteSecondaryEmailResult\nconst (\n\tDeleteSecondaryEmailResultSuccess             = \"success\"\n\tDeleteSecondaryEmailResultNotFound            = \"not_found\"\n\tDeleteSecondaryEmailResultCannotRemovePrimary = \"cannot_remove_primary\"\n\tDeleteSecondaryEmailResultOther               = \"other\"\n)\n\n// UnmarshalJSON deserializes into a DeleteSecondaryEmailResult instance\nfunc (u *DeleteSecondaryEmailResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Success : The secondary email was successfully deleted.\n\t\tSuccess string `json:\"success,omitempty\"`\n\t\t// NotFound : The email address was not found for the user.\n\t\tNotFound string `json:\"not_found,omitempty\"`\n\t\t// CannotRemovePrimary : The email address is the primary email address\n\t\t// of the user, and cannot be removed.\n\t\tCannotRemovePrimary string `json:\"cannot_remove_primary,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tu.Success = w.Success\n\n\tcase \"not_found\":\n\t\tu.NotFound = w.NotFound\n\n\tcase \"cannot_remove_primary\":\n\t\tu.CannotRemovePrimary = w.CannotRemovePrimary\n\n\t}\n\treturn nil\n}\n\n// DeleteSecondaryEmailsArg : has no documentation (yet)\ntype DeleteSecondaryEmailsArg struct {\n\t// EmailsToDelete : List of users and their secondary emails to delete.\n\tEmailsToDelete []*UserSecondaryEmailsArg `json:\"emails_to_delete\"`\n}\n\n// NewDeleteSecondaryEmailsArg returns a new DeleteSecondaryEmailsArg instance\nfunc NewDeleteSecondaryEmailsArg(EmailsToDelete []*UserSecondaryEmailsArg) *DeleteSecondaryEmailsArg {\n\ts := new(DeleteSecondaryEmailsArg)\n\ts.EmailsToDelete = EmailsToDelete\n\treturn s\n}\n\n// DeleteSecondaryEmailsResult : has no documentation (yet)\ntype DeleteSecondaryEmailsResult struct {\n\t// Results : has no documentation (yet)\n\tResults []*UserDeleteResult `json:\"results\"`\n}\n\n// NewDeleteSecondaryEmailsResult returns a new DeleteSecondaryEmailsResult instance\nfunc NewDeleteSecondaryEmailsResult(Results []*UserDeleteResult) *DeleteSecondaryEmailsResult {\n\ts := new(DeleteSecondaryEmailsResult)\n\ts.Results = Results\n\treturn s\n}\n\n// DesktopClientSession : Information about linked Dropbox desktop client\n// sessions.\ntype DesktopClientSession struct {\n\tDeviceSession\n\t// HostName : Name of the hosting desktop.\n\tHostName string `json:\"host_name\"`\n\t// ClientType : The Dropbox desktop client type.\n\tClientType *DesktopPlatform `json:\"client_type\"`\n\t// ClientVersion : The Dropbox client version.\n\tClientVersion string `json:\"client_version\"`\n\t// Platform : Information on the hosting platform.\n\tPlatform string `json:\"platform\"`\n\t// IsDeleteOnUnlinkSupported : Whether it's possible to delete all of the\n\t// account files upon unlinking.\n\tIsDeleteOnUnlinkSupported bool `json:\"is_delete_on_unlink_supported\"`\n}\n\n// NewDesktopClientSession returns a new DesktopClientSession instance\nfunc NewDesktopClientSession(SessionId string, HostName string, ClientType *DesktopPlatform, ClientVersion string, Platform string, IsDeleteOnUnlinkSupported bool) *DesktopClientSession {\n\ts := new(DesktopClientSession)\n\ts.SessionId = SessionId\n\ts.HostName = HostName\n\ts.ClientType = ClientType\n\ts.ClientVersion = ClientVersion\n\ts.Platform = Platform\n\ts.IsDeleteOnUnlinkSupported = IsDeleteOnUnlinkSupported\n\treturn s\n}\n\n// DesktopPlatform : has no documentation (yet)\ntype DesktopPlatform struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for DesktopPlatform\nconst (\n\tDesktopPlatformWindows = \"windows\"\n\tDesktopPlatformMac     = \"mac\"\n\tDesktopPlatformLinux   = \"linux\"\n\tDesktopPlatformOther   = \"other\"\n)\n\n// DeviceSessionArg : has no documentation (yet)\ntype DeviceSessionArg struct {\n\t// SessionId : The session id.\n\tSessionId string `json:\"session_id\"`\n\t// TeamMemberId : The unique id of the member owning the device.\n\tTeamMemberId string `json:\"team_member_id\"`\n}\n\n// NewDeviceSessionArg returns a new DeviceSessionArg instance\nfunc NewDeviceSessionArg(SessionId string, TeamMemberId string) *DeviceSessionArg {\n\ts := new(DeviceSessionArg)\n\ts.SessionId = SessionId\n\ts.TeamMemberId = TeamMemberId\n\treturn s\n}\n\n// DevicesActive : Each of the items is an array of values, one value per day.\n// The value is the number of devices active within a time window, ending with\n// that day. If there is no data for a day, then the value will be None.\ntype DevicesActive struct {\n\t// Windows : Array of number of linked windows (desktop) clients with\n\t// activity.\n\tWindows []uint64 `json:\"windows\"`\n\t// Macos : Array of number of linked mac (desktop) clients with activity.\n\tMacos []uint64 `json:\"macos\"`\n\t// Linux : Array of number of linked linus (desktop) clients with activity.\n\tLinux []uint64 `json:\"linux\"`\n\t// Ios : Array of number of linked ios devices with activity.\n\tIos []uint64 `json:\"ios\"`\n\t// Android : Array of number of linked android devices with activity.\n\tAndroid []uint64 `json:\"android\"`\n\t// Other : Array of number of other linked devices (blackberry, windows\n\t// phone, etc)  with activity.\n\tOther []uint64 `json:\"other\"`\n\t// Total : Array of total number of linked clients with activity.\n\tTotal []uint64 `json:\"total\"`\n}\n\n// NewDevicesActive returns a new DevicesActive instance\nfunc NewDevicesActive(Windows []uint64, Macos []uint64, Linux []uint64, Ios []uint64, Android []uint64, Other []uint64, Total []uint64) *DevicesActive {\n\ts := new(DevicesActive)\n\ts.Windows = Windows\n\ts.Macos = Macos\n\ts.Linux = Linux\n\ts.Ios = Ios\n\ts.Android = Android\n\ts.Other = Other\n\ts.Total = Total\n\treturn s\n}\n\n// ExcludedUsersListArg : Excluded users list argument.\ntype ExcludedUsersListArg struct {\n\t// Limit : Number of results to return per call.\n\tLimit uint32 `json:\"limit\"`\n}\n\n// NewExcludedUsersListArg returns a new ExcludedUsersListArg instance\nfunc NewExcludedUsersListArg() *ExcludedUsersListArg {\n\ts := new(ExcludedUsersListArg)\n\ts.Limit = 1000\n\treturn s\n}\n\n// ExcludedUsersListContinueArg : Excluded users list continue argument.\ntype ExcludedUsersListContinueArg struct {\n\t// Cursor : Indicates from what point to get the next set of users.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewExcludedUsersListContinueArg returns a new ExcludedUsersListContinueArg instance\nfunc NewExcludedUsersListContinueArg(Cursor string) *ExcludedUsersListContinueArg {\n\ts := new(ExcludedUsersListContinueArg)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// ExcludedUsersListContinueError : Excluded users list continue error.\ntype ExcludedUsersListContinueError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ExcludedUsersListContinueError\nconst (\n\tExcludedUsersListContinueErrorInvalidCursor = \"invalid_cursor\"\n\tExcludedUsersListContinueErrorOther         = \"other\"\n)\n\n// ExcludedUsersListError : Excluded users list error.\ntype ExcludedUsersListError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ExcludedUsersListError\nconst (\n\tExcludedUsersListErrorListError = \"list_error\"\n\tExcludedUsersListErrorOther     = \"other\"\n)\n\n// ExcludedUsersListResult : Excluded users list result.\ntype ExcludedUsersListResult struct {\n\t// Users : has no documentation (yet)\n\tUsers []*MemberProfile `json:\"users\"`\n\t// Cursor : Pass the cursor into\n\t// `memberSpaceLimitsExcludedUsersListContinue` to obtain additional\n\t// excluded users.\n\tCursor string `json:\"cursor,omitempty\"`\n\t// HasMore : Is true if there are additional excluded users that have not\n\t// been returned yet. An additional call to\n\t// `memberSpaceLimitsExcludedUsersListContinue` can retrieve them.\n\tHasMore bool `json:\"has_more\"`\n}\n\n// NewExcludedUsersListResult returns a new ExcludedUsersListResult instance\nfunc NewExcludedUsersListResult(Users []*MemberProfile, HasMore bool) *ExcludedUsersListResult {\n\ts := new(ExcludedUsersListResult)\n\ts.Users = Users\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// ExcludedUsersUpdateArg : Argument of excluded users update operation. Should\n// include a list of users to add/remove (according to endpoint), Maximum size\n// of the list is 1000 users.\ntype ExcludedUsersUpdateArg struct {\n\t// Users : List of users to be added/removed.\n\tUsers []*UserSelectorArg `json:\"users,omitempty\"`\n}\n\n// NewExcludedUsersUpdateArg returns a new ExcludedUsersUpdateArg instance\nfunc NewExcludedUsersUpdateArg() *ExcludedUsersUpdateArg {\n\ts := new(ExcludedUsersUpdateArg)\n\treturn s\n}\n\n// ExcludedUsersUpdateError : Excluded users update error.\ntype ExcludedUsersUpdateError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ExcludedUsersUpdateError\nconst (\n\tExcludedUsersUpdateErrorUsersNotInTeam = \"users_not_in_team\"\n\tExcludedUsersUpdateErrorTooManyUsers   = \"too_many_users\"\n\tExcludedUsersUpdateErrorOther          = \"other\"\n)\n\n// ExcludedUsersUpdateResult : Excluded users update result.\ntype ExcludedUsersUpdateResult struct {\n\t// Status : Update status.\n\tStatus *ExcludedUsersUpdateStatus `json:\"status\"`\n}\n\n// NewExcludedUsersUpdateResult returns a new ExcludedUsersUpdateResult instance\nfunc NewExcludedUsersUpdateResult(Status *ExcludedUsersUpdateStatus) *ExcludedUsersUpdateResult {\n\ts := new(ExcludedUsersUpdateResult)\n\ts.Status = Status\n\treturn s\n}\n\n// ExcludedUsersUpdateStatus : Excluded users update operation status.\ntype ExcludedUsersUpdateStatus struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ExcludedUsersUpdateStatus\nconst (\n\tExcludedUsersUpdateStatusSuccess = \"success\"\n\tExcludedUsersUpdateStatusOther   = \"other\"\n)\n\n// Feature : A set of features that a Dropbox Business account may support.\ntype Feature struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for Feature\nconst (\n\tFeatureUploadApiRateLimit   = \"upload_api_rate_limit\"\n\tFeatureHasTeamSharedDropbox = \"has_team_shared_dropbox\"\n\tFeatureHasTeamFileEvents    = \"has_team_file_events\"\n\tFeatureHasTeamSelectiveSync = \"has_team_selective_sync\"\n\tFeatureOther                = \"other\"\n)\n\n// FeatureValue : The values correspond to entries in `Feature`. You may get\n// different value according to your Dropbox Business plan.\ntype FeatureValue struct {\n\tdropbox.Tagged\n\t// UploadApiRateLimit : has no documentation (yet)\n\tUploadApiRateLimit *UploadApiRateLimitValue `json:\"upload_api_rate_limit,omitempty\"`\n\t// HasTeamSharedDropbox : has no documentation (yet)\n\tHasTeamSharedDropbox *HasTeamSharedDropboxValue `json:\"has_team_shared_dropbox,omitempty\"`\n\t// HasTeamFileEvents : has no documentation (yet)\n\tHasTeamFileEvents *HasTeamFileEventsValue `json:\"has_team_file_events,omitempty\"`\n\t// HasTeamSelectiveSync : has no documentation (yet)\n\tHasTeamSelectiveSync *HasTeamSelectiveSyncValue `json:\"has_team_selective_sync,omitempty\"`\n}\n\n// Valid tag values for FeatureValue\nconst (\n\tFeatureValueUploadApiRateLimit   = \"upload_api_rate_limit\"\n\tFeatureValueHasTeamSharedDropbox = \"has_team_shared_dropbox\"\n\tFeatureValueHasTeamFileEvents    = \"has_team_file_events\"\n\tFeatureValueHasTeamSelectiveSync = \"has_team_selective_sync\"\n\tFeatureValueOther                = \"other\"\n)\n\n// UnmarshalJSON deserializes into a FeatureValue instance\nfunc (u *FeatureValue) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// UploadApiRateLimit : has no documentation (yet)\n\t\tUploadApiRateLimit *UploadApiRateLimitValue `json:\"upload_api_rate_limit,omitempty\"`\n\t\t// HasTeamSharedDropbox : has no documentation (yet)\n\t\tHasTeamSharedDropbox *HasTeamSharedDropboxValue `json:\"has_team_shared_dropbox,omitempty\"`\n\t\t// HasTeamFileEvents : has no documentation (yet)\n\t\tHasTeamFileEvents *HasTeamFileEventsValue `json:\"has_team_file_events,omitempty\"`\n\t\t// HasTeamSelectiveSync : has no documentation (yet)\n\t\tHasTeamSelectiveSync *HasTeamSelectiveSyncValue `json:\"has_team_selective_sync,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"upload_api_rate_limit\":\n\t\tu.UploadApiRateLimit = w.UploadApiRateLimit\n\n\tcase \"has_team_shared_dropbox\":\n\t\tu.HasTeamSharedDropbox = w.HasTeamSharedDropbox\n\n\tcase \"has_team_file_events\":\n\t\tu.HasTeamFileEvents = w.HasTeamFileEvents\n\n\tcase \"has_team_selective_sync\":\n\t\tu.HasTeamSelectiveSync = w.HasTeamSelectiveSync\n\n\t}\n\treturn nil\n}\n\n// FeaturesGetValuesBatchArg : has no documentation (yet)\ntype FeaturesGetValuesBatchArg struct {\n\t// Features : A list of features in `Feature`. If the list is empty, this\n\t// route will return `FeaturesGetValuesBatchError`.\n\tFeatures []*Feature `json:\"features\"`\n}\n\n// NewFeaturesGetValuesBatchArg returns a new FeaturesGetValuesBatchArg instance\nfunc NewFeaturesGetValuesBatchArg(Features []*Feature) *FeaturesGetValuesBatchArg {\n\ts := new(FeaturesGetValuesBatchArg)\n\ts.Features = Features\n\treturn s\n}\n\n// FeaturesGetValuesBatchError : has no documentation (yet)\ntype FeaturesGetValuesBatchError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FeaturesGetValuesBatchError\nconst (\n\tFeaturesGetValuesBatchErrorEmptyFeaturesList = \"empty_features_list\"\n\tFeaturesGetValuesBatchErrorOther             = \"other\"\n)\n\n// FeaturesGetValuesBatchResult : has no documentation (yet)\ntype FeaturesGetValuesBatchResult struct {\n\t// Values : has no documentation (yet)\n\tValues []*FeatureValue `json:\"values\"`\n}\n\n// NewFeaturesGetValuesBatchResult returns a new FeaturesGetValuesBatchResult instance\nfunc NewFeaturesGetValuesBatchResult(Values []*FeatureValue) *FeaturesGetValuesBatchResult {\n\ts := new(FeaturesGetValuesBatchResult)\n\ts.Values = Values\n\treturn s\n}\n\n// GetActivityReport : Activity Report Result. Each of the items in the storage\n// report is an array of values, one value per day. If there is no data for a\n// day, then the value will be None.\ntype GetActivityReport struct {\n\tBaseDfbReport\n\t// Adds : Array of total number of adds by team members.\n\tAdds []uint64 `json:\"adds\"`\n\t// Edits : Array of number of edits by team members. If the same user edits\n\t// the same file multiple times this is counted as a single edit.\n\tEdits []uint64 `json:\"edits\"`\n\t// Deletes : Array of total number of deletes by team members.\n\tDeletes []uint64 `json:\"deletes\"`\n\t// ActiveUsers28Day : Array of the number of users who have been active in\n\t// the last 28 days.\n\tActiveUsers28Day []uint64 `json:\"active_users_28_day\"`\n\t// ActiveUsers7Day : Array of the number of users who have been active in\n\t// the last week.\n\tActiveUsers7Day []uint64 `json:\"active_users_7_day\"`\n\t// ActiveUsers1Day : Array of the number of users who have been active in\n\t// the last day.\n\tActiveUsers1Day []uint64 `json:\"active_users_1_day\"`\n\t// ActiveSharedFolders28Day : Array of the number of shared folders with\n\t// some activity in the last 28 days.\n\tActiveSharedFolders28Day []uint64 `json:\"active_shared_folders_28_day\"`\n\t// ActiveSharedFolders7Day : Array of the number of shared folders with some\n\t// activity in the last week.\n\tActiveSharedFolders7Day []uint64 `json:\"active_shared_folders_7_day\"`\n\t// ActiveSharedFolders1Day : Array of the number of shared folders with some\n\t// activity in the last day.\n\tActiveSharedFolders1Day []uint64 `json:\"active_shared_folders_1_day\"`\n\t// SharedLinksCreated : Array of the number of shared links created.\n\tSharedLinksCreated []uint64 `json:\"shared_links_created\"`\n\t// SharedLinksViewedByTeam : Array of the number of views by team users to\n\t// shared links created by the team.\n\tSharedLinksViewedByTeam []uint64 `json:\"shared_links_viewed_by_team\"`\n\t// SharedLinksViewedByOutsideUser : Array of the number of views by users\n\t// outside of the team to shared links created by the team.\n\tSharedLinksViewedByOutsideUser []uint64 `json:\"shared_links_viewed_by_outside_user\"`\n\t// SharedLinksViewedByNotLoggedIn : Array of the number of views by\n\t// non-logged-in users to shared links created by the team.\n\tSharedLinksViewedByNotLoggedIn []uint64 `json:\"shared_links_viewed_by_not_logged_in\"`\n\t// SharedLinksViewedTotal : Array of the total number of views to shared\n\t// links created by the team.\n\tSharedLinksViewedTotal []uint64 `json:\"shared_links_viewed_total\"`\n}\n\n// NewGetActivityReport returns a new GetActivityReport instance\nfunc NewGetActivityReport(StartDate string, Adds []uint64, Edits []uint64, Deletes []uint64, ActiveUsers28Day []uint64, ActiveUsers7Day []uint64, ActiveUsers1Day []uint64, ActiveSharedFolders28Day []uint64, ActiveSharedFolders7Day []uint64, ActiveSharedFolders1Day []uint64, SharedLinksCreated []uint64, SharedLinksViewedByTeam []uint64, SharedLinksViewedByOutsideUser []uint64, SharedLinksViewedByNotLoggedIn []uint64, SharedLinksViewedTotal []uint64) *GetActivityReport {\n\ts := new(GetActivityReport)\n\ts.StartDate = StartDate\n\ts.Adds = Adds\n\ts.Edits = Edits\n\ts.Deletes = Deletes\n\ts.ActiveUsers28Day = ActiveUsers28Day\n\ts.ActiveUsers7Day = ActiveUsers7Day\n\ts.ActiveUsers1Day = ActiveUsers1Day\n\ts.ActiveSharedFolders28Day = ActiveSharedFolders28Day\n\ts.ActiveSharedFolders7Day = ActiveSharedFolders7Day\n\ts.ActiveSharedFolders1Day = ActiveSharedFolders1Day\n\ts.SharedLinksCreated = SharedLinksCreated\n\ts.SharedLinksViewedByTeam = SharedLinksViewedByTeam\n\ts.SharedLinksViewedByOutsideUser = SharedLinksViewedByOutsideUser\n\ts.SharedLinksViewedByNotLoggedIn = SharedLinksViewedByNotLoggedIn\n\ts.SharedLinksViewedTotal = SharedLinksViewedTotal\n\treturn s\n}\n\n// GetDevicesReport : Devices Report Result. Contains subsections for different\n// time ranges of activity. Each of the items in each subsection of the storage\n// report is an array of values, one value per day. If there is no data for a\n// day, then the value will be None.\ntype GetDevicesReport struct {\n\tBaseDfbReport\n\t// Active1Day : Report of the number of devices active in the last day.\n\tActive1Day *DevicesActive `json:\"active_1_day\"`\n\t// Active7Day : Report of the number of devices active in the last 7 days.\n\tActive7Day *DevicesActive `json:\"active_7_day\"`\n\t// Active28Day : Report of the number of devices active in the last 28 days.\n\tActive28Day *DevicesActive `json:\"active_28_day\"`\n}\n\n// NewGetDevicesReport returns a new GetDevicesReport instance\nfunc NewGetDevicesReport(StartDate string, Active1Day *DevicesActive, Active7Day *DevicesActive, Active28Day *DevicesActive) *GetDevicesReport {\n\ts := new(GetDevicesReport)\n\ts.StartDate = StartDate\n\ts.Active1Day = Active1Day\n\ts.Active7Day = Active7Day\n\ts.Active28Day = Active28Day\n\treturn s\n}\n\n// GetMembershipReport : Membership Report Result. Each of the items in the\n// storage report is an array of values, one value per day. If there is no data\n// for a day, then the value will be None.\ntype GetMembershipReport struct {\n\tBaseDfbReport\n\t// TeamSize : Team size, for each day.\n\tTeamSize []uint64 `json:\"team_size\"`\n\t// PendingInvites : The number of pending invites to the team, for each day.\n\tPendingInvites []uint64 `json:\"pending_invites\"`\n\t// MembersJoined : The number of members that joined the team, for each day.\n\tMembersJoined []uint64 `json:\"members_joined\"`\n\t// SuspendedMembers : The number of suspended team members, for each day.\n\tSuspendedMembers []uint64 `json:\"suspended_members\"`\n\t// Licenses : The total number of licenses the team has, for each day.\n\tLicenses []uint64 `json:\"licenses\"`\n}\n\n// NewGetMembershipReport returns a new GetMembershipReport instance\nfunc NewGetMembershipReport(StartDate string, TeamSize []uint64, PendingInvites []uint64, MembersJoined []uint64, SuspendedMembers []uint64, Licenses []uint64) *GetMembershipReport {\n\ts := new(GetMembershipReport)\n\ts.StartDate = StartDate\n\ts.TeamSize = TeamSize\n\ts.PendingInvites = PendingInvites\n\ts.MembersJoined = MembersJoined\n\ts.SuspendedMembers = SuspendedMembers\n\ts.Licenses = Licenses\n\treturn s\n}\n\n// GetStorageReport : Storage Report Result. Each of the items in the storage\n// report is an array of values, one value per day. If there is no data for a\n// day, then the value will be None.\ntype GetStorageReport struct {\n\tBaseDfbReport\n\t// TotalUsage : Sum of the shared, unshared, and datastore usages, for each\n\t// day.\n\tTotalUsage []uint64 `json:\"total_usage\"`\n\t// SharedUsage : Array of the combined size (bytes) of team members' shared\n\t// folders, for each day.\n\tSharedUsage []uint64 `json:\"shared_usage\"`\n\t// UnsharedUsage : Array of the combined size (bytes) of team members' root\n\t// namespaces, for each day.\n\tUnsharedUsage []uint64 `json:\"unshared_usage\"`\n\t// SharedFolders : Array of the number of shared folders owned by team\n\t// members, for each day.\n\tSharedFolders []uint64 `json:\"shared_folders\"`\n\t// MemberStorageMap : Array of storage summaries of team members' account\n\t// sizes. Each storage summary is an array of key, value pairs, where each\n\t// pair describes a storage bucket. The key indicates the upper bound of the\n\t// bucket and the value is the number of users in that bucket. There is one\n\t// such summary per day. If there is no data for a day, the storage summary\n\t// will be empty.\n\tMemberStorageMap [][]*StorageBucket `json:\"member_storage_map\"`\n}\n\n// NewGetStorageReport returns a new GetStorageReport instance\nfunc NewGetStorageReport(StartDate string, TotalUsage []uint64, SharedUsage []uint64, UnsharedUsage []uint64, SharedFolders []uint64, MemberStorageMap [][]*StorageBucket) *GetStorageReport {\n\ts := new(GetStorageReport)\n\ts.StartDate = StartDate\n\ts.TotalUsage = TotalUsage\n\ts.SharedUsage = SharedUsage\n\ts.UnsharedUsage = UnsharedUsage\n\ts.SharedFolders = SharedFolders\n\ts.MemberStorageMap = MemberStorageMap\n\treturn s\n}\n\n// GroupAccessType : Role of a user in group.\ntype GroupAccessType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupAccessType\nconst (\n\tGroupAccessTypeMember = \"member\"\n\tGroupAccessTypeOwner  = \"owner\"\n)\n\n// GroupCreateArg : has no documentation (yet)\ntype GroupCreateArg struct {\n\t// GroupName : Group name.\n\tGroupName string `json:\"group_name\"`\n\t// AddCreatorAsOwner : Automatically add the creator of the group.\n\tAddCreatorAsOwner bool `json:\"add_creator_as_owner\"`\n\t// GroupExternalId : The creator of a team can associate an arbitrary\n\t// external ID to the group.\n\tGroupExternalId string `json:\"group_external_id,omitempty\"`\n\t// GroupManagementType : Whether the team can be managed by selected users,\n\t// or only by team admins.\n\tGroupManagementType *team_common.GroupManagementType `json:\"group_management_type,omitempty\"`\n}\n\n// NewGroupCreateArg returns a new GroupCreateArg instance\nfunc NewGroupCreateArg(GroupName string) *GroupCreateArg {\n\ts := new(GroupCreateArg)\n\ts.GroupName = GroupName\n\ts.AddCreatorAsOwner = false\n\treturn s\n}\n\n// GroupCreateError : has no documentation (yet)\ntype GroupCreateError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupCreateError\nconst (\n\tGroupCreateErrorGroupNameAlreadyUsed         = \"group_name_already_used\"\n\tGroupCreateErrorGroupNameInvalid             = \"group_name_invalid\"\n\tGroupCreateErrorExternalIdAlreadyInUse       = \"external_id_already_in_use\"\n\tGroupCreateErrorSystemManagedGroupDisallowed = \"system_managed_group_disallowed\"\n\tGroupCreateErrorOther                        = \"other\"\n)\n\n// GroupSelectorError : Error that can be raised when `GroupSelector` is used.\ntype GroupSelectorError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupSelectorError\nconst (\n\tGroupSelectorErrorGroupNotFound = \"group_not_found\"\n\tGroupSelectorErrorOther         = \"other\"\n)\n\n// GroupSelectorWithTeamGroupError : Error that can be raised when\n// `GroupSelector` is used and team groups are disallowed from being used.\ntype GroupSelectorWithTeamGroupError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupSelectorWithTeamGroupError\nconst (\n\tGroupSelectorWithTeamGroupErrorGroupNotFound                = \"group_not_found\"\n\tGroupSelectorWithTeamGroupErrorOther                        = \"other\"\n\tGroupSelectorWithTeamGroupErrorSystemManagedGroupDisallowed = \"system_managed_group_disallowed\"\n)\n\n// GroupDeleteError : has no documentation (yet)\ntype GroupDeleteError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupDeleteError\nconst (\n\tGroupDeleteErrorGroupNotFound                = \"group_not_found\"\n\tGroupDeleteErrorOther                        = \"other\"\n\tGroupDeleteErrorSystemManagedGroupDisallowed = \"system_managed_group_disallowed\"\n\tGroupDeleteErrorGroupAlreadyDeleted          = \"group_already_deleted\"\n)\n\n// GroupFullInfo : Full description of a group.\ntype GroupFullInfo struct {\n\tteam_common.GroupSummary\n\t// Members : List of group members.\n\tMembers []*GroupMemberInfo `json:\"members,omitempty\"`\n\t// Created : The group creation time as a UTC timestamp in milliseconds\n\t// since the Unix epoch.\n\tCreated uint64 `json:\"created\"`\n}\n\n// NewGroupFullInfo returns a new GroupFullInfo instance\nfunc NewGroupFullInfo(GroupName string, GroupId string, GroupManagementType *team_common.GroupManagementType, Created uint64) *GroupFullInfo {\n\ts := new(GroupFullInfo)\n\ts.GroupName = GroupName\n\ts.GroupId = GroupId\n\ts.GroupManagementType = GroupManagementType\n\ts.Created = Created\n\treturn s\n}\n\n// GroupMemberInfo : Profile of group member, and role in group.\ntype GroupMemberInfo struct {\n\t// Profile : Profile of group member.\n\tProfile *MemberProfile `json:\"profile\"`\n\t// AccessType : The role that the user has in the group.\n\tAccessType *GroupAccessType `json:\"access_type\"`\n}\n\n// NewGroupMemberInfo returns a new GroupMemberInfo instance\nfunc NewGroupMemberInfo(Profile *MemberProfile, AccessType *GroupAccessType) *GroupMemberInfo {\n\ts := new(GroupMemberInfo)\n\ts.Profile = Profile\n\ts.AccessType = AccessType\n\treturn s\n}\n\n// GroupMemberSelector : Argument for selecting a group and a single user.\ntype GroupMemberSelector struct {\n\t// Group : Specify a group.\n\tGroup *GroupSelector `json:\"group\"`\n\t// User : Identity of a user that is a member of `group`.\n\tUser *UserSelectorArg `json:\"user\"`\n}\n\n// NewGroupMemberSelector returns a new GroupMemberSelector instance\nfunc NewGroupMemberSelector(Group *GroupSelector, User *UserSelectorArg) *GroupMemberSelector {\n\ts := new(GroupMemberSelector)\n\ts.Group = Group\n\ts.User = User\n\treturn s\n}\n\n// GroupMemberSelectorError : Error that can be raised when\n// `GroupMemberSelector` is used, and the user is required to be a member of the\n// specified group.\ntype GroupMemberSelectorError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupMemberSelectorError\nconst (\n\tGroupMemberSelectorErrorGroupNotFound                = \"group_not_found\"\n\tGroupMemberSelectorErrorOther                        = \"other\"\n\tGroupMemberSelectorErrorSystemManagedGroupDisallowed = \"system_managed_group_disallowed\"\n\tGroupMemberSelectorErrorMemberNotInGroup             = \"member_not_in_group\"\n)\n\n// GroupMemberSetAccessTypeError : has no documentation (yet)\ntype GroupMemberSetAccessTypeError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupMemberSetAccessTypeError\nconst (\n\tGroupMemberSetAccessTypeErrorGroupNotFound                            = \"group_not_found\"\n\tGroupMemberSetAccessTypeErrorOther                                    = \"other\"\n\tGroupMemberSetAccessTypeErrorSystemManagedGroupDisallowed             = \"system_managed_group_disallowed\"\n\tGroupMemberSetAccessTypeErrorMemberNotInGroup                         = \"member_not_in_group\"\n\tGroupMemberSetAccessTypeErrorUserCannotBeManagerOfCompanyManagedGroup = \"user_cannot_be_manager_of_company_managed_group\"\n)\n\n// IncludeMembersArg : has no documentation (yet)\ntype IncludeMembersArg struct {\n\t// ReturnMembers : Whether to return the list of members in the group.  Note\n\t// that the default value will cause all the group members  to be returned\n\t// in the response. This may take a long time for large groups.\n\tReturnMembers bool `json:\"return_members\"`\n}\n\n// NewIncludeMembersArg returns a new IncludeMembersArg instance\nfunc NewIncludeMembersArg() *IncludeMembersArg {\n\ts := new(IncludeMembersArg)\n\ts.ReturnMembers = true\n\treturn s\n}\n\n// GroupMembersAddArg : has no documentation (yet)\ntype GroupMembersAddArg struct {\n\tIncludeMembersArg\n\t// Group : Group to which users will be added.\n\tGroup *GroupSelector `json:\"group\"`\n\t// Members : List of users to be added to the group.\n\tMembers []*MemberAccess `json:\"members\"`\n}\n\n// NewGroupMembersAddArg returns a new GroupMembersAddArg instance\nfunc NewGroupMembersAddArg(Group *GroupSelector, Members []*MemberAccess) *GroupMembersAddArg {\n\ts := new(GroupMembersAddArg)\n\ts.Group = Group\n\ts.Members = Members\n\ts.ReturnMembers = true\n\treturn s\n}\n\n// GroupMembersAddError : has no documentation (yet)\ntype GroupMembersAddError struct {\n\tdropbox.Tagged\n\t// MembersNotInTeam : These members are not part of your team. Currently,\n\t// you cannot add members to a group if they are not part of your team,\n\t// though this may change in a subsequent version. To add new members to\n\t// your Dropbox Business team, use the `membersAdd` endpoint.\n\tMembersNotInTeam []string `json:\"members_not_in_team,omitempty\"`\n\t// UsersNotFound : These users were not found in Dropbox.\n\tUsersNotFound []string `json:\"users_not_found,omitempty\"`\n\t// UserCannotBeManagerOfCompanyManagedGroup : A company-managed group cannot\n\t// be managed by a user.\n\tUserCannotBeManagerOfCompanyManagedGroup []string `json:\"user_cannot_be_manager_of_company_managed_group,omitempty\"`\n}\n\n// Valid tag values for GroupMembersAddError\nconst (\n\tGroupMembersAddErrorGroupNotFound                            = \"group_not_found\"\n\tGroupMembersAddErrorOther                                    = \"other\"\n\tGroupMembersAddErrorSystemManagedGroupDisallowed             = \"system_managed_group_disallowed\"\n\tGroupMembersAddErrorDuplicateUser                            = \"duplicate_user\"\n\tGroupMembersAddErrorGroupNotInTeam                           = \"group_not_in_team\"\n\tGroupMembersAddErrorMembersNotInTeam                         = \"members_not_in_team\"\n\tGroupMembersAddErrorUsersNotFound                            = \"users_not_found\"\n\tGroupMembersAddErrorUserMustBeActiveToBeOwner                = \"user_must_be_active_to_be_owner\"\n\tGroupMembersAddErrorUserCannotBeManagerOfCompanyManagedGroup = \"user_cannot_be_manager_of_company_managed_group\"\n)\n\n// UnmarshalJSON deserializes into a GroupMembersAddError instance\nfunc (u *GroupMembersAddError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// MembersNotInTeam : These members are not part of your team.\n\t\t// Currently, you cannot add members to a group if they are not part of\n\t\t// your team, though this may change in a subsequent version. To add new\n\t\t// members to your Dropbox Business team, use the `membersAdd` endpoint.\n\t\tMembersNotInTeam []string `json:\"members_not_in_team,omitempty\"`\n\t\t// UsersNotFound : These users were not found in Dropbox.\n\t\tUsersNotFound []string `json:\"users_not_found,omitempty\"`\n\t\t// UserCannotBeManagerOfCompanyManagedGroup : A company-managed group\n\t\t// cannot be managed by a user.\n\t\tUserCannotBeManagerOfCompanyManagedGroup []string `json:\"user_cannot_be_manager_of_company_managed_group,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"members_not_in_team\":\n\t\tu.MembersNotInTeam = w.MembersNotInTeam\n\n\tcase \"users_not_found\":\n\t\tu.UsersNotFound = w.UsersNotFound\n\n\tcase \"user_cannot_be_manager_of_company_managed_group\":\n\t\tu.UserCannotBeManagerOfCompanyManagedGroup = w.UserCannotBeManagerOfCompanyManagedGroup\n\n\t}\n\treturn nil\n}\n\n// GroupMembersChangeResult : Result returned by `groupsMembersAdd` and\n// `groupsMembersRemove`.\ntype GroupMembersChangeResult struct {\n\t// GroupInfo : The group info after member change operation has been\n\t// performed.\n\tGroupInfo *GroupFullInfo `json:\"group_info\"`\n\t// AsyncJobId : For legacy purposes async_job_id will always return one\n\t// space ' '. Formerly, it was an ID that was used to obtain the status of\n\t// granting/revoking group-owned resources. It's no longer necessary because\n\t// the async processing now happens automatically.\n\tAsyncJobId string `json:\"async_job_id\"`\n}\n\n// NewGroupMembersChangeResult returns a new GroupMembersChangeResult instance\nfunc NewGroupMembersChangeResult(GroupInfo *GroupFullInfo, AsyncJobId string) *GroupMembersChangeResult {\n\ts := new(GroupMembersChangeResult)\n\ts.GroupInfo = GroupInfo\n\ts.AsyncJobId = AsyncJobId\n\treturn s\n}\n\n// GroupMembersRemoveArg : has no documentation (yet)\ntype GroupMembersRemoveArg struct {\n\tIncludeMembersArg\n\t// Group : Group from which users will be removed.\n\tGroup *GroupSelector `json:\"group\"`\n\t// Users : List of users to be removed from the group.\n\tUsers []*UserSelectorArg `json:\"users\"`\n}\n\n// NewGroupMembersRemoveArg returns a new GroupMembersRemoveArg instance\nfunc NewGroupMembersRemoveArg(Group *GroupSelector, Users []*UserSelectorArg) *GroupMembersRemoveArg {\n\ts := new(GroupMembersRemoveArg)\n\ts.Group = Group\n\ts.Users = Users\n\ts.ReturnMembers = true\n\treturn s\n}\n\n// GroupMembersSelectorError : Error that can be raised when\n// `GroupMembersSelector` is used, and the users are required to be members of\n// the specified group.\ntype GroupMembersSelectorError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupMembersSelectorError\nconst (\n\tGroupMembersSelectorErrorGroupNotFound                = \"group_not_found\"\n\tGroupMembersSelectorErrorOther                        = \"other\"\n\tGroupMembersSelectorErrorSystemManagedGroupDisallowed = \"system_managed_group_disallowed\"\n\tGroupMembersSelectorErrorMemberNotInGroup             = \"member_not_in_group\"\n)\n\n// GroupMembersRemoveError : has no documentation (yet)\ntype GroupMembersRemoveError struct {\n\tdropbox.Tagged\n\t// MembersNotInTeam : These members are not part of your team.\n\tMembersNotInTeam []string `json:\"members_not_in_team,omitempty\"`\n\t// UsersNotFound : These users were not found in Dropbox.\n\tUsersNotFound []string `json:\"users_not_found,omitempty\"`\n}\n\n// Valid tag values for GroupMembersRemoveError\nconst (\n\tGroupMembersRemoveErrorGroupNotFound                = \"group_not_found\"\n\tGroupMembersRemoveErrorOther                        = \"other\"\n\tGroupMembersRemoveErrorSystemManagedGroupDisallowed = \"system_managed_group_disallowed\"\n\tGroupMembersRemoveErrorMemberNotInGroup             = \"member_not_in_group\"\n\tGroupMembersRemoveErrorGroupNotInTeam               = \"group_not_in_team\"\n\tGroupMembersRemoveErrorMembersNotInTeam             = \"members_not_in_team\"\n\tGroupMembersRemoveErrorUsersNotFound                = \"users_not_found\"\n)\n\n// UnmarshalJSON deserializes into a GroupMembersRemoveError instance\nfunc (u *GroupMembersRemoveError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// MembersNotInTeam : These members are not part of your team.\n\t\tMembersNotInTeam []string `json:\"members_not_in_team,omitempty\"`\n\t\t// UsersNotFound : These users were not found in Dropbox.\n\t\tUsersNotFound []string `json:\"users_not_found,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"members_not_in_team\":\n\t\tu.MembersNotInTeam = w.MembersNotInTeam\n\n\tcase \"users_not_found\":\n\t\tu.UsersNotFound = w.UsersNotFound\n\n\t}\n\treturn nil\n}\n\n// GroupMembersSelector : Argument for selecting a group and a list of users.\ntype GroupMembersSelector struct {\n\t// Group : Specify a group.\n\tGroup *GroupSelector `json:\"group\"`\n\t// Users : A list of users that are members of `group`.\n\tUsers *UsersSelectorArg `json:\"users\"`\n}\n\n// NewGroupMembersSelector returns a new GroupMembersSelector instance\nfunc NewGroupMembersSelector(Group *GroupSelector, Users *UsersSelectorArg) *GroupMembersSelector {\n\ts := new(GroupMembersSelector)\n\ts.Group = Group\n\ts.Users = Users\n\treturn s\n}\n\n// GroupMembersSetAccessTypeArg : has no documentation (yet)\ntype GroupMembersSetAccessTypeArg struct {\n\tGroupMemberSelector\n\t// AccessType : New group access type the user will have.\n\tAccessType *GroupAccessType `json:\"access_type\"`\n\t// ReturnMembers : Whether to return the list of members in the group.  Note\n\t// that the default value will cause all the group members  to be returned\n\t// in the response. This may take a long time for large groups.\n\tReturnMembers bool `json:\"return_members\"`\n}\n\n// NewGroupMembersSetAccessTypeArg returns a new GroupMembersSetAccessTypeArg instance\nfunc NewGroupMembersSetAccessTypeArg(Group *GroupSelector, User *UserSelectorArg, AccessType *GroupAccessType) *GroupMembersSetAccessTypeArg {\n\ts := new(GroupMembersSetAccessTypeArg)\n\ts.Group = Group\n\ts.User = User\n\ts.AccessType = AccessType\n\ts.ReturnMembers = true\n\treturn s\n}\n\n// GroupSelector : Argument for selecting a single group, either by group_id or\n// by external group ID.\ntype GroupSelector struct {\n\tdropbox.Tagged\n\t// GroupId : Group ID.\n\tGroupId string `json:\"group_id,omitempty\"`\n\t// GroupExternalId : External ID of the group.\n\tGroupExternalId string `json:\"group_external_id,omitempty\"`\n}\n\n// Valid tag values for GroupSelector\nconst (\n\tGroupSelectorGroupId         = \"group_id\"\n\tGroupSelectorGroupExternalId = \"group_external_id\"\n)\n\n// UnmarshalJSON deserializes into a GroupSelector instance\nfunc (u *GroupSelector) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// GroupId : Group ID.\n\t\tGroupId string `json:\"group_id,omitempty\"`\n\t\t// GroupExternalId : External ID of the group.\n\t\tGroupExternalId string `json:\"group_external_id,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"group_id\":\n\t\tu.GroupId = w.GroupId\n\n\tcase \"group_external_id\":\n\t\tu.GroupExternalId = w.GroupExternalId\n\n\t}\n\treturn nil\n}\n\n// GroupUpdateArgs : has no documentation (yet)\ntype GroupUpdateArgs struct {\n\tIncludeMembersArg\n\t// Group : Specify a group.\n\tGroup *GroupSelector `json:\"group\"`\n\t// NewGroupName : Optional argument. Set group name to this if provided.\n\tNewGroupName string `json:\"new_group_name,omitempty\"`\n\t// NewGroupExternalId : Optional argument. New group external ID. If the\n\t// argument is None, the group's external_id won't be updated. If the\n\t// argument is empty string, the group's external id will be cleared.\n\tNewGroupExternalId string `json:\"new_group_external_id,omitempty\"`\n\t// NewGroupManagementType : Set new group management type, if provided.\n\tNewGroupManagementType *team_common.GroupManagementType `json:\"new_group_management_type,omitempty\"`\n}\n\n// NewGroupUpdateArgs returns a new GroupUpdateArgs instance\nfunc NewGroupUpdateArgs(Group *GroupSelector) *GroupUpdateArgs {\n\ts := new(GroupUpdateArgs)\n\ts.Group = Group\n\ts.ReturnMembers = true\n\treturn s\n}\n\n// GroupUpdateError : has no documentation (yet)\ntype GroupUpdateError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupUpdateError\nconst (\n\tGroupUpdateErrorGroupNotFound                = \"group_not_found\"\n\tGroupUpdateErrorOther                        = \"other\"\n\tGroupUpdateErrorSystemManagedGroupDisallowed = \"system_managed_group_disallowed\"\n\tGroupUpdateErrorGroupNameAlreadyUsed         = \"group_name_already_used\"\n\tGroupUpdateErrorGroupNameInvalid             = \"group_name_invalid\"\n\tGroupUpdateErrorExternalIdAlreadyInUse       = \"external_id_already_in_use\"\n)\n\n// GroupsGetInfoError : has no documentation (yet)\ntype GroupsGetInfoError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupsGetInfoError\nconst (\n\tGroupsGetInfoErrorGroupNotOnTeam = \"group_not_on_team\"\n\tGroupsGetInfoErrorOther          = \"other\"\n)\n\n// GroupsGetInfoItem : has no documentation (yet)\ntype GroupsGetInfoItem struct {\n\tdropbox.Tagged\n\t// IdNotFound : An ID that was provided as a parameter to `groupsGetInfo`,\n\t// and did not match a corresponding group. The ID can be a group ID, or an\n\t// external ID, depending on how the method was called.\n\tIdNotFound string `json:\"id_not_found,omitempty\"`\n\t// GroupInfo : Info about a group.\n\tGroupInfo *GroupFullInfo `json:\"group_info,omitempty\"`\n}\n\n// Valid tag values for GroupsGetInfoItem\nconst (\n\tGroupsGetInfoItemIdNotFound = \"id_not_found\"\n\tGroupsGetInfoItemGroupInfo  = \"group_info\"\n)\n\n// UnmarshalJSON deserializes into a GroupsGetInfoItem instance\nfunc (u *GroupsGetInfoItem) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// IdNotFound : An ID that was provided as a parameter to\n\t\t// `groupsGetInfo`, and did not match a corresponding group. The ID can\n\t\t// be a group ID, or an external ID, depending on how the method was\n\t\t// called.\n\t\tIdNotFound string `json:\"id_not_found,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"id_not_found\":\n\t\tu.IdNotFound = w.IdNotFound\n\n\tcase \"group_info\":\n\t\tif err = json.Unmarshal(body, &u.GroupInfo); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// GroupsListArg : has no documentation (yet)\ntype GroupsListArg struct {\n\t// Limit : Number of results to return per call.\n\tLimit uint32 `json:\"limit\"`\n}\n\n// NewGroupsListArg returns a new GroupsListArg instance\nfunc NewGroupsListArg() *GroupsListArg {\n\ts := new(GroupsListArg)\n\ts.Limit = 1000\n\treturn s\n}\n\n// GroupsListContinueArg : has no documentation (yet)\ntype GroupsListContinueArg struct {\n\t// Cursor : Indicates from what point to get the next set of groups.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewGroupsListContinueArg returns a new GroupsListContinueArg instance\nfunc NewGroupsListContinueArg(Cursor string) *GroupsListContinueArg {\n\ts := new(GroupsListContinueArg)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// GroupsListContinueError : has no documentation (yet)\ntype GroupsListContinueError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupsListContinueError\nconst (\n\tGroupsListContinueErrorInvalidCursor = \"invalid_cursor\"\n\tGroupsListContinueErrorOther         = \"other\"\n)\n\n// GroupsListResult : has no documentation (yet)\ntype GroupsListResult struct {\n\t// Groups : has no documentation (yet)\n\tGroups []*team_common.GroupSummary `json:\"groups\"`\n\t// Cursor : Pass the cursor into `groupsListContinue` to obtain the\n\t// additional groups.\n\tCursor string `json:\"cursor\"`\n\t// HasMore : Is true if there are additional groups that have not been\n\t// returned yet. An additional call to `groupsListContinue` can retrieve\n\t// them.\n\tHasMore bool `json:\"has_more\"`\n}\n\n// NewGroupsListResult returns a new GroupsListResult instance\nfunc NewGroupsListResult(Groups []*team_common.GroupSummary, Cursor string, HasMore bool) *GroupsListResult {\n\ts := new(GroupsListResult)\n\ts.Groups = Groups\n\ts.Cursor = Cursor\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// GroupsMembersListArg : has no documentation (yet)\ntype GroupsMembersListArg struct {\n\t// Group : The group whose members are to be listed.\n\tGroup *GroupSelector `json:\"group\"`\n\t// Limit : Number of results to return per call.\n\tLimit uint32 `json:\"limit\"`\n}\n\n// NewGroupsMembersListArg returns a new GroupsMembersListArg instance\nfunc NewGroupsMembersListArg(Group *GroupSelector) *GroupsMembersListArg {\n\ts := new(GroupsMembersListArg)\n\ts.Group = Group\n\ts.Limit = 1000\n\treturn s\n}\n\n// GroupsMembersListContinueArg : has no documentation (yet)\ntype GroupsMembersListContinueArg struct {\n\t// Cursor : Indicates from what point to get the next set of groups.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewGroupsMembersListContinueArg returns a new GroupsMembersListContinueArg instance\nfunc NewGroupsMembersListContinueArg(Cursor string) *GroupsMembersListContinueArg {\n\ts := new(GroupsMembersListContinueArg)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// GroupsMembersListContinueError : has no documentation (yet)\ntype GroupsMembersListContinueError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupsMembersListContinueError\nconst (\n\tGroupsMembersListContinueErrorInvalidCursor = \"invalid_cursor\"\n\tGroupsMembersListContinueErrorOther         = \"other\"\n)\n\n// GroupsMembersListResult : has no documentation (yet)\ntype GroupsMembersListResult struct {\n\t// Members : has no documentation (yet)\n\tMembers []*GroupMemberInfo `json:\"members\"`\n\t// Cursor : Pass the cursor into `groupsMembersListContinue` to obtain\n\t// additional group members.\n\tCursor string `json:\"cursor\"`\n\t// HasMore : Is true if there are additional group members that have not\n\t// been returned yet. An additional call to `groupsMembersListContinue` can\n\t// retrieve them.\n\tHasMore bool `json:\"has_more\"`\n}\n\n// NewGroupsMembersListResult returns a new GroupsMembersListResult instance\nfunc NewGroupsMembersListResult(Members []*GroupMemberInfo, Cursor string, HasMore bool) *GroupsMembersListResult {\n\ts := new(GroupsMembersListResult)\n\ts.Members = Members\n\ts.Cursor = Cursor\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// GroupsPollError : has no documentation (yet)\ntype GroupsPollError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupsPollError\nconst (\n\tGroupsPollErrorInvalidAsyncJobId = \"invalid_async_job_id\"\n\tGroupsPollErrorInternalError     = \"internal_error\"\n\tGroupsPollErrorOther             = \"other\"\n\tGroupsPollErrorAccessDenied      = \"access_denied\"\n)\n\n// GroupsSelector : Argument for selecting a list of groups, either by\n// group_ids, or external group IDs.\ntype GroupsSelector struct {\n\tdropbox.Tagged\n\t// GroupIds : List of group IDs.\n\tGroupIds []string `json:\"group_ids,omitempty\"`\n\t// GroupExternalIds : List of external IDs of groups.\n\tGroupExternalIds []string `json:\"group_external_ids,omitempty\"`\n}\n\n// Valid tag values for GroupsSelector\nconst (\n\tGroupsSelectorGroupIds         = \"group_ids\"\n\tGroupsSelectorGroupExternalIds = \"group_external_ids\"\n)\n\n// UnmarshalJSON deserializes into a GroupsSelector instance\nfunc (u *GroupsSelector) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// GroupIds : List of group IDs.\n\t\tGroupIds []string `json:\"group_ids,omitempty\"`\n\t\t// GroupExternalIds : List of external IDs of groups.\n\t\tGroupExternalIds []string `json:\"group_external_ids,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"group_ids\":\n\t\tu.GroupIds = w.GroupIds\n\n\tcase \"group_external_ids\":\n\t\tu.GroupExternalIds = w.GroupExternalIds\n\n\t}\n\treturn nil\n}\n\n// HasTeamFileEventsValue : The value for `Feature.has_team_file_events`.\ntype HasTeamFileEventsValue struct {\n\tdropbox.Tagged\n\t// Enabled : Does this team have file events.\n\tEnabled bool `json:\"enabled,omitempty\"`\n}\n\n// Valid tag values for HasTeamFileEventsValue\nconst (\n\tHasTeamFileEventsValueEnabled = \"enabled\"\n\tHasTeamFileEventsValueOther   = \"other\"\n)\n\n// UnmarshalJSON deserializes into a HasTeamFileEventsValue instance\nfunc (u *HasTeamFileEventsValue) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Enabled : Does this team have file events.\n\t\tEnabled bool `json:\"enabled,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"enabled\":\n\t\tu.Enabled = w.Enabled\n\n\t}\n\treturn nil\n}\n\n// HasTeamSelectiveSyncValue : The value for `Feature.has_team_selective_sync`.\ntype HasTeamSelectiveSyncValue struct {\n\tdropbox.Tagged\n\t// HasTeamSelectiveSync : Does this team have team selective sync enabled.\n\tHasTeamSelectiveSync bool `json:\"has_team_selective_sync,omitempty\"`\n}\n\n// Valid tag values for HasTeamSelectiveSyncValue\nconst (\n\tHasTeamSelectiveSyncValueHasTeamSelectiveSync = \"has_team_selective_sync\"\n\tHasTeamSelectiveSyncValueOther                = \"other\"\n)\n\n// UnmarshalJSON deserializes into a HasTeamSelectiveSyncValue instance\nfunc (u *HasTeamSelectiveSyncValue) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// HasTeamSelectiveSync : Does this team have team selective sync\n\t\t// enabled.\n\t\tHasTeamSelectiveSync bool `json:\"has_team_selective_sync,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"has_team_selective_sync\":\n\t\tu.HasTeamSelectiveSync = w.HasTeamSelectiveSync\n\n\t}\n\treturn nil\n}\n\n// HasTeamSharedDropboxValue : The value for `Feature.has_team_shared_dropbox`.\ntype HasTeamSharedDropboxValue struct {\n\tdropbox.Tagged\n\t// HasTeamSharedDropbox : Does this team have a shared team root.\n\tHasTeamSharedDropbox bool `json:\"has_team_shared_dropbox,omitempty\"`\n}\n\n// Valid tag values for HasTeamSharedDropboxValue\nconst (\n\tHasTeamSharedDropboxValueHasTeamSharedDropbox = \"has_team_shared_dropbox\"\n\tHasTeamSharedDropboxValueOther                = \"other\"\n)\n\n// UnmarshalJSON deserializes into a HasTeamSharedDropboxValue instance\nfunc (u *HasTeamSharedDropboxValue) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// HasTeamSharedDropbox : Does this team have a shared team root.\n\t\tHasTeamSharedDropbox bool `json:\"has_team_shared_dropbox,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"has_team_shared_dropbox\":\n\t\tu.HasTeamSharedDropbox = w.HasTeamSharedDropbox\n\n\t}\n\treturn nil\n}\n\n// LegalHoldHeldRevisionMetadata : has no documentation (yet)\ntype LegalHoldHeldRevisionMetadata struct {\n\t// NewFilename : The held revision filename.\n\tNewFilename string `json:\"new_filename\"`\n\t// OriginalRevisionId : The id of the held revision.\n\tOriginalRevisionId string `json:\"original_revision_id\"`\n\t// OriginalFilePath : The original path of the held revision.\n\tOriginalFilePath string `json:\"original_file_path\"`\n\t// ServerModified : The last time the file was modified on Dropbox.\n\tServerModified time.Time `json:\"server_modified\"`\n\t// AuthorMemberId : The member id of the revision's author.\n\tAuthorMemberId string `json:\"author_member_id\"`\n\t// AuthorMemberStatus : The member status of the revision's author.\n\tAuthorMemberStatus *TeamMemberStatus `json:\"author_member_status\"`\n\t// AuthorEmail : The email address of the held revision author.\n\tAuthorEmail string `json:\"author_email\"`\n\t// FileType : The type of the held revision's file.\n\tFileType string `json:\"file_type\"`\n\t// Size : The file size in bytes.\n\tSize uint64 `json:\"size\"`\n\t// ContentHash : A hash of the file content. This field can be used to\n\t// verify data integrity. For more information see our `Content hash`\n\t// <https://www.dropbox.com/developers/reference/content-hash> page.\n\tContentHash string `json:\"content_hash\"`\n}\n\n// NewLegalHoldHeldRevisionMetadata returns a new LegalHoldHeldRevisionMetadata instance\nfunc NewLegalHoldHeldRevisionMetadata(NewFilename string, OriginalRevisionId string, OriginalFilePath string, ServerModified time.Time, AuthorMemberId string, AuthorMemberStatus *TeamMemberStatus, AuthorEmail string, FileType string, Size uint64, ContentHash string) *LegalHoldHeldRevisionMetadata {\n\ts := new(LegalHoldHeldRevisionMetadata)\n\ts.NewFilename = NewFilename\n\ts.OriginalRevisionId = OriginalRevisionId\n\ts.OriginalFilePath = OriginalFilePath\n\ts.ServerModified = ServerModified\n\ts.AuthorMemberId = AuthorMemberId\n\ts.AuthorMemberStatus = AuthorMemberStatus\n\ts.AuthorEmail = AuthorEmail\n\ts.FileType = FileType\n\ts.Size = Size\n\ts.ContentHash = ContentHash\n\treturn s\n}\n\n// LegalHoldPolicy : has no documentation (yet)\ntype LegalHoldPolicy struct {\n\t// Id : The legal hold id.\n\tId string `json:\"id\"`\n\t// Name : Policy name.\n\tName string `json:\"name\"`\n\t// Description : A description of the legal hold policy.\n\tDescription string `json:\"description,omitempty\"`\n\t// ActivationTime : The time at which the legal hold was activated.\n\tActivationTime *time.Time `json:\"activation_time,omitempty\"`\n\t// Members : Team members IDs and number of permanently deleted members\n\t// under hold.\n\tMembers *MembersInfo `json:\"members\"`\n\t// Status : The current state of the hold.\n\tStatus *LegalHoldStatus `json:\"status\"`\n\t// StartDate : Start date of the legal hold policy.\n\tStartDate time.Time `json:\"start_date\"`\n\t// EndDate : End date of the legal hold policy.\n\tEndDate *time.Time `json:\"end_date,omitempty\"`\n}\n\n// NewLegalHoldPolicy returns a new LegalHoldPolicy instance\nfunc NewLegalHoldPolicy(Id string, Name string, Members *MembersInfo, Status *LegalHoldStatus, StartDate time.Time) *LegalHoldPolicy {\n\ts := new(LegalHoldPolicy)\n\ts.Id = Id\n\ts.Name = Name\n\ts.Members = Members\n\ts.Status = Status\n\ts.StartDate = StartDate\n\treturn s\n}\n\n// LegalHoldStatus : has no documentation (yet)\ntype LegalHoldStatus struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LegalHoldStatus\nconst (\n\tLegalHoldStatusActive     = \"active\"\n\tLegalHoldStatusReleased   = \"released\"\n\tLegalHoldStatusActivating = \"activating\"\n\tLegalHoldStatusUpdating   = \"updating\"\n\tLegalHoldStatusExporting  = \"exporting\"\n\tLegalHoldStatusReleasing  = \"releasing\"\n\tLegalHoldStatusOther      = \"other\"\n)\n\n// LegalHoldsError : has no documentation (yet)\ntype LegalHoldsError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LegalHoldsError\nconst (\n\tLegalHoldsErrorUnknownLegalHoldError   = \"unknown_legal_hold_error\"\n\tLegalHoldsErrorInsufficientPermissions = \"insufficient_permissions\"\n\tLegalHoldsErrorOther                   = \"other\"\n)\n\n// LegalHoldsGetPolicyArg : has no documentation (yet)\ntype LegalHoldsGetPolicyArg struct {\n\t// Id : The legal hold Id.\n\tId string `json:\"id\"`\n}\n\n// NewLegalHoldsGetPolicyArg returns a new LegalHoldsGetPolicyArg instance\nfunc NewLegalHoldsGetPolicyArg(Id string) *LegalHoldsGetPolicyArg {\n\ts := new(LegalHoldsGetPolicyArg)\n\ts.Id = Id\n\treturn s\n}\n\n// LegalHoldsGetPolicyError : has no documentation (yet)\ntype LegalHoldsGetPolicyError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LegalHoldsGetPolicyError\nconst (\n\tLegalHoldsGetPolicyErrorUnknownLegalHoldError   = \"unknown_legal_hold_error\"\n\tLegalHoldsGetPolicyErrorInsufficientPermissions = \"insufficient_permissions\"\n\tLegalHoldsGetPolicyErrorOther                   = \"other\"\n\tLegalHoldsGetPolicyErrorLegalHoldPolicyNotFound = \"legal_hold_policy_not_found\"\n)\n\n// LegalHoldsListHeldRevisionResult : has no documentation (yet)\ntype LegalHoldsListHeldRevisionResult struct {\n\t// Entries : List of file entries that under the hold.\n\tEntries []*LegalHoldHeldRevisionMetadata `json:\"entries\"`\n\t// Cursor : The cursor idicates where to continue reading file metadata\n\t// entries for the next API call. When there are no more entries, the cursor\n\t// will return none. Pass the cursor into\n\t// /2/team/legal_holds/list_held_revisions/continue.\n\tCursor string `json:\"cursor,omitempty\"`\n\t// HasMore : True if there are more file entries that haven't been returned.\n\t// You can retrieve them with a call to\n\t// /legal_holds/list_held_revisions_continue.\n\tHasMore bool `json:\"has_more\"`\n}\n\n// NewLegalHoldsListHeldRevisionResult returns a new LegalHoldsListHeldRevisionResult instance\nfunc NewLegalHoldsListHeldRevisionResult(Entries []*LegalHoldHeldRevisionMetadata, HasMore bool) *LegalHoldsListHeldRevisionResult {\n\ts := new(LegalHoldsListHeldRevisionResult)\n\ts.Entries = Entries\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// LegalHoldsListHeldRevisionsArg : has no documentation (yet)\ntype LegalHoldsListHeldRevisionsArg struct {\n\t// Id : The legal hold Id.\n\tId string `json:\"id\"`\n}\n\n// NewLegalHoldsListHeldRevisionsArg returns a new LegalHoldsListHeldRevisionsArg instance\nfunc NewLegalHoldsListHeldRevisionsArg(Id string) *LegalHoldsListHeldRevisionsArg {\n\ts := new(LegalHoldsListHeldRevisionsArg)\n\ts.Id = Id\n\treturn s\n}\n\n// LegalHoldsListHeldRevisionsContinueArg : has no documentation (yet)\ntype LegalHoldsListHeldRevisionsContinueArg struct {\n\t// Id : The legal hold Id.\n\tId string `json:\"id\"`\n\t// Cursor : The cursor idicates where to continue reading file metadata\n\t// entries for the next API call. When there are no more entries, the cursor\n\t// will return none.\n\tCursor string `json:\"cursor,omitempty\"`\n}\n\n// NewLegalHoldsListHeldRevisionsContinueArg returns a new LegalHoldsListHeldRevisionsContinueArg instance\nfunc NewLegalHoldsListHeldRevisionsContinueArg(Id string) *LegalHoldsListHeldRevisionsContinueArg {\n\ts := new(LegalHoldsListHeldRevisionsContinueArg)\n\ts.Id = Id\n\treturn s\n}\n\n// LegalHoldsListHeldRevisionsContinueError : has no documentation (yet)\ntype LegalHoldsListHeldRevisionsContinueError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LegalHoldsListHeldRevisionsContinueError\nconst (\n\tLegalHoldsListHeldRevisionsContinueErrorUnknownLegalHoldError = \"unknown_legal_hold_error\"\n\tLegalHoldsListHeldRevisionsContinueErrorTransientError        = \"transient_error\"\n\tLegalHoldsListHeldRevisionsContinueErrorReset                 = \"reset\"\n\tLegalHoldsListHeldRevisionsContinueErrorOther                 = \"other\"\n)\n\n// LegalHoldsListHeldRevisionsError : has no documentation (yet)\ntype LegalHoldsListHeldRevisionsError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LegalHoldsListHeldRevisionsError\nconst (\n\tLegalHoldsListHeldRevisionsErrorUnknownLegalHoldError   = \"unknown_legal_hold_error\"\n\tLegalHoldsListHeldRevisionsErrorInsufficientPermissions = \"insufficient_permissions\"\n\tLegalHoldsListHeldRevisionsErrorOther                   = \"other\"\n\tLegalHoldsListHeldRevisionsErrorTransientError          = \"transient_error\"\n\tLegalHoldsListHeldRevisionsErrorLegalHoldStillEmpty     = \"legal_hold_still_empty\"\n\tLegalHoldsListHeldRevisionsErrorInactiveLegalHold       = \"inactive_legal_hold\"\n)\n\n// LegalHoldsListPoliciesArg : has no documentation (yet)\ntype LegalHoldsListPoliciesArg struct {\n\t// IncludeReleased : Whether to return holds that were released.\n\tIncludeReleased bool `json:\"include_released\"`\n}\n\n// NewLegalHoldsListPoliciesArg returns a new LegalHoldsListPoliciesArg instance\nfunc NewLegalHoldsListPoliciesArg() *LegalHoldsListPoliciesArg {\n\ts := new(LegalHoldsListPoliciesArg)\n\ts.IncludeReleased = false\n\treturn s\n}\n\n// LegalHoldsListPoliciesError : has no documentation (yet)\ntype LegalHoldsListPoliciesError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LegalHoldsListPoliciesError\nconst (\n\tLegalHoldsListPoliciesErrorUnknownLegalHoldError   = \"unknown_legal_hold_error\"\n\tLegalHoldsListPoliciesErrorInsufficientPermissions = \"insufficient_permissions\"\n\tLegalHoldsListPoliciesErrorOther                   = \"other\"\n\tLegalHoldsListPoliciesErrorTransientError          = \"transient_error\"\n)\n\n// LegalHoldsListPoliciesResult : has no documentation (yet)\ntype LegalHoldsListPoliciesResult struct {\n\t// Policies : has no documentation (yet)\n\tPolicies []*LegalHoldPolicy `json:\"policies\"`\n}\n\n// NewLegalHoldsListPoliciesResult returns a new LegalHoldsListPoliciesResult instance\nfunc NewLegalHoldsListPoliciesResult(Policies []*LegalHoldPolicy) *LegalHoldsListPoliciesResult {\n\ts := new(LegalHoldsListPoliciesResult)\n\ts.Policies = Policies\n\treturn s\n}\n\n// LegalHoldsPolicyCreateArg : has no documentation (yet)\ntype LegalHoldsPolicyCreateArg struct {\n\t// Name : Policy name.\n\tName string `json:\"name\"`\n\t// Description : A description of the legal hold policy.\n\tDescription string `json:\"description,omitempty\"`\n\t// Members : List of team member IDs added to the hold.\n\tMembers []string `json:\"members\"`\n\t// StartDate : start date of the legal hold policy.\n\tStartDate *time.Time `json:\"start_date,omitempty\"`\n\t// EndDate : end date of the legal hold policy.\n\tEndDate *time.Time `json:\"end_date,omitempty\"`\n}\n\n// NewLegalHoldsPolicyCreateArg returns a new LegalHoldsPolicyCreateArg instance\nfunc NewLegalHoldsPolicyCreateArg(Name string, Members []string) *LegalHoldsPolicyCreateArg {\n\ts := new(LegalHoldsPolicyCreateArg)\n\ts.Name = Name\n\ts.Members = Members\n\treturn s\n}\n\n// LegalHoldsPolicyCreateError : has no documentation (yet)\ntype LegalHoldsPolicyCreateError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LegalHoldsPolicyCreateError\nconst (\n\tLegalHoldsPolicyCreateErrorUnknownLegalHoldError                          = \"unknown_legal_hold_error\"\n\tLegalHoldsPolicyCreateErrorInsufficientPermissions                        = \"insufficient_permissions\"\n\tLegalHoldsPolicyCreateErrorOther                                          = \"other\"\n\tLegalHoldsPolicyCreateErrorStartDateIsLaterThanEndDate                    = \"start_date_is_later_than_end_date\"\n\tLegalHoldsPolicyCreateErrorEmptyMembersList                               = \"empty_members_list\"\n\tLegalHoldsPolicyCreateErrorInvalidMembers                                 = \"invalid_members\"\n\tLegalHoldsPolicyCreateErrorNumberOfUsersOnHoldIsGreaterThanHoldLimitation = \"number_of_users_on_hold_is_greater_than_hold_limitation\"\n\tLegalHoldsPolicyCreateErrorTransientError                                 = \"transient_error\"\n\tLegalHoldsPolicyCreateErrorNameMustBeUnique                               = \"name_must_be_unique\"\n\tLegalHoldsPolicyCreateErrorTeamExceededLegalHoldQuota                     = \"team_exceeded_legal_hold_quota\"\n\tLegalHoldsPolicyCreateErrorInvalidDate                                    = \"invalid_date\"\n)\n\n// LegalHoldsPolicyReleaseArg : has no documentation (yet)\ntype LegalHoldsPolicyReleaseArg struct {\n\t// Id : The legal hold Id.\n\tId string `json:\"id\"`\n}\n\n// NewLegalHoldsPolicyReleaseArg returns a new LegalHoldsPolicyReleaseArg instance\nfunc NewLegalHoldsPolicyReleaseArg(Id string) *LegalHoldsPolicyReleaseArg {\n\ts := new(LegalHoldsPolicyReleaseArg)\n\ts.Id = Id\n\treturn s\n}\n\n// LegalHoldsPolicyReleaseError : has no documentation (yet)\ntype LegalHoldsPolicyReleaseError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LegalHoldsPolicyReleaseError\nconst (\n\tLegalHoldsPolicyReleaseErrorUnknownLegalHoldError               = \"unknown_legal_hold_error\"\n\tLegalHoldsPolicyReleaseErrorInsufficientPermissions             = \"insufficient_permissions\"\n\tLegalHoldsPolicyReleaseErrorOther                               = \"other\"\n\tLegalHoldsPolicyReleaseErrorLegalHoldPerformingAnotherOperation = \"legal_hold_performing_another_operation\"\n\tLegalHoldsPolicyReleaseErrorLegalHoldAlreadyReleasing           = \"legal_hold_already_releasing\"\n\tLegalHoldsPolicyReleaseErrorLegalHoldPolicyNotFound             = \"legal_hold_policy_not_found\"\n)\n\n// LegalHoldsPolicyUpdateArg : has no documentation (yet)\ntype LegalHoldsPolicyUpdateArg struct {\n\t// Id : The legal hold Id.\n\tId string `json:\"id\"`\n\t// Name : Policy new name.\n\tName string `json:\"name,omitempty\"`\n\t// Description : Policy new description.\n\tDescription string `json:\"description,omitempty\"`\n\t// Members : List of team member IDs to apply the policy on.\n\tMembers []string `json:\"members,omitempty\"`\n}\n\n// NewLegalHoldsPolicyUpdateArg returns a new LegalHoldsPolicyUpdateArg instance\nfunc NewLegalHoldsPolicyUpdateArg(Id string) *LegalHoldsPolicyUpdateArg {\n\ts := new(LegalHoldsPolicyUpdateArg)\n\ts.Id = Id\n\treturn s\n}\n\n// LegalHoldsPolicyUpdateError : has no documentation (yet)\ntype LegalHoldsPolicyUpdateError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LegalHoldsPolicyUpdateError\nconst (\n\tLegalHoldsPolicyUpdateErrorUnknownLegalHoldError                          = \"unknown_legal_hold_error\"\n\tLegalHoldsPolicyUpdateErrorInsufficientPermissions                        = \"insufficient_permissions\"\n\tLegalHoldsPolicyUpdateErrorOther                                          = \"other\"\n\tLegalHoldsPolicyUpdateErrorTransientError                                 = \"transient_error\"\n\tLegalHoldsPolicyUpdateErrorInactiveLegalHold                              = \"inactive_legal_hold\"\n\tLegalHoldsPolicyUpdateErrorLegalHoldPerformingAnotherOperation            = \"legal_hold_performing_another_operation\"\n\tLegalHoldsPolicyUpdateErrorInvalidMembers                                 = \"invalid_members\"\n\tLegalHoldsPolicyUpdateErrorNumberOfUsersOnHoldIsGreaterThanHoldLimitation = \"number_of_users_on_hold_is_greater_than_hold_limitation\"\n\tLegalHoldsPolicyUpdateErrorEmptyMembersList                               = \"empty_members_list\"\n\tLegalHoldsPolicyUpdateErrorNameMustBeUnique                               = \"name_must_be_unique\"\n\tLegalHoldsPolicyUpdateErrorLegalHoldPolicyNotFound                        = \"legal_hold_policy_not_found\"\n)\n\n// ListMemberAppsArg : has no documentation (yet)\ntype ListMemberAppsArg struct {\n\t// TeamMemberId : The team member id.\n\tTeamMemberId string `json:\"team_member_id\"`\n}\n\n// NewListMemberAppsArg returns a new ListMemberAppsArg instance\nfunc NewListMemberAppsArg(TeamMemberId string) *ListMemberAppsArg {\n\ts := new(ListMemberAppsArg)\n\ts.TeamMemberId = TeamMemberId\n\treturn s\n}\n\n// ListMemberAppsError : Error returned by `linkedAppsListMemberLinkedApps`.\ntype ListMemberAppsError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ListMemberAppsError\nconst (\n\tListMemberAppsErrorMemberNotFound = \"member_not_found\"\n\tListMemberAppsErrorOther          = \"other\"\n)\n\n// ListMemberAppsResult : has no documentation (yet)\ntype ListMemberAppsResult struct {\n\t// LinkedApiApps : List of third party applications linked by this team\n\t// member.\n\tLinkedApiApps []*ApiApp `json:\"linked_api_apps\"`\n}\n\n// NewListMemberAppsResult returns a new ListMemberAppsResult instance\nfunc NewListMemberAppsResult(LinkedApiApps []*ApiApp) *ListMemberAppsResult {\n\ts := new(ListMemberAppsResult)\n\ts.LinkedApiApps = LinkedApiApps\n\treturn s\n}\n\n// ListMemberDevicesArg : has no documentation (yet)\ntype ListMemberDevicesArg struct {\n\t// TeamMemberId : The team's member id.\n\tTeamMemberId string `json:\"team_member_id\"`\n\t// IncludeWebSessions : Whether to list web sessions of the team's member.\n\tIncludeWebSessions bool `json:\"include_web_sessions\"`\n\t// IncludeDesktopClients : Whether to list linked desktop devices of the\n\t// team's member.\n\tIncludeDesktopClients bool `json:\"include_desktop_clients\"`\n\t// IncludeMobileClients : Whether to list linked mobile devices of the\n\t// team's member.\n\tIncludeMobileClients bool `json:\"include_mobile_clients\"`\n}\n\n// NewListMemberDevicesArg returns a new ListMemberDevicesArg instance\nfunc NewListMemberDevicesArg(TeamMemberId string) *ListMemberDevicesArg {\n\ts := new(ListMemberDevicesArg)\n\ts.TeamMemberId = TeamMemberId\n\ts.IncludeWebSessions = true\n\ts.IncludeDesktopClients = true\n\ts.IncludeMobileClients = true\n\treturn s\n}\n\n// ListMemberDevicesError : has no documentation (yet)\ntype ListMemberDevicesError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ListMemberDevicesError\nconst (\n\tListMemberDevicesErrorMemberNotFound = \"member_not_found\"\n\tListMemberDevicesErrorOther          = \"other\"\n)\n\n// ListMemberDevicesResult : has no documentation (yet)\ntype ListMemberDevicesResult struct {\n\t// ActiveWebSessions : List of web sessions made by this team member.\n\tActiveWebSessions []*ActiveWebSession `json:\"active_web_sessions,omitempty\"`\n\t// DesktopClientSessions : List of desktop clients used by this team member.\n\tDesktopClientSessions []*DesktopClientSession `json:\"desktop_client_sessions,omitempty\"`\n\t// MobileClientSessions : List of mobile client used by this team member.\n\tMobileClientSessions []*MobileClientSession `json:\"mobile_client_sessions,omitempty\"`\n}\n\n// NewListMemberDevicesResult returns a new ListMemberDevicesResult instance\nfunc NewListMemberDevicesResult() *ListMemberDevicesResult {\n\ts := new(ListMemberDevicesResult)\n\treturn s\n}\n\n// ListMembersAppsArg : Arguments for `linkedAppsListMembersLinkedApps`.\ntype ListMembersAppsArg struct {\n\t// Cursor : At the first call to the `linkedAppsListMembersLinkedApps` the\n\t// cursor shouldn't be passed. Then, if the result of the call includes a\n\t// cursor, the following requests should include the received cursors in\n\t// order to receive the next sub list of the team applications.\n\tCursor string `json:\"cursor,omitempty\"`\n}\n\n// NewListMembersAppsArg returns a new ListMembersAppsArg instance\nfunc NewListMembersAppsArg() *ListMembersAppsArg {\n\ts := new(ListMembersAppsArg)\n\treturn s\n}\n\n// ListMembersAppsError : Error returned by `linkedAppsListMembersLinkedApps`.\ntype ListMembersAppsError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ListMembersAppsError\nconst (\n\tListMembersAppsErrorReset = \"reset\"\n\tListMembersAppsErrorOther = \"other\"\n)\n\n// ListMembersAppsResult : Information returned by\n// `linkedAppsListMembersLinkedApps`.\ntype ListMembersAppsResult struct {\n\t// Apps : The linked applications of each member of the team.\n\tApps []*MemberLinkedApps `json:\"apps\"`\n\t// HasMore : If true, then there are more apps available. Pass the cursor to\n\t// `linkedAppsListMembersLinkedApps` to retrieve the rest.\n\tHasMore bool `json:\"has_more\"`\n\t// Cursor : Pass the cursor into `linkedAppsListMembersLinkedApps` to\n\t// receive the next sub list of team's applications.\n\tCursor string `json:\"cursor,omitempty\"`\n}\n\n// NewListMembersAppsResult returns a new ListMembersAppsResult instance\nfunc NewListMembersAppsResult(Apps []*MemberLinkedApps, HasMore bool) *ListMembersAppsResult {\n\ts := new(ListMembersAppsResult)\n\ts.Apps = Apps\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// ListMembersDevicesArg : has no documentation (yet)\ntype ListMembersDevicesArg struct {\n\t// Cursor : At the first call to the `devicesListMembersDevices` the cursor\n\t// shouldn't be passed. Then, if the result of the call includes a cursor,\n\t// the following requests should include the received cursors in order to\n\t// receive the next sub list of team devices.\n\tCursor string `json:\"cursor,omitempty\"`\n\t// IncludeWebSessions : Whether to list web sessions of the team members.\n\tIncludeWebSessions bool `json:\"include_web_sessions\"`\n\t// IncludeDesktopClients : Whether to list desktop clients of the team\n\t// members.\n\tIncludeDesktopClients bool `json:\"include_desktop_clients\"`\n\t// IncludeMobileClients : Whether to list mobile clients of the team\n\t// members.\n\tIncludeMobileClients bool `json:\"include_mobile_clients\"`\n}\n\n// NewListMembersDevicesArg returns a new ListMembersDevicesArg instance\nfunc NewListMembersDevicesArg() *ListMembersDevicesArg {\n\ts := new(ListMembersDevicesArg)\n\ts.IncludeWebSessions = true\n\ts.IncludeDesktopClients = true\n\ts.IncludeMobileClients = true\n\treturn s\n}\n\n// ListMembersDevicesError : has no documentation (yet)\ntype ListMembersDevicesError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ListMembersDevicesError\nconst (\n\tListMembersDevicesErrorReset = \"reset\"\n\tListMembersDevicesErrorOther = \"other\"\n)\n\n// ListMembersDevicesResult : has no documentation (yet)\ntype ListMembersDevicesResult struct {\n\t// Devices : The devices of each member of the team.\n\tDevices []*MemberDevices `json:\"devices\"`\n\t// HasMore : If true, then there are more devices available. Pass the cursor\n\t// to `devicesListMembersDevices` to retrieve the rest.\n\tHasMore bool `json:\"has_more\"`\n\t// Cursor : Pass the cursor into `devicesListMembersDevices` to receive the\n\t// next sub list of team's devices.\n\tCursor string `json:\"cursor,omitempty\"`\n}\n\n// NewListMembersDevicesResult returns a new ListMembersDevicesResult instance\nfunc NewListMembersDevicesResult(Devices []*MemberDevices, HasMore bool) *ListMembersDevicesResult {\n\ts := new(ListMembersDevicesResult)\n\ts.Devices = Devices\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// ListTeamAppsArg : Arguments for `linkedAppsListTeamLinkedApps`.\ntype ListTeamAppsArg struct {\n\t// Cursor : At the first call to the `linkedAppsListTeamLinkedApps` the\n\t// cursor shouldn't be passed. Then, if the result of the call includes a\n\t// cursor, the following requests should include the received cursors in\n\t// order to receive the next sub list of the team applications.\n\tCursor string `json:\"cursor,omitempty\"`\n}\n\n// NewListTeamAppsArg returns a new ListTeamAppsArg instance\nfunc NewListTeamAppsArg() *ListTeamAppsArg {\n\ts := new(ListTeamAppsArg)\n\treturn s\n}\n\n// ListTeamAppsError : Error returned by `linkedAppsListTeamLinkedApps`.\ntype ListTeamAppsError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ListTeamAppsError\nconst (\n\tListTeamAppsErrorReset = \"reset\"\n\tListTeamAppsErrorOther = \"other\"\n)\n\n// ListTeamAppsResult : Information returned by `linkedAppsListTeamLinkedApps`.\ntype ListTeamAppsResult struct {\n\t// Apps : The linked applications of each member of the team.\n\tApps []*MemberLinkedApps `json:\"apps\"`\n\t// HasMore : If true, then there are more apps available. Pass the cursor to\n\t// `linkedAppsListTeamLinkedApps` to retrieve the rest.\n\tHasMore bool `json:\"has_more\"`\n\t// Cursor : Pass the cursor into `linkedAppsListTeamLinkedApps` to receive\n\t// the next sub list of team's applications.\n\tCursor string `json:\"cursor,omitempty\"`\n}\n\n// NewListTeamAppsResult returns a new ListTeamAppsResult instance\nfunc NewListTeamAppsResult(Apps []*MemberLinkedApps, HasMore bool) *ListTeamAppsResult {\n\ts := new(ListTeamAppsResult)\n\ts.Apps = Apps\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// ListTeamDevicesArg : has no documentation (yet)\ntype ListTeamDevicesArg struct {\n\t// Cursor : At the first call to the `devicesListTeamDevices` the cursor\n\t// shouldn't be passed. Then, if the result of the call includes a cursor,\n\t// the following requests should include the received cursors in order to\n\t// receive the next sub list of team devices.\n\tCursor string `json:\"cursor,omitempty\"`\n\t// IncludeWebSessions : Whether to list web sessions of the team members.\n\tIncludeWebSessions bool `json:\"include_web_sessions\"`\n\t// IncludeDesktopClients : Whether to list desktop clients of the team\n\t// members.\n\tIncludeDesktopClients bool `json:\"include_desktop_clients\"`\n\t// IncludeMobileClients : Whether to list mobile clients of the team\n\t// members.\n\tIncludeMobileClients bool `json:\"include_mobile_clients\"`\n}\n\n// NewListTeamDevicesArg returns a new ListTeamDevicesArg instance\nfunc NewListTeamDevicesArg() *ListTeamDevicesArg {\n\ts := new(ListTeamDevicesArg)\n\ts.IncludeWebSessions = true\n\ts.IncludeDesktopClients = true\n\ts.IncludeMobileClients = true\n\treturn s\n}\n\n// ListTeamDevicesError : has no documentation (yet)\ntype ListTeamDevicesError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ListTeamDevicesError\nconst (\n\tListTeamDevicesErrorReset = \"reset\"\n\tListTeamDevicesErrorOther = \"other\"\n)\n\n// ListTeamDevicesResult : has no documentation (yet)\ntype ListTeamDevicesResult struct {\n\t// Devices : The devices of each member of the team.\n\tDevices []*MemberDevices `json:\"devices\"`\n\t// HasMore : If true, then there are more devices available. Pass the cursor\n\t// to `devicesListTeamDevices` to retrieve the rest.\n\tHasMore bool `json:\"has_more\"`\n\t// Cursor : Pass the cursor into `devicesListTeamDevices` to receive the\n\t// next sub list of team's devices.\n\tCursor string `json:\"cursor,omitempty\"`\n}\n\n// NewListTeamDevicesResult returns a new ListTeamDevicesResult instance\nfunc NewListTeamDevicesResult(Devices []*MemberDevices, HasMore bool) *ListTeamDevicesResult {\n\ts := new(ListTeamDevicesResult)\n\ts.Devices = Devices\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// MemberAccess : Specify access type a member should have when joined to a\n// group.\ntype MemberAccess struct {\n\t// User : Identity of a user.\n\tUser *UserSelectorArg `json:\"user\"`\n\t// AccessType : Access type.\n\tAccessType *GroupAccessType `json:\"access_type\"`\n}\n\n// NewMemberAccess returns a new MemberAccess instance\nfunc NewMemberAccess(User *UserSelectorArg, AccessType *GroupAccessType) *MemberAccess {\n\ts := new(MemberAccess)\n\ts.User = User\n\ts.AccessType = AccessType\n\treturn s\n}\n\n// MemberAddArgBase : has no documentation (yet)\ntype MemberAddArgBase struct {\n\t// MemberEmail : has no documentation (yet)\n\tMemberEmail string `json:\"member_email\"`\n\t// MemberGivenName : Member's first name.\n\tMemberGivenName string `json:\"member_given_name,omitempty\"`\n\t// MemberSurname : Member's last name.\n\tMemberSurname string `json:\"member_surname,omitempty\"`\n\t// MemberExternalId : External ID for member.\n\tMemberExternalId string `json:\"member_external_id,omitempty\"`\n\t// MemberPersistentId : Persistent ID for member. This field is only\n\t// available to teams using persistent ID SAML configuration.\n\tMemberPersistentId string `json:\"member_persistent_id,omitempty\"`\n\t// SendWelcomeEmail : Whether to send a welcome email to the member. If\n\t// send_welcome_email is false, no email invitation will be sent to the\n\t// user. This may be useful for apps using single sign-on (SSO) flows for\n\t// onboarding that want to handle announcements themselves.\n\tSendWelcomeEmail bool `json:\"send_welcome_email\"`\n\t// IsDirectoryRestricted : Whether a user is directory restricted.\n\tIsDirectoryRestricted bool `json:\"is_directory_restricted,omitempty\"`\n}\n\n// NewMemberAddArgBase returns a new MemberAddArgBase instance\nfunc NewMemberAddArgBase(MemberEmail string) *MemberAddArgBase {\n\ts := new(MemberAddArgBase)\n\ts.MemberEmail = MemberEmail\n\ts.SendWelcomeEmail = true\n\treturn s\n}\n\n// MemberAddArg : has no documentation (yet)\ntype MemberAddArg struct {\n\tMemberAddArgBase\n\t// Role : has no documentation (yet)\n\tRole *AdminTier `json:\"role\"`\n}\n\n// NewMemberAddArg returns a new MemberAddArg instance\nfunc NewMemberAddArg(MemberEmail string) *MemberAddArg {\n\ts := new(MemberAddArg)\n\ts.MemberEmail = MemberEmail\n\ts.SendWelcomeEmail = true\n\ts.Role = &AdminTier{Tagged: dropbox.Tagged{Tag: \"member_only\"}}\n\treturn s\n}\n\n// MemberAddResultBase : has no documentation (yet)\ntype MemberAddResultBase struct {\n\tdropbox.Tagged\n\t// TeamLicenseLimit : Team is already full. The organization has no\n\t// available licenses.\n\tTeamLicenseLimit string `json:\"team_license_limit,omitempty\"`\n\t// FreeTeamMemberLimitReached : Team is already full. The free team member\n\t// limit has been reached.\n\tFreeTeamMemberLimitReached string `json:\"free_team_member_limit_reached,omitempty\"`\n\t// UserAlreadyOnTeam : User is already on this team. The provided email\n\t// address is associated with a user who is already a member of (including\n\t// in recoverable state) or invited to the team.\n\tUserAlreadyOnTeam string `json:\"user_already_on_team,omitempty\"`\n\t// UserOnAnotherTeam : User is already on another team. The provided email\n\t// address is associated with a user that is already a member or invited to\n\t// another team.\n\tUserOnAnotherTeam string `json:\"user_on_another_team,omitempty\"`\n\t// UserAlreadyPaired : User is already paired.\n\tUserAlreadyPaired string `json:\"user_already_paired,omitempty\"`\n\t// UserMigrationFailed : User migration has failed.\n\tUserMigrationFailed string `json:\"user_migration_failed,omitempty\"`\n\t// DuplicateExternalMemberId : A user with the given external member ID\n\t// already exists on the team (including in recoverable state).\n\tDuplicateExternalMemberId string `json:\"duplicate_external_member_id,omitempty\"`\n\t// DuplicateMemberPersistentId : A user with the given persistent ID already\n\t// exists on the team (including in recoverable state).\n\tDuplicateMemberPersistentId string `json:\"duplicate_member_persistent_id,omitempty\"`\n\t// PersistentIdDisabled : Persistent ID is only available to teams with\n\t// persistent ID SAML configuration. Please contact Dropbox for more\n\t// information.\n\tPersistentIdDisabled string `json:\"persistent_id_disabled,omitempty\"`\n\t// UserCreationFailed : User creation has failed.\n\tUserCreationFailed string `json:\"user_creation_failed,omitempty\"`\n}\n\n// Valid tag values for MemberAddResultBase\nconst (\n\tMemberAddResultBaseTeamLicenseLimit            = \"team_license_limit\"\n\tMemberAddResultBaseFreeTeamMemberLimitReached  = \"free_team_member_limit_reached\"\n\tMemberAddResultBaseUserAlreadyOnTeam           = \"user_already_on_team\"\n\tMemberAddResultBaseUserOnAnotherTeam           = \"user_on_another_team\"\n\tMemberAddResultBaseUserAlreadyPaired           = \"user_already_paired\"\n\tMemberAddResultBaseUserMigrationFailed         = \"user_migration_failed\"\n\tMemberAddResultBaseDuplicateExternalMemberId   = \"duplicate_external_member_id\"\n\tMemberAddResultBaseDuplicateMemberPersistentId = \"duplicate_member_persistent_id\"\n\tMemberAddResultBasePersistentIdDisabled        = \"persistent_id_disabled\"\n\tMemberAddResultBaseUserCreationFailed          = \"user_creation_failed\"\n)\n\n// UnmarshalJSON deserializes into a MemberAddResultBase instance\nfunc (u *MemberAddResultBase) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// TeamLicenseLimit : Team is already full. The organization has no\n\t\t// available licenses.\n\t\tTeamLicenseLimit string `json:\"team_license_limit,omitempty\"`\n\t\t// FreeTeamMemberLimitReached : Team is already full. The free team\n\t\t// member limit has been reached.\n\t\tFreeTeamMemberLimitReached string `json:\"free_team_member_limit_reached,omitempty\"`\n\t\t// UserAlreadyOnTeam : User is already on this team. The provided email\n\t\t// address is associated with a user who is already a member of\n\t\t// (including in recoverable state) or invited to the team.\n\t\tUserAlreadyOnTeam string `json:\"user_already_on_team,omitempty\"`\n\t\t// UserOnAnotherTeam : User is already on another team. The provided\n\t\t// email address is associated with a user that is already a member or\n\t\t// invited to another team.\n\t\tUserOnAnotherTeam string `json:\"user_on_another_team,omitempty\"`\n\t\t// UserAlreadyPaired : User is already paired.\n\t\tUserAlreadyPaired string `json:\"user_already_paired,omitempty\"`\n\t\t// UserMigrationFailed : User migration has failed.\n\t\tUserMigrationFailed string `json:\"user_migration_failed,omitempty\"`\n\t\t// DuplicateExternalMemberId : A user with the given external member ID\n\t\t// already exists on the team (including in recoverable state).\n\t\tDuplicateExternalMemberId string `json:\"duplicate_external_member_id,omitempty\"`\n\t\t// DuplicateMemberPersistentId : A user with the given persistent ID\n\t\t// already exists on the team (including in recoverable state).\n\t\tDuplicateMemberPersistentId string `json:\"duplicate_member_persistent_id,omitempty\"`\n\t\t// PersistentIdDisabled : Persistent ID is only available to teams with\n\t\t// persistent ID SAML configuration. Please contact Dropbox for more\n\t\t// information.\n\t\tPersistentIdDisabled string `json:\"persistent_id_disabled,omitempty\"`\n\t\t// UserCreationFailed : User creation has failed.\n\t\tUserCreationFailed string `json:\"user_creation_failed,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"team_license_limit\":\n\t\tu.TeamLicenseLimit = w.TeamLicenseLimit\n\n\tcase \"free_team_member_limit_reached\":\n\t\tu.FreeTeamMemberLimitReached = w.FreeTeamMemberLimitReached\n\n\tcase \"user_already_on_team\":\n\t\tu.UserAlreadyOnTeam = w.UserAlreadyOnTeam\n\n\tcase \"user_on_another_team\":\n\t\tu.UserOnAnotherTeam = w.UserOnAnotherTeam\n\n\tcase \"user_already_paired\":\n\t\tu.UserAlreadyPaired = w.UserAlreadyPaired\n\n\tcase \"user_migration_failed\":\n\t\tu.UserMigrationFailed = w.UserMigrationFailed\n\n\tcase \"duplicate_external_member_id\":\n\t\tu.DuplicateExternalMemberId = w.DuplicateExternalMemberId\n\n\tcase \"duplicate_member_persistent_id\":\n\t\tu.DuplicateMemberPersistentId = w.DuplicateMemberPersistentId\n\n\tcase \"persistent_id_disabled\":\n\t\tu.PersistentIdDisabled = w.PersistentIdDisabled\n\n\tcase \"user_creation_failed\":\n\t\tu.UserCreationFailed = w.UserCreationFailed\n\n\t}\n\treturn nil\n}\n\n// MemberAddResult : Describes the result of attempting to add a single user to\n// the team. 'success' is the only value indicating that a user was indeed added\n// to the team - the other values explain the type of failure that occurred, and\n// include the email of the user for which the operation has failed.\ntype MemberAddResult struct {\n\tdropbox.Tagged\n\t// TeamLicenseLimit : Team is already full. The organization has no\n\t// available licenses.\n\tTeamLicenseLimit string `json:\"team_license_limit,omitempty\"`\n\t// FreeTeamMemberLimitReached : Team is already full. The free team member\n\t// limit has been reached.\n\tFreeTeamMemberLimitReached string `json:\"free_team_member_limit_reached,omitempty\"`\n\t// UserAlreadyOnTeam : User is already on this team. The provided email\n\t// address is associated with a user who is already a member of (including\n\t// in recoverable state) or invited to the team.\n\tUserAlreadyOnTeam string `json:\"user_already_on_team,omitempty\"`\n\t// UserOnAnotherTeam : User is already on another team. The provided email\n\t// address is associated with a user that is already a member or invited to\n\t// another team.\n\tUserOnAnotherTeam string `json:\"user_on_another_team,omitempty\"`\n\t// UserAlreadyPaired : User is already paired.\n\tUserAlreadyPaired string `json:\"user_already_paired,omitempty\"`\n\t// UserMigrationFailed : User migration has failed.\n\tUserMigrationFailed string `json:\"user_migration_failed,omitempty\"`\n\t// DuplicateExternalMemberId : A user with the given external member ID\n\t// already exists on the team (including in recoverable state).\n\tDuplicateExternalMemberId string `json:\"duplicate_external_member_id,omitempty\"`\n\t// DuplicateMemberPersistentId : A user with the given persistent ID already\n\t// exists on the team (including in recoverable state).\n\tDuplicateMemberPersistentId string `json:\"duplicate_member_persistent_id,omitempty\"`\n\t// PersistentIdDisabled : Persistent ID is only available to teams with\n\t// persistent ID SAML configuration. Please contact Dropbox for more\n\t// information.\n\tPersistentIdDisabled string `json:\"persistent_id_disabled,omitempty\"`\n\t// UserCreationFailed : User creation has failed.\n\tUserCreationFailed string `json:\"user_creation_failed,omitempty\"`\n\t// Success : Describes a user that was successfully added to the team.\n\tSuccess *TeamMemberInfo `json:\"success,omitempty\"`\n}\n\n// Valid tag values for MemberAddResult\nconst (\n\tMemberAddResultTeamLicenseLimit            = \"team_license_limit\"\n\tMemberAddResultFreeTeamMemberLimitReached  = \"free_team_member_limit_reached\"\n\tMemberAddResultUserAlreadyOnTeam           = \"user_already_on_team\"\n\tMemberAddResultUserOnAnotherTeam           = \"user_on_another_team\"\n\tMemberAddResultUserAlreadyPaired           = \"user_already_paired\"\n\tMemberAddResultUserMigrationFailed         = \"user_migration_failed\"\n\tMemberAddResultDuplicateExternalMemberId   = \"duplicate_external_member_id\"\n\tMemberAddResultDuplicateMemberPersistentId = \"duplicate_member_persistent_id\"\n\tMemberAddResultPersistentIdDisabled        = \"persistent_id_disabled\"\n\tMemberAddResultUserCreationFailed          = \"user_creation_failed\"\n\tMemberAddResultSuccess                     = \"success\"\n)\n\n// UnmarshalJSON deserializes into a MemberAddResult instance\nfunc (u *MemberAddResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// TeamLicenseLimit : Team is already full. The organization has no\n\t\t// available licenses.\n\t\tTeamLicenseLimit string `json:\"team_license_limit,omitempty\"`\n\t\t// FreeTeamMemberLimitReached : Team is already full. The free team\n\t\t// member limit has been reached.\n\t\tFreeTeamMemberLimitReached string `json:\"free_team_member_limit_reached,omitempty\"`\n\t\t// UserAlreadyOnTeam : User is already on this team. The provided email\n\t\t// address is associated with a user who is already a member of\n\t\t// (including in recoverable state) or invited to the team.\n\t\tUserAlreadyOnTeam string `json:\"user_already_on_team,omitempty\"`\n\t\t// UserOnAnotherTeam : User is already on another team. The provided\n\t\t// email address is associated with a user that is already a member or\n\t\t// invited to another team.\n\t\tUserOnAnotherTeam string `json:\"user_on_another_team,omitempty\"`\n\t\t// UserAlreadyPaired : User is already paired.\n\t\tUserAlreadyPaired string `json:\"user_already_paired,omitempty\"`\n\t\t// UserMigrationFailed : User migration has failed.\n\t\tUserMigrationFailed string `json:\"user_migration_failed,omitempty\"`\n\t\t// DuplicateExternalMemberId : A user with the given external member ID\n\t\t// already exists on the team (including in recoverable state).\n\t\tDuplicateExternalMemberId string `json:\"duplicate_external_member_id,omitempty\"`\n\t\t// DuplicateMemberPersistentId : A user with the given persistent ID\n\t\t// already exists on the team (including in recoverable state).\n\t\tDuplicateMemberPersistentId string `json:\"duplicate_member_persistent_id,omitempty\"`\n\t\t// PersistentIdDisabled : Persistent ID is only available to teams with\n\t\t// persistent ID SAML configuration. Please contact Dropbox for more\n\t\t// information.\n\t\tPersistentIdDisabled string `json:\"persistent_id_disabled,omitempty\"`\n\t\t// UserCreationFailed : User creation has failed.\n\t\tUserCreationFailed string `json:\"user_creation_failed,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"team_license_limit\":\n\t\tu.TeamLicenseLimit = w.TeamLicenseLimit\n\n\tcase \"free_team_member_limit_reached\":\n\t\tu.FreeTeamMemberLimitReached = w.FreeTeamMemberLimitReached\n\n\tcase \"user_already_on_team\":\n\t\tu.UserAlreadyOnTeam = w.UserAlreadyOnTeam\n\n\tcase \"user_on_another_team\":\n\t\tu.UserOnAnotherTeam = w.UserOnAnotherTeam\n\n\tcase \"user_already_paired\":\n\t\tu.UserAlreadyPaired = w.UserAlreadyPaired\n\n\tcase \"user_migration_failed\":\n\t\tu.UserMigrationFailed = w.UserMigrationFailed\n\n\tcase \"duplicate_external_member_id\":\n\t\tu.DuplicateExternalMemberId = w.DuplicateExternalMemberId\n\n\tcase \"duplicate_member_persistent_id\":\n\t\tu.DuplicateMemberPersistentId = w.DuplicateMemberPersistentId\n\n\tcase \"persistent_id_disabled\":\n\t\tu.PersistentIdDisabled = w.PersistentIdDisabled\n\n\tcase \"user_creation_failed\":\n\t\tu.UserCreationFailed = w.UserCreationFailed\n\n\tcase \"success\":\n\t\tif err = json.Unmarshal(body, &u.Success); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// MemberAddV2Arg : has no documentation (yet)\ntype MemberAddV2Arg struct {\n\tMemberAddArgBase\n\t// RoleIds : has no documentation (yet)\n\tRoleIds []string `json:\"role_ids,omitempty\"`\n}\n\n// NewMemberAddV2Arg returns a new MemberAddV2Arg instance\nfunc NewMemberAddV2Arg(MemberEmail string) *MemberAddV2Arg {\n\ts := new(MemberAddV2Arg)\n\ts.MemberEmail = MemberEmail\n\ts.SendWelcomeEmail = true\n\treturn s\n}\n\n// MemberAddV2Result : Describes the result of attempting to add a single user\n// to the team. 'success' is the only value indicating that a user was indeed\n// added to the team - the other values explain the type of failure that\n// occurred, and include the email of the user for which the operation has\n// failed.\ntype MemberAddV2Result struct {\n\tdropbox.Tagged\n\t// TeamLicenseLimit : Team is already full. The organization has no\n\t// available licenses.\n\tTeamLicenseLimit string `json:\"team_license_limit,omitempty\"`\n\t// FreeTeamMemberLimitReached : Team is already full. The free team member\n\t// limit has been reached.\n\tFreeTeamMemberLimitReached string `json:\"free_team_member_limit_reached,omitempty\"`\n\t// UserAlreadyOnTeam : User is already on this team. The provided email\n\t// address is associated with a user who is already a member of (including\n\t// in recoverable state) or invited to the team.\n\tUserAlreadyOnTeam string `json:\"user_already_on_team,omitempty\"`\n\t// UserOnAnotherTeam : User is already on another team. The provided email\n\t// address is associated with a user that is already a member or invited to\n\t// another team.\n\tUserOnAnotherTeam string `json:\"user_on_another_team,omitempty\"`\n\t// UserAlreadyPaired : User is already paired.\n\tUserAlreadyPaired string `json:\"user_already_paired,omitempty\"`\n\t// UserMigrationFailed : User migration has failed.\n\tUserMigrationFailed string `json:\"user_migration_failed,omitempty\"`\n\t// DuplicateExternalMemberId : A user with the given external member ID\n\t// already exists on the team (including in recoverable state).\n\tDuplicateExternalMemberId string `json:\"duplicate_external_member_id,omitempty\"`\n\t// DuplicateMemberPersistentId : A user with the given persistent ID already\n\t// exists on the team (including in recoverable state).\n\tDuplicateMemberPersistentId string `json:\"duplicate_member_persistent_id,omitempty\"`\n\t// PersistentIdDisabled : Persistent ID is only available to teams with\n\t// persistent ID SAML configuration. Please contact Dropbox for more\n\t// information.\n\tPersistentIdDisabled string `json:\"persistent_id_disabled,omitempty\"`\n\t// UserCreationFailed : User creation has failed.\n\tUserCreationFailed string `json:\"user_creation_failed,omitempty\"`\n\t// Success : Describes a user that was successfully added to the team.\n\tSuccess *TeamMemberInfoV2 `json:\"success,omitempty\"`\n}\n\n// Valid tag values for MemberAddV2Result\nconst (\n\tMemberAddV2ResultTeamLicenseLimit            = \"team_license_limit\"\n\tMemberAddV2ResultFreeTeamMemberLimitReached  = \"free_team_member_limit_reached\"\n\tMemberAddV2ResultUserAlreadyOnTeam           = \"user_already_on_team\"\n\tMemberAddV2ResultUserOnAnotherTeam           = \"user_on_another_team\"\n\tMemberAddV2ResultUserAlreadyPaired           = \"user_already_paired\"\n\tMemberAddV2ResultUserMigrationFailed         = \"user_migration_failed\"\n\tMemberAddV2ResultDuplicateExternalMemberId   = \"duplicate_external_member_id\"\n\tMemberAddV2ResultDuplicateMemberPersistentId = \"duplicate_member_persistent_id\"\n\tMemberAddV2ResultPersistentIdDisabled        = \"persistent_id_disabled\"\n\tMemberAddV2ResultUserCreationFailed          = \"user_creation_failed\"\n\tMemberAddV2ResultSuccess                     = \"success\"\n\tMemberAddV2ResultOther                       = \"other\"\n)\n\n// UnmarshalJSON deserializes into a MemberAddV2Result instance\nfunc (u *MemberAddV2Result) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// TeamLicenseLimit : Team is already full. The organization has no\n\t\t// available licenses.\n\t\tTeamLicenseLimit string `json:\"team_license_limit,omitempty\"`\n\t\t// FreeTeamMemberLimitReached : Team is already full. The free team\n\t\t// member limit has been reached.\n\t\tFreeTeamMemberLimitReached string `json:\"free_team_member_limit_reached,omitempty\"`\n\t\t// UserAlreadyOnTeam : User is already on this team. The provided email\n\t\t// address is associated with a user who is already a member of\n\t\t// (including in recoverable state) or invited to the team.\n\t\tUserAlreadyOnTeam string `json:\"user_already_on_team,omitempty\"`\n\t\t// UserOnAnotherTeam : User is already on another team. The provided\n\t\t// email address is associated with a user that is already a member or\n\t\t// invited to another team.\n\t\tUserOnAnotherTeam string `json:\"user_on_another_team,omitempty\"`\n\t\t// UserAlreadyPaired : User is already paired.\n\t\tUserAlreadyPaired string `json:\"user_already_paired,omitempty\"`\n\t\t// UserMigrationFailed : User migration has failed.\n\t\tUserMigrationFailed string `json:\"user_migration_failed,omitempty\"`\n\t\t// DuplicateExternalMemberId : A user with the given external member ID\n\t\t// already exists on the team (including in recoverable state).\n\t\tDuplicateExternalMemberId string `json:\"duplicate_external_member_id,omitempty\"`\n\t\t// DuplicateMemberPersistentId : A user with the given persistent ID\n\t\t// already exists on the team (including in recoverable state).\n\t\tDuplicateMemberPersistentId string `json:\"duplicate_member_persistent_id,omitempty\"`\n\t\t// PersistentIdDisabled : Persistent ID is only available to teams with\n\t\t// persistent ID SAML configuration. Please contact Dropbox for more\n\t\t// information.\n\t\tPersistentIdDisabled string `json:\"persistent_id_disabled,omitempty\"`\n\t\t// UserCreationFailed : User creation has failed.\n\t\tUserCreationFailed string `json:\"user_creation_failed,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"team_license_limit\":\n\t\tu.TeamLicenseLimit = w.TeamLicenseLimit\n\n\tcase \"free_team_member_limit_reached\":\n\t\tu.FreeTeamMemberLimitReached = w.FreeTeamMemberLimitReached\n\n\tcase \"user_already_on_team\":\n\t\tu.UserAlreadyOnTeam = w.UserAlreadyOnTeam\n\n\tcase \"user_on_another_team\":\n\t\tu.UserOnAnotherTeam = w.UserOnAnotherTeam\n\n\tcase \"user_already_paired\":\n\t\tu.UserAlreadyPaired = w.UserAlreadyPaired\n\n\tcase \"user_migration_failed\":\n\t\tu.UserMigrationFailed = w.UserMigrationFailed\n\n\tcase \"duplicate_external_member_id\":\n\t\tu.DuplicateExternalMemberId = w.DuplicateExternalMemberId\n\n\tcase \"duplicate_member_persistent_id\":\n\t\tu.DuplicateMemberPersistentId = w.DuplicateMemberPersistentId\n\n\tcase \"persistent_id_disabled\":\n\t\tu.PersistentIdDisabled = w.PersistentIdDisabled\n\n\tcase \"user_creation_failed\":\n\t\tu.UserCreationFailed = w.UserCreationFailed\n\n\tcase \"success\":\n\t\tif err = json.Unmarshal(body, &u.Success); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// MemberDevices : Information on devices of a team's member.\ntype MemberDevices struct {\n\t// TeamMemberId : The member unique Id.\n\tTeamMemberId string `json:\"team_member_id\"`\n\t// WebSessions : List of web sessions made by this team member.\n\tWebSessions []*ActiveWebSession `json:\"web_sessions,omitempty\"`\n\t// DesktopClients : List of desktop clients by this team member.\n\tDesktopClients []*DesktopClientSession `json:\"desktop_clients,omitempty\"`\n\t// MobileClients : List of mobile clients by this team member.\n\tMobileClients []*MobileClientSession `json:\"mobile_clients,omitempty\"`\n}\n\n// NewMemberDevices returns a new MemberDevices instance\nfunc NewMemberDevices(TeamMemberId string) *MemberDevices {\n\ts := new(MemberDevices)\n\ts.TeamMemberId = TeamMemberId\n\treturn s\n}\n\n// MemberLinkedApps : Information on linked applications of a team member.\ntype MemberLinkedApps struct {\n\t// TeamMemberId : The member unique Id.\n\tTeamMemberId string `json:\"team_member_id\"`\n\t// LinkedApiApps : List of third party applications linked by this team\n\t// member.\n\tLinkedApiApps []*ApiApp `json:\"linked_api_apps\"`\n}\n\n// NewMemberLinkedApps returns a new MemberLinkedApps instance\nfunc NewMemberLinkedApps(TeamMemberId string, LinkedApiApps []*ApiApp) *MemberLinkedApps {\n\ts := new(MemberLinkedApps)\n\ts.TeamMemberId = TeamMemberId\n\ts.LinkedApiApps = LinkedApiApps\n\treturn s\n}\n\n// MemberProfile : Basic member profile.\ntype MemberProfile struct {\n\t// TeamMemberId : ID of user as a member of a team.\n\tTeamMemberId string `json:\"team_member_id\"`\n\t// ExternalId : External ID that a team can attach to the user. An\n\t// application using the API may find it easier to use their own IDs instead\n\t// of Dropbox IDs like account_id or team_member_id.\n\tExternalId string `json:\"external_id,omitempty\"`\n\t// AccountId : A user's account identifier.\n\tAccountId string `json:\"account_id,omitempty\"`\n\t// Email : Email address of user.\n\tEmail string `json:\"email\"`\n\t// EmailVerified : Is true if the user's email is verified to be owned by\n\t// the user.\n\tEmailVerified bool `json:\"email_verified\"`\n\t// SecondaryEmails : Secondary emails of a user.\n\tSecondaryEmails []*secondary_emails.SecondaryEmail `json:\"secondary_emails,omitempty\"`\n\t// Status : The user's status as a member of a specific team.\n\tStatus *TeamMemberStatus `json:\"status\"`\n\t// Name : Representations for a person's name.\n\tName *users.Name `json:\"name\"`\n\t// MembershipType : The user's membership type: full (normal team member) vs\n\t// limited (does not use a license; no access to the team's shared quota).\n\tMembershipType *TeamMembershipType `json:\"membership_type\"`\n\t// InvitedOn : The date and time the user was invited to the team (contains\n\t// value only when the member's status matches `TeamMemberStatus.invited`).\n\tInvitedOn *time.Time `json:\"invited_on,omitempty\"`\n\t// JoinedOn : The date and time the user joined as a member of a specific\n\t// team.\n\tJoinedOn *time.Time `json:\"joined_on,omitempty\"`\n\t// SuspendedOn : The date and time the user was suspended from the team\n\t// (contains value only when the member's status matches\n\t// `TeamMemberStatus.suspended`).\n\tSuspendedOn *time.Time `json:\"suspended_on,omitempty\"`\n\t// PersistentId : Persistent ID that a team can attach to the user. The\n\t// persistent ID is unique ID to be used for SAML authentication.\n\tPersistentId string `json:\"persistent_id,omitempty\"`\n\t// IsDirectoryRestricted : Whether the user is a directory restricted user.\n\tIsDirectoryRestricted bool `json:\"is_directory_restricted,omitempty\"`\n\t// ProfilePhotoUrl : URL for the photo representing the user, if one is set.\n\tProfilePhotoUrl string `json:\"profile_photo_url,omitempty\"`\n}\n\n// NewMemberProfile returns a new MemberProfile instance\nfunc NewMemberProfile(TeamMemberId string, Email string, EmailVerified bool, Status *TeamMemberStatus, Name *users.Name, MembershipType *TeamMembershipType) *MemberProfile {\n\ts := new(MemberProfile)\n\ts.TeamMemberId = TeamMemberId\n\ts.Email = Email\n\ts.EmailVerified = EmailVerified\n\ts.Status = Status\n\ts.Name = Name\n\ts.MembershipType = MembershipType\n\treturn s\n}\n\n// UserSelectorError : Error that can be returned whenever a struct derived from\n// `UserSelectorArg` is used.\ntype UserSelectorError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for UserSelectorError\nconst (\n\tUserSelectorErrorUserNotFound = \"user_not_found\"\n)\n\n// MemberSelectorError : has no documentation (yet)\ntype MemberSelectorError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MemberSelectorError\nconst (\n\tMemberSelectorErrorUserNotFound  = \"user_not_found\"\n\tMemberSelectorErrorUserNotInTeam = \"user_not_in_team\"\n)\n\n// MembersAddArgBase : has no documentation (yet)\ntype MembersAddArgBase struct {\n\t// ForceAsync : Whether to force the add to happen asynchronously.\n\tForceAsync bool `json:\"force_async\"`\n}\n\n// NewMembersAddArgBase returns a new MembersAddArgBase instance\nfunc NewMembersAddArgBase() *MembersAddArgBase {\n\ts := new(MembersAddArgBase)\n\ts.ForceAsync = false\n\treturn s\n}\n\n// MembersAddArg : has no documentation (yet)\ntype MembersAddArg struct {\n\tMembersAddArgBase\n\t// NewMembers : Details of new members to be added to the team.\n\tNewMembers []*MemberAddArg `json:\"new_members\"`\n}\n\n// NewMembersAddArg returns a new MembersAddArg instance\nfunc NewMembersAddArg(NewMembers []*MemberAddArg) *MembersAddArg {\n\ts := new(MembersAddArg)\n\ts.NewMembers = NewMembers\n\ts.ForceAsync = false\n\treturn s\n}\n\n// MembersAddJobStatus : has no documentation (yet)\ntype MembersAddJobStatus struct {\n\tdropbox.Tagged\n\t// Complete : The asynchronous job has finished. For each member that was\n\t// specified in the parameter `MembersAddArg` that was provided to\n\t// `membersAdd`, a corresponding item is returned in this list.\n\tComplete []*MemberAddResult `json:\"complete,omitempty\"`\n\t// Failed : The asynchronous job returned an error. The string contains an\n\t// error message.\n\tFailed string `json:\"failed,omitempty\"`\n}\n\n// Valid tag values for MembersAddJobStatus\nconst (\n\tMembersAddJobStatusInProgress = \"in_progress\"\n\tMembersAddJobStatusComplete   = \"complete\"\n\tMembersAddJobStatusFailed     = \"failed\"\n)\n\n// UnmarshalJSON deserializes into a MembersAddJobStatus instance\nfunc (u *MembersAddJobStatus) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Complete : The asynchronous job has finished. For each member that\n\t\t// was specified in the parameter `MembersAddArg` that was provided to\n\t\t// `membersAdd`, a corresponding item is returned in this list.\n\t\tComplete []*MemberAddResult `json:\"complete,omitempty\"`\n\t\t// Failed : The asynchronous job returned an error. The string contains\n\t\t// an error message.\n\t\tFailed string `json:\"failed,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"complete\":\n\t\tu.Complete = w.Complete\n\n\tcase \"failed\":\n\t\tu.Failed = w.Failed\n\n\t}\n\treturn nil\n}\n\n// MembersAddJobStatusV2Result : has no documentation (yet)\ntype MembersAddJobStatusV2Result struct {\n\tdropbox.Tagged\n\t// Complete : The asynchronous job has finished. For each member that was\n\t// specified in the parameter `MembersAddArg` that was provided to\n\t// `membersAdd`, a corresponding item is returned in this list.\n\tComplete []*MemberAddV2Result `json:\"complete,omitempty\"`\n\t// Failed : The asynchronous job returned an error. The string contains an\n\t// error message.\n\tFailed string `json:\"failed,omitempty\"`\n}\n\n// Valid tag values for MembersAddJobStatusV2Result\nconst (\n\tMembersAddJobStatusV2ResultInProgress = \"in_progress\"\n\tMembersAddJobStatusV2ResultComplete   = \"complete\"\n\tMembersAddJobStatusV2ResultFailed     = \"failed\"\n\tMembersAddJobStatusV2ResultOther      = \"other\"\n)\n\n// UnmarshalJSON deserializes into a MembersAddJobStatusV2Result instance\nfunc (u *MembersAddJobStatusV2Result) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Complete : The asynchronous job has finished. For each member that\n\t\t// was specified in the parameter `MembersAddArg` that was provided to\n\t\t// `membersAdd`, a corresponding item is returned in this list.\n\t\tComplete []*MemberAddV2Result `json:\"complete,omitempty\"`\n\t\t// Failed : The asynchronous job returned an error. The string contains\n\t\t// an error message.\n\t\tFailed string `json:\"failed,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"complete\":\n\t\tu.Complete = w.Complete\n\n\tcase \"failed\":\n\t\tu.Failed = w.Failed\n\n\t}\n\treturn nil\n}\n\n// MembersAddLaunch : has no documentation (yet)\ntype MembersAddLaunch struct {\n\tdropbox.Tagged\n\t// AsyncJobId : This response indicates that the processing is asynchronous.\n\t// The string is an id that can be used to obtain the status of the\n\t// asynchronous job.\n\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t// Complete : has no documentation (yet)\n\tComplete []*MemberAddResult `json:\"complete,omitempty\"`\n}\n\n// Valid tag values for MembersAddLaunch\nconst (\n\tMembersAddLaunchAsyncJobId = \"async_job_id\"\n\tMembersAddLaunchComplete   = \"complete\"\n)\n\n// UnmarshalJSON deserializes into a MembersAddLaunch instance\nfunc (u *MembersAddLaunch) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AsyncJobId : This response indicates that the processing is\n\t\t// asynchronous. The string is an id that can be used to obtain the\n\t\t// status of the asynchronous job.\n\t\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t\t// Complete : has no documentation (yet)\n\t\tComplete []*MemberAddResult `json:\"complete,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"async_job_id\":\n\t\tu.AsyncJobId = w.AsyncJobId\n\n\tcase \"complete\":\n\t\tu.Complete = w.Complete\n\n\t}\n\treturn nil\n}\n\n// MembersAddLaunchV2Result : has no documentation (yet)\ntype MembersAddLaunchV2Result struct {\n\tdropbox.Tagged\n\t// AsyncJobId : This response indicates that the processing is asynchronous.\n\t// The string is an id that can be used to obtain the status of the\n\t// asynchronous job.\n\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t// Complete : has no documentation (yet)\n\tComplete []*MemberAddV2Result `json:\"complete,omitempty\"`\n}\n\n// Valid tag values for MembersAddLaunchV2Result\nconst (\n\tMembersAddLaunchV2ResultAsyncJobId = \"async_job_id\"\n\tMembersAddLaunchV2ResultComplete   = \"complete\"\n\tMembersAddLaunchV2ResultOther      = \"other\"\n)\n\n// UnmarshalJSON deserializes into a MembersAddLaunchV2Result instance\nfunc (u *MembersAddLaunchV2Result) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AsyncJobId : This response indicates that the processing is\n\t\t// asynchronous. The string is an id that can be used to obtain the\n\t\t// status of the asynchronous job.\n\t\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t\t// Complete : has no documentation (yet)\n\t\tComplete []*MemberAddV2Result `json:\"complete,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"async_job_id\":\n\t\tu.AsyncJobId = w.AsyncJobId\n\n\tcase \"complete\":\n\t\tu.Complete = w.Complete\n\n\t}\n\treturn nil\n}\n\n// MembersAddV2Arg : has no documentation (yet)\ntype MembersAddV2Arg struct {\n\tMembersAddArgBase\n\t// NewMembers : Details of new members to be added to the team.\n\tNewMembers []*MemberAddV2Arg `json:\"new_members\"`\n}\n\n// NewMembersAddV2Arg returns a new MembersAddV2Arg instance\nfunc NewMembersAddV2Arg(NewMembers []*MemberAddV2Arg) *MembersAddV2Arg {\n\ts := new(MembersAddV2Arg)\n\ts.NewMembers = NewMembers\n\ts.ForceAsync = false\n\treturn s\n}\n\n// MembersDeactivateBaseArg : Exactly one of team_member_id, email, or\n// external_id must be provided to identify the user account.\ntype MembersDeactivateBaseArg struct {\n\t// User : Identity of user to remove/suspend/have their files moved.\n\tUser *UserSelectorArg `json:\"user\"`\n}\n\n// NewMembersDeactivateBaseArg returns a new MembersDeactivateBaseArg instance\nfunc NewMembersDeactivateBaseArg(User *UserSelectorArg) *MembersDeactivateBaseArg {\n\ts := new(MembersDeactivateBaseArg)\n\ts.User = User\n\treturn s\n}\n\n// MembersDataTransferArg : has no documentation (yet)\ntype MembersDataTransferArg struct {\n\tMembersDeactivateBaseArg\n\t// TransferDestId : Files from the deleted member account will be\n\t// transferred to this user.\n\tTransferDestId *UserSelectorArg `json:\"transfer_dest_id\"`\n\t// TransferAdminId : Errors during the transfer process will be sent via\n\t// email to this user.\n\tTransferAdminId *UserSelectorArg `json:\"transfer_admin_id\"`\n}\n\n// NewMembersDataTransferArg returns a new MembersDataTransferArg instance\nfunc NewMembersDataTransferArg(User *UserSelectorArg, TransferDestId *UserSelectorArg, TransferAdminId *UserSelectorArg) *MembersDataTransferArg {\n\ts := new(MembersDataTransferArg)\n\ts.User = User\n\ts.TransferDestId = TransferDestId\n\ts.TransferAdminId = TransferAdminId\n\treturn s\n}\n\n// MembersDeactivateArg : has no documentation (yet)\ntype MembersDeactivateArg struct {\n\tMembersDeactivateBaseArg\n\t// WipeData : If provided, controls if the user's data will be deleted on\n\t// their linked devices.\n\tWipeData bool `json:\"wipe_data\"`\n}\n\n// NewMembersDeactivateArg returns a new MembersDeactivateArg instance\nfunc NewMembersDeactivateArg(User *UserSelectorArg) *MembersDeactivateArg {\n\ts := new(MembersDeactivateArg)\n\ts.User = User\n\ts.WipeData = true\n\treturn s\n}\n\n// MembersDeactivateError : has no documentation (yet)\ntype MembersDeactivateError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MembersDeactivateError\nconst (\n\tMembersDeactivateErrorUserNotFound  = \"user_not_found\"\n\tMembersDeactivateErrorUserNotInTeam = \"user_not_in_team\"\n\tMembersDeactivateErrorOther         = \"other\"\n)\n\n// MembersDeleteProfilePhotoArg : has no documentation (yet)\ntype MembersDeleteProfilePhotoArg struct {\n\t// User : Identity of the user whose profile photo will be deleted.\n\tUser *UserSelectorArg `json:\"user\"`\n}\n\n// NewMembersDeleteProfilePhotoArg returns a new MembersDeleteProfilePhotoArg instance\nfunc NewMembersDeleteProfilePhotoArg(User *UserSelectorArg) *MembersDeleteProfilePhotoArg {\n\ts := new(MembersDeleteProfilePhotoArg)\n\ts.User = User\n\treturn s\n}\n\n// MembersDeleteProfilePhotoError : has no documentation (yet)\ntype MembersDeleteProfilePhotoError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MembersDeleteProfilePhotoError\nconst (\n\tMembersDeleteProfilePhotoErrorUserNotFound         = \"user_not_found\"\n\tMembersDeleteProfilePhotoErrorUserNotInTeam        = \"user_not_in_team\"\n\tMembersDeleteProfilePhotoErrorSetProfileDisallowed = \"set_profile_disallowed\"\n\tMembersDeleteProfilePhotoErrorOther                = \"other\"\n)\n\n// MembersGetAvailableTeamMemberRolesResult : Available TeamMemberRole for the\n// connected team. To be used with `membersSetAdminPermissions`.\ntype MembersGetAvailableTeamMemberRolesResult struct {\n\t// Roles : Available roles.\n\tRoles []*TeamMemberRole `json:\"roles\"`\n}\n\n// NewMembersGetAvailableTeamMemberRolesResult returns a new MembersGetAvailableTeamMemberRolesResult instance\nfunc NewMembersGetAvailableTeamMemberRolesResult(Roles []*TeamMemberRole) *MembersGetAvailableTeamMemberRolesResult {\n\ts := new(MembersGetAvailableTeamMemberRolesResult)\n\ts.Roles = Roles\n\treturn s\n}\n\n// MembersGetInfoArgs : has no documentation (yet)\ntype MembersGetInfoArgs struct {\n\t// Members : List of team members.\n\tMembers []*UserSelectorArg `json:\"members\"`\n}\n\n// NewMembersGetInfoArgs returns a new MembersGetInfoArgs instance\nfunc NewMembersGetInfoArgs(Members []*UserSelectorArg) *MembersGetInfoArgs {\n\ts := new(MembersGetInfoArgs)\n\ts.Members = Members\n\treturn s\n}\n\n// MembersGetInfoError :\ntype MembersGetInfoError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MembersGetInfoError\nconst (\n\tMembersGetInfoErrorOther = \"other\"\n)\n\n// MembersGetInfoItemBase : has no documentation (yet)\ntype MembersGetInfoItemBase struct {\n\tdropbox.Tagged\n\t// IdNotFound : An ID that was provided as a parameter to `membersGetInfo`\n\t// or `membersGetInfo`, and did not match a corresponding user. This might\n\t// be a team_member_id, an email, or an external ID, depending on how the\n\t// method was called.\n\tIdNotFound string `json:\"id_not_found,omitempty\"`\n}\n\n// Valid tag values for MembersGetInfoItemBase\nconst (\n\tMembersGetInfoItemBaseIdNotFound = \"id_not_found\"\n)\n\n// UnmarshalJSON deserializes into a MembersGetInfoItemBase instance\nfunc (u *MembersGetInfoItemBase) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// IdNotFound : An ID that was provided as a parameter to\n\t\t// `membersGetInfo` or `membersGetInfo`, and did not match a\n\t\t// corresponding user. This might be a team_member_id, an email, or an\n\t\t// external ID, depending on how the method was called.\n\t\tIdNotFound string `json:\"id_not_found,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"id_not_found\":\n\t\tu.IdNotFound = w.IdNotFound\n\n\t}\n\treturn nil\n}\n\n// MembersGetInfoItem : Describes a result obtained for a single user whose id\n// was specified in the parameter of `membersGetInfo`.\ntype MembersGetInfoItem struct {\n\tdropbox.Tagged\n\t// IdNotFound : An ID that was provided as a parameter to `membersGetInfo`\n\t// or `membersGetInfo`, and did not match a corresponding user. This might\n\t// be a team_member_id, an email, or an external ID, depending on how the\n\t// method was called.\n\tIdNotFound string `json:\"id_not_found,omitempty\"`\n\t// MemberInfo : Info about a team member.\n\tMemberInfo *TeamMemberInfo `json:\"member_info,omitempty\"`\n}\n\n// Valid tag values for MembersGetInfoItem\nconst (\n\tMembersGetInfoItemIdNotFound = \"id_not_found\"\n\tMembersGetInfoItemMemberInfo = \"member_info\"\n)\n\n// UnmarshalJSON deserializes into a MembersGetInfoItem instance\nfunc (u *MembersGetInfoItem) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// IdNotFound : An ID that was provided as a parameter to\n\t\t// `membersGetInfo` or `membersGetInfo`, and did not match a\n\t\t// corresponding user. This might be a team_member_id, an email, or an\n\t\t// external ID, depending on how the method was called.\n\t\tIdNotFound string `json:\"id_not_found,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"id_not_found\":\n\t\tu.IdNotFound = w.IdNotFound\n\n\tcase \"member_info\":\n\t\tif err = json.Unmarshal(body, &u.MemberInfo); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// MembersGetInfoItemV2 : Describes a result obtained for a single user whose id\n// was specified in the parameter of `membersGetInfo`.\ntype MembersGetInfoItemV2 struct {\n\tdropbox.Tagged\n\t// IdNotFound : An ID that was provided as a parameter to `membersGetInfo`\n\t// or `membersGetInfo`, and did not match a corresponding user. This might\n\t// be a team_member_id, an email, or an external ID, depending on how the\n\t// method was called.\n\tIdNotFound string `json:\"id_not_found,omitempty\"`\n\t// MemberInfo : Info about a team member.\n\tMemberInfo *TeamMemberInfoV2 `json:\"member_info,omitempty\"`\n}\n\n// Valid tag values for MembersGetInfoItemV2\nconst (\n\tMembersGetInfoItemV2IdNotFound = \"id_not_found\"\n\tMembersGetInfoItemV2MemberInfo = \"member_info\"\n\tMembersGetInfoItemV2Other      = \"other\"\n)\n\n// UnmarshalJSON deserializes into a MembersGetInfoItemV2 instance\nfunc (u *MembersGetInfoItemV2) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// IdNotFound : An ID that was provided as a parameter to\n\t\t// `membersGetInfo` or `membersGetInfo`, and did not match a\n\t\t// corresponding user. This might be a team_member_id, an email, or an\n\t\t// external ID, depending on how the method was called.\n\t\tIdNotFound string `json:\"id_not_found,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"id_not_found\":\n\t\tu.IdNotFound = w.IdNotFound\n\n\tcase \"member_info\":\n\t\tif err = json.Unmarshal(body, &u.MemberInfo); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// MembersGetInfoV2Arg : has no documentation (yet)\ntype MembersGetInfoV2Arg struct {\n\t// Members : List of team members.\n\tMembers []*UserSelectorArg `json:\"members\"`\n}\n\n// NewMembersGetInfoV2Arg returns a new MembersGetInfoV2Arg instance\nfunc NewMembersGetInfoV2Arg(Members []*UserSelectorArg) *MembersGetInfoV2Arg {\n\ts := new(MembersGetInfoV2Arg)\n\ts.Members = Members\n\treturn s\n}\n\n// MembersGetInfoV2Result : has no documentation (yet)\ntype MembersGetInfoV2Result struct {\n\t// MembersInfo : List of team members info.\n\tMembersInfo []*MembersGetInfoItemV2 `json:\"members_info\"`\n}\n\n// NewMembersGetInfoV2Result returns a new MembersGetInfoV2Result instance\nfunc NewMembersGetInfoV2Result(MembersInfo []*MembersGetInfoItemV2) *MembersGetInfoV2Result {\n\ts := new(MembersGetInfoV2Result)\n\ts.MembersInfo = MembersInfo\n\treturn s\n}\n\n// MembersInfo : has no documentation (yet)\ntype MembersInfo struct {\n\t// TeamMemberIds : Team member IDs of the users under this hold.\n\tTeamMemberIds []string `json:\"team_member_ids\"`\n\t// PermanentlyDeletedUsers : The number of permanently deleted users that\n\t// were under this hold.\n\tPermanentlyDeletedUsers uint64 `json:\"permanently_deleted_users\"`\n}\n\n// NewMembersInfo returns a new MembersInfo instance\nfunc NewMembersInfo(TeamMemberIds []string, PermanentlyDeletedUsers uint64) *MembersInfo {\n\ts := new(MembersInfo)\n\ts.TeamMemberIds = TeamMemberIds\n\ts.PermanentlyDeletedUsers = PermanentlyDeletedUsers\n\treturn s\n}\n\n// MembersListArg : has no documentation (yet)\ntype MembersListArg struct {\n\t// Limit : Number of results to return per call.\n\tLimit uint32 `json:\"limit\"`\n\t// IncludeRemoved : Whether to return removed members.\n\tIncludeRemoved bool `json:\"include_removed\"`\n}\n\n// NewMembersListArg returns a new MembersListArg instance\nfunc NewMembersListArg() *MembersListArg {\n\ts := new(MembersListArg)\n\ts.Limit = 1000\n\ts.IncludeRemoved = false\n\treturn s\n}\n\n// MembersListContinueArg : has no documentation (yet)\ntype MembersListContinueArg struct {\n\t// Cursor : Indicates from what point to get the next set of members.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewMembersListContinueArg returns a new MembersListContinueArg instance\nfunc NewMembersListContinueArg(Cursor string) *MembersListContinueArg {\n\ts := new(MembersListContinueArg)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// MembersListContinueError : has no documentation (yet)\ntype MembersListContinueError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MembersListContinueError\nconst (\n\tMembersListContinueErrorInvalidCursor = \"invalid_cursor\"\n\tMembersListContinueErrorOther         = \"other\"\n)\n\n// MembersListError :\ntype MembersListError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MembersListError\nconst (\n\tMembersListErrorOther = \"other\"\n)\n\n// MembersListResult : has no documentation (yet)\ntype MembersListResult struct {\n\t// Members : List of team members.\n\tMembers []*TeamMemberInfo `json:\"members\"`\n\t// Cursor : Pass the cursor into `membersListContinue` to obtain the\n\t// additional members.\n\tCursor string `json:\"cursor\"`\n\t// HasMore : Is true if there are additional team members that have not been\n\t// returned yet. An additional call to `membersListContinue` can retrieve\n\t// them.\n\tHasMore bool `json:\"has_more\"`\n}\n\n// NewMembersListResult returns a new MembersListResult instance\nfunc NewMembersListResult(Members []*TeamMemberInfo, Cursor string, HasMore bool) *MembersListResult {\n\ts := new(MembersListResult)\n\ts.Members = Members\n\ts.Cursor = Cursor\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// MembersListV2Result : has no documentation (yet)\ntype MembersListV2Result struct {\n\t// Members : List of team members.\n\tMembers []*TeamMemberInfoV2 `json:\"members\"`\n\t// Cursor : Pass the cursor into `membersListContinue` to obtain the\n\t// additional members.\n\tCursor string `json:\"cursor\"`\n\t// HasMore : Is true if there are additional team members that have not been\n\t// returned yet. An additional call to `membersListContinue` can retrieve\n\t// them.\n\tHasMore bool `json:\"has_more\"`\n}\n\n// NewMembersListV2Result returns a new MembersListV2Result instance\nfunc NewMembersListV2Result(Members []*TeamMemberInfoV2, Cursor string, HasMore bool) *MembersListV2Result {\n\ts := new(MembersListV2Result)\n\ts.Members = Members\n\ts.Cursor = Cursor\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// MembersRecoverArg : Exactly one of team_member_id, email, or external_id must\n// be provided to identify the user account.\ntype MembersRecoverArg struct {\n\t// User : Identity of user to recover.\n\tUser *UserSelectorArg `json:\"user\"`\n}\n\n// NewMembersRecoverArg returns a new MembersRecoverArg instance\nfunc NewMembersRecoverArg(User *UserSelectorArg) *MembersRecoverArg {\n\ts := new(MembersRecoverArg)\n\ts.User = User\n\treturn s\n}\n\n// MembersRecoverError : has no documentation (yet)\ntype MembersRecoverError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MembersRecoverError\nconst (\n\tMembersRecoverErrorUserNotFound      = \"user_not_found\"\n\tMembersRecoverErrorUserUnrecoverable = \"user_unrecoverable\"\n\tMembersRecoverErrorUserNotInTeam     = \"user_not_in_team\"\n\tMembersRecoverErrorTeamLicenseLimit  = \"team_license_limit\"\n\tMembersRecoverErrorOther             = \"other\"\n)\n\n// MembersRemoveArg : has no documentation (yet)\ntype MembersRemoveArg struct {\n\tMembersDeactivateArg\n\t// TransferDestId : If provided, files from the deleted member account will\n\t// be transferred to this user.\n\tTransferDestId *UserSelectorArg `json:\"transfer_dest_id,omitempty\"`\n\t// TransferAdminId : If provided, errors during the transfer process will be\n\t// sent via email to this user. If the transfer_dest_id argument was\n\t// provided, then this argument must be provided as well.\n\tTransferAdminId *UserSelectorArg `json:\"transfer_admin_id,omitempty\"`\n\t// KeepAccount : Downgrade the member to a Basic account. The user will\n\t// retain the email address associated with their Dropbox  account and data\n\t// in their account that is not restricted to team members. In order to keep\n\t// the account the argument `wipe_data` should be set to false.\n\tKeepAccount bool `json:\"keep_account\"`\n\t// RetainTeamShares : If provided, allows removed users to keep access to\n\t// Dropbox folders (not Dropbox Paper folders) already explicitly shared\n\t// with them (not via a group) when they are downgraded to a Basic account.\n\t// Users will not retain access to folders that do not allow external\n\t// sharing. In order to keep the sharing relationships, the arguments\n\t// `wipe_data` should be set to false and `keep_account` should be set to\n\t// true.\n\tRetainTeamShares bool `json:\"retain_team_shares\"`\n}\n\n// NewMembersRemoveArg returns a new MembersRemoveArg instance\nfunc NewMembersRemoveArg(User *UserSelectorArg) *MembersRemoveArg {\n\ts := new(MembersRemoveArg)\n\ts.User = User\n\ts.WipeData = true\n\ts.KeepAccount = false\n\ts.RetainTeamShares = false\n\treturn s\n}\n\n// MembersTransferFilesError : has no documentation (yet)\ntype MembersTransferFilesError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MembersTransferFilesError\nconst (\n\tMembersTransferFilesErrorUserNotFound                        = \"user_not_found\"\n\tMembersTransferFilesErrorUserNotInTeam                       = \"user_not_in_team\"\n\tMembersTransferFilesErrorOther                               = \"other\"\n\tMembersTransferFilesErrorRemovedAndTransferDestShouldDiffer  = \"removed_and_transfer_dest_should_differ\"\n\tMembersTransferFilesErrorRemovedAndTransferAdminShouldDiffer = \"removed_and_transfer_admin_should_differ\"\n\tMembersTransferFilesErrorTransferDestUserNotFound            = \"transfer_dest_user_not_found\"\n\tMembersTransferFilesErrorTransferDestUserNotInTeam           = \"transfer_dest_user_not_in_team\"\n\tMembersTransferFilesErrorTransferAdminUserNotInTeam          = \"transfer_admin_user_not_in_team\"\n\tMembersTransferFilesErrorTransferAdminUserNotFound           = \"transfer_admin_user_not_found\"\n\tMembersTransferFilesErrorUnspecifiedTransferAdminId          = \"unspecified_transfer_admin_id\"\n\tMembersTransferFilesErrorTransferAdminIsNotAdmin             = \"transfer_admin_is_not_admin\"\n\tMembersTransferFilesErrorRecipientNotVerified                = \"recipient_not_verified\"\n)\n\n// MembersRemoveError : has no documentation (yet)\ntype MembersRemoveError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MembersRemoveError\nconst (\n\tMembersRemoveErrorUserNotFound                                 = \"user_not_found\"\n\tMembersRemoveErrorUserNotInTeam                                = \"user_not_in_team\"\n\tMembersRemoveErrorOther                                        = \"other\"\n\tMembersRemoveErrorRemovedAndTransferDestShouldDiffer           = \"removed_and_transfer_dest_should_differ\"\n\tMembersRemoveErrorRemovedAndTransferAdminShouldDiffer          = \"removed_and_transfer_admin_should_differ\"\n\tMembersRemoveErrorTransferDestUserNotFound                     = \"transfer_dest_user_not_found\"\n\tMembersRemoveErrorTransferDestUserNotInTeam                    = \"transfer_dest_user_not_in_team\"\n\tMembersRemoveErrorTransferAdminUserNotInTeam                   = \"transfer_admin_user_not_in_team\"\n\tMembersRemoveErrorTransferAdminUserNotFound                    = \"transfer_admin_user_not_found\"\n\tMembersRemoveErrorUnspecifiedTransferAdminId                   = \"unspecified_transfer_admin_id\"\n\tMembersRemoveErrorTransferAdminIsNotAdmin                      = \"transfer_admin_is_not_admin\"\n\tMembersRemoveErrorRecipientNotVerified                         = \"recipient_not_verified\"\n\tMembersRemoveErrorRemoveLastAdmin                              = \"remove_last_admin\"\n\tMembersRemoveErrorCannotKeepAccountAndTransfer                 = \"cannot_keep_account_and_transfer\"\n\tMembersRemoveErrorCannotKeepAccountAndDeleteData               = \"cannot_keep_account_and_delete_data\"\n\tMembersRemoveErrorEmailAddressTooLongToBeDisabled              = \"email_address_too_long_to_be_disabled\"\n\tMembersRemoveErrorCannotKeepInvitedUserAccount                 = \"cannot_keep_invited_user_account\"\n\tMembersRemoveErrorCannotRetainSharesWhenDataWiped              = \"cannot_retain_shares_when_data_wiped\"\n\tMembersRemoveErrorCannotRetainSharesWhenNoAccountKept          = \"cannot_retain_shares_when_no_account_kept\"\n\tMembersRemoveErrorCannotRetainSharesWhenTeamExternalSharingOff = \"cannot_retain_shares_when_team_external_sharing_off\"\n\tMembersRemoveErrorCannotKeepAccount                            = \"cannot_keep_account\"\n\tMembersRemoveErrorCannotKeepAccountUnderLegalHold              = \"cannot_keep_account_under_legal_hold\"\n\tMembersRemoveErrorCannotKeepAccountRequiredToSignTos           = \"cannot_keep_account_required_to_sign_tos\"\n)\n\n// MembersSendWelcomeError :\ntype MembersSendWelcomeError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MembersSendWelcomeError\nconst (\n\tMembersSendWelcomeErrorUserNotFound  = \"user_not_found\"\n\tMembersSendWelcomeErrorUserNotInTeam = \"user_not_in_team\"\n\tMembersSendWelcomeErrorOther         = \"other\"\n)\n\n// MembersSetPermissions2Arg : Exactly one of team_member_id, email, or\n// external_id must be provided to identify the user account.\ntype MembersSetPermissions2Arg struct {\n\t// User : Identity of user whose role will be set.\n\tUser *UserSelectorArg `json:\"user\"`\n\t// NewRoles : The new roles for the member. Send empty list to make user\n\t// member only. For now, only up to one role is allowed.\n\tNewRoles []string `json:\"new_roles,omitempty\"`\n}\n\n// NewMembersSetPermissions2Arg returns a new MembersSetPermissions2Arg instance\nfunc NewMembersSetPermissions2Arg(User *UserSelectorArg) *MembersSetPermissions2Arg {\n\ts := new(MembersSetPermissions2Arg)\n\ts.User = User\n\treturn s\n}\n\n// MembersSetPermissions2Error : has no documentation (yet)\ntype MembersSetPermissions2Error struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MembersSetPermissions2Error\nconst (\n\tMembersSetPermissions2ErrorUserNotFound         = \"user_not_found\"\n\tMembersSetPermissions2ErrorLastAdmin            = \"last_admin\"\n\tMembersSetPermissions2ErrorUserNotInTeam        = \"user_not_in_team\"\n\tMembersSetPermissions2ErrorCannotSetPermissions = \"cannot_set_permissions\"\n\tMembersSetPermissions2ErrorRoleNotFound         = \"role_not_found\"\n\tMembersSetPermissions2ErrorOther                = \"other\"\n)\n\n// MembersSetPermissions2Result : has no documentation (yet)\ntype MembersSetPermissions2Result struct {\n\t// TeamMemberId : The member ID of the user to which the change was applied.\n\tTeamMemberId string `json:\"team_member_id\"`\n\t// Roles : The roles after the change. Empty in case the user become a\n\t// non-admin.\n\tRoles []*TeamMemberRole `json:\"roles,omitempty\"`\n}\n\n// NewMembersSetPermissions2Result returns a new MembersSetPermissions2Result instance\nfunc NewMembersSetPermissions2Result(TeamMemberId string) *MembersSetPermissions2Result {\n\ts := new(MembersSetPermissions2Result)\n\ts.TeamMemberId = TeamMemberId\n\treturn s\n}\n\n// MembersSetPermissionsArg : Exactly one of team_member_id, email, or\n// external_id must be provided to identify the user account.\ntype MembersSetPermissionsArg struct {\n\t// User : Identity of user whose role will be set.\n\tUser *UserSelectorArg `json:\"user\"`\n\t// NewRole : The new role of the member.\n\tNewRole *AdminTier `json:\"new_role\"`\n}\n\n// NewMembersSetPermissionsArg returns a new MembersSetPermissionsArg instance\nfunc NewMembersSetPermissionsArg(User *UserSelectorArg, NewRole *AdminTier) *MembersSetPermissionsArg {\n\ts := new(MembersSetPermissionsArg)\n\ts.User = User\n\ts.NewRole = NewRole\n\treturn s\n}\n\n// MembersSetPermissionsError : has no documentation (yet)\ntype MembersSetPermissionsError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MembersSetPermissionsError\nconst (\n\tMembersSetPermissionsErrorUserNotFound         = \"user_not_found\"\n\tMembersSetPermissionsErrorLastAdmin            = \"last_admin\"\n\tMembersSetPermissionsErrorUserNotInTeam        = \"user_not_in_team\"\n\tMembersSetPermissionsErrorCannotSetPermissions = \"cannot_set_permissions\"\n\tMembersSetPermissionsErrorTeamLicenseLimit     = \"team_license_limit\"\n\tMembersSetPermissionsErrorOther                = \"other\"\n)\n\n// MembersSetPermissionsResult : has no documentation (yet)\ntype MembersSetPermissionsResult struct {\n\t// TeamMemberId : The member ID of the user to which the change was applied.\n\tTeamMemberId string `json:\"team_member_id\"`\n\t// Role : The role after the change.\n\tRole *AdminTier `json:\"role\"`\n}\n\n// NewMembersSetPermissionsResult returns a new MembersSetPermissionsResult instance\nfunc NewMembersSetPermissionsResult(TeamMemberId string, Role *AdminTier) *MembersSetPermissionsResult {\n\ts := new(MembersSetPermissionsResult)\n\ts.TeamMemberId = TeamMemberId\n\ts.Role = Role\n\treturn s\n}\n\n// MembersSetProfileArg : Exactly one of team_member_id, email, or external_id\n// must be provided to identify the user account. At least one of new_email,\n// new_external_id, new_given_name, and/or new_surname must be provided.\ntype MembersSetProfileArg struct {\n\t// User : Identity of user whose profile will be set.\n\tUser *UserSelectorArg `json:\"user\"`\n\t// NewEmail : New email for member.\n\tNewEmail string `json:\"new_email,omitempty\"`\n\t// NewExternalId : New external ID for member.\n\tNewExternalId string `json:\"new_external_id,omitempty\"`\n\t// NewGivenName : New given name for member.\n\tNewGivenName string `json:\"new_given_name,omitempty\"`\n\t// NewSurname : New surname for member.\n\tNewSurname string `json:\"new_surname,omitempty\"`\n\t// NewPersistentId : New persistent ID. This field only available to teams\n\t// using persistent ID SAML configuration.\n\tNewPersistentId string `json:\"new_persistent_id,omitempty\"`\n\t// NewIsDirectoryRestricted : New value for whether the user is a directory\n\t// restricted user.\n\tNewIsDirectoryRestricted bool `json:\"new_is_directory_restricted,omitempty\"`\n}\n\n// NewMembersSetProfileArg returns a new MembersSetProfileArg instance\nfunc NewMembersSetProfileArg(User *UserSelectorArg) *MembersSetProfileArg {\n\ts := new(MembersSetProfileArg)\n\ts.User = User\n\treturn s\n}\n\n// MembersSetProfileError : has no documentation (yet)\ntype MembersSetProfileError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MembersSetProfileError\nconst (\n\tMembersSetProfileErrorUserNotFound                     = \"user_not_found\"\n\tMembersSetProfileErrorUserNotInTeam                    = \"user_not_in_team\"\n\tMembersSetProfileErrorExternalIdAndNewExternalIdUnsafe = \"external_id_and_new_external_id_unsafe\"\n\tMembersSetProfileErrorNoNewDataSpecified               = \"no_new_data_specified\"\n\tMembersSetProfileErrorEmailReservedForOtherUser        = \"email_reserved_for_other_user\"\n\tMembersSetProfileErrorExternalIdUsedByOtherUser        = \"external_id_used_by_other_user\"\n\tMembersSetProfileErrorSetProfileDisallowed             = \"set_profile_disallowed\"\n\tMembersSetProfileErrorParamCannotBeEmpty               = \"param_cannot_be_empty\"\n\tMembersSetProfileErrorPersistentIdDisabled             = \"persistent_id_disabled\"\n\tMembersSetProfileErrorPersistentIdUsedByOtherUser      = \"persistent_id_used_by_other_user\"\n\tMembersSetProfileErrorDirectoryRestrictedOff           = \"directory_restricted_off\"\n\tMembersSetProfileErrorOther                            = \"other\"\n)\n\n// MembersSetProfilePhotoArg : has no documentation (yet)\ntype MembersSetProfilePhotoArg struct {\n\t// User : Identity of the user whose profile photo will be set.\n\tUser *UserSelectorArg `json:\"user\"`\n\t// Photo : Image to set as the member's new profile photo.\n\tPhoto *account.PhotoSourceArg `json:\"photo\"`\n}\n\n// NewMembersSetProfilePhotoArg returns a new MembersSetProfilePhotoArg instance\nfunc NewMembersSetProfilePhotoArg(User *UserSelectorArg, Photo *account.PhotoSourceArg) *MembersSetProfilePhotoArg {\n\ts := new(MembersSetProfilePhotoArg)\n\ts.User = User\n\ts.Photo = Photo\n\treturn s\n}\n\n// MembersSetProfilePhotoError : has no documentation (yet)\ntype MembersSetProfilePhotoError struct {\n\tdropbox.Tagged\n\t// PhotoError : has no documentation (yet)\n\tPhotoError *account.SetProfilePhotoError `json:\"photo_error,omitempty\"`\n}\n\n// Valid tag values for MembersSetProfilePhotoError\nconst (\n\tMembersSetProfilePhotoErrorUserNotFound         = \"user_not_found\"\n\tMembersSetProfilePhotoErrorUserNotInTeam        = \"user_not_in_team\"\n\tMembersSetProfilePhotoErrorSetProfileDisallowed = \"set_profile_disallowed\"\n\tMembersSetProfilePhotoErrorPhotoError           = \"photo_error\"\n\tMembersSetProfilePhotoErrorOther                = \"other\"\n)\n\n// UnmarshalJSON deserializes into a MembersSetProfilePhotoError instance\nfunc (u *MembersSetProfilePhotoError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// PhotoError : has no documentation (yet)\n\t\tPhotoError *account.SetProfilePhotoError `json:\"photo_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"photo_error\":\n\t\tu.PhotoError = w.PhotoError\n\n\t}\n\treturn nil\n}\n\n// MembersSuspendError : has no documentation (yet)\ntype MembersSuspendError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MembersSuspendError\nconst (\n\tMembersSuspendErrorUserNotFound        = \"user_not_found\"\n\tMembersSuspendErrorUserNotInTeam       = \"user_not_in_team\"\n\tMembersSuspendErrorOther               = \"other\"\n\tMembersSuspendErrorSuspendInactiveUser = \"suspend_inactive_user\"\n\tMembersSuspendErrorSuspendLastAdmin    = \"suspend_last_admin\"\n\tMembersSuspendErrorTeamLicenseLimit    = \"team_license_limit\"\n)\n\n// MembersTransferFormerMembersFilesError : has no documentation (yet)\ntype MembersTransferFormerMembersFilesError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MembersTransferFormerMembersFilesError\nconst (\n\tMembersTransferFormerMembersFilesErrorUserNotFound                        = \"user_not_found\"\n\tMembersTransferFormerMembersFilesErrorUserNotInTeam                       = \"user_not_in_team\"\n\tMembersTransferFormerMembersFilesErrorOther                               = \"other\"\n\tMembersTransferFormerMembersFilesErrorRemovedAndTransferDestShouldDiffer  = \"removed_and_transfer_dest_should_differ\"\n\tMembersTransferFormerMembersFilesErrorRemovedAndTransferAdminShouldDiffer = \"removed_and_transfer_admin_should_differ\"\n\tMembersTransferFormerMembersFilesErrorTransferDestUserNotFound            = \"transfer_dest_user_not_found\"\n\tMembersTransferFormerMembersFilesErrorTransferDestUserNotInTeam           = \"transfer_dest_user_not_in_team\"\n\tMembersTransferFormerMembersFilesErrorTransferAdminUserNotInTeam          = \"transfer_admin_user_not_in_team\"\n\tMembersTransferFormerMembersFilesErrorTransferAdminUserNotFound           = \"transfer_admin_user_not_found\"\n\tMembersTransferFormerMembersFilesErrorUnspecifiedTransferAdminId          = \"unspecified_transfer_admin_id\"\n\tMembersTransferFormerMembersFilesErrorTransferAdminIsNotAdmin             = \"transfer_admin_is_not_admin\"\n\tMembersTransferFormerMembersFilesErrorRecipientNotVerified                = \"recipient_not_verified\"\n\tMembersTransferFormerMembersFilesErrorUserDataIsBeingTransferred          = \"user_data_is_being_transferred\"\n\tMembersTransferFormerMembersFilesErrorUserNotRemoved                      = \"user_not_removed\"\n\tMembersTransferFormerMembersFilesErrorUserDataCannotBeTransferred         = \"user_data_cannot_be_transferred\"\n\tMembersTransferFormerMembersFilesErrorUserDataAlreadyTransferred          = \"user_data_already_transferred\"\n)\n\n// MembersUnsuspendArg : Exactly one of team_member_id, email, or external_id\n// must be provided to identify the user account.\ntype MembersUnsuspendArg struct {\n\t// User : Identity of user to unsuspend.\n\tUser *UserSelectorArg `json:\"user\"`\n}\n\n// NewMembersUnsuspendArg returns a new MembersUnsuspendArg instance\nfunc NewMembersUnsuspendArg(User *UserSelectorArg) *MembersUnsuspendArg {\n\ts := new(MembersUnsuspendArg)\n\ts.User = User\n\treturn s\n}\n\n// MembersUnsuspendError : has no documentation (yet)\ntype MembersUnsuspendError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MembersUnsuspendError\nconst (\n\tMembersUnsuspendErrorUserNotFound                = \"user_not_found\"\n\tMembersUnsuspendErrorUserNotInTeam               = \"user_not_in_team\"\n\tMembersUnsuspendErrorOther                       = \"other\"\n\tMembersUnsuspendErrorUnsuspendNonSuspendedMember = \"unsuspend_non_suspended_member\"\n\tMembersUnsuspendErrorTeamLicenseLimit            = \"team_license_limit\"\n)\n\n// MobileClientPlatform : has no documentation (yet)\ntype MobileClientPlatform struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MobileClientPlatform\nconst (\n\tMobileClientPlatformIphone       = \"iphone\"\n\tMobileClientPlatformIpad         = \"ipad\"\n\tMobileClientPlatformAndroid      = \"android\"\n\tMobileClientPlatformWindowsPhone = \"windows_phone\"\n\tMobileClientPlatformBlackberry   = \"blackberry\"\n\tMobileClientPlatformOther        = \"other\"\n)\n\n// MobileClientSession : Information about linked Dropbox mobile client\n// sessions.\ntype MobileClientSession struct {\n\tDeviceSession\n\t// DeviceName : The device name.\n\tDeviceName string `json:\"device_name\"`\n\t// ClientType : The mobile application type.\n\tClientType *MobileClientPlatform `json:\"client_type\"`\n\t// ClientVersion : The dropbox client version.\n\tClientVersion string `json:\"client_version,omitempty\"`\n\t// OsVersion : The hosting OS version.\n\tOsVersion string `json:\"os_version,omitempty\"`\n\t// LastCarrier : last carrier used by the device.\n\tLastCarrier string `json:\"last_carrier,omitempty\"`\n}\n\n// NewMobileClientSession returns a new MobileClientSession instance\nfunc NewMobileClientSession(SessionId string, DeviceName string, ClientType *MobileClientPlatform) *MobileClientSession {\n\ts := new(MobileClientSession)\n\ts.SessionId = SessionId\n\ts.DeviceName = DeviceName\n\ts.ClientType = ClientType\n\treturn s\n}\n\n// NamespaceMetadata : Properties of a namespace.\ntype NamespaceMetadata struct {\n\t// Name : The name of this namespace.\n\tName string `json:\"name\"`\n\t// NamespaceId : The ID of this namespace.\n\tNamespaceId string `json:\"namespace_id\"`\n\t// NamespaceType : The type of this namespace.\n\tNamespaceType *NamespaceType `json:\"namespace_type\"`\n\t// TeamMemberId : If this is a team member or app folder, the ID of the\n\t// owning team member. Otherwise, this field is not present.\n\tTeamMemberId string `json:\"team_member_id,omitempty\"`\n}\n\n// NewNamespaceMetadata returns a new NamespaceMetadata instance\nfunc NewNamespaceMetadata(Name string, NamespaceId string, NamespaceType *NamespaceType) *NamespaceMetadata {\n\ts := new(NamespaceMetadata)\n\ts.Name = Name\n\ts.NamespaceId = NamespaceId\n\ts.NamespaceType = NamespaceType\n\treturn s\n}\n\n// NamespaceType : has no documentation (yet)\ntype NamespaceType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for NamespaceType\nconst (\n\tNamespaceTypeAppFolder        = \"app_folder\"\n\tNamespaceTypeSharedFolder     = \"shared_folder\"\n\tNamespaceTypeTeamFolder       = \"team_folder\"\n\tNamespaceTypeTeamMemberFolder = \"team_member_folder\"\n\tNamespaceTypeOther            = \"other\"\n)\n\n// RemoveCustomQuotaResult : User result for setting member custom quota.\ntype RemoveCustomQuotaResult struct {\n\tdropbox.Tagged\n\t// Success : Successfully removed user.\n\tSuccess *UserSelectorArg `json:\"success,omitempty\"`\n\t// InvalidUser : Invalid user (not in team).\n\tInvalidUser *UserSelectorArg `json:\"invalid_user,omitempty\"`\n}\n\n// Valid tag values for RemoveCustomQuotaResult\nconst (\n\tRemoveCustomQuotaResultSuccess     = \"success\"\n\tRemoveCustomQuotaResultInvalidUser = \"invalid_user\"\n\tRemoveCustomQuotaResultOther       = \"other\"\n)\n\n// UnmarshalJSON deserializes into a RemoveCustomQuotaResult instance\nfunc (u *RemoveCustomQuotaResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Success : Successfully removed user.\n\t\tSuccess *UserSelectorArg `json:\"success,omitempty\"`\n\t\t// InvalidUser : Invalid user (not in team).\n\t\tInvalidUser *UserSelectorArg `json:\"invalid_user,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tu.Success = w.Success\n\n\tcase \"invalid_user\":\n\t\tu.InvalidUser = w.InvalidUser\n\n\t}\n\treturn nil\n}\n\n// RemovedStatus : has no documentation (yet)\ntype RemovedStatus struct {\n\t// IsRecoverable : True if the removed team member is recoverable.\n\tIsRecoverable bool `json:\"is_recoverable\"`\n\t// IsDisconnected : True if the team member's account was converted to\n\t// individual account.\n\tIsDisconnected bool `json:\"is_disconnected\"`\n}\n\n// NewRemovedStatus returns a new RemovedStatus instance\nfunc NewRemovedStatus(IsRecoverable bool, IsDisconnected bool) *RemovedStatus {\n\ts := new(RemovedStatus)\n\ts.IsRecoverable = IsRecoverable\n\ts.IsDisconnected = IsDisconnected\n\treturn s\n}\n\n// ResendSecondaryEmailResult : Result of trying to resend verification email to\n// a secondary email address. 'success' is the only value indicating that a\n// verification email was successfully sent. The other values explain the type\n// of error that occurred, and include the email for which the error occurred.\ntype ResendSecondaryEmailResult struct {\n\tdropbox.Tagged\n\t// Success : A verification email was successfully sent to the secondary\n\t// email address.\n\tSuccess string `json:\"success,omitempty\"`\n\t// NotPending : This secondary email address is not pending for the user.\n\tNotPending string `json:\"not_pending,omitempty\"`\n\t// RateLimited : Too many emails are being sent to this email address.\n\t// Please try again later.\n\tRateLimited string `json:\"rate_limited,omitempty\"`\n}\n\n// Valid tag values for ResendSecondaryEmailResult\nconst (\n\tResendSecondaryEmailResultSuccess     = \"success\"\n\tResendSecondaryEmailResultNotPending  = \"not_pending\"\n\tResendSecondaryEmailResultRateLimited = \"rate_limited\"\n\tResendSecondaryEmailResultOther       = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ResendSecondaryEmailResult instance\nfunc (u *ResendSecondaryEmailResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Success : A verification email was successfully sent to the secondary\n\t\t// email address.\n\t\tSuccess string `json:\"success,omitempty\"`\n\t\t// NotPending : This secondary email address is not pending for the\n\t\t// user.\n\t\tNotPending string `json:\"not_pending,omitempty\"`\n\t\t// RateLimited : Too many emails are being sent to this email address.\n\t\t// Please try again later.\n\t\tRateLimited string `json:\"rate_limited,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tu.Success = w.Success\n\n\tcase \"not_pending\":\n\t\tu.NotPending = w.NotPending\n\n\tcase \"rate_limited\":\n\t\tu.RateLimited = w.RateLimited\n\n\t}\n\treturn nil\n}\n\n// ResendVerificationEmailArg : has no documentation (yet)\ntype ResendVerificationEmailArg struct {\n\t// EmailsToResend : List of users and secondary emails to resend\n\t// verification emails to.\n\tEmailsToResend []*UserSecondaryEmailsArg `json:\"emails_to_resend\"`\n}\n\n// NewResendVerificationEmailArg returns a new ResendVerificationEmailArg instance\nfunc NewResendVerificationEmailArg(EmailsToResend []*UserSecondaryEmailsArg) *ResendVerificationEmailArg {\n\ts := new(ResendVerificationEmailArg)\n\ts.EmailsToResend = EmailsToResend\n\treturn s\n}\n\n// ResendVerificationEmailResult : List of users and resend results.\ntype ResendVerificationEmailResult struct {\n\t// Results : has no documentation (yet)\n\tResults []*UserResendResult `json:\"results\"`\n}\n\n// NewResendVerificationEmailResult returns a new ResendVerificationEmailResult instance\nfunc NewResendVerificationEmailResult(Results []*UserResendResult) *ResendVerificationEmailResult {\n\ts := new(ResendVerificationEmailResult)\n\ts.Results = Results\n\treturn s\n}\n\n// RevokeDesktopClientArg : has no documentation (yet)\ntype RevokeDesktopClientArg struct {\n\tDeviceSessionArg\n\t// DeleteOnUnlink : Whether to delete all files of the account (this is\n\t// possible only if supported by the desktop client and  will be made the\n\t// next time the client access the account).\n\tDeleteOnUnlink bool `json:\"delete_on_unlink\"`\n}\n\n// NewRevokeDesktopClientArg returns a new RevokeDesktopClientArg instance\nfunc NewRevokeDesktopClientArg(SessionId string, TeamMemberId string) *RevokeDesktopClientArg {\n\ts := new(RevokeDesktopClientArg)\n\ts.SessionId = SessionId\n\ts.TeamMemberId = TeamMemberId\n\ts.DeleteOnUnlink = false\n\treturn s\n}\n\n// RevokeDeviceSessionArg : has no documentation (yet)\ntype RevokeDeviceSessionArg struct {\n\tdropbox.Tagged\n\t// WebSession : End an active session.\n\tWebSession *DeviceSessionArg `json:\"web_session,omitempty\"`\n\t// DesktopClient : Unlink a linked desktop device.\n\tDesktopClient *RevokeDesktopClientArg `json:\"desktop_client,omitempty\"`\n\t// MobileClient : Unlink a linked mobile device.\n\tMobileClient *DeviceSessionArg `json:\"mobile_client,omitempty\"`\n}\n\n// Valid tag values for RevokeDeviceSessionArg\nconst (\n\tRevokeDeviceSessionArgWebSession    = \"web_session\"\n\tRevokeDeviceSessionArgDesktopClient = \"desktop_client\"\n\tRevokeDeviceSessionArgMobileClient  = \"mobile_client\"\n)\n\n// UnmarshalJSON deserializes into a RevokeDeviceSessionArg instance\nfunc (u *RevokeDeviceSessionArg) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"web_session\":\n\t\tif err = json.Unmarshal(body, &u.WebSession); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"desktop_client\":\n\t\tif err = json.Unmarshal(body, &u.DesktopClient); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"mobile_client\":\n\t\tif err = json.Unmarshal(body, &u.MobileClient); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// RevokeDeviceSessionBatchArg : has no documentation (yet)\ntype RevokeDeviceSessionBatchArg struct {\n\t// RevokeDevices : has no documentation (yet)\n\tRevokeDevices []*RevokeDeviceSessionArg `json:\"revoke_devices\"`\n}\n\n// NewRevokeDeviceSessionBatchArg returns a new RevokeDeviceSessionBatchArg instance\nfunc NewRevokeDeviceSessionBatchArg(RevokeDevices []*RevokeDeviceSessionArg) *RevokeDeviceSessionBatchArg {\n\ts := new(RevokeDeviceSessionBatchArg)\n\ts.RevokeDevices = RevokeDevices\n\treturn s\n}\n\n// RevokeDeviceSessionBatchError :\ntype RevokeDeviceSessionBatchError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for RevokeDeviceSessionBatchError\nconst (\n\tRevokeDeviceSessionBatchErrorOther = \"other\"\n)\n\n// RevokeDeviceSessionBatchResult : has no documentation (yet)\ntype RevokeDeviceSessionBatchResult struct {\n\t// RevokeDevicesStatus : has no documentation (yet)\n\tRevokeDevicesStatus []*RevokeDeviceSessionStatus `json:\"revoke_devices_status\"`\n}\n\n// NewRevokeDeviceSessionBatchResult returns a new RevokeDeviceSessionBatchResult instance\nfunc NewRevokeDeviceSessionBatchResult(RevokeDevicesStatus []*RevokeDeviceSessionStatus) *RevokeDeviceSessionBatchResult {\n\ts := new(RevokeDeviceSessionBatchResult)\n\ts.RevokeDevicesStatus = RevokeDevicesStatus\n\treturn s\n}\n\n// RevokeDeviceSessionError : has no documentation (yet)\ntype RevokeDeviceSessionError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for RevokeDeviceSessionError\nconst (\n\tRevokeDeviceSessionErrorDeviceSessionNotFound = \"device_session_not_found\"\n\tRevokeDeviceSessionErrorMemberNotFound        = \"member_not_found\"\n\tRevokeDeviceSessionErrorOther                 = \"other\"\n)\n\n// RevokeDeviceSessionStatus : has no documentation (yet)\ntype RevokeDeviceSessionStatus struct {\n\t// Success : Result of the revoking request.\n\tSuccess bool `json:\"success\"`\n\t// ErrorType : The error cause in case of a failure.\n\tErrorType *RevokeDeviceSessionError `json:\"error_type,omitempty\"`\n}\n\n// NewRevokeDeviceSessionStatus returns a new RevokeDeviceSessionStatus instance\nfunc NewRevokeDeviceSessionStatus(Success bool) *RevokeDeviceSessionStatus {\n\ts := new(RevokeDeviceSessionStatus)\n\ts.Success = Success\n\treturn s\n}\n\n// RevokeLinkedApiAppArg : has no documentation (yet)\ntype RevokeLinkedApiAppArg struct {\n\t// AppId : The application's unique id.\n\tAppId string `json:\"app_id\"`\n\t// TeamMemberId : The unique id of the member owning the device.\n\tTeamMemberId string `json:\"team_member_id\"`\n\t// KeepAppFolder : This flag is not longer supported, the application\n\t// dedicated folder (in case the application uses  one) will be kept.\n\tKeepAppFolder bool `json:\"keep_app_folder\"`\n}\n\n// NewRevokeLinkedApiAppArg returns a new RevokeLinkedApiAppArg instance\nfunc NewRevokeLinkedApiAppArg(AppId string, TeamMemberId string) *RevokeLinkedApiAppArg {\n\ts := new(RevokeLinkedApiAppArg)\n\ts.AppId = AppId\n\ts.TeamMemberId = TeamMemberId\n\ts.KeepAppFolder = true\n\treturn s\n}\n\n// RevokeLinkedApiAppBatchArg : has no documentation (yet)\ntype RevokeLinkedApiAppBatchArg struct {\n\t// RevokeLinkedApp : has no documentation (yet)\n\tRevokeLinkedApp []*RevokeLinkedApiAppArg `json:\"revoke_linked_app\"`\n}\n\n// NewRevokeLinkedApiAppBatchArg returns a new RevokeLinkedApiAppBatchArg instance\nfunc NewRevokeLinkedApiAppBatchArg(RevokeLinkedApp []*RevokeLinkedApiAppArg) *RevokeLinkedApiAppBatchArg {\n\ts := new(RevokeLinkedApiAppBatchArg)\n\ts.RevokeLinkedApp = RevokeLinkedApp\n\treturn s\n}\n\n// RevokeLinkedAppBatchError : Error returned by\n// `linkedAppsRevokeLinkedAppBatch`.\ntype RevokeLinkedAppBatchError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for RevokeLinkedAppBatchError\nconst (\n\tRevokeLinkedAppBatchErrorOther = \"other\"\n)\n\n// RevokeLinkedAppBatchResult : has no documentation (yet)\ntype RevokeLinkedAppBatchResult struct {\n\t// RevokeLinkedAppStatus : has no documentation (yet)\n\tRevokeLinkedAppStatus []*RevokeLinkedAppStatus `json:\"revoke_linked_app_status\"`\n}\n\n// NewRevokeLinkedAppBatchResult returns a new RevokeLinkedAppBatchResult instance\nfunc NewRevokeLinkedAppBatchResult(RevokeLinkedAppStatus []*RevokeLinkedAppStatus) *RevokeLinkedAppBatchResult {\n\ts := new(RevokeLinkedAppBatchResult)\n\ts.RevokeLinkedAppStatus = RevokeLinkedAppStatus\n\treturn s\n}\n\n// RevokeLinkedAppError : Error returned by `linkedAppsRevokeLinkedApp`.\ntype RevokeLinkedAppError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for RevokeLinkedAppError\nconst (\n\tRevokeLinkedAppErrorAppNotFound                  = \"app_not_found\"\n\tRevokeLinkedAppErrorMemberNotFound               = \"member_not_found\"\n\tRevokeLinkedAppErrorAppFolderRemovalNotSupported = \"app_folder_removal_not_supported\"\n\tRevokeLinkedAppErrorOther                        = \"other\"\n)\n\n// RevokeLinkedAppStatus : has no documentation (yet)\ntype RevokeLinkedAppStatus struct {\n\t// Success : Result of the revoking request.\n\tSuccess bool `json:\"success\"`\n\t// ErrorType : The error cause in case of a failure.\n\tErrorType *RevokeLinkedAppError `json:\"error_type,omitempty\"`\n}\n\n// NewRevokeLinkedAppStatus returns a new RevokeLinkedAppStatus instance\nfunc NewRevokeLinkedAppStatus(Success bool) *RevokeLinkedAppStatus {\n\ts := new(RevokeLinkedAppStatus)\n\ts.Success = Success\n\treturn s\n}\n\n// SetCustomQuotaArg : has no documentation (yet)\ntype SetCustomQuotaArg struct {\n\t// UsersAndQuotas : List of users and their custom quotas.\n\tUsersAndQuotas []*UserCustomQuotaArg `json:\"users_and_quotas\"`\n}\n\n// NewSetCustomQuotaArg returns a new SetCustomQuotaArg instance\nfunc NewSetCustomQuotaArg(UsersAndQuotas []*UserCustomQuotaArg) *SetCustomQuotaArg {\n\ts := new(SetCustomQuotaArg)\n\ts.UsersAndQuotas = UsersAndQuotas\n\treturn s\n}\n\n// SetCustomQuotaError : Error returned when setting member custom quota.\ntype SetCustomQuotaError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SetCustomQuotaError\nconst (\n\tSetCustomQuotaErrorTooManyUsers         = \"too_many_users\"\n\tSetCustomQuotaErrorOther                = \"other\"\n\tSetCustomQuotaErrorSomeUsersAreExcluded = \"some_users_are_excluded\"\n)\n\n// StorageBucket : Describes the number of users in a specific storage bucket.\ntype StorageBucket struct {\n\t// Bucket : The name of the storage bucket. For example, '1G' is a bucket of\n\t// users with storage size up to 1 Giga.\n\tBucket string `json:\"bucket\"`\n\t// Users : The number of people whose storage is in the range of this\n\t// storage bucket.\n\tUsers uint64 `json:\"users\"`\n}\n\n// NewStorageBucket returns a new StorageBucket instance\nfunc NewStorageBucket(Bucket string, Users uint64) *StorageBucket {\n\ts := new(StorageBucket)\n\ts.Bucket = Bucket\n\ts.Users = Users\n\treturn s\n}\n\n// TeamFolderAccessError : has no documentation (yet)\ntype TeamFolderAccessError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TeamFolderAccessError\nconst (\n\tTeamFolderAccessErrorInvalidTeamFolderId = \"invalid_team_folder_id\"\n\tTeamFolderAccessErrorNoAccess            = \"no_access\"\n\tTeamFolderAccessErrorOther               = \"other\"\n)\n\n// TeamFolderActivateError :\ntype TeamFolderActivateError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *TeamFolderAccessError `json:\"access_error,omitempty\"`\n\t// StatusError : has no documentation (yet)\n\tStatusError *TeamFolderInvalidStatusError `json:\"status_error,omitempty\"`\n\t// TeamSharedDropboxError : has no documentation (yet)\n\tTeamSharedDropboxError *TeamFolderTeamSharedDropboxError `json:\"team_shared_dropbox_error,omitempty\"`\n}\n\n// Valid tag values for TeamFolderActivateError\nconst (\n\tTeamFolderActivateErrorAccessError            = \"access_error\"\n\tTeamFolderActivateErrorStatusError            = \"status_error\"\n\tTeamFolderActivateErrorTeamSharedDropboxError = \"team_shared_dropbox_error\"\n\tTeamFolderActivateErrorOther                  = \"other\"\n)\n\n// UnmarshalJSON deserializes into a TeamFolderActivateError instance\nfunc (u *TeamFolderActivateError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *TeamFolderAccessError `json:\"access_error,omitempty\"`\n\t\t// StatusError : has no documentation (yet)\n\t\tStatusError *TeamFolderInvalidStatusError `json:\"status_error,omitempty\"`\n\t\t// TeamSharedDropboxError : has no documentation (yet)\n\t\tTeamSharedDropboxError *TeamFolderTeamSharedDropboxError `json:\"team_shared_dropbox_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\tcase \"status_error\":\n\t\tu.StatusError = w.StatusError\n\n\tcase \"team_shared_dropbox_error\":\n\t\tu.TeamSharedDropboxError = w.TeamSharedDropboxError\n\n\t}\n\treturn nil\n}\n\n// TeamFolderIdArg : has no documentation (yet)\ntype TeamFolderIdArg struct {\n\t// TeamFolderId : The ID of the team folder.\n\tTeamFolderId string `json:\"team_folder_id\"`\n}\n\n// NewTeamFolderIdArg returns a new TeamFolderIdArg instance\nfunc NewTeamFolderIdArg(TeamFolderId string) *TeamFolderIdArg {\n\ts := new(TeamFolderIdArg)\n\ts.TeamFolderId = TeamFolderId\n\treturn s\n}\n\n// TeamFolderArchiveArg : has no documentation (yet)\ntype TeamFolderArchiveArg struct {\n\tTeamFolderIdArg\n\t// ForceAsyncOff : Whether to force the archive to happen synchronously.\n\tForceAsyncOff bool `json:\"force_async_off\"`\n}\n\n// NewTeamFolderArchiveArg returns a new TeamFolderArchiveArg instance\nfunc NewTeamFolderArchiveArg(TeamFolderId string) *TeamFolderArchiveArg {\n\ts := new(TeamFolderArchiveArg)\n\ts.TeamFolderId = TeamFolderId\n\ts.ForceAsyncOff = false\n\treturn s\n}\n\n// TeamFolderArchiveError :\ntype TeamFolderArchiveError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *TeamFolderAccessError `json:\"access_error,omitempty\"`\n\t// StatusError : has no documentation (yet)\n\tStatusError *TeamFolderInvalidStatusError `json:\"status_error,omitempty\"`\n\t// TeamSharedDropboxError : has no documentation (yet)\n\tTeamSharedDropboxError *TeamFolderTeamSharedDropboxError `json:\"team_shared_dropbox_error,omitempty\"`\n}\n\n// Valid tag values for TeamFolderArchiveError\nconst (\n\tTeamFolderArchiveErrorAccessError            = \"access_error\"\n\tTeamFolderArchiveErrorStatusError            = \"status_error\"\n\tTeamFolderArchiveErrorTeamSharedDropboxError = \"team_shared_dropbox_error\"\n\tTeamFolderArchiveErrorOther                  = \"other\"\n)\n\n// UnmarshalJSON deserializes into a TeamFolderArchiveError instance\nfunc (u *TeamFolderArchiveError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *TeamFolderAccessError `json:\"access_error,omitempty\"`\n\t\t// StatusError : has no documentation (yet)\n\t\tStatusError *TeamFolderInvalidStatusError `json:\"status_error,omitempty\"`\n\t\t// TeamSharedDropboxError : has no documentation (yet)\n\t\tTeamSharedDropboxError *TeamFolderTeamSharedDropboxError `json:\"team_shared_dropbox_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\tcase \"status_error\":\n\t\tu.StatusError = w.StatusError\n\n\tcase \"team_shared_dropbox_error\":\n\t\tu.TeamSharedDropboxError = w.TeamSharedDropboxError\n\n\t}\n\treturn nil\n}\n\n// TeamFolderArchiveJobStatus : has no documentation (yet)\ntype TeamFolderArchiveJobStatus struct {\n\tdropbox.Tagged\n\t// Complete : The archive job has finished. The value is the metadata for\n\t// the resulting team folder.\n\tComplete *TeamFolderMetadata `json:\"complete,omitempty\"`\n\t// Failed : Error occurred while performing an asynchronous job from\n\t// `teamFolderArchive`.\n\tFailed *TeamFolderArchiveError `json:\"failed,omitempty\"`\n}\n\n// Valid tag values for TeamFolderArchiveJobStatus\nconst (\n\tTeamFolderArchiveJobStatusInProgress = \"in_progress\"\n\tTeamFolderArchiveJobStatusComplete   = \"complete\"\n\tTeamFolderArchiveJobStatusFailed     = \"failed\"\n)\n\n// UnmarshalJSON deserializes into a TeamFolderArchiveJobStatus instance\nfunc (u *TeamFolderArchiveJobStatus) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Failed : Error occurred while performing an asynchronous job from\n\t\t// `teamFolderArchive`.\n\t\tFailed *TeamFolderArchiveError `json:\"failed,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"failed\":\n\t\tu.Failed = w.Failed\n\n\t}\n\treturn nil\n}\n\n// TeamFolderArchiveLaunch : has no documentation (yet)\ntype TeamFolderArchiveLaunch struct {\n\tdropbox.Tagged\n\t// AsyncJobId : This response indicates that the processing is asynchronous.\n\t// The string is an id that can be used to obtain the status of the\n\t// asynchronous job.\n\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t// Complete : has no documentation (yet)\n\tComplete *TeamFolderMetadata `json:\"complete,omitempty\"`\n}\n\n// Valid tag values for TeamFolderArchiveLaunch\nconst (\n\tTeamFolderArchiveLaunchAsyncJobId = \"async_job_id\"\n\tTeamFolderArchiveLaunchComplete   = \"complete\"\n)\n\n// UnmarshalJSON deserializes into a TeamFolderArchiveLaunch instance\nfunc (u *TeamFolderArchiveLaunch) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AsyncJobId : This response indicates that the processing is\n\t\t// asynchronous. The string is an id that can be used to obtain the\n\t\t// status of the asynchronous job.\n\t\tAsyncJobId string `json:\"async_job_id,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"async_job_id\":\n\t\tu.AsyncJobId = w.AsyncJobId\n\n\tcase \"complete\":\n\t\tif err = json.Unmarshal(body, &u.Complete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// TeamFolderCreateArg : has no documentation (yet)\ntype TeamFolderCreateArg struct {\n\t// Name : Name for the new team folder.\n\tName string `json:\"name\"`\n\t// SyncSetting : The sync setting to apply to this team folder. Only\n\t// permitted if the team has team selective sync enabled.\n\tSyncSetting *files.SyncSettingArg `json:\"sync_setting,omitempty\"`\n}\n\n// NewTeamFolderCreateArg returns a new TeamFolderCreateArg instance\nfunc NewTeamFolderCreateArg(Name string) *TeamFolderCreateArg {\n\ts := new(TeamFolderCreateArg)\n\ts.Name = Name\n\treturn s\n}\n\n// TeamFolderCreateError : has no documentation (yet)\ntype TeamFolderCreateError struct {\n\tdropbox.Tagged\n\t// SyncSettingsError : An error occurred setting the sync settings.\n\tSyncSettingsError *files.SyncSettingsError `json:\"sync_settings_error,omitempty\"`\n}\n\n// Valid tag values for TeamFolderCreateError\nconst (\n\tTeamFolderCreateErrorInvalidFolderName     = \"invalid_folder_name\"\n\tTeamFolderCreateErrorFolderNameAlreadyUsed = \"folder_name_already_used\"\n\tTeamFolderCreateErrorFolderNameReserved    = \"folder_name_reserved\"\n\tTeamFolderCreateErrorSyncSettingsError     = \"sync_settings_error\"\n\tTeamFolderCreateErrorOther                 = \"other\"\n)\n\n// UnmarshalJSON deserializes into a TeamFolderCreateError instance\nfunc (u *TeamFolderCreateError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// SyncSettingsError : An error occurred setting the sync settings.\n\t\tSyncSettingsError *files.SyncSettingsError `json:\"sync_settings_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"sync_settings_error\":\n\t\tu.SyncSettingsError = w.SyncSettingsError\n\n\t}\n\treturn nil\n}\n\n// TeamFolderGetInfoItem : has no documentation (yet)\ntype TeamFolderGetInfoItem struct {\n\tdropbox.Tagged\n\t// IdNotFound : An ID that was provided as a parameter to\n\t// `teamFolderGetInfo` did not match any of the team's team folders.\n\tIdNotFound string `json:\"id_not_found,omitempty\"`\n\t// TeamFolderMetadata : Properties of a team folder.\n\tTeamFolderMetadata *TeamFolderMetadata `json:\"team_folder_metadata,omitempty\"`\n}\n\n// Valid tag values for TeamFolderGetInfoItem\nconst (\n\tTeamFolderGetInfoItemIdNotFound         = \"id_not_found\"\n\tTeamFolderGetInfoItemTeamFolderMetadata = \"team_folder_metadata\"\n)\n\n// UnmarshalJSON deserializes into a TeamFolderGetInfoItem instance\nfunc (u *TeamFolderGetInfoItem) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// IdNotFound : An ID that was provided as a parameter to\n\t\t// `teamFolderGetInfo` did not match any of the team's team folders.\n\t\tIdNotFound string `json:\"id_not_found,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"id_not_found\":\n\t\tu.IdNotFound = w.IdNotFound\n\n\tcase \"team_folder_metadata\":\n\t\tif err = json.Unmarshal(body, &u.TeamFolderMetadata); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// TeamFolderIdListArg : has no documentation (yet)\ntype TeamFolderIdListArg struct {\n\t// TeamFolderIds : The list of team folder IDs.\n\tTeamFolderIds []string `json:\"team_folder_ids\"`\n}\n\n// NewTeamFolderIdListArg returns a new TeamFolderIdListArg instance\nfunc NewTeamFolderIdListArg(TeamFolderIds []string) *TeamFolderIdListArg {\n\ts := new(TeamFolderIdListArg)\n\ts.TeamFolderIds = TeamFolderIds\n\treturn s\n}\n\n// TeamFolderInvalidStatusError : has no documentation (yet)\ntype TeamFolderInvalidStatusError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TeamFolderInvalidStatusError\nconst (\n\tTeamFolderInvalidStatusErrorActive            = \"active\"\n\tTeamFolderInvalidStatusErrorArchived          = \"archived\"\n\tTeamFolderInvalidStatusErrorArchiveInProgress = \"archive_in_progress\"\n\tTeamFolderInvalidStatusErrorOther             = \"other\"\n)\n\n// TeamFolderListArg : has no documentation (yet)\ntype TeamFolderListArg struct {\n\t// Limit : The maximum number of results to return per request.\n\tLimit uint32 `json:\"limit\"`\n}\n\n// NewTeamFolderListArg returns a new TeamFolderListArg instance\nfunc NewTeamFolderListArg() *TeamFolderListArg {\n\ts := new(TeamFolderListArg)\n\ts.Limit = 1000\n\treturn s\n}\n\n// TeamFolderListContinueArg : has no documentation (yet)\ntype TeamFolderListContinueArg struct {\n\t// Cursor : Indicates from what point to get the next set of team folders.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewTeamFolderListContinueArg returns a new TeamFolderListContinueArg instance\nfunc NewTeamFolderListContinueArg(Cursor string) *TeamFolderListContinueArg {\n\ts := new(TeamFolderListContinueArg)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// TeamFolderListContinueError : has no documentation (yet)\ntype TeamFolderListContinueError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TeamFolderListContinueError\nconst (\n\tTeamFolderListContinueErrorInvalidCursor = \"invalid_cursor\"\n\tTeamFolderListContinueErrorOther         = \"other\"\n)\n\n// TeamFolderListError : has no documentation (yet)\ntype TeamFolderListError struct {\n\t// AccessError : has no documentation (yet)\n\tAccessError *TeamFolderAccessError `json:\"access_error\"`\n}\n\n// NewTeamFolderListError returns a new TeamFolderListError instance\nfunc NewTeamFolderListError(AccessError *TeamFolderAccessError) *TeamFolderListError {\n\ts := new(TeamFolderListError)\n\ts.AccessError = AccessError\n\treturn s\n}\n\n// TeamFolderListResult : Result for `teamFolderList` and\n// `teamFolderListContinue`.\ntype TeamFolderListResult struct {\n\t// TeamFolders : List of all team folders in the authenticated team.\n\tTeamFolders []*TeamFolderMetadata `json:\"team_folders\"`\n\t// Cursor : Pass the cursor into `teamFolderListContinue` to obtain\n\t// additional team folders.\n\tCursor string `json:\"cursor\"`\n\t// HasMore : Is true if there are additional team folders that have not been\n\t// returned yet. An additional call to `teamFolderListContinue` can retrieve\n\t// them.\n\tHasMore bool `json:\"has_more\"`\n}\n\n// NewTeamFolderListResult returns a new TeamFolderListResult instance\nfunc NewTeamFolderListResult(TeamFolders []*TeamFolderMetadata, Cursor string, HasMore bool) *TeamFolderListResult {\n\ts := new(TeamFolderListResult)\n\ts.TeamFolders = TeamFolders\n\ts.Cursor = Cursor\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// TeamFolderMetadata : Properties of a team folder.\ntype TeamFolderMetadata struct {\n\t// TeamFolderId : The ID of the team folder.\n\tTeamFolderId string `json:\"team_folder_id\"`\n\t// Name : The name of the team folder.\n\tName string `json:\"name\"`\n\t// Status : The status of the team folder.\n\tStatus *TeamFolderStatus `json:\"status\"`\n\t// IsTeamSharedDropbox : True if this team folder is a shared team root.\n\tIsTeamSharedDropbox bool `json:\"is_team_shared_dropbox\"`\n\t// SyncSetting : The sync setting applied to this team folder.\n\tSyncSetting *files.SyncSetting `json:\"sync_setting\"`\n\t// ContentSyncSettings : Sync settings applied to contents of this team\n\t// folder.\n\tContentSyncSettings []*files.ContentSyncSetting `json:\"content_sync_settings\"`\n}\n\n// NewTeamFolderMetadata returns a new TeamFolderMetadata instance\nfunc NewTeamFolderMetadata(TeamFolderId string, Name string, Status *TeamFolderStatus, IsTeamSharedDropbox bool, SyncSetting *files.SyncSetting, ContentSyncSettings []*files.ContentSyncSetting) *TeamFolderMetadata {\n\ts := new(TeamFolderMetadata)\n\ts.TeamFolderId = TeamFolderId\n\ts.Name = Name\n\ts.Status = Status\n\ts.IsTeamSharedDropbox = IsTeamSharedDropbox\n\ts.SyncSetting = SyncSetting\n\ts.ContentSyncSettings = ContentSyncSettings\n\treturn s\n}\n\n// TeamFolderPermanentlyDeleteError :\ntype TeamFolderPermanentlyDeleteError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *TeamFolderAccessError `json:\"access_error,omitempty\"`\n\t// StatusError : has no documentation (yet)\n\tStatusError *TeamFolderInvalidStatusError `json:\"status_error,omitempty\"`\n\t// TeamSharedDropboxError : has no documentation (yet)\n\tTeamSharedDropboxError *TeamFolderTeamSharedDropboxError `json:\"team_shared_dropbox_error,omitempty\"`\n}\n\n// Valid tag values for TeamFolderPermanentlyDeleteError\nconst (\n\tTeamFolderPermanentlyDeleteErrorAccessError            = \"access_error\"\n\tTeamFolderPermanentlyDeleteErrorStatusError            = \"status_error\"\n\tTeamFolderPermanentlyDeleteErrorTeamSharedDropboxError = \"team_shared_dropbox_error\"\n\tTeamFolderPermanentlyDeleteErrorOther                  = \"other\"\n)\n\n// UnmarshalJSON deserializes into a TeamFolderPermanentlyDeleteError instance\nfunc (u *TeamFolderPermanentlyDeleteError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *TeamFolderAccessError `json:\"access_error,omitempty\"`\n\t\t// StatusError : has no documentation (yet)\n\t\tStatusError *TeamFolderInvalidStatusError `json:\"status_error,omitempty\"`\n\t\t// TeamSharedDropboxError : has no documentation (yet)\n\t\tTeamSharedDropboxError *TeamFolderTeamSharedDropboxError `json:\"team_shared_dropbox_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\tcase \"status_error\":\n\t\tu.StatusError = w.StatusError\n\n\tcase \"team_shared_dropbox_error\":\n\t\tu.TeamSharedDropboxError = w.TeamSharedDropboxError\n\n\t}\n\treturn nil\n}\n\n// TeamFolderRenameArg : has no documentation (yet)\ntype TeamFolderRenameArg struct {\n\tTeamFolderIdArg\n\t// Name : New team folder name.\n\tName string `json:\"name\"`\n}\n\n// NewTeamFolderRenameArg returns a new TeamFolderRenameArg instance\nfunc NewTeamFolderRenameArg(TeamFolderId string, Name string) *TeamFolderRenameArg {\n\ts := new(TeamFolderRenameArg)\n\ts.TeamFolderId = TeamFolderId\n\ts.Name = Name\n\treturn s\n}\n\n// TeamFolderRenameError : has no documentation (yet)\ntype TeamFolderRenameError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *TeamFolderAccessError `json:\"access_error,omitempty\"`\n\t// StatusError : has no documentation (yet)\n\tStatusError *TeamFolderInvalidStatusError `json:\"status_error,omitempty\"`\n\t// TeamSharedDropboxError : has no documentation (yet)\n\tTeamSharedDropboxError *TeamFolderTeamSharedDropboxError `json:\"team_shared_dropbox_error,omitempty\"`\n}\n\n// Valid tag values for TeamFolderRenameError\nconst (\n\tTeamFolderRenameErrorAccessError            = \"access_error\"\n\tTeamFolderRenameErrorStatusError            = \"status_error\"\n\tTeamFolderRenameErrorTeamSharedDropboxError = \"team_shared_dropbox_error\"\n\tTeamFolderRenameErrorOther                  = \"other\"\n\tTeamFolderRenameErrorInvalidFolderName      = \"invalid_folder_name\"\n\tTeamFolderRenameErrorFolderNameAlreadyUsed  = \"folder_name_already_used\"\n\tTeamFolderRenameErrorFolderNameReserved     = \"folder_name_reserved\"\n)\n\n// UnmarshalJSON deserializes into a TeamFolderRenameError instance\nfunc (u *TeamFolderRenameError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *TeamFolderAccessError `json:\"access_error,omitempty\"`\n\t\t// StatusError : has no documentation (yet)\n\t\tStatusError *TeamFolderInvalidStatusError `json:\"status_error,omitempty\"`\n\t\t// TeamSharedDropboxError : has no documentation (yet)\n\t\tTeamSharedDropboxError *TeamFolderTeamSharedDropboxError `json:\"team_shared_dropbox_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\tcase \"status_error\":\n\t\tu.StatusError = w.StatusError\n\n\tcase \"team_shared_dropbox_error\":\n\t\tu.TeamSharedDropboxError = w.TeamSharedDropboxError\n\n\t}\n\treturn nil\n}\n\n// TeamFolderStatus : has no documentation (yet)\ntype TeamFolderStatus struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TeamFolderStatus\nconst (\n\tTeamFolderStatusActive            = \"active\"\n\tTeamFolderStatusArchived          = \"archived\"\n\tTeamFolderStatusArchiveInProgress = \"archive_in_progress\"\n\tTeamFolderStatusOther             = \"other\"\n)\n\n// TeamFolderTeamSharedDropboxError : has no documentation (yet)\ntype TeamFolderTeamSharedDropboxError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TeamFolderTeamSharedDropboxError\nconst (\n\tTeamFolderTeamSharedDropboxErrorDisallowed = \"disallowed\"\n\tTeamFolderTeamSharedDropboxErrorOther      = \"other\"\n)\n\n// TeamFolderUpdateSyncSettingsArg : has no documentation (yet)\ntype TeamFolderUpdateSyncSettingsArg struct {\n\tTeamFolderIdArg\n\t// SyncSetting : Sync setting to apply to the team folder itself. Only\n\t// meaningful if the team folder is not a shared team root.\n\tSyncSetting *files.SyncSettingArg `json:\"sync_setting,omitempty\"`\n\t// ContentSyncSettings : Sync settings to apply to contents of this team\n\t// folder.\n\tContentSyncSettings []*files.ContentSyncSettingArg `json:\"content_sync_settings,omitempty\"`\n}\n\n// NewTeamFolderUpdateSyncSettingsArg returns a new TeamFolderUpdateSyncSettingsArg instance\nfunc NewTeamFolderUpdateSyncSettingsArg(TeamFolderId string) *TeamFolderUpdateSyncSettingsArg {\n\ts := new(TeamFolderUpdateSyncSettingsArg)\n\ts.TeamFolderId = TeamFolderId\n\treturn s\n}\n\n// TeamFolderUpdateSyncSettingsError : has no documentation (yet)\ntype TeamFolderUpdateSyncSettingsError struct {\n\tdropbox.Tagged\n\t// AccessError : has no documentation (yet)\n\tAccessError *TeamFolderAccessError `json:\"access_error,omitempty\"`\n\t// StatusError : has no documentation (yet)\n\tStatusError *TeamFolderInvalidStatusError `json:\"status_error,omitempty\"`\n\t// TeamSharedDropboxError : has no documentation (yet)\n\tTeamSharedDropboxError *TeamFolderTeamSharedDropboxError `json:\"team_shared_dropbox_error,omitempty\"`\n\t// SyncSettingsError : An error occurred setting the sync settings.\n\tSyncSettingsError *files.SyncSettingsError `json:\"sync_settings_error,omitempty\"`\n}\n\n// Valid tag values for TeamFolderUpdateSyncSettingsError\nconst (\n\tTeamFolderUpdateSyncSettingsErrorAccessError            = \"access_error\"\n\tTeamFolderUpdateSyncSettingsErrorStatusError            = \"status_error\"\n\tTeamFolderUpdateSyncSettingsErrorTeamSharedDropboxError = \"team_shared_dropbox_error\"\n\tTeamFolderUpdateSyncSettingsErrorOther                  = \"other\"\n\tTeamFolderUpdateSyncSettingsErrorSyncSettingsError      = \"sync_settings_error\"\n)\n\n// UnmarshalJSON deserializes into a TeamFolderUpdateSyncSettingsError instance\nfunc (u *TeamFolderUpdateSyncSettingsError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// AccessError : has no documentation (yet)\n\t\tAccessError *TeamFolderAccessError `json:\"access_error,omitempty\"`\n\t\t// StatusError : has no documentation (yet)\n\t\tStatusError *TeamFolderInvalidStatusError `json:\"status_error,omitempty\"`\n\t\t// TeamSharedDropboxError : has no documentation (yet)\n\t\tTeamSharedDropboxError *TeamFolderTeamSharedDropboxError `json:\"team_shared_dropbox_error,omitempty\"`\n\t\t// SyncSettingsError : An error occurred setting the sync settings.\n\t\tSyncSettingsError *files.SyncSettingsError `json:\"sync_settings_error,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"access_error\":\n\t\tu.AccessError = w.AccessError\n\n\tcase \"status_error\":\n\t\tu.StatusError = w.StatusError\n\n\tcase \"team_shared_dropbox_error\":\n\t\tu.TeamSharedDropboxError = w.TeamSharedDropboxError\n\n\tcase \"sync_settings_error\":\n\t\tu.SyncSettingsError = w.SyncSettingsError\n\n\t}\n\treturn nil\n}\n\n// TeamGetInfoResult : has no documentation (yet)\ntype TeamGetInfoResult struct {\n\t// Name : The name of the team.\n\tName string `json:\"name\"`\n\t// TeamId : The ID of the team.\n\tTeamId string `json:\"team_id\"`\n\t// NumLicensedUsers : The number of licenses available to the team.\n\tNumLicensedUsers uint32 `json:\"num_licensed_users\"`\n\t// NumProvisionedUsers : The number of accounts that have been invited or\n\t// are already active members of the team.\n\tNumProvisionedUsers uint32 `json:\"num_provisioned_users\"`\n\t// Policies : has no documentation (yet)\n\tPolicies *team_policies.TeamMemberPolicies `json:\"policies\"`\n}\n\n// NewTeamGetInfoResult returns a new TeamGetInfoResult instance\nfunc NewTeamGetInfoResult(Name string, TeamId string, NumLicensedUsers uint32, NumProvisionedUsers uint32, Policies *team_policies.TeamMemberPolicies) *TeamGetInfoResult {\n\ts := new(TeamGetInfoResult)\n\ts.Name = Name\n\ts.TeamId = TeamId\n\ts.NumLicensedUsers = NumLicensedUsers\n\ts.NumProvisionedUsers = NumProvisionedUsers\n\ts.Policies = Policies\n\treturn s\n}\n\n// TeamMemberInfo : Information about a team member.\ntype TeamMemberInfo struct {\n\t// Profile : Profile of a user as a member of a team.\n\tProfile *TeamMemberProfile `json:\"profile\"`\n\t// Role : The user's role in the team.\n\tRole *AdminTier `json:\"role\"`\n}\n\n// NewTeamMemberInfo returns a new TeamMemberInfo instance\nfunc NewTeamMemberInfo(Profile *TeamMemberProfile, Role *AdminTier) *TeamMemberInfo {\n\ts := new(TeamMemberInfo)\n\ts.Profile = Profile\n\ts.Role = Role\n\treturn s\n}\n\n// TeamMemberInfoV2 : Information about a team member.\ntype TeamMemberInfoV2 struct {\n\t// Profile : Profile of a user as a member of a team.\n\tProfile *TeamMemberProfile `json:\"profile\"`\n\t// Roles : The user's roles in the team.\n\tRoles []*TeamMemberRole `json:\"roles,omitempty\"`\n}\n\n// NewTeamMemberInfoV2 returns a new TeamMemberInfoV2 instance\nfunc NewTeamMemberInfoV2(Profile *TeamMemberProfile) *TeamMemberInfoV2 {\n\ts := new(TeamMemberInfoV2)\n\ts.Profile = Profile\n\treturn s\n}\n\n// TeamMemberInfoV2Result : Information about a team member, after the change,\n// like at `membersSetProfile`.\ntype TeamMemberInfoV2Result struct {\n\t// MemberInfo : Member info, after the change.\n\tMemberInfo *TeamMemberInfoV2 `json:\"member_info\"`\n}\n\n// NewTeamMemberInfoV2Result returns a new TeamMemberInfoV2Result instance\nfunc NewTeamMemberInfoV2Result(MemberInfo *TeamMemberInfoV2) *TeamMemberInfoV2Result {\n\ts := new(TeamMemberInfoV2Result)\n\ts.MemberInfo = MemberInfo\n\treturn s\n}\n\n// TeamMemberProfile : Profile of a user as a member of a team.\ntype TeamMemberProfile struct {\n\tMemberProfile\n\t// Groups : List of group IDs of groups that the user belongs to.\n\tGroups []string `json:\"groups\"`\n\t// MemberFolderId : The namespace id of the user's root folder.\n\tMemberFolderId string `json:\"member_folder_id\"`\n}\n\n// NewTeamMemberProfile returns a new TeamMemberProfile instance\nfunc NewTeamMemberProfile(TeamMemberId string, Email string, EmailVerified bool, Status *TeamMemberStatus, Name *users.Name, MembershipType *TeamMembershipType, Groups []string, MemberFolderId string) *TeamMemberProfile {\n\ts := new(TeamMemberProfile)\n\ts.TeamMemberId = TeamMemberId\n\ts.Email = Email\n\ts.EmailVerified = EmailVerified\n\ts.Status = Status\n\ts.Name = Name\n\ts.MembershipType = MembershipType\n\ts.Groups = Groups\n\ts.MemberFolderId = MemberFolderId\n\treturn s\n}\n\n// TeamMemberRole : A role which can be attached to a team member. This replaces\n// AdminTier; each AdminTier corresponds to a new TeamMemberRole with a matching\n// name.\ntype TeamMemberRole struct {\n\t// RoleId : A string containing encoded role ID. For roles defined by\n\t// Dropbox, this is the same across all teams.\n\tRoleId string `json:\"role_id\"`\n\t// Name : The role display name.\n\tName string `json:\"name\"`\n\t// Description : Role description. Describes which permissions come with\n\t// this role.\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMemberRole returns a new TeamMemberRole instance\nfunc NewTeamMemberRole(RoleId string, Name string, Description string) *TeamMemberRole {\n\ts := new(TeamMemberRole)\n\ts.RoleId = RoleId\n\ts.Name = Name\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMemberStatus : The user's status as a member of a specific team.\ntype TeamMemberStatus struct {\n\tdropbox.Tagged\n\t// Removed : User is no longer a member of the team. Removed users are only\n\t// listed when include_removed is true in members/list.\n\tRemoved *RemovedStatus `json:\"removed,omitempty\"`\n}\n\n// Valid tag values for TeamMemberStatus\nconst (\n\tTeamMemberStatusActive    = \"active\"\n\tTeamMemberStatusInvited   = \"invited\"\n\tTeamMemberStatusSuspended = \"suspended\"\n\tTeamMemberStatusRemoved   = \"removed\"\n)\n\n// UnmarshalJSON deserializes into a TeamMemberStatus instance\nfunc (u *TeamMemberStatus) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"removed\":\n\t\tif err = json.Unmarshal(body, &u.Removed); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// TeamMembershipType : has no documentation (yet)\ntype TeamMembershipType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TeamMembershipType\nconst (\n\tTeamMembershipTypeFull    = \"full\"\n\tTeamMembershipTypeLimited = \"limited\"\n)\n\n// TeamNamespacesListArg : has no documentation (yet)\ntype TeamNamespacesListArg struct {\n\t// Limit : Specifying a value here has no effect.\n\tLimit uint32 `json:\"limit\"`\n}\n\n// NewTeamNamespacesListArg returns a new TeamNamespacesListArg instance\nfunc NewTeamNamespacesListArg() *TeamNamespacesListArg {\n\ts := new(TeamNamespacesListArg)\n\ts.Limit = 1000\n\treturn s\n}\n\n// TeamNamespacesListContinueArg : has no documentation (yet)\ntype TeamNamespacesListContinueArg struct {\n\t// Cursor : Indicates from what point to get the next set of team-accessible\n\t// namespaces.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewTeamNamespacesListContinueArg returns a new TeamNamespacesListContinueArg instance\nfunc NewTeamNamespacesListContinueArg(Cursor string) *TeamNamespacesListContinueArg {\n\ts := new(TeamNamespacesListContinueArg)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// TeamNamespacesListError : has no documentation (yet)\ntype TeamNamespacesListError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TeamNamespacesListError\nconst (\n\tTeamNamespacesListErrorInvalidArg = \"invalid_arg\"\n\tTeamNamespacesListErrorOther      = \"other\"\n)\n\n// TeamNamespacesListContinueError : has no documentation (yet)\ntype TeamNamespacesListContinueError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TeamNamespacesListContinueError\nconst (\n\tTeamNamespacesListContinueErrorInvalidArg    = \"invalid_arg\"\n\tTeamNamespacesListContinueErrorOther         = \"other\"\n\tTeamNamespacesListContinueErrorInvalidCursor = \"invalid_cursor\"\n)\n\n// TeamNamespacesListResult : Result for `namespacesList`.\ntype TeamNamespacesListResult struct {\n\t// Namespaces : List of all namespaces the team can access.\n\tNamespaces []*NamespaceMetadata `json:\"namespaces\"`\n\t// Cursor : Pass the cursor into `namespacesListContinue` to obtain\n\t// additional namespaces. Note that duplicate namespaces may be returned.\n\tCursor string `json:\"cursor\"`\n\t// HasMore : Is true if there are additional namespaces that have not been\n\t// returned yet.\n\tHasMore bool `json:\"has_more\"`\n}\n\n// NewTeamNamespacesListResult returns a new TeamNamespacesListResult instance\nfunc NewTeamNamespacesListResult(Namespaces []*NamespaceMetadata, Cursor string, HasMore bool) *TeamNamespacesListResult {\n\ts := new(TeamNamespacesListResult)\n\ts.Namespaces = Namespaces\n\ts.Cursor = Cursor\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// TeamReportFailureReason : has no documentation (yet)\ntype TeamReportFailureReason struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TeamReportFailureReason\nconst (\n\tTeamReportFailureReasonTemporaryError    = \"temporary_error\"\n\tTeamReportFailureReasonManyReportsAtOnce = \"many_reports_at_once\"\n\tTeamReportFailureReasonTooMuchData       = \"too_much_data\"\n\tTeamReportFailureReasonOther             = \"other\"\n)\n\n// TokenGetAuthenticatedAdminError : Error returned by\n// `tokenGetAuthenticatedAdmin`.\ntype TokenGetAuthenticatedAdminError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TokenGetAuthenticatedAdminError\nconst (\n\tTokenGetAuthenticatedAdminErrorMappingNotFound = \"mapping_not_found\"\n\tTokenGetAuthenticatedAdminErrorAdminNotActive  = \"admin_not_active\"\n\tTokenGetAuthenticatedAdminErrorOther           = \"other\"\n)\n\n// TokenGetAuthenticatedAdminResult : Results for `tokenGetAuthenticatedAdmin`.\ntype TokenGetAuthenticatedAdminResult struct {\n\t// AdminProfile : The admin who authorized the token.\n\tAdminProfile *TeamMemberProfile `json:\"admin_profile\"`\n}\n\n// NewTokenGetAuthenticatedAdminResult returns a new TokenGetAuthenticatedAdminResult instance\nfunc NewTokenGetAuthenticatedAdminResult(AdminProfile *TeamMemberProfile) *TokenGetAuthenticatedAdminResult {\n\ts := new(TokenGetAuthenticatedAdminResult)\n\ts.AdminProfile = AdminProfile\n\treturn s\n}\n\n// UploadApiRateLimitValue : The value for `Feature.upload_api_rate_limit`.\ntype UploadApiRateLimitValue struct {\n\tdropbox.Tagged\n\t// Limit : The number of upload API calls allowed per month.\n\tLimit uint32 `json:\"limit,omitempty\"`\n}\n\n// Valid tag values for UploadApiRateLimitValue\nconst (\n\tUploadApiRateLimitValueUnlimited = \"unlimited\"\n\tUploadApiRateLimitValueLimit     = \"limit\"\n\tUploadApiRateLimitValueOther     = \"other\"\n)\n\n// UnmarshalJSON deserializes into a UploadApiRateLimitValue instance\nfunc (u *UploadApiRateLimitValue) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Limit : The number of upload API calls allowed per month.\n\t\tLimit uint32 `json:\"limit,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"limit\":\n\t\tu.Limit = w.Limit\n\n\t}\n\treturn nil\n}\n\n// UserAddResult : Result of trying to add secondary emails to a user. 'success'\n// is the only value indicating that a user was successfully retrieved for\n// adding secondary emails. The other values explain the type of error that\n// occurred, and include the user for which the error occurred.\ntype UserAddResult struct {\n\tdropbox.Tagged\n\t// Success : Describes a user and the results for each attempt to add a\n\t// secondary email.\n\tSuccess *UserSecondaryEmailsResult `json:\"success,omitempty\"`\n\t// InvalidUser : Specified user is not a valid target for adding secondary\n\t// emails.\n\tInvalidUser *UserSelectorArg `json:\"invalid_user,omitempty\"`\n\t// Unverified : Secondary emails can only be added to verified users.\n\tUnverified *UserSelectorArg `json:\"unverified,omitempty\"`\n\t// PlaceholderUser : Secondary emails cannot be added to placeholder users.\n\tPlaceholderUser *UserSelectorArg `json:\"placeholder_user,omitempty\"`\n}\n\n// Valid tag values for UserAddResult\nconst (\n\tUserAddResultSuccess         = \"success\"\n\tUserAddResultInvalidUser     = \"invalid_user\"\n\tUserAddResultUnverified      = \"unverified\"\n\tUserAddResultPlaceholderUser = \"placeholder_user\"\n\tUserAddResultOther           = \"other\"\n)\n\n// UnmarshalJSON deserializes into a UserAddResult instance\nfunc (u *UserAddResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// InvalidUser : Specified user is not a valid target for adding\n\t\t// secondary emails.\n\t\tInvalidUser *UserSelectorArg `json:\"invalid_user,omitempty\"`\n\t\t// Unverified : Secondary emails can only be added to verified users.\n\t\tUnverified *UserSelectorArg `json:\"unverified,omitempty\"`\n\t\t// PlaceholderUser : Secondary emails cannot be added to placeholder\n\t\t// users.\n\t\tPlaceholderUser *UserSelectorArg `json:\"placeholder_user,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tif err = json.Unmarshal(body, &u.Success); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"invalid_user\":\n\t\tu.InvalidUser = w.InvalidUser\n\n\tcase \"unverified\":\n\t\tu.Unverified = w.Unverified\n\n\tcase \"placeholder_user\":\n\t\tu.PlaceholderUser = w.PlaceholderUser\n\n\t}\n\treturn nil\n}\n\n// UserCustomQuotaArg : User and their required custom quota in GB (1 TB = 1024\n// GB).\ntype UserCustomQuotaArg struct {\n\t// User : has no documentation (yet)\n\tUser *UserSelectorArg `json:\"user\"`\n\t// QuotaGb : has no documentation (yet)\n\tQuotaGb uint32 `json:\"quota_gb\"`\n}\n\n// NewUserCustomQuotaArg returns a new UserCustomQuotaArg instance\nfunc NewUserCustomQuotaArg(User *UserSelectorArg, QuotaGb uint32) *UserCustomQuotaArg {\n\ts := new(UserCustomQuotaArg)\n\ts.User = User\n\ts.QuotaGb = QuotaGb\n\treturn s\n}\n\n// UserCustomQuotaResult : User and their custom quota in GB (1 TB = 1024 GB).\n// No quota returns if the user has no custom quota set.\ntype UserCustomQuotaResult struct {\n\t// User : has no documentation (yet)\n\tUser *UserSelectorArg `json:\"user\"`\n\t// QuotaGb : has no documentation (yet)\n\tQuotaGb uint32 `json:\"quota_gb,omitempty\"`\n}\n\n// NewUserCustomQuotaResult returns a new UserCustomQuotaResult instance\nfunc NewUserCustomQuotaResult(User *UserSelectorArg) *UserCustomQuotaResult {\n\ts := new(UserCustomQuotaResult)\n\ts.User = User\n\treturn s\n}\n\n// UserDeleteEmailsResult : has no documentation (yet)\ntype UserDeleteEmailsResult struct {\n\t// User : has no documentation (yet)\n\tUser *UserSelectorArg `json:\"user\"`\n\t// Results : has no documentation (yet)\n\tResults []*DeleteSecondaryEmailResult `json:\"results\"`\n}\n\n// NewUserDeleteEmailsResult returns a new UserDeleteEmailsResult instance\nfunc NewUserDeleteEmailsResult(User *UserSelectorArg, Results []*DeleteSecondaryEmailResult) *UserDeleteEmailsResult {\n\ts := new(UserDeleteEmailsResult)\n\ts.User = User\n\ts.Results = Results\n\treturn s\n}\n\n// UserDeleteResult : Result of trying to delete a user's secondary emails.\n// 'success' is the only value indicating that a user was successfully retrieved\n// for deleting secondary emails. The other values explain the type of error\n// that occurred, and include the user for which the error occurred.\ntype UserDeleteResult struct {\n\tdropbox.Tagged\n\t// Success : Describes a user and the results for each attempt to delete a\n\t// secondary email.\n\tSuccess *UserDeleteEmailsResult `json:\"success,omitempty\"`\n\t// InvalidUser : Specified user is not a valid target for deleting secondary\n\t// emails.\n\tInvalidUser *UserSelectorArg `json:\"invalid_user,omitempty\"`\n}\n\n// Valid tag values for UserDeleteResult\nconst (\n\tUserDeleteResultSuccess     = \"success\"\n\tUserDeleteResultInvalidUser = \"invalid_user\"\n\tUserDeleteResultOther       = \"other\"\n)\n\n// UnmarshalJSON deserializes into a UserDeleteResult instance\nfunc (u *UserDeleteResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// InvalidUser : Specified user is not a valid target for deleting\n\t\t// secondary emails.\n\t\tInvalidUser *UserSelectorArg `json:\"invalid_user,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tif err = json.Unmarshal(body, &u.Success); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"invalid_user\":\n\t\tu.InvalidUser = w.InvalidUser\n\n\t}\n\treturn nil\n}\n\n// UserResendEmailsResult : has no documentation (yet)\ntype UserResendEmailsResult struct {\n\t// User : has no documentation (yet)\n\tUser *UserSelectorArg `json:\"user\"`\n\t// Results : has no documentation (yet)\n\tResults []*ResendSecondaryEmailResult `json:\"results\"`\n}\n\n// NewUserResendEmailsResult returns a new UserResendEmailsResult instance\nfunc NewUserResendEmailsResult(User *UserSelectorArg, Results []*ResendSecondaryEmailResult) *UserResendEmailsResult {\n\ts := new(UserResendEmailsResult)\n\ts.User = User\n\ts.Results = Results\n\treturn s\n}\n\n// UserResendResult : Result of trying to resend verification emails to a user.\n// 'success' is the only value indicating that a user was successfully retrieved\n// for sending verification emails. The other values explain the type of error\n// that occurred, and include the user for which the error occurred.\ntype UserResendResult struct {\n\tdropbox.Tagged\n\t// Success : Describes a user and the results for each attempt to resend\n\t// verification emails.\n\tSuccess *UserResendEmailsResult `json:\"success,omitempty\"`\n\t// InvalidUser : Specified user is not a valid target for resending\n\t// verification emails.\n\tInvalidUser *UserSelectorArg `json:\"invalid_user,omitempty\"`\n}\n\n// Valid tag values for UserResendResult\nconst (\n\tUserResendResultSuccess     = \"success\"\n\tUserResendResultInvalidUser = \"invalid_user\"\n\tUserResendResultOther       = \"other\"\n)\n\n// UnmarshalJSON deserializes into a UserResendResult instance\nfunc (u *UserResendResult) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// InvalidUser : Specified user is not a valid target for resending\n\t\t// verification emails.\n\t\tInvalidUser *UserSelectorArg `json:\"invalid_user,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"success\":\n\t\tif err = json.Unmarshal(body, &u.Success); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"invalid_user\":\n\t\tu.InvalidUser = w.InvalidUser\n\n\t}\n\treturn nil\n}\n\n// UserSecondaryEmailsArg : User and a list of secondary emails.\ntype UserSecondaryEmailsArg struct {\n\t// User : has no documentation (yet)\n\tUser *UserSelectorArg `json:\"user\"`\n\t// SecondaryEmails : has no documentation (yet)\n\tSecondaryEmails []string `json:\"secondary_emails\"`\n}\n\n// NewUserSecondaryEmailsArg returns a new UserSecondaryEmailsArg instance\nfunc NewUserSecondaryEmailsArg(User *UserSelectorArg, SecondaryEmails []string) *UserSecondaryEmailsArg {\n\ts := new(UserSecondaryEmailsArg)\n\ts.User = User\n\ts.SecondaryEmails = SecondaryEmails\n\treturn s\n}\n\n// UserSecondaryEmailsResult : has no documentation (yet)\ntype UserSecondaryEmailsResult struct {\n\t// User : has no documentation (yet)\n\tUser *UserSelectorArg `json:\"user\"`\n\t// Results : has no documentation (yet)\n\tResults []*AddSecondaryEmailResult `json:\"results\"`\n}\n\n// NewUserSecondaryEmailsResult returns a new UserSecondaryEmailsResult instance\nfunc NewUserSecondaryEmailsResult(User *UserSelectorArg, Results []*AddSecondaryEmailResult) *UserSecondaryEmailsResult {\n\ts := new(UserSecondaryEmailsResult)\n\ts.User = User\n\ts.Results = Results\n\treturn s\n}\n\n// UserSelectorArg : Argument for selecting a single user, either by\n// team_member_id, external_id or email.\ntype UserSelectorArg struct {\n\tdropbox.Tagged\n\t// TeamMemberId : has no documentation (yet)\n\tTeamMemberId string `json:\"team_member_id,omitempty\"`\n\t// ExternalId : has no documentation (yet)\n\tExternalId string `json:\"external_id,omitempty\"`\n\t// Email : has no documentation (yet)\n\tEmail string `json:\"email,omitempty\"`\n}\n\n// Valid tag values for UserSelectorArg\nconst (\n\tUserSelectorArgTeamMemberId = \"team_member_id\"\n\tUserSelectorArgExternalId   = \"external_id\"\n\tUserSelectorArgEmail        = \"email\"\n)\n\n// UnmarshalJSON deserializes into a UserSelectorArg instance\nfunc (u *UserSelectorArg) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// TeamMemberId : has no documentation (yet)\n\t\tTeamMemberId string `json:\"team_member_id,omitempty\"`\n\t\t// ExternalId : has no documentation (yet)\n\t\tExternalId string `json:\"external_id,omitempty\"`\n\t\t// Email : has no documentation (yet)\n\t\tEmail string `json:\"email,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"team_member_id\":\n\t\tu.TeamMemberId = w.TeamMemberId\n\n\tcase \"external_id\":\n\t\tu.ExternalId = w.ExternalId\n\n\tcase \"email\":\n\t\tu.Email = w.Email\n\n\t}\n\treturn nil\n}\n\n// UsersSelectorArg : Argument for selecting a list of users, either by\n// team_member_ids, external_ids or emails.\ntype UsersSelectorArg struct {\n\tdropbox.Tagged\n\t// TeamMemberIds : List of member IDs.\n\tTeamMemberIds []string `json:\"team_member_ids,omitempty\"`\n\t// ExternalIds : List of external user IDs.\n\tExternalIds []string `json:\"external_ids,omitempty\"`\n\t// Emails : List of email addresses.\n\tEmails []string `json:\"emails,omitempty\"`\n}\n\n// Valid tag values for UsersSelectorArg\nconst (\n\tUsersSelectorArgTeamMemberIds = \"team_member_ids\"\n\tUsersSelectorArgExternalIds   = \"external_ids\"\n\tUsersSelectorArgEmails        = \"emails\"\n)\n\n// UnmarshalJSON deserializes into a UsersSelectorArg instance\nfunc (u *UsersSelectorArg) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// TeamMemberIds : List of member IDs.\n\t\tTeamMemberIds []string `json:\"team_member_ids,omitempty\"`\n\t\t// ExternalIds : List of external user IDs.\n\t\tExternalIds []string `json:\"external_ids,omitempty\"`\n\t\t// Emails : List of email addresses.\n\t\tEmails []string `json:\"emails,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"team_member_ids\":\n\t\tu.TeamMemberIds = w.TeamMemberIds\n\n\tcase \"external_ids\":\n\t\tu.ExternalIds = w.ExternalIds\n\n\tcase \"emails\":\n\t\tu.Emails = w.Emails\n\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "v6/dropbox/team_common/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package team_common : has no documentation (yet)\npackage team_common\n\nimport (\n\t\"time\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n)\n\n// GroupManagementType : The group type determines how a group is managed.\ntype GroupManagementType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupManagementType\nconst (\n\tGroupManagementTypeUserManaged    = \"user_managed\"\n\tGroupManagementTypeCompanyManaged = \"company_managed\"\n\tGroupManagementTypeSystemManaged  = \"system_managed\"\n\tGroupManagementTypeOther          = \"other\"\n)\n\n// GroupSummary : Information about a group.\ntype GroupSummary struct {\n\t// GroupName : has no documentation (yet)\n\tGroupName string `json:\"group_name\"`\n\t// GroupId : has no documentation (yet)\n\tGroupId string `json:\"group_id\"`\n\t// GroupExternalId : External ID of group. This is an arbitrary ID that an\n\t// admin can attach to a group.\n\tGroupExternalId string `json:\"group_external_id,omitempty\"`\n\t// MemberCount : The number of members in the group.\n\tMemberCount uint32 `json:\"member_count,omitempty\"`\n\t// GroupManagementType : Who is allowed to manage the group.\n\tGroupManagementType *GroupManagementType `json:\"group_management_type\"`\n}\n\n// NewGroupSummary returns a new GroupSummary instance\nfunc NewGroupSummary(GroupName string, GroupId string, GroupManagementType *GroupManagementType) *GroupSummary {\n\ts := new(GroupSummary)\n\ts.GroupName = GroupName\n\ts.GroupId = GroupId\n\ts.GroupManagementType = GroupManagementType\n\treturn s\n}\n\n// GroupType : The group type determines how a group is created and managed.\ntype GroupType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupType\nconst (\n\tGroupTypeTeam        = \"team\"\n\tGroupTypeUserManaged = \"user_managed\"\n\tGroupTypeOther       = \"other\"\n)\n\n// MemberSpaceLimitType : The type of the space limit imposed on a team member.\ntype MemberSpaceLimitType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MemberSpaceLimitType\nconst (\n\tMemberSpaceLimitTypeOff       = \"off\"\n\tMemberSpaceLimitTypeAlertOnly = \"alert_only\"\n\tMemberSpaceLimitTypeStopSync  = \"stop_sync\"\n\tMemberSpaceLimitTypeOther     = \"other\"\n)\n\n// TimeRange : Time range.\ntype TimeRange struct {\n\t// StartTime : Optional starting time (inclusive).\n\tStartTime *time.Time `json:\"start_time,omitempty\"`\n\t// EndTime : Optional ending time (exclusive).\n\tEndTime *time.Time `json:\"end_time,omitempty\"`\n}\n\n// NewTimeRange returns a new TimeRange instance\nfunc NewTimeRange() *TimeRange {\n\ts := new(TimeRange)\n\treturn s\n}\n"
  },
  {
    "path": "v6/dropbox/team_log/client.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage team_log\n\nimport (\n\t\"encoding/json\"\n\t\"io\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/auth\"\n)\n\n// Client interface describes all routes in this namespace\ntype Client interface {\n\t// GetEvents : Retrieves team events. If the result's\n\t// `GetTeamEventsResult.has_more` field is true, call `getEventsContinue`\n\t// with the returned cursor to retrieve more entries. If end_time is not\n\t// specified in your request, you may use the returned cursor to poll\n\t// `getEventsContinue` for new events. Many attributes note 'may be missing\n\t// due to historical data gap'. Note that the file_operations category and &\n\t// analogous paper events are not available on all Dropbox Business `plans`\n\t// </business/plans-comparison>. Use `features/get_values`\n\t// </developers/documentation/http/teams#team-features-get_values> to check\n\t// for this feature. Permission : Team Auditing.\n\tGetEvents(arg *GetTeamEventsArg) (res *GetTeamEventsResult, err error)\n\t// GetEventsContinue : Once a cursor has been retrieved from `getEvents`,\n\t// use this to paginate through all events. Permission : Team Auditing.\n\tGetEventsContinue(arg *GetTeamEventsContinueArg) (res *GetTeamEventsResult, err error)\n}\n\ntype apiImpl dropbox.Context\n\n//GetEventsAPIError is an error-wrapper for the get_events route\ntype GetEventsAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GetTeamEventsError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetEvents(arg *GetTeamEventsArg) (res *GetTeamEventsResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team_log\",\n\t\tRoute:        \"get_events\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetEventsAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GetEventsContinueAPIError is an error-wrapper for the get_events/continue route\ntype GetEventsContinueAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GetTeamEventsContinueError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetEventsContinue(arg *GetTeamEventsContinueArg) (res *GetTeamEventsResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"team_log\",\n\t\tRoute:        \"get_events/continue\",\n\t\tAuth:         \"team\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetEventsContinueAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n// New returns a Client implementation for this namespace\nfunc New(c dropbox.Config) Client {\n\tctx := apiImpl(dropbox.NewContext(c))\n\treturn &ctx\n}\n"
  },
  {
    "path": "v6/dropbox/team_log/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package team_log : has no documentation (yet)\npackage team_log\n\nimport (\n\t\"encoding/json\"\n\t\"time\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/files\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/sharing\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/team\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/team_common\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/team_policies\"\n)\n\n// AccessMethodLogInfo : Indicates the method in which the action was performed.\ntype AccessMethodLogInfo struct {\n\tdropbox.Tagged\n\t// AdminConsole : Admin console session details.\n\tAdminConsole *WebSessionLogInfo `json:\"admin_console,omitempty\"`\n\t// Api : Api session details.\n\tApi *ApiSessionLogInfo `json:\"api,omitempty\"`\n\t// ContentManager : Content manager session details.\n\tContentManager *WebSessionLogInfo `json:\"content_manager,omitempty\"`\n\t// EndUser : End user session details.\n\tEndUser IsSessionLogInfo `json:\"end_user,omitempty\"`\n\t// EnterpriseConsole : Enterprise console session details.\n\tEnterpriseConsole *WebSessionLogInfo `json:\"enterprise_console,omitempty\"`\n\t// SignInAs : Sign in as session details.\n\tSignInAs *WebSessionLogInfo `json:\"sign_in_as,omitempty\"`\n}\n\n// Valid tag values for AccessMethodLogInfo\nconst (\n\tAccessMethodLogInfoAdminConsole      = \"admin_console\"\n\tAccessMethodLogInfoApi               = \"api\"\n\tAccessMethodLogInfoContentManager    = \"content_manager\"\n\tAccessMethodLogInfoEndUser           = \"end_user\"\n\tAccessMethodLogInfoEnterpriseConsole = \"enterprise_console\"\n\tAccessMethodLogInfoSignInAs          = \"sign_in_as\"\n\tAccessMethodLogInfoOther             = \"other\"\n)\n\n// UnmarshalJSON deserializes into a AccessMethodLogInfo instance\nfunc (u *AccessMethodLogInfo) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// EndUser : End user session details.\n\t\tEndUser json.RawMessage `json:\"end_user,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"admin_console\":\n\t\tif err = json.Unmarshal(body, &u.AdminConsole); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"api\":\n\t\tif err = json.Unmarshal(body, &u.Api); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"content_manager\":\n\t\tif err = json.Unmarshal(body, &u.ContentManager); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"end_user\":\n\t\tif u.EndUser, err = IsSessionLogInfoFromJSON(w.EndUser); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"enterprise_console\":\n\t\tif err = json.Unmarshal(body, &u.EnterpriseConsole); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sign_in_as\":\n\t\tif err = json.Unmarshal(body, &u.SignInAs); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// AccountCaptureAvailability : has no documentation (yet)\ntype AccountCaptureAvailability struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AccountCaptureAvailability\nconst (\n\tAccountCaptureAvailabilityAvailable   = \"available\"\n\tAccountCaptureAvailabilityUnavailable = \"unavailable\"\n\tAccountCaptureAvailabilityOther       = \"other\"\n)\n\n// AccountCaptureChangeAvailabilityDetails : Granted/revoked option to enable\n// account capture on team domains.\ntype AccountCaptureChangeAvailabilityDetails struct {\n\t// NewValue : New account capture availabilty value.\n\tNewValue *AccountCaptureAvailability `json:\"new_value\"`\n\t// PreviousValue : Previous account capture availabilty value. Might be\n\t// missing due to historical data gap.\n\tPreviousValue *AccountCaptureAvailability `json:\"previous_value,omitempty\"`\n}\n\n// NewAccountCaptureChangeAvailabilityDetails returns a new AccountCaptureChangeAvailabilityDetails instance\nfunc NewAccountCaptureChangeAvailabilityDetails(NewValue *AccountCaptureAvailability) *AccountCaptureChangeAvailabilityDetails {\n\ts := new(AccountCaptureChangeAvailabilityDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// AccountCaptureChangeAvailabilityType : has no documentation (yet)\ntype AccountCaptureChangeAvailabilityType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAccountCaptureChangeAvailabilityType returns a new AccountCaptureChangeAvailabilityType instance\nfunc NewAccountCaptureChangeAvailabilityType(Description string) *AccountCaptureChangeAvailabilityType {\n\ts := new(AccountCaptureChangeAvailabilityType)\n\ts.Description = Description\n\treturn s\n}\n\n// AccountCaptureChangePolicyDetails : Changed account capture setting on team\n// domain.\ntype AccountCaptureChangePolicyDetails struct {\n\t// NewValue : New account capture policy.\n\tNewValue *AccountCapturePolicy `json:\"new_value\"`\n\t// PreviousValue : Previous account capture policy. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *AccountCapturePolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewAccountCaptureChangePolicyDetails returns a new AccountCaptureChangePolicyDetails instance\nfunc NewAccountCaptureChangePolicyDetails(NewValue *AccountCapturePolicy) *AccountCaptureChangePolicyDetails {\n\ts := new(AccountCaptureChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// AccountCaptureChangePolicyType : has no documentation (yet)\ntype AccountCaptureChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAccountCaptureChangePolicyType returns a new AccountCaptureChangePolicyType instance\nfunc NewAccountCaptureChangePolicyType(Description string) *AccountCaptureChangePolicyType {\n\ts := new(AccountCaptureChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// AccountCaptureMigrateAccountDetails : Account-captured user migrated account\n// to team.\ntype AccountCaptureMigrateAccountDetails struct {\n\t// DomainName : Domain name.\n\tDomainName string `json:\"domain_name\"`\n}\n\n// NewAccountCaptureMigrateAccountDetails returns a new AccountCaptureMigrateAccountDetails instance\nfunc NewAccountCaptureMigrateAccountDetails(DomainName string) *AccountCaptureMigrateAccountDetails {\n\ts := new(AccountCaptureMigrateAccountDetails)\n\ts.DomainName = DomainName\n\treturn s\n}\n\n// AccountCaptureMigrateAccountType : has no documentation (yet)\ntype AccountCaptureMigrateAccountType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAccountCaptureMigrateAccountType returns a new AccountCaptureMigrateAccountType instance\nfunc NewAccountCaptureMigrateAccountType(Description string) *AccountCaptureMigrateAccountType {\n\ts := new(AccountCaptureMigrateAccountType)\n\ts.Description = Description\n\treturn s\n}\n\n// AccountCaptureNotificationEmailsSentDetails : Sent account capture email to\n// all unmanaged members.\ntype AccountCaptureNotificationEmailsSentDetails struct {\n\t// DomainName : Domain name.\n\tDomainName string `json:\"domain_name\"`\n\t// NotificationType : Account-capture email notification type.\n\tNotificationType *AccountCaptureNotificationType `json:\"notification_type,omitempty\"`\n}\n\n// NewAccountCaptureNotificationEmailsSentDetails returns a new AccountCaptureNotificationEmailsSentDetails instance\nfunc NewAccountCaptureNotificationEmailsSentDetails(DomainName string) *AccountCaptureNotificationEmailsSentDetails {\n\ts := new(AccountCaptureNotificationEmailsSentDetails)\n\ts.DomainName = DomainName\n\treturn s\n}\n\n// AccountCaptureNotificationEmailsSentType : has no documentation (yet)\ntype AccountCaptureNotificationEmailsSentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAccountCaptureNotificationEmailsSentType returns a new AccountCaptureNotificationEmailsSentType instance\nfunc NewAccountCaptureNotificationEmailsSentType(Description string) *AccountCaptureNotificationEmailsSentType {\n\ts := new(AccountCaptureNotificationEmailsSentType)\n\ts.Description = Description\n\treturn s\n}\n\n// AccountCaptureNotificationType : has no documentation (yet)\ntype AccountCaptureNotificationType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AccountCaptureNotificationType\nconst (\n\tAccountCaptureNotificationTypeActionableNotification       = \"actionable_notification\"\n\tAccountCaptureNotificationTypeProactiveWarningNotification = \"proactive_warning_notification\"\n\tAccountCaptureNotificationTypeOther                        = \"other\"\n)\n\n// AccountCapturePolicy : has no documentation (yet)\ntype AccountCapturePolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AccountCapturePolicy\nconst (\n\tAccountCapturePolicyAllUsers     = \"all_users\"\n\tAccountCapturePolicyDisabled     = \"disabled\"\n\tAccountCapturePolicyInvitedUsers = \"invited_users\"\n\tAccountCapturePolicyOther        = \"other\"\n)\n\n// AccountCaptureRelinquishAccountDetails : Account-captured user changed\n// account email to personal email.\ntype AccountCaptureRelinquishAccountDetails struct {\n\t// DomainName : Domain name.\n\tDomainName string `json:\"domain_name\"`\n}\n\n// NewAccountCaptureRelinquishAccountDetails returns a new AccountCaptureRelinquishAccountDetails instance\nfunc NewAccountCaptureRelinquishAccountDetails(DomainName string) *AccountCaptureRelinquishAccountDetails {\n\ts := new(AccountCaptureRelinquishAccountDetails)\n\ts.DomainName = DomainName\n\treturn s\n}\n\n// AccountCaptureRelinquishAccountType : has no documentation (yet)\ntype AccountCaptureRelinquishAccountType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAccountCaptureRelinquishAccountType returns a new AccountCaptureRelinquishAccountType instance\nfunc NewAccountCaptureRelinquishAccountType(Description string) *AccountCaptureRelinquishAccountType {\n\ts := new(AccountCaptureRelinquishAccountType)\n\ts.Description = Description\n\treturn s\n}\n\n// AccountLockOrUnlockedDetails : Unlocked/locked account after failed sign in\n// attempts.\ntype AccountLockOrUnlockedDetails struct {\n\t// PreviousValue : The previous account status.\n\tPreviousValue *AccountState `json:\"previous_value\"`\n\t// NewValue : The new account status.\n\tNewValue *AccountState `json:\"new_value\"`\n}\n\n// NewAccountLockOrUnlockedDetails returns a new AccountLockOrUnlockedDetails instance\nfunc NewAccountLockOrUnlockedDetails(PreviousValue *AccountState, NewValue *AccountState) *AccountLockOrUnlockedDetails {\n\ts := new(AccountLockOrUnlockedDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// AccountLockOrUnlockedType : has no documentation (yet)\ntype AccountLockOrUnlockedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAccountLockOrUnlockedType returns a new AccountLockOrUnlockedType instance\nfunc NewAccountLockOrUnlockedType(Description string) *AccountLockOrUnlockedType {\n\ts := new(AccountLockOrUnlockedType)\n\ts.Description = Description\n\treturn s\n}\n\n// AccountState : has no documentation (yet)\ntype AccountState struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AccountState\nconst (\n\tAccountStateLocked   = \"locked\"\n\tAccountStateUnlocked = \"unlocked\"\n\tAccountStateOther    = \"other\"\n)\n\n// ActionDetails : Additional information indicating the action taken that\n// caused status change.\ntype ActionDetails struct {\n\tdropbox.Tagged\n\t// RemoveAction : Define how the user was removed from the team.\n\tRemoveAction *MemberRemoveActionType `json:\"remove_action,omitempty\"`\n\t// TeamInviteDetails : Additional information relevant when someone is\n\t// invited to the team.\n\tTeamInviteDetails *TeamInviteDetails `json:\"team_invite_details,omitempty\"`\n\t// TeamJoinDetails : Additional information relevant when a new member joins\n\t// the team.\n\tTeamJoinDetails *JoinTeamDetails `json:\"team_join_details,omitempty\"`\n}\n\n// Valid tag values for ActionDetails\nconst (\n\tActionDetailsRemoveAction      = \"remove_action\"\n\tActionDetailsTeamInviteDetails = \"team_invite_details\"\n\tActionDetailsTeamJoinDetails   = \"team_join_details\"\n\tActionDetailsOther             = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ActionDetails instance\nfunc (u *ActionDetails) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// RemoveAction : Define how the user was removed from the team.\n\t\tRemoveAction *MemberRemoveActionType `json:\"remove_action,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"remove_action\":\n\t\tu.RemoveAction = w.RemoveAction\n\n\tcase \"team_invite_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamInviteDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_join_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamJoinDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// ActorLogInfo : The entity who performed the action.\ntype ActorLogInfo struct {\n\tdropbox.Tagged\n\t// Admin : The admin who did the action.\n\tAdmin IsUserLogInfo `json:\"admin,omitempty\"`\n\t// App : The application who did the action.\n\tApp IsAppLogInfo `json:\"app,omitempty\"`\n\t// Reseller : Action done by reseller.\n\tReseller *ResellerLogInfo `json:\"reseller,omitempty\"`\n\t// User : The user who did the action.\n\tUser IsUserLogInfo `json:\"user,omitempty\"`\n}\n\n// Valid tag values for ActorLogInfo\nconst (\n\tActorLogInfoAdmin     = \"admin\"\n\tActorLogInfoAnonymous = \"anonymous\"\n\tActorLogInfoApp       = \"app\"\n\tActorLogInfoDropbox   = \"dropbox\"\n\tActorLogInfoReseller  = \"reseller\"\n\tActorLogInfoUser      = \"user\"\n\tActorLogInfoOther     = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ActorLogInfo instance\nfunc (u *ActorLogInfo) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Admin : The admin who did the action.\n\t\tAdmin json.RawMessage `json:\"admin,omitempty\"`\n\t\t// App : The application who did the action.\n\t\tApp json.RawMessage `json:\"app,omitempty\"`\n\t\t// User : The user who did the action.\n\t\tUser json.RawMessage `json:\"user,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"admin\":\n\t\tif u.Admin, err = IsUserLogInfoFromJSON(w.Admin); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"app\":\n\t\tif u.App, err = IsAppLogInfoFromJSON(w.App); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"reseller\":\n\t\tif err = json.Unmarshal(body, &u.Reseller); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"user\":\n\t\tif u.User, err = IsUserLogInfoFromJSON(w.User); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// AdminAlertCategoryEnum : Alert category\ntype AdminAlertCategoryEnum struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AdminAlertCategoryEnum\nconst (\n\tAdminAlertCategoryEnumAccountTakeover       = \"account_takeover\"\n\tAdminAlertCategoryEnumDataLossProtection    = \"data_loss_protection\"\n\tAdminAlertCategoryEnumInformationGovernance = \"information_governance\"\n\tAdminAlertCategoryEnumMalwareSharing        = \"malware_sharing\"\n\tAdminAlertCategoryEnumMassiveFileOperation  = \"massive_file_operation\"\n\tAdminAlertCategoryEnumNa                    = \"na\"\n\tAdminAlertCategoryEnumThreatManagement      = \"threat_management\"\n\tAdminAlertCategoryEnumOther                 = \"other\"\n)\n\n// AdminAlertGeneralStateEnum : Alert state\ntype AdminAlertGeneralStateEnum struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AdminAlertGeneralStateEnum\nconst (\n\tAdminAlertGeneralStateEnumActive     = \"active\"\n\tAdminAlertGeneralStateEnumDismissed  = \"dismissed\"\n\tAdminAlertGeneralStateEnumInProgress = \"in_progress\"\n\tAdminAlertGeneralStateEnumNa         = \"na\"\n\tAdminAlertGeneralStateEnumResolved   = \"resolved\"\n\tAdminAlertGeneralStateEnumOther      = \"other\"\n)\n\n// AdminAlertSeverityEnum : Alert severity\ntype AdminAlertSeverityEnum struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AdminAlertSeverityEnum\nconst (\n\tAdminAlertSeverityEnumHigh   = \"high\"\n\tAdminAlertSeverityEnumInfo   = \"info\"\n\tAdminAlertSeverityEnumLow    = \"low\"\n\tAdminAlertSeverityEnumMedium = \"medium\"\n\tAdminAlertSeverityEnumNa     = \"na\"\n\tAdminAlertSeverityEnumOther  = \"other\"\n)\n\n// AdminAlertingAlertConfiguration : Alert configurations\ntype AdminAlertingAlertConfiguration struct {\n\t// AlertState : Alert state.\n\tAlertState *AdminAlertingAlertStatePolicy `json:\"alert_state,omitempty\"`\n\t// SensitivityLevel : Sensitivity level.\n\tSensitivityLevel *AdminAlertingAlertSensitivity `json:\"sensitivity_level,omitempty\"`\n\t// RecipientsSettings : Recipient settings.\n\tRecipientsSettings *RecipientsConfiguration `json:\"recipients_settings,omitempty\"`\n\t// Text : Text.\n\tText string `json:\"text,omitempty\"`\n\t// ExcludedFileExtensions : Excluded file extensions.\n\tExcludedFileExtensions string `json:\"excluded_file_extensions,omitempty\"`\n}\n\n// NewAdminAlertingAlertConfiguration returns a new AdminAlertingAlertConfiguration instance\nfunc NewAdminAlertingAlertConfiguration() *AdminAlertingAlertConfiguration {\n\ts := new(AdminAlertingAlertConfiguration)\n\treturn s\n}\n\n// AdminAlertingAlertSensitivity : Alert sensitivity\ntype AdminAlertingAlertSensitivity struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AdminAlertingAlertSensitivity\nconst (\n\tAdminAlertingAlertSensitivityHigh    = \"high\"\n\tAdminAlertingAlertSensitivityHighest = \"highest\"\n\tAdminAlertingAlertSensitivityInvalid = \"invalid\"\n\tAdminAlertingAlertSensitivityLow     = \"low\"\n\tAdminAlertingAlertSensitivityLowest  = \"lowest\"\n\tAdminAlertingAlertSensitivityMedium  = \"medium\"\n\tAdminAlertingAlertSensitivityOther   = \"other\"\n)\n\n// AdminAlertingAlertStateChangedDetails : Changed an alert state.\ntype AdminAlertingAlertStateChangedDetails struct {\n\t// AlertName : Alert name.\n\tAlertName string `json:\"alert_name\"`\n\t// AlertSeverity : Alert severity.\n\tAlertSeverity *AdminAlertSeverityEnum `json:\"alert_severity\"`\n\t// AlertCategory : Alert category.\n\tAlertCategory *AdminAlertCategoryEnum `json:\"alert_category\"`\n\t// AlertInstanceId : Alert ID.\n\tAlertInstanceId string `json:\"alert_instance_id\"`\n\t// PreviousValue : Alert state before the change.\n\tPreviousValue *AdminAlertGeneralStateEnum `json:\"previous_value\"`\n\t// NewValue : Alert state after the change.\n\tNewValue *AdminAlertGeneralStateEnum `json:\"new_value\"`\n}\n\n// NewAdminAlertingAlertStateChangedDetails returns a new AdminAlertingAlertStateChangedDetails instance\nfunc NewAdminAlertingAlertStateChangedDetails(AlertName string, AlertSeverity *AdminAlertSeverityEnum, AlertCategory *AdminAlertCategoryEnum, AlertInstanceId string, PreviousValue *AdminAlertGeneralStateEnum, NewValue *AdminAlertGeneralStateEnum) *AdminAlertingAlertStateChangedDetails {\n\ts := new(AdminAlertingAlertStateChangedDetails)\n\ts.AlertName = AlertName\n\ts.AlertSeverity = AlertSeverity\n\ts.AlertCategory = AlertCategory\n\ts.AlertInstanceId = AlertInstanceId\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// AdminAlertingAlertStateChangedType : has no documentation (yet)\ntype AdminAlertingAlertStateChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAdminAlertingAlertStateChangedType returns a new AdminAlertingAlertStateChangedType instance\nfunc NewAdminAlertingAlertStateChangedType(Description string) *AdminAlertingAlertStateChangedType {\n\ts := new(AdminAlertingAlertStateChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// AdminAlertingAlertStatePolicy : Policy for controlling whether an alert can\n// be triggered or not\ntype AdminAlertingAlertStatePolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AdminAlertingAlertStatePolicy\nconst (\n\tAdminAlertingAlertStatePolicyOff   = \"off\"\n\tAdminAlertingAlertStatePolicyOn    = \"on\"\n\tAdminAlertingAlertStatePolicyOther = \"other\"\n)\n\n// AdminAlertingChangedAlertConfigDetails : Changed an alert setting.\ntype AdminAlertingChangedAlertConfigDetails struct {\n\t// AlertName : Alert Name.\n\tAlertName string `json:\"alert_name\"`\n\t// PreviousAlertConfig : Previous alert configuration.\n\tPreviousAlertConfig *AdminAlertingAlertConfiguration `json:\"previous_alert_config\"`\n\t// NewAlertConfig : New alert configuration.\n\tNewAlertConfig *AdminAlertingAlertConfiguration `json:\"new_alert_config\"`\n}\n\n// NewAdminAlertingChangedAlertConfigDetails returns a new AdminAlertingChangedAlertConfigDetails instance\nfunc NewAdminAlertingChangedAlertConfigDetails(AlertName string, PreviousAlertConfig *AdminAlertingAlertConfiguration, NewAlertConfig *AdminAlertingAlertConfiguration) *AdminAlertingChangedAlertConfigDetails {\n\ts := new(AdminAlertingChangedAlertConfigDetails)\n\ts.AlertName = AlertName\n\ts.PreviousAlertConfig = PreviousAlertConfig\n\ts.NewAlertConfig = NewAlertConfig\n\treturn s\n}\n\n// AdminAlertingChangedAlertConfigType : has no documentation (yet)\ntype AdminAlertingChangedAlertConfigType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAdminAlertingChangedAlertConfigType returns a new AdminAlertingChangedAlertConfigType instance\nfunc NewAdminAlertingChangedAlertConfigType(Description string) *AdminAlertingChangedAlertConfigType {\n\ts := new(AdminAlertingChangedAlertConfigType)\n\ts.Description = Description\n\treturn s\n}\n\n// AdminAlertingTriggeredAlertDetails : Triggered security alert.\ntype AdminAlertingTriggeredAlertDetails struct {\n\t// AlertName : Alert name.\n\tAlertName string `json:\"alert_name\"`\n\t// AlertSeverity : Alert severity.\n\tAlertSeverity *AdminAlertSeverityEnum `json:\"alert_severity\"`\n\t// AlertCategory : Alert category.\n\tAlertCategory *AdminAlertCategoryEnum `json:\"alert_category\"`\n\t// AlertInstanceId : Alert ID.\n\tAlertInstanceId string `json:\"alert_instance_id\"`\n}\n\n// NewAdminAlertingTriggeredAlertDetails returns a new AdminAlertingTriggeredAlertDetails instance\nfunc NewAdminAlertingTriggeredAlertDetails(AlertName string, AlertSeverity *AdminAlertSeverityEnum, AlertCategory *AdminAlertCategoryEnum, AlertInstanceId string) *AdminAlertingTriggeredAlertDetails {\n\ts := new(AdminAlertingTriggeredAlertDetails)\n\ts.AlertName = AlertName\n\ts.AlertSeverity = AlertSeverity\n\ts.AlertCategory = AlertCategory\n\ts.AlertInstanceId = AlertInstanceId\n\treturn s\n}\n\n// AdminAlertingTriggeredAlertType : has no documentation (yet)\ntype AdminAlertingTriggeredAlertType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAdminAlertingTriggeredAlertType returns a new AdminAlertingTriggeredAlertType instance\nfunc NewAdminAlertingTriggeredAlertType(Description string) *AdminAlertingTriggeredAlertType {\n\ts := new(AdminAlertingTriggeredAlertType)\n\ts.Description = Description\n\treturn s\n}\n\n// AdminConsoleAppPermission : has no documentation (yet)\ntype AdminConsoleAppPermission struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AdminConsoleAppPermission\nconst (\n\tAdminConsoleAppPermissionDefaultForListedApps   = \"default_for_listed_apps\"\n\tAdminConsoleAppPermissionDefaultForUnlistedApps = \"default_for_unlisted_apps\"\n\tAdminConsoleAppPermissionOther                  = \"other\"\n)\n\n// AdminConsoleAppPolicy : has no documentation (yet)\ntype AdminConsoleAppPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AdminConsoleAppPolicy\nconst (\n\tAdminConsoleAppPolicyAllow   = \"allow\"\n\tAdminConsoleAppPolicyBlock   = \"block\"\n\tAdminConsoleAppPolicyDefault = \"default\"\n\tAdminConsoleAppPolicyOther   = \"other\"\n)\n\n// AdminEmailRemindersChangedDetails : Changed admin reminder settings for\n// requests to join the team.\ntype AdminEmailRemindersChangedDetails struct {\n\t// NewValue : To.\n\tNewValue *AdminEmailRemindersPolicy `json:\"new_value\"`\n\t// PreviousValue : From.\n\tPreviousValue *AdminEmailRemindersPolicy `json:\"previous_value\"`\n}\n\n// NewAdminEmailRemindersChangedDetails returns a new AdminEmailRemindersChangedDetails instance\nfunc NewAdminEmailRemindersChangedDetails(NewValue *AdminEmailRemindersPolicy, PreviousValue *AdminEmailRemindersPolicy) *AdminEmailRemindersChangedDetails {\n\ts := new(AdminEmailRemindersChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// AdminEmailRemindersChangedType : has no documentation (yet)\ntype AdminEmailRemindersChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAdminEmailRemindersChangedType returns a new AdminEmailRemindersChangedType instance\nfunc NewAdminEmailRemindersChangedType(Description string) *AdminEmailRemindersChangedType {\n\ts := new(AdminEmailRemindersChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// AdminEmailRemindersPolicy : Policy for deciding whether team admins receive\n// reminder emails for requests to join the team\ntype AdminEmailRemindersPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AdminEmailRemindersPolicy\nconst (\n\tAdminEmailRemindersPolicyDefault  = \"default\"\n\tAdminEmailRemindersPolicyDisabled = \"disabled\"\n\tAdminEmailRemindersPolicyEnabled  = \"enabled\"\n\tAdminEmailRemindersPolicyOther    = \"other\"\n)\n\n// AdminRole : has no documentation (yet)\ntype AdminRole struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AdminRole\nconst (\n\tAdminRoleBillingAdmin        = \"billing_admin\"\n\tAdminRoleComplianceAdmin     = \"compliance_admin\"\n\tAdminRoleContentAdmin        = \"content_admin\"\n\tAdminRoleLimitedAdmin        = \"limited_admin\"\n\tAdminRoleMemberOnly          = \"member_only\"\n\tAdminRoleReportingAdmin      = \"reporting_admin\"\n\tAdminRoleSecurityAdmin       = \"security_admin\"\n\tAdminRoleSupportAdmin        = \"support_admin\"\n\tAdminRoleTeamAdmin           = \"team_admin\"\n\tAdminRoleUserManagementAdmin = \"user_management_admin\"\n\tAdminRoleOther               = \"other\"\n)\n\n// AlertRecipientsSettingType : Alert recipients setting type\ntype AlertRecipientsSettingType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AlertRecipientsSettingType\nconst (\n\tAlertRecipientsSettingTypeCustomList = \"custom_list\"\n\tAlertRecipientsSettingTypeInvalid    = \"invalid\"\n\tAlertRecipientsSettingTypeNone       = \"none\"\n\tAlertRecipientsSettingTypeTeamAdmins = \"team_admins\"\n\tAlertRecipientsSettingTypeOther      = \"other\"\n)\n\n// AllowDownloadDisabledDetails : Disabled downloads.\ntype AllowDownloadDisabledDetails struct {\n}\n\n// NewAllowDownloadDisabledDetails returns a new AllowDownloadDisabledDetails instance\nfunc NewAllowDownloadDisabledDetails() *AllowDownloadDisabledDetails {\n\ts := new(AllowDownloadDisabledDetails)\n\treturn s\n}\n\n// AllowDownloadDisabledType : has no documentation (yet)\ntype AllowDownloadDisabledType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAllowDownloadDisabledType returns a new AllowDownloadDisabledType instance\nfunc NewAllowDownloadDisabledType(Description string) *AllowDownloadDisabledType {\n\ts := new(AllowDownloadDisabledType)\n\ts.Description = Description\n\treturn s\n}\n\n// AllowDownloadEnabledDetails : Enabled downloads.\ntype AllowDownloadEnabledDetails struct {\n}\n\n// NewAllowDownloadEnabledDetails returns a new AllowDownloadEnabledDetails instance\nfunc NewAllowDownloadEnabledDetails() *AllowDownloadEnabledDetails {\n\ts := new(AllowDownloadEnabledDetails)\n\treturn s\n}\n\n// AllowDownloadEnabledType : has no documentation (yet)\ntype AllowDownloadEnabledType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAllowDownloadEnabledType returns a new AllowDownloadEnabledType instance\nfunc NewAllowDownloadEnabledType(Description string) *AllowDownloadEnabledType {\n\ts := new(AllowDownloadEnabledType)\n\ts.Description = Description\n\treturn s\n}\n\n// ApiSessionLogInfo : Api session.\ntype ApiSessionLogInfo struct {\n\t// RequestId : Api request ID.\n\tRequestId string `json:\"request_id\"`\n}\n\n// NewApiSessionLogInfo returns a new ApiSessionLogInfo instance\nfunc NewApiSessionLogInfo(RequestId string) *ApiSessionLogInfo {\n\ts := new(ApiSessionLogInfo)\n\ts.RequestId = RequestId\n\treturn s\n}\n\n// AppBlockedByPermissionsDetails : Failed to connect app for member.\ntype AppBlockedByPermissionsDetails struct {\n\t// AppInfo : Relevant application details.\n\tAppInfo IsAppLogInfo `json:\"app_info\"`\n}\n\n// NewAppBlockedByPermissionsDetails returns a new AppBlockedByPermissionsDetails instance\nfunc NewAppBlockedByPermissionsDetails(AppInfo IsAppLogInfo) *AppBlockedByPermissionsDetails {\n\ts := new(AppBlockedByPermissionsDetails)\n\ts.AppInfo = AppInfo\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a AppBlockedByPermissionsDetails instance\nfunc (u *AppBlockedByPermissionsDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// AppInfo : Relevant application details.\n\t\tAppInfo json.RawMessage `json:\"app_info\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tAppInfo, err := IsAppLogInfoFromJSON(w.AppInfo)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.AppInfo = AppInfo\n\treturn nil\n}\n\n// AppBlockedByPermissionsType : has no documentation (yet)\ntype AppBlockedByPermissionsType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAppBlockedByPermissionsType returns a new AppBlockedByPermissionsType instance\nfunc NewAppBlockedByPermissionsType(Description string) *AppBlockedByPermissionsType {\n\ts := new(AppBlockedByPermissionsType)\n\ts.Description = Description\n\treturn s\n}\n\n// AppLinkTeamDetails : Linked app for team.\ntype AppLinkTeamDetails struct {\n\t// AppInfo : Relevant application details.\n\tAppInfo IsAppLogInfo `json:\"app_info\"`\n}\n\n// NewAppLinkTeamDetails returns a new AppLinkTeamDetails instance\nfunc NewAppLinkTeamDetails(AppInfo IsAppLogInfo) *AppLinkTeamDetails {\n\ts := new(AppLinkTeamDetails)\n\ts.AppInfo = AppInfo\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a AppLinkTeamDetails instance\nfunc (u *AppLinkTeamDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// AppInfo : Relevant application details.\n\t\tAppInfo json.RawMessage `json:\"app_info\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tAppInfo, err := IsAppLogInfoFromJSON(w.AppInfo)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.AppInfo = AppInfo\n\treturn nil\n}\n\n// AppLinkTeamType : has no documentation (yet)\ntype AppLinkTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAppLinkTeamType returns a new AppLinkTeamType instance\nfunc NewAppLinkTeamType(Description string) *AppLinkTeamType {\n\ts := new(AppLinkTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// AppLinkUserDetails : Linked app for member.\ntype AppLinkUserDetails struct {\n\t// AppInfo : Relevant application details.\n\tAppInfo IsAppLogInfo `json:\"app_info\"`\n}\n\n// NewAppLinkUserDetails returns a new AppLinkUserDetails instance\nfunc NewAppLinkUserDetails(AppInfo IsAppLogInfo) *AppLinkUserDetails {\n\ts := new(AppLinkUserDetails)\n\ts.AppInfo = AppInfo\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a AppLinkUserDetails instance\nfunc (u *AppLinkUserDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// AppInfo : Relevant application details.\n\t\tAppInfo json.RawMessage `json:\"app_info\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tAppInfo, err := IsAppLogInfoFromJSON(w.AppInfo)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.AppInfo = AppInfo\n\treturn nil\n}\n\n// AppLinkUserType : has no documentation (yet)\ntype AppLinkUserType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAppLinkUserType returns a new AppLinkUserType instance\nfunc NewAppLinkUserType(Description string) *AppLinkUserType {\n\ts := new(AppLinkUserType)\n\ts.Description = Description\n\treturn s\n}\n\n// AppLogInfo : App's logged information.\ntype AppLogInfo struct {\n\t// AppId : App unique ID.\n\tAppId string `json:\"app_id,omitempty\"`\n\t// DisplayName : App display name.\n\tDisplayName string `json:\"display_name,omitempty\"`\n}\n\n// NewAppLogInfo returns a new AppLogInfo instance\nfunc NewAppLogInfo() *AppLogInfo {\n\ts := new(AppLogInfo)\n\treturn s\n}\n\n// IsAppLogInfo is the interface type for AppLogInfo and its subtypes\ntype IsAppLogInfo interface {\n\tIsAppLogInfo()\n}\n\n// IsAppLogInfo implements the IsAppLogInfo interface\nfunc (u *AppLogInfo) IsAppLogInfo() {}\n\ntype appLogInfoUnion struct {\n\tdropbox.Tagged\n\t// UserOrTeamLinkedApp : has no documentation (yet)\n\tUserOrTeamLinkedApp *UserOrTeamLinkedAppLogInfo `json:\"user_or_team_linked_app,omitempty\"`\n\t// UserLinkedApp : has no documentation (yet)\n\tUserLinkedApp *UserLinkedAppLogInfo `json:\"user_linked_app,omitempty\"`\n\t// TeamLinkedApp : has no documentation (yet)\n\tTeamLinkedApp *TeamLinkedAppLogInfo `json:\"team_linked_app,omitempty\"`\n}\n\n// Valid tag values for AppLogInfo\nconst (\n\tAppLogInfoUserOrTeamLinkedApp = \"user_or_team_linked_app\"\n\tAppLogInfoUserLinkedApp       = \"user_linked_app\"\n\tAppLogInfoTeamLinkedApp       = \"team_linked_app\"\n)\n\n// UnmarshalJSON deserializes into a appLogInfoUnion instance\nfunc (u *appLogInfoUnion) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"user_or_team_linked_app\":\n\t\tif err = json.Unmarshal(body, &u.UserOrTeamLinkedApp); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"user_linked_app\":\n\t\tif err = json.Unmarshal(body, &u.UserLinkedApp); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_linked_app\":\n\t\tif err = json.Unmarshal(body, &u.TeamLinkedApp); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// IsAppLogInfoFromJSON converts JSON to a concrete IsAppLogInfo instance\nfunc IsAppLogInfoFromJSON(data []byte) (IsAppLogInfo, error) {\n\tvar t appLogInfoUnion\n\tif err := json.Unmarshal(data, &t); err != nil {\n\t\treturn nil, err\n\t}\n\tswitch t.Tag {\n\tcase \"user_or_team_linked_app\":\n\t\treturn t.UserOrTeamLinkedApp, nil\n\n\tcase \"user_linked_app\":\n\t\treturn t.UserLinkedApp, nil\n\n\tcase \"team_linked_app\":\n\t\treturn t.TeamLinkedApp, nil\n\n\t}\n\treturn nil, nil\n}\n\n// AppPermissionsChangedDetails : Changed app permissions.\ntype AppPermissionsChangedDetails struct {\n\t// AppName : Name of the app.\n\tAppName string `json:\"app_name,omitempty\"`\n\t// Permission : Permission that was changed.\n\tPermission *AdminConsoleAppPermission `json:\"permission,omitempty\"`\n\t// PreviousValue : Previous policy.\n\tPreviousValue *AdminConsoleAppPolicy `json:\"previous_value\"`\n\t// NewValue : New policy.\n\tNewValue *AdminConsoleAppPolicy `json:\"new_value\"`\n}\n\n// NewAppPermissionsChangedDetails returns a new AppPermissionsChangedDetails instance\nfunc NewAppPermissionsChangedDetails(PreviousValue *AdminConsoleAppPolicy, NewValue *AdminConsoleAppPolicy) *AppPermissionsChangedDetails {\n\ts := new(AppPermissionsChangedDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// AppPermissionsChangedType : has no documentation (yet)\ntype AppPermissionsChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAppPermissionsChangedType returns a new AppPermissionsChangedType instance\nfunc NewAppPermissionsChangedType(Description string) *AppPermissionsChangedType {\n\ts := new(AppPermissionsChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// AppUnlinkTeamDetails : Unlinked app for team.\ntype AppUnlinkTeamDetails struct {\n\t// AppInfo : Relevant application details.\n\tAppInfo IsAppLogInfo `json:\"app_info\"`\n}\n\n// NewAppUnlinkTeamDetails returns a new AppUnlinkTeamDetails instance\nfunc NewAppUnlinkTeamDetails(AppInfo IsAppLogInfo) *AppUnlinkTeamDetails {\n\ts := new(AppUnlinkTeamDetails)\n\ts.AppInfo = AppInfo\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a AppUnlinkTeamDetails instance\nfunc (u *AppUnlinkTeamDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// AppInfo : Relevant application details.\n\t\tAppInfo json.RawMessage `json:\"app_info\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tAppInfo, err := IsAppLogInfoFromJSON(w.AppInfo)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.AppInfo = AppInfo\n\treturn nil\n}\n\n// AppUnlinkTeamType : has no documentation (yet)\ntype AppUnlinkTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAppUnlinkTeamType returns a new AppUnlinkTeamType instance\nfunc NewAppUnlinkTeamType(Description string) *AppUnlinkTeamType {\n\ts := new(AppUnlinkTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// AppUnlinkUserDetails : Unlinked app for member.\ntype AppUnlinkUserDetails struct {\n\t// AppInfo : Relevant application details.\n\tAppInfo IsAppLogInfo `json:\"app_info\"`\n}\n\n// NewAppUnlinkUserDetails returns a new AppUnlinkUserDetails instance\nfunc NewAppUnlinkUserDetails(AppInfo IsAppLogInfo) *AppUnlinkUserDetails {\n\ts := new(AppUnlinkUserDetails)\n\ts.AppInfo = AppInfo\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a AppUnlinkUserDetails instance\nfunc (u *AppUnlinkUserDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// AppInfo : Relevant application details.\n\t\tAppInfo json.RawMessage `json:\"app_info\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tAppInfo, err := IsAppLogInfoFromJSON(w.AppInfo)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.AppInfo = AppInfo\n\treturn nil\n}\n\n// AppUnlinkUserType : has no documentation (yet)\ntype AppUnlinkUserType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewAppUnlinkUserType returns a new AppUnlinkUserType instance\nfunc NewAppUnlinkUserType(Description string) *AppUnlinkUserType {\n\ts := new(AppUnlinkUserType)\n\ts.Description = Description\n\treturn s\n}\n\n// ApplyNamingConventionDetails : Applied naming convention.\ntype ApplyNamingConventionDetails struct {\n}\n\n// NewApplyNamingConventionDetails returns a new ApplyNamingConventionDetails instance\nfunc NewApplyNamingConventionDetails() *ApplyNamingConventionDetails {\n\ts := new(ApplyNamingConventionDetails)\n\treturn s\n}\n\n// ApplyNamingConventionType : has no documentation (yet)\ntype ApplyNamingConventionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewApplyNamingConventionType returns a new ApplyNamingConventionType instance\nfunc NewApplyNamingConventionType(Description string) *ApplyNamingConventionType {\n\ts := new(ApplyNamingConventionType)\n\ts.Description = Description\n\treturn s\n}\n\n// AssetLogInfo : Asset details.\ntype AssetLogInfo struct {\n\tdropbox.Tagged\n\t// File : File's details.\n\tFile *FileLogInfo `json:\"file,omitempty\"`\n\t// Folder : Folder's details.\n\tFolder *FolderLogInfo `json:\"folder,omitempty\"`\n\t// PaperDocument : Paper document's details.\n\tPaperDocument *PaperDocumentLogInfo `json:\"paper_document,omitempty\"`\n\t// PaperFolder : Paper folder's details.\n\tPaperFolder *PaperFolderLogInfo `json:\"paper_folder,omitempty\"`\n\t// ShowcaseDocument : Showcase document's details.\n\tShowcaseDocument *ShowcaseDocumentLogInfo `json:\"showcase_document,omitempty\"`\n}\n\n// Valid tag values for AssetLogInfo\nconst (\n\tAssetLogInfoFile             = \"file\"\n\tAssetLogInfoFolder           = \"folder\"\n\tAssetLogInfoPaperDocument    = \"paper_document\"\n\tAssetLogInfoPaperFolder      = \"paper_folder\"\n\tAssetLogInfoShowcaseDocument = \"showcase_document\"\n\tAssetLogInfoOther            = \"other\"\n)\n\n// UnmarshalJSON deserializes into a AssetLogInfo instance\nfunc (u *AssetLogInfo) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"file\":\n\t\tif err = json.Unmarshal(body, &u.File); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"folder\":\n\t\tif err = json.Unmarshal(body, &u.Folder); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_document\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocument); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_folder\":\n\t\tif err = json.Unmarshal(body, &u.PaperFolder); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_document\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseDocument); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// BackupStatus : Backup status\ntype BackupStatus struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for BackupStatus\nconst (\n\tBackupStatusDisabled = \"disabled\"\n\tBackupStatusEnabled  = \"enabled\"\n\tBackupStatusOther    = \"other\"\n)\n\n// BinderAddPageDetails : Added Binder page.\ntype BinderAddPageDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// DocTitle : Title of the Binder doc.\n\tDocTitle string `json:\"doc_title\"`\n\t// BinderItemName : Name of the Binder page/section.\n\tBinderItemName string `json:\"binder_item_name\"`\n}\n\n// NewBinderAddPageDetails returns a new BinderAddPageDetails instance\nfunc NewBinderAddPageDetails(EventUuid string, DocTitle string, BinderItemName string) *BinderAddPageDetails {\n\ts := new(BinderAddPageDetails)\n\ts.EventUuid = EventUuid\n\ts.DocTitle = DocTitle\n\ts.BinderItemName = BinderItemName\n\treturn s\n}\n\n// BinderAddPageType : has no documentation (yet)\ntype BinderAddPageType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewBinderAddPageType returns a new BinderAddPageType instance\nfunc NewBinderAddPageType(Description string) *BinderAddPageType {\n\ts := new(BinderAddPageType)\n\ts.Description = Description\n\treturn s\n}\n\n// BinderAddSectionDetails : Added Binder section.\ntype BinderAddSectionDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// DocTitle : Title of the Binder doc.\n\tDocTitle string `json:\"doc_title\"`\n\t// BinderItemName : Name of the Binder page/section.\n\tBinderItemName string `json:\"binder_item_name\"`\n}\n\n// NewBinderAddSectionDetails returns a new BinderAddSectionDetails instance\nfunc NewBinderAddSectionDetails(EventUuid string, DocTitle string, BinderItemName string) *BinderAddSectionDetails {\n\ts := new(BinderAddSectionDetails)\n\ts.EventUuid = EventUuid\n\ts.DocTitle = DocTitle\n\ts.BinderItemName = BinderItemName\n\treturn s\n}\n\n// BinderAddSectionType : has no documentation (yet)\ntype BinderAddSectionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewBinderAddSectionType returns a new BinderAddSectionType instance\nfunc NewBinderAddSectionType(Description string) *BinderAddSectionType {\n\ts := new(BinderAddSectionType)\n\ts.Description = Description\n\treturn s\n}\n\n// BinderRemovePageDetails : Removed Binder page.\ntype BinderRemovePageDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// DocTitle : Title of the Binder doc.\n\tDocTitle string `json:\"doc_title\"`\n\t// BinderItemName : Name of the Binder page/section.\n\tBinderItemName string `json:\"binder_item_name\"`\n}\n\n// NewBinderRemovePageDetails returns a new BinderRemovePageDetails instance\nfunc NewBinderRemovePageDetails(EventUuid string, DocTitle string, BinderItemName string) *BinderRemovePageDetails {\n\ts := new(BinderRemovePageDetails)\n\ts.EventUuid = EventUuid\n\ts.DocTitle = DocTitle\n\ts.BinderItemName = BinderItemName\n\treturn s\n}\n\n// BinderRemovePageType : has no documentation (yet)\ntype BinderRemovePageType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewBinderRemovePageType returns a new BinderRemovePageType instance\nfunc NewBinderRemovePageType(Description string) *BinderRemovePageType {\n\ts := new(BinderRemovePageType)\n\ts.Description = Description\n\treturn s\n}\n\n// BinderRemoveSectionDetails : Removed Binder section.\ntype BinderRemoveSectionDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// DocTitle : Title of the Binder doc.\n\tDocTitle string `json:\"doc_title\"`\n\t// BinderItemName : Name of the Binder page/section.\n\tBinderItemName string `json:\"binder_item_name\"`\n}\n\n// NewBinderRemoveSectionDetails returns a new BinderRemoveSectionDetails instance\nfunc NewBinderRemoveSectionDetails(EventUuid string, DocTitle string, BinderItemName string) *BinderRemoveSectionDetails {\n\ts := new(BinderRemoveSectionDetails)\n\ts.EventUuid = EventUuid\n\ts.DocTitle = DocTitle\n\ts.BinderItemName = BinderItemName\n\treturn s\n}\n\n// BinderRemoveSectionType : has no documentation (yet)\ntype BinderRemoveSectionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewBinderRemoveSectionType returns a new BinderRemoveSectionType instance\nfunc NewBinderRemoveSectionType(Description string) *BinderRemoveSectionType {\n\ts := new(BinderRemoveSectionType)\n\ts.Description = Description\n\treturn s\n}\n\n// BinderRenamePageDetails : Renamed Binder page.\ntype BinderRenamePageDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// DocTitle : Title of the Binder doc.\n\tDocTitle string `json:\"doc_title\"`\n\t// BinderItemName : Name of the Binder page/section.\n\tBinderItemName string `json:\"binder_item_name\"`\n\t// PreviousBinderItemName : Previous name of the Binder page/section.\n\tPreviousBinderItemName string `json:\"previous_binder_item_name,omitempty\"`\n}\n\n// NewBinderRenamePageDetails returns a new BinderRenamePageDetails instance\nfunc NewBinderRenamePageDetails(EventUuid string, DocTitle string, BinderItemName string) *BinderRenamePageDetails {\n\ts := new(BinderRenamePageDetails)\n\ts.EventUuid = EventUuid\n\ts.DocTitle = DocTitle\n\ts.BinderItemName = BinderItemName\n\treturn s\n}\n\n// BinderRenamePageType : has no documentation (yet)\ntype BinderRenamePageType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewBinderRenamePageType returns a new BinderRenamePageType instance\nfunc NewBinderRenamePageType(Description string) *BinderRenamePageType {\n\ts := new(BinderRenamePageType)\n\ts.Description = Description\n\treturn s\n}\n\n// BinderRenameSectionDetails : Renamed Binder section.\ntype BinderRenameSectionDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// DocTitle : Title of the Binder doc.\n\tDocTitle string `json:\"doc_title\"`\n\t// BinderItemName : Name of the Binder page/section.\n\tBinderItemName string `json:\"binder_item_name\"`\n\t// PreviousBinderItemName : Previous name of the Binder page/section.\n\tPreviousBinderItemName string `json:\"previous_binder_item_name,omitempty\"`\n}\n\n// NewBinderRenameSectionDetails returns a new BinderRenameSectionDetails instance\nfunc NewBinderRenameSectionDetails(EventUuid string, DocTitle string, BinderItemName string) *BinderRenameSectionDetails {\n\ts := new(BinderRenameSectionDetails)\n\ts.EventUuid = EventUuid\n\ts.DocTitle = DocTitle\n\ts.BinderItemName = BinderItemName\n\treturn s\n}\n\n// BinderRenameSectionType : has no documentation (yet)\ntype BinderRenameSectionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewBinderRenameSectionType returns a new BinderRenameSectionType instance\nfunc NewBinderRenameSectionType(Description string) *BinderRenameSectionType {\n\ts := new(BinderRenameSectionType)\n\ts.Description = Description\n\treturn s\n}\n\n// BinderReorderPageDetails : Reordered Binder page.\ntype BinderReorderPageDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// DocTitle : Title of the Binder doc.\n\tDocTitle string `json:\"doc_title\"`\n\t// BinderItemName : Name of the Binder page/section.\n\tBinderItemName string `json:\"binder_item_name\"`\n}\n\n// NewBinderReorderPageDetails returns a new BinderReorderPageDetails instance\nfunc NewBinderReorderPageDetails(EventUuid string, DocTitle string, BinderItemName string) *BinderReorderPageDetails {\n\ts := new(BinderReorderPageDetails)\n\ts.EventUuid = EventUuid\n\ts.DocTitle = DocTitle\n\ts.BinderItemName = BinderItemName\n\treturn s\n}\n\n// BinderReorderPageType : has no documentation (yet)\ntype BinderReorderPageType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewBinderReorderPageType returns a new BinderReorderPageType instance\nfunc NewBinderReorderPageType(Description string) *BinderReorderPageType {\n\ts := new(BinderReorderPageType)\n\ts.Description = Description\n\treturn s\n}\n\n// BinderReorderSectionDetails : Reordered Binder section.\ntype BinderReorderSectionDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// DocTitle : Title of the Binder doc.\n\tDocTitle string `json:\"doc_title\"`\n\t// BinderItemName : Name of the Binder page/section.\n\tBinderItemName string `json:\"binder_item_name\"`\n}\n\n// NewBinderReorderSectionDetails returns a new BinderReorderSectionDetails instance\nfunc NewBinderReorderSectionDetails(EventUuid string, DocTitle string, BinderItemName string) *BinderReorderSectionDetails {\n\ts := new(BinderReorderSectionDetails)\n\ts.EventUuid = EventUuid\n\ts.DocTitle = DocTitle\n\ts.BinderItemName = BinderItemName\n\treturn s\n}\n\n// BinderReorderSectionType : has no documentation (yet)\ntype BinderReorderSectionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewBinderReorderSectionType returns a new BinderReorderSectionType instance\nfunc NewBinderReorderSectionType(Description string) *BinderReorderSectionType {\n\ts := new(BinderReorderSectionType)\n\ts.Description = Description\n\treturn s\n}\n\n// CameraUploadsPolicy : Policy for controlling if team members can activate\n// camera uploads\ntype CameraUploadsPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for CameraUploadsPolicy\nconst (\n\tCameraUploadsPolicyDisabled = \"disabled\"\n\tCameraUploadsPolicyEnabled  = \"enabled\"\n\tCameraUploadsPolicyOther    = \"other\"\n)\n\n// CameraUploadsPolicyChangedDetails : Changed camera uploads setting for team.\ntype CameraUploadsPolicyChangedDetails struct {\n\t// NewValue : New camera uploads setting.\n\tNewValue *CameraUploadsPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous camera uploads setting.\n\tPreviousValue *CameraUploadsPolicy `json:\"previous_value\"`\n}\n\n// NewCameraUploadsPolicyChangedDetails returns a new CameraUploadsPolicyChangedDetails instance\nfunc NewCameraUploadsPolicyChangedDetails(NewValue *CameraUploadsPolicy, PreviousValue *CameraUploadsPolicy) *CameraUploadsPolicyChangedDetails {\n\ts := new(CameraUploadsPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// CameraUploadsPolicyChangedType : has no documentation (yet)\ntype CameraUploadsPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewCameraUploadsPolicyChangedType returns a new CameraUploadsPolicyChangedType instance\nfunc NewCameraUploadsPolicyChangedType(Description string) *CameraUploadsPolicyChangedType {\n\ts := new(CameraUploadsPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// CaptureTranscriptPolicy : Policy for deciding whether team users can\n// transcription in Capture\ntype CaptureTranscriptPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for CaptureTranscriptPolicy\nconst (\n\tCaptureTranscriptPolicyDefault  = \"default\"\n\tCaptureTranscriptPolicyDisabled = \"disabled\"\n\tCaptureTranscriptPolicyEnabled  = \"enabled\"\n\tCaptureTranscriptPolicyOther    = \"other\"\n)\n\n// CaptureTranscriptPolicyChangedDetails : Changed Capture transcription policy\n// for team.\ntype CaptureTranscriptPolicyChangedDetails struct {\n\t// NewValue : To.\n\tNewValue *CaptureTranscriptPolicy `json:\"new_value\"`\n\t// PreviousValue : From.\n\tPreviousValue *CaptureTranscriptPolicy `json:\"previous_value\"`\n}\n\n// NewCaptureTranscriptPolicyChangedDetails returns a new CaptureTranscriptPolicyChangedDetails instance\nfunc NewCaptureTranscriptPolicyChangedDetails(NewValue *CaptureTranscriptPolicy, PreviousValue *CaptureTranscriptPolicy) *CaptureTranscriptPolicyChangedDetails {\n\ts := new(CaptureTranscriptPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// CaptureTranscriptPolicyChangedType : has no documentation (yet)\ntype CaptureTranscriptPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewCaptureTranscriptPolicyChangedType returns a new CaptureTranscriptPolicyChangedType instance\nfunc NewCaptureTranscriptPolicyChangedType(Description string) *CaptureTranscriptPolicyChangedType {\n\ts := new(CaptureTranscriptPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// Certificate : Certificate details.\ntype Certificate struct {\n\t// Subject : Certificate subject.\n\tSubject string `json:\"subject\"`\n\t// Issuer : Certificate issuer.\n\tIssuer string `json:\"issuer\"`\n\t// IssueDate : Certificate issue date.\n\tIssueDate string `json:\"issue_date\"`\n\t// ExpirationDate : Certificate expiration date.\n\tExpirationDate string `json:\"expiration_date\"`\n\t// SerialNumber : Certificate serial number.\n\tSerialNumber string `json:\"serial_number\"`\n\t// Sha1Fingerprint : Certificate sha1 fingerprint.\n\tSha1Fingerprint string `json:\"sha1_fingerprint\"`\n\t// CommonName : Certificate common name.\n\tCommonName string `json:\"common_name,omitempty\"`\n}\n\n// NewCertificate returns a new Certificate instance\nfunc NewCertificate(Subject string, Issuer string, IssueDate string, ExpirationDate string, SerialNumber string, Sha1Fingerprint string) *Certificate {\n\ts := new(Certificate)\n\ts.Subject = Subject\n\ts.Issuer = Issuer\n\ts.IssueDate = IssueDate\n\ts.ExpirationDate = ExpirationDate\n\ts.SerialNumber = SerialNumber\n\ts.Sha1Fingerprint = Sha1Fingerprint\n\treturn s\n}\n\n// ChangeLinkExpirationPolicy : Policy for deciding whether the team's default\n// expiration days policy must be enforced when an externally shared link is\n// updated\ntype ChangeLinkExpirationPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ChangeLinkExpirationPolicy\nconst (\n\tChangeLinkExpirationPolicyAllowed    = \"allowed\"\n\tChangeLinkExpirationPolicyNotAllowed = \"not_allowed\"\n\tChangeLinkExpirationPolicyOther      = \"other\"\n)\n\n// ChangedEnterpriseAdminRoleDetails : Changed enterprise admin role.\ntype ChangedEnterpriseAdminRoleDetails struct {\n\t// PreviousValue : The member&#x2019s previous enterprise admin role.\n\tPreviousValue *FedAdminRole `json:\"previous_value\"`\n\t// NewValue : The member&#x2019s new enterprise admin role.\n\tNewValue *FedAdminRole `json:\"new_value\"`\n\t// TeamName : The name of the member&#x2019s team.\n\tTeamName string `json:\"team_name\"`\n}\n\n// NewChangedEnterpriseAdminRoleDetails returns a new ChangedEnterpriseAdminRoleDetails instance\nfunc NewChangedEnterpriseAdminRoleDetails(PreviousValue *FedAdminRole, NewValue *FedAdminRole, TeamName string) *ChangedEnterpriseAdminRoleDetails {\n\ts := new(ChangedEnterpriseAdminRoleDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\ts.TeamName = TeamName\n\treturn s\n}\n\n// ChangedEnterpriseAdminRoleType : has no documentation (yet)\ntype ChangedEnterpriseAdminRoleType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewChangedEnterpriseAdminRoleType returns a new ChangedEnterpriseAdminRoleType instance\nfunc NewChangedEnterpriseAdminRoleType(Description string) *ChangedEnterpriseAdminRoleType {\n\ts := new(ChangedEnterpriseAdminRoleType)\n\ts.Description = Description\n\treturn s\n}\n\n// ChangedEnterpriseConnectedTeamStatusDetails : Changed enterprise-connected\n// team status.\ntype ChangedEnterpriseConnectedTeamStatusDetails struct {\n\t// Action : The preformed change in the team&#x2019s connection status.\n\tAction *FedHandshakeAction `json:\"action\"`\n\t// AdditionalInfo : Additional information about the organization or team.\n\tAdditionalInfo *FederationStatusChangeAdditionalInfo `json:\"additional_info\"`\n\t// PreviousValue : Previous request state.\n\tPreviousValue *TrustedTeamsRequestState `json:\"previous_value\"`\n\t// NewValue : New request state.\n\tNewValue *TrustedTeamsRequestState `json:\"new_value\"`\n}\n\n// NewChangedEnterpriseConnectedTeamStatusDetails returns a new ChangedEnterpriseConnectedTeamStatusDetails instance\nfunc NewChangedEnterpriseConnectedTeamStatusDetails(Action *FedHandshakeAction, AdditionalInfo *FederationStatusChangeAdditionalInfo, PreviousValue *TrustedTeamsRequestState, NewValue *TrustedTeamsRequestState) *ChangedEnterpriseConnectedTeamStatusDetails {\n\ts := new(ChangedEnterpriseConnectedTeamStatusDetails)\n\ts.Action = Action\n\ts.AdditionalInfo = AdditionalInfo\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// ChangedEnterpriseConnectedTeamStatusType : has no documentation (yet)\ntype ChangedEnterpriseConnectedTeamStatusType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewChangedEnterpriseConnectedTeamStatusType returns a new ChangedEnterpriseConnectedTeamStatusType instance\nfunc NewChangedEnterpriseConnectedTeamStatusType(Description string) *ChangedEnterpriseConnectedTeamStatusType {\n\ts := new(ChangedEnterpriseConnectedTeamStatusType)\n\ts.Description = Description\n\treturn s\n}\n\n// ClassificationChangePolicyDetails : Changed classification policy for team.\ntype ClassificationChangePolicyDetails struct {\n\t// PreviousValue : Previous classification policy.\n\tPreviousValue *ClassificationPolicyEnumWrapper `json:\"previous_value\"`\n\t// NewValue : New classification policy.\n\tNewValue *ClassificationPolicyEnumWrapper `json:\"new_value\"`\n\t// ClassificationType : Policy type.\n\tClassificationType *ClassificationType `json:\"classification_type\"`\n}\n\n// NewClassificationChangePolicyDetails returns a new ClassificationChangePolicyDetails instance\nfunc NewClassificationChangePolicyDetails(PreviousValue *ClassificationPolicyEnumWrapper, NewValue *ClassificationPolicyEnumWrapper, ClassificationType *ClassificationType) *ClassificationChangePolicyDetails {\n\ts := new(ClassificationChangePolicyDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\ts.ClassificationType = ClassificationType\n\treturn s\n}\n\n// ClassificationChangePolicyType : has no documentation (yet)\ntype ClassificationChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewClassificationChangePolicyType returns a new ClassificationChangePolicyType instance\nfunc NewClassificationChangePolicyType(Description string) *ClassificationChangePolicyType {\n\ts := new(ClassificationChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// ClassificationCreateReportDetails : Created Classification report.\ntype ClassificationCreateReportDetails struct {\n}\n\n// NewClassificationCreateReportDetails returns a new ClassificationCreateReportDetails instance\nfunc NewClassificationCreateReportDetails() *ClassificationCreateReportDetails {\n\ts := new(ClassificationCreateReportDetails)\n\treturn s\n}\n\n// ClassificationCreateReportFailDetails : Couldn't create Classification\n// report.\ntype ClassificationCreateReportFailDetails struct {\n\t// FailureReason : Failure reason.\n\tFailureReason *team.TeamReportFailureReason `json:\"failure_reason\"`\n}\n\n// NewClassificationCreateReportFailDetails returns a new ClassificationCreateReportFailDetails instance\nfunc NewClassificationCreateReportFailDetails(FailureReason *team.TeamReportFailureReason) *ClassificationCreateReportFailDetails {\n\ts := new(ClassificationCreateReportFailDetails)\n\ts.FailureReason = FailureReason\n\treturn s\n}\n\n// ClassificationCreateReportFailType : has no documentation (yet)\ntype ClassificationCreateReportFailType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewClassificationCreateReportFailType returns a new ClassificationCreateReportFailType instance\nfunc NewClassificationCreateReportFailType(Description string) *ClassificationCreateReportFailType {\n\ts := new(ClassificationCreateReportFailType)\n\ts.Description = Description\n\treturn s\n}\n\n// ClassificationCreateReportType : has no documentation (yet)\ntype ClassificationCreateReportType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewClassificationCreateReportType returns a new ClassificationCreateReportType instance\nfunc NewClassificationCreateReportType(Description string) *ClassificationCreateReportType {\n\ts := new(ClassificationCreateReportType)\n\ts.Description = Description\n\treturn s\n}\n\n// ClassificationPolicyEnumWrapper : Policy for controlling team access to the\n// classification feature\ntype ClassificationPolicyEnumWrapper struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ClassificationPolicyEnumWrapper\nconst (\n\tClassificationPolicyEnumWrapperDisabled             = \"disabled\"\n\tClassificationPolicyEnumWrapperEnabled              = \"enabled\"\n\tClassificationPolicyEnumWrapperMemberAndTeamFolders = \"member_and_team_folders\"\n\tClassificationPolicyEnumWrapperTeamFolders          = \"team_folders\"\n\tClassificationPolicyEnumWrapperOther                = \"other\"\n)\n\n// ClassificationType : The type of classification (currently only personal\n// information)\ntype ClassificationType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ClassificationType\nconst (\n\tClassificationTypePersonalInformation = \"personal_information\"\n\tClassificationTypePii                 = \"pii\"\n\tClassificationTypeOther               = \"other\"\n)\n\n// CollectionShareDetails : Shared album.\ntype CollectionShareDetails struct {\n\t// AlbumName : Album name.\n\tAlbumName string `json:\"album_name\"`\n}\n\n// NewCollectionShareDetails returns a new CollectionShareDetails instance\nfunc NewCollectionShareDetails(AlbumName string) *CollectionShareDetails {\n\ts := new(CollectionShareDetails)\n\ts.AlbumName = AlbumName\n\treturn s\n}\n\n// CollectionShareType : has no documentation (yet)\ntype CollectionShareType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewCollectionShareType returns a new CollectionShareType instance\nfunc NewCollectionShareType(Description string) *CollectionShareType {\n\ts := new(CollectionShareType)\n\ts.Description = Description\n\treturn s\n}\n\n// ComputerBackupPolicy : Policy for controlling team access to computer backup\n// feature\ntype ComputerBackupPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ComputerBackupPolicy\nconst (\n\tComputerBackupPolicyDefault  = \"default\"\n\tComputerBackupPolicyDisabled = \"disabled\"\n\tComputerBackupPolicyEnabled  = \"enabled\"\n\tComputerBackupPolicyOther    = \"other\"\n)\n\n// ComputerBackupPolicyChangedDetails : Changed computer backup policy for team.\ntype ComputerBackupPolicyChangedDetails struct {\n\t// NewValue : New computer backup policy.\n\tNewValue *ComputerBackupPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous computer backup policy.\n\tPreviousValue *ComputerBackupPolicy `json:\"previous_value\"`\n}\n\n// NewComputerBackupPolicyChangedDetails returns a new ComputerBackupPolicyChangedDetails instance\nfunc NewComputerBackupPolicyChangedDetails(NewValue *ComputerBackupPolicy, PreviousValue *ComputerBackupPolicy) *ComputerBackupPolicyChangedDetails {\n\ts := new(ComputerBackupPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// ComputerBackupPolicyChangedType : has no documentation (yet)\ntype ComputerBackupPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewComputerBackupPolicyChangedType returns a new ComputerBackupPolicyChangedType instance\nfunc NewComputerBackupPolicyChangedType(Description string) *ComputerBackupPolicyChangedType {\n\ts := new(ComputerBackupPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ConnectedTeamName : The name of the team\ntype ConnectedTeamName struct {\n\t// Team : The name of the team.\n\tTeam string `json:\"team\"`\n}\n\n// NewConnectedTeamName returns a new ConnectedTeamName instance\nfunc NewConnectedTeamName(Team string) *ConnectedTeamName {\n\ts := new(ConnectedTeamName)\n\ts.Team = Team\n\treturn s\n}\n\n// ContentAdministrationPolicyChangedDetails : Changed content management\n// setting.\ntype ContentAdministrationPolicyChangedDetails struct {\n\t// NewValue : New content administration policy.\n\tNewValue string `json:\"new_value\"`\n\t// PreviousValue : Previous content administration policy.\n\tPreviousValue string `json:\"previous_value\"`\n}\n\n// NewContentAdministrationPolicyChangedDetails returns a new ContentAdministrationPolicyChangedDetails instance\nfunc NewContentAdministrationPolicyChangedDetails(NewValue string, PreviousValue string) *ContentAdministrationPolicyChangedDetails {\n\ts := new(ContentAdministrationPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// ContentAdministrationPolicyChangedType : has no documentation (yet)\ntype ContentAdministrationPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewContentAdministrationPolicyChangedType returns a new ContentAdministrationPolicyChangedType instance\nfunc NewContentAdministrationPolicyChangedType(Description string) *ContentAdministrationPolicyChangedType {\n\ts := new(ContentAdministrationPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ContentPermanentDeletePolicy : Policy for pemanent content deletion\ntype ContentPermanentDeletePolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ContentPermanentDeletePolicy\nconst (\n\tContentPermanentDeletePolicyDisabled = \"disabled\"\n\tContentPermanentDeletePolicyEnabled  = \"enabled\"\n\tContentPermanentDeletePolicyOther    = \"other\"\n)\n\n// ContextLogInfo : The primary entity on which the action was done.\ntype ContextLogInfo struct {\n\tdropbox.Tagged\n\t// NonTeamMember : Action was done on behalf of a non team member.\n\tNonTeamMember *NonTeamMemberLogInfo `json:\"non_team_member,omitempty\"`\n\t// OrganizationTeam : Action was done on behalf of a team that's part of an\n\t// organization.\n\tOrganizationTeam *TeamLogInfo `json:\"organization_team,omitempty\"`\n\t// TeamMember : Action was done on behalf of a team member.\n\tTeamMember *TeamMemberLogInfo `json:\"team_member,omitempty\"`\n\t// TrustedNonTeamMember : Action was done on behalf of a trusted non team\n\t// member.\n\tTrustedNonTeamMember *TrustedNonTeamMemberLogInfo `json:\"trusted_non_team_member,omitempty\"`\n}\n\n// Valid tag values for ContextLogInfo\nconst (\n\tContextLogInfoAnonymous            = \"anonymous\"\n\tContextLogInfoNonTeamMember        = \"non_team_member\"\n\tContextLogInfoOrganizationTeam     = \"organization_team\"\n\tContextLogInfoTeam                 = \"team\"\n\tContextLogInfoTeamMember           = \"team_member\"\n\tContextLogInfoTrustedNonTeamMember = \"trusted_non_team_member\"\n\tContextLogInfoOther                = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ContextLogInfo instance\nfunc (u *ContextLogInfo) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"non_team_member\":\n\t\tif err = json.Unmarshal(body, &u.NonTeamMember); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"organization_team\":\n\t\tif err = json.Unmarshal(body, &u.OrganizationTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_member\":\n\t\tif err = json.Unmarshal(body, &u.TeamMember); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"trusted_non_team_member\":\n\t\tif err = json.Unmarshal(body, &u.TrustedNonTeamMember); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// CreateFolderDetails : Created folders.\ntype CreateFolderDetails struct {\n}\n\n// NewCreateFolderDetails returns a new CreateFolderDetails instance\nfunc NewCreateFolderDetails() *CreateFolderDetails {\n\ts := new(CreateFolderDetails)\n\treturn s\n}\n\n// CreateFolderType : has no documentation (yet)\ntype CreateFolderType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewCreateFolderType returns a new CreateFolderType instance\nfunc NewCreateFolderType(Description string) *CreateFolderType {\n\ts := new(CreateFolderType)\n\ts.Description = Description\n\treturn s\n}\n\n// CreateTeamInviteLinkDetails : Created team invite link.\ntype CreateTeamInviteLinkDetails struct {\n\t// LinkUrl : The invite link url that was created.\n\tLinkUrl string `json:\"link_url\"`\n\t// ExpiryDate : The expiration date of the invite link.\n\tExpiryDate string `json:\"expiry_date\"`\n}\n\n// NewCreateTeamInviteLinkDetails returns a new CreateTeamInviteLinkDetails instance\nfunc NewCreateTeamInviteLinkDetails(LinkUrl string, ExpiryDate string) *CreateTeamInviteLinkDetails {\n\ts := new(CreateTeamInviteLinkDetails)\n\ts.LinkUrl = LinkUrl\n\ts.ExpiryDate = ExpiryDate\n\treturn s\n}\n\n// CreateTeamInviteLinkType : has no documentation (yet)\ntype CreateTeamInviteLinkType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewCreateTeamInviteLinkType returns a new CreateTeamInviteLinkType instance\nfunc NewCreateTeamInviteLinkType(Description string) *CreateTeamInviteLinkType {\n\ts := new(CreateTeamInviteLinkType)\n\ts.Description = Description\n\treturn s\n}\n\n// DataPlacementRestrictionChangePolicyDetails : Set restrictions on data center\n// locations where team data resides.\ntype DataPlacementRestrictionChangePolicyDetails struct {\n\t// PreviousValue : Previous placement restriction.\n\tPreviousValue *PlacementRestriction `json:\"previous_value\"`\n\t// NewValue : New placement restriction.\n\tNewValue *PlacementRestriction `json:\"new_value\"`\n}\n\n// NewDataPlacementRestrictionChangePolicyDetails returns a new DataPlacementRestrictionChangePolicyDetails instance\nfunc NewDataPlacementRestrictionChangePolicyDetails(PreviousValue *PlacementRestriction, NewValue *PlacementRestriction) *DataPlacementRestrictionChangePolicyDetails {\n\ts := new(DataPlacementRestrictionChangePolicyDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// DataPlacementRestrictionChangePolicyType : has no documentation (yet)\ntype DataPlacementRestrictionChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDataPlacementRestrictionChangePolicyType returns a new DataPlacementRestrictionChangePolicyType instance\nfunc NewDataPlacementRestrictionChangePolicyType(Description string) *DataPlacementRestrictionChangePolicyType {\n\ts := new(DataPlacementRestrictionChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// DataPlacementRestrictionSatisfyPolicyDetails : Completed restrictions on data\n// center locations where team data resides.\ntype DataPlacementRestrictionSatisfyPolicyDetails struct {\n\t// PlacementRestriction : Placement restriction.\n\tPlacementRestriction *PlacementRestriction `json:\"placement_restriction\"`\n}\n\n// NewDataPlacementRestrictionSatisfyPolicyDetails returns a new DataPlacementRestrictionSatisfyPolicyDetails instance\nfunc NewDataPlacementRestrictionSatisfyPolicyDetails(PlacementRestriction *PlacementRestriction) *DataPlacementRestrictionSatisfyPolicyDetails {\n\ts := new(DataPlacementRestrictionSatisfyPolicyDetails)\n\ts.PlacementRestriction = PlacementRestriction\n\treturn s\n}\n\n// DataPlacementRestrictionSatisfyPolicyType : has no documentation (yet)\ntype DataPlacementRestrictionSatisfyPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDataPlacementRestrictionSatisfyPolicyType returns a new DataPlacementRestrictionSatisfyPolicyType instance\nfunc NewDataPlacementRestrictionSatisfyPolicyType(Description string) *DataPlacementRestrictionSatisfyPolicyType {\n\ts := new(DataPlacementRestrictionSatisfyPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// DataResidencyMigrationRequestSuccessfulDetails : Requested data residency\n// migration for team data.\ntype DataResidencyMigrationRequestSuccessfulDetails struct {\n}\n\n// NewDataResidencyMigrationRequestSuccessfulDetails returns a new DataResidencyMigrationRequestSuccessfulDetails instance\nfunc NewDataResidencyMigrationRequestSuccessfulDetails() *DataResidencyMigrationRequestSuccessfulDetails {\n\ts := new(DataResidencyMigrationRequestSuccessfulDetails)\n\treturn s\n}\n\n// DataResidencyMigrationRequestSuccessfulType : has no documentation (yet)\ntype DataResidencyMigrationRequestSuccessfulType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDataResidencyMigrationRequestSuccessfulType returns a new DataResidencyMigrationRequestSuccessfulType instance\nfunc NewDataResidencyMigrationRequestSuccessfulType(Description string) *DataResidencyMigrationRequestSuccessfulType {\n\ts := new(DataResidencyMigrationRequestSuccessfulType)\n\ts.Description = Description\n\treturn s\n}\n\n// DataResidencyMigrationRequestUnsuccessfulDetails : Request for data residency\n// migration for team data has failed.\ntype DataResidencyMigrationRequestUnsuccessfulDetails struct {\n}\n\n// NewDataResidencyMigrationRequestUnsuccessfulDetails returns a new DataResidencyMigrationRequestUnsuccessfulDetails instance\nfunc NewDataResidencyMigrationRequestUnsuccessfulDetails() *DataResidencyMigrationRequestUnsuccessfulDetails {\n\ts := new(DataResidencyMigrationRequestUnsuccessfulDetails)\n\treturn s\n}\n\n// DataResidencyMigrationRequestUnsuccessfulType : has no documentation (yet)\ntype DataResidencyMigrationRequestUnsuccessfulType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDataResidencyMigrationRequestUnsuccessfulType returns a new DataResidencyMigrationRequestUnsuccessfulType instance\nfunc NewDataResidencyMigrationRequestUnsuccessfulType(Description string) *DataResidencyMigrationRequestUnsuccessfulType {\n\ts := new(DataResidencyMigrationRequestUnsuccessfulType)\n\ts.Description = Description\n\treturn s\n}\n\n// DefaultLinkExpirationDaysPolicy : Policy for the default number of days until\n// an externally shared link expires\ntype DefaultLinkExpirationDaysPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for DefaultLinkExpirationDaysPolicy\nconst (\n\tDefaultLinkExpirationDaysPolicyDay1   = \"day_1\"\n\tDefaultLinkExpirationDaysPolicyDay180 = \"day_180\"\n\tDefaultLinkExpirationDaysPolicyDay3   = \"day_3\"\n\tDefaultLinkExpirationDaysPolicyDay30  = \"day_30\"\n\tDefaultLinkExpirationDaysPolicyDay7   = \"day_7\"\n\tDefaultLinkExpirationDaysPolicyDay90  = \"day_90\"\n\tDefaultLinkExpirationDaysPolicyNone   = \"none\"\n\tDefaultLinkExpirationDaysPolicyYear1  = \"year_1\"\n\tDefaultLinkExpirationDaysPolicyOther  = \"other\"\n)\n\n// DeleteTeamInviteLinkDetails : Deleted team invite link.\ntype DeleteTeamInviteLinkDetails struct {\n\t// LinkUrl : The invite link url that was deleted.\n\tLinkUrl string `json:\"link_url\"`\n}\n\n// NewDeleteTeamInviteLinkDetails returns a new DeleteTeamInviteLinkDetails instance\nfunc NewDeleteTeamInviteLinkDetails(LinkUrl string) *DeleteTeamInviteLinkDetails {\n\ts := new(DeleteTeamInviteLinkDetails)\n\ts.LinkUrl = LinkUrl\n\treturn s\n}\n\n// DeleteTeamInviteLinkType : has no documentation (yet)\ntype DeleteTeamInviteLinkType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeleteTeamInviteLinkType returns a new DeleteTeamInviteLinkType instance\nfunc NewDeleteTeamInviteLinkType(Description string) *DeleteTeamInviteLinkType {\n\ts := new(DeleteTeamInviteLinkType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceSessionLogInfo : Device's session logged information.\ntype DeviceSessionLogInfo struct {\n\t// IpAddress : The IP address of the last activity from this session.\n\tIpAddress string `json:\"ip_address,omitempty\"`\n\t// Created : The time this session was created.\n\tCreated *time.Time `json:\"created,omitempty\"`\n\t// Updated : The time of the last activity from this session.\n\tUpdated *time.Time `json:\"updated,omitempty\"`\n}\n\n// NewDeviceSessionLogInfo returns a new DeviceSessionLogInfo instance\nfunc NewDeviceSessionLogInfo() *DeviceSessionLogInfo {\n\ts := new(DeviceSessionLogInfo)\n\treturn s\n}\n\n// IsDeviceSessionLogInfo is the interface type for DeviceSessionLogInfo and its subtypes\ntype IsDeviceSessionLogInfo interface {\n\tIsDeviceSessionLogInfo()\n}\n\n// IsDeviceSessionLogInfo implements the IsDeviceSessionLogInfo interface\nfunc (u *DeviceSessionLogInfo) IsDeviceSessionLogInfo() {}\n\ntype deviceSessionLogInfoUnion struct {\n\tdropbox.Tagged\n\t// DesktopDeviceSession : has no documentation (yet)\n\tDesktopDeviceSession *DesktopDeviceSessionLogInfo `json:\"desktop_device_session,omitempty\"`\n\t// MobileDeviceSession : has no documentation (yet)\n\tMobileDeviceSession *MobileDeviceSessionLogInfo `json:\"mobile_device_session,omitempty\"`\n\t// WebDeviceSession : has no documentation (yet)\n\tWebDeviceSession *WebDeviceSessionLogInfo `json:\"web_device_session,omitempty\"`\n\t// LegacyDeviceSession : has no documentation (yet)\n\tLegacyDeviceSession *LegacyDeviceSessionLogInfo `json:\"legacy_device_session,omitempty\"`\n}\n\n// Valid tag values for DeviceSessionLogInfo\nconst (\n\tDeviceSessionLogInfoDesktopDeviceSession = \"desktop_device_session\"\n\tDeviceSessionLogInfoMobileDeviceSession  = \"mobile_device_session\"\n\tDeviceSessionLogInfoWebDeviceSession     = \"web_device_session\"\n\tDeviceSessionLogInfoLegacyDeviceSession  = \"legacy_device_session\"\n)\n\n// UnmarshalJSON deserializes into a deviceSessionLogInfoUnion instance\nfunc (u *deviceSessionLogInfoUnion) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"desktop_device_session\":\n\t\tif err = json.Unmarshal(body, &u.DesktopDeviceSession); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"mobile_device_session\":\n\t\tif err = json.Unmarshal(body, &u.MobileDeviceSession); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"web_device_session\":\n\t\tif err = json.Unmarshal(body, &u.WebDeviceSession); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legacy_device_session\":\n\t\tif err = json.Unmarshal(body, &u.LegacyDeviceSession); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// IsDeviceSessionLogInfoFromJSON converts JSON to a concrete IsDeviceSessionLogInfo instance\nfunc IsDeviceSessionLogInfoFromJSON(data []byte) (IsDeviceSessionLogInfo, error) {\n\tvar t deviceSessionLogInfoUnion\n\tif err := json.Unmarshal(data, &t); err != nil {\n\t\treturn nil, err\n\t}\n\tswitch t.Tag {\n\tcase \"desktop_device_session\":\n\t\treturn t.DesktopDeviceSession, nil\n\n\tcase \"mobile_device_session\":\n\t\treturn t.MobileDeviceSession, nil\n\n\tcase \"web_device_session\":\n\t\treturn t.WebDeviceSession, nil\n\n\tcase \"legacy_device_session\":\n\t\treturn t.LegacyDeviceSession, nil\n\n\t}\n\treturn nil, nil\n}\n\n// DesktopDeviceSessionLogInfo : Information about linked Dropbox desktop client\n// sessions\ntype DesktopDeviceSessionLogInfo struct {\n\tDeviceSessionLogInfo\n\t// SessionInfo : Desktop session unique id.\n\tSessionInfo *DesktopSessionLogInfo `json:\"session_info,omitempty\"`\n\t// HostName : Name of the hosting desktop.\n\tHostName string `json:\"host_name\"`\n\t// ClientType : The Dropbox desktop client type.\n\tClientType *team.DesktopPlatform `json:\"client_type\"`\n\t// ClientVersion : The Dropbox client version.\n\tClientVersion string `json:\"client_version,omitempty\"`\n\t// Platform : Information on the hosting platform.\n\tPlatform string `json:\"platform\"`\n\t// IsDeleteOnUnlinkSupported : Whether itu2019s possible to delete all of\n\t// the account files upon unlinking.\n\tIsDeleteOnUnlinkSupported bool `json:\"is_delete_on_unlink_supported\"`\n}\n\n// NewDesktopDeviceSessionLogInfo returns a new DesktopDeviceSessionLogInfo instance\nfunc NewDesktopDeviceSessionLogInfo(HostName string, ClientType *team.DesktopPlatform, Platform string, IsDeleteOnUnlinkSupported bool) *DesktopDeviceSessionLogInfo {\n\ts := new(DesktopDeviceSessionLogInfo)\n\ts.HostName = HostName\n\ts.ClientType = ClientType\n\ts.Platform = Platform\n\ts.IsDeleteOnUnlinkSupported = IsDeleteOnUnlinkSupported\n\treturn s\n}\n\n// SessionLogInfo : Session's logged information.\ntype SessionLogInfo struct {\n\t// SessionId : Session ID.\n\tSessionId string `json:\"session_id,omitempty\"`\n}\n\n// NewSessionLogInfo returns a new SessionLogInfo instance\nfunc NewSessionLogInfo() *SessionLogInfo {\n\ts := new(SessionLogInfo)\n\treturn s\n}\n\n// IsSessionLogInfo is the interface type for SessionLogInfo and its subtypes\ntype IsSessionLogInfo interface {\n\tIsSessionLogInfo()\n}\n\n// IsSessionLogInfo implements the IsSessionLogInfo interface\nfunc (u *SessionLogInfo) IsSessionLogInfo() {}\n\ntype sessionLogInfoUnion struct {\n\tdropbox.Tagged\n\t// Web : has no documentation (yet)\n\tWeb *WebSessionLogInfo `json:\"web,omitempty\"`\n\t// Desktop : has no documentation (yet)\n\tDesktop *DesktopSessionLogInfo `json:\"desktop,omitempty\"`\n\t// Mobile : has no documentation (yet)\n\tMobile *MobileSessionLogInfo `json:\"mobile,omitempty\"`\n}\n\n// Valid tag values for SessionLogInfo\nconst (\n\tSessionLogInfoWeb     = \"web\"\n\tSessionLogInfoDesktop = \"desktop\"\n\tSessionLogInfoMobile  = \"mobile\"\n)\n\n// UnmarshalJSON deserializes into a sessionLogInfoUnion instance\nfunc (u *sessionLogInfoUnion) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"web\":\n\t\tif err = json.Unmarshal(body, &u.Web); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"desktop\":\n\t\tif err = json.Unmarshal(body, &u.Desktop); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"mobile\":\n\t\tif err = json.Unmarshal(body, &u.Mobile); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// IsSessionLogInfoFromJSON converts JSON to a concrete IsSessionLogInfo instance\nfunc IsSessionLogInfoFromJSON(data []byte) (IsSessionLogInfo, error) {\n\tvar t sessionLogInfoUnion\n\tif err := json.Unmarshal(data, &t); err != nil {\n\t\treturn nil, err\n\t}\n\tswitch t.Tag {\n\tcase \"web\":\n\t\treturn t.Web, nil\n\n\tcase \"desktop\":\n\t\treturn t.Desktop, nil\n\n\tcase \"mobile\":\n\t\treturn t.Mobile, nil\n\n\t}\n\treturn nil, nil\n}\n\n// DesktopSessionLogInfo : Desktop session.\ntype DesktopSessionLogInfo struct {\n\tSessionLogInfo\n}\n\n// NewDesktopSessionLogInfo returns a new DesktopSessionLogInfo instance\nfunc NewDesktopSessionLogInfo() *DesktopSessionLogInfo {\n\ts := new(DesktopSessionLogInfo)\n\treturn s\n}\n\n// DeviceApprovalsAddExceptionDetails : Added members to device approvals\n// exception list.\ntype DeviceApprovalsAddExceptionDetails struct {\n}\n\n// NewDeviceApprovalsAddExceptionDetails returns a new DeviceApprovalsAddExceptionDetails instance\nfunc NewDeviceApprovalsAddExceptionDetails() *DeviceApprovalsAddExceptionDetails {\n\ts := new(DeviceApprovalsAddExceptionDetails)\n\treturn s\n}\n\n// DeviceApprovalsAddExceptionType : has no documentation (yet)\ntype DeviceApprovalsAddExceptionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceApprovalsAddExceptionType returns a new DeviceApprovalsAddExceptionType instance\nfunc NewDeviceApprovalsAddExceptionType(Description string) *DeviceApprovalsAddExceptionType {\n\ts := new(DeviceApprovalsAddExceptionType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceApprovalsChangeDesktopPolicyDetails : Set/removed limit on number of\n// computers member can link to team Dropbox account.\ntype DeviceApprovalsChangeDesktopPolicyDetails struct {\n\t// NewValue : New desktop device approvals policy. Might be missing due to\n\t// historical data gap.\n\tNewValue *DeviceApprovalsPolicy `json:\"new_value,omitempty\"`\n\t// PreviousValue : Previous desktop device approvals policy. Might be\n\t// missing due to historical data gap.\n\tPreviousValue *DeviceApprovalsPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewDeviceApprovalsChangeDesktopPolicyDetails returns a new DeviceApprovalsChangeDesktopPolicyDetails instance\nfunc NewDeviceApprovalsChangeDesktopPolicyDetails() *DeviceApprovalsChangeDesktopPolicyDetails {\n\ts := new(DeviceApprovalsChangeDesktopPolicyDetails)\n\treturn s\n}\n\n// DeviceApprovalsChangeDesktopPolicyType : has no documentation (yet)\ntype DeviceApprovalsChangeDesktopPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceApprovalsChangeDesktopPolicyType returns a new DeviceApprovalsChangeDesktopPolicyType instance\nfunc NewDeviceApprovalsChangeDesktopPolicyType(Description string) *DeviceApprovalsChangeDesktopPolicyType {\n\ts := new(DeviceApprovalsChangeDesktopPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceApprovalsChangeMobilePolicyDetails : Set/removed limit on number of\n// mobile devices member can link to team Dropbox account.\ntype DeviceApprovalsChangeMobilePolicyDetails struct {\n\t// NewValue : New mobile device approvals policy. Might be missing due to\n\t// historical data gap.\n\tNewValue *DeviceApprovalsPolicy `json:\"new_value,omitempty\"`\n\t// PreviousValue : Previous mobile device approvals policy. Might be missing\n\t// due to historical data gap.\n\tPreviousValue *DeviceApprovalsPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewDeviceApprovalsChangeMobilePolicyDetails returns a new DeviceApprovalsChangeMobilePolicyDetails instance\nfunc NewDeviceApprovalsChangeMobilePolicyDetails() *DeviceApprovalsChangeMobilePolicyDetails {\n\ts := new(DeviceApprovalsChangeMobilePolicyDetails)\n\treturn s\n}\n\n// DeviceApprovalsChangeMobilePolicyType : has no documentation (yet)\ntype DeviceApprovalsChangeMobilePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceApprovalsChangeMobilePolicyType returns a new DeviceApprovalsChangeMobilePolicyType instance\nfunc NewDeviceApprovalsChangeMobilePolicyType(Description string) *DeviceApprovalsChangeMobilePolicyType {\n\ts := new(DeviceApprovalsChangeMobilePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceApprovalsChangeOverageActionDetails : Changed device approvals setting\n// when member is over limit.\ntype DeviceApprovalsChangeOverageActionDetails struct {\n\t// NewValue : New over the limits policy. Might be missing due to historical\n\t// data gap.\n\tNewValue *team_policies.RolloutMethod `json:\"new_value,omitempty\"`\n\t// PreviousValue : Previous over the limit policy. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *team_policies.RolloutMethod `json:\"previous_value,omitempty\"`\n}\n\n// NewDeviceApprovalsChangeOverageActionDetails returns a new DeviceApprovalsChangeOverageActionDetails instance\nfunc NewDeviceApprovalsChangeOverageActionDetails() *DeviceApprovalsChangeOverageActionDetails {\n\ts := new(DeviceApprovalsChangeOverageActionDetails)\n\treturn s\n}\n\n// DeviceApprovalsChangeOverageActionType : has no documentation (yet)\ntype DeviceApprovalsChangeOverageActionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceApprovalsChangeOverageActionType returns a new DeviceApprovalsChangeOverageActionType instance\nfunc NewDeviceApprovalsChangeOverageActionType(Description string) *DeviceApprovalsChangeOverageActionType {\n\ts := new(DeviceApprovalsChangeOverageActionType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceApprovalsChangeUnlinkActionDetails : Changed device approvals setting\n// when member unlinks approved device.\ntype DeviceApprovalsChangeUnlinkActionDetails struct {\n\t// NewValue : New device unlink policy. Might be missing due to historical\n\t// data gap.\n\tNewValue *DeviceUnlinkPolicy `json:\"new_value,omitempty\"`\n\t// PreviousValue : Previous device unlink policy. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *DeviceUnlinkPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewDeviceApprovalsChangeUnlinkActionDetails returns a new DeviceApprovalsChangeUnlinkActionDetails instance\nfunc NewDeviceApprovalsChangeUnlinkActionDetails() *DeviceApprovalsChangeUnlinkActionDetails {\n\ts := new(DeviceApprovalsChangeUnlinkActionDetails)\n\treturn s\n}\n\n// DeviceApprovalsChangeUnlinkActionType : has no documentation (yet)\ntype DeviceApprovalsChangeUnlinkActionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceApprovalsChangeUnlinkActionType returns a new DeviceApprovalsChangeUnlinkActionType instance\nfunc NewDeviceApprovalsChangeUnlinkActionType(Description string) *DeviceApprovalsChangeUnlinkActionType {\n\ts := new(DeviceApprovalsChangeUnlinkActionType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceApprovalsPolicy : has no documentation (yet)\ntype DeviceApprovalsPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for DeviceApprovalsPolicy\nconst (\n\tDeviceApprovalsPolicyLimited   = \"limited\"\n\tDeviceApprovalsPolicyUnlimited = \"unlimited\"\n\tDeviceApprovalsPolicyOther     = \"other\"\n)\n\n// DeviceApprovalsRemoveExceptionDetails : Removed members from device approvals\n// exception list.\ntype DeviceApprovalsRemoveExceptionDetails struct {\n}\n\n// NewDeviceApprovalsRemoveExceptionDetails returns a new DeviceApprovalsRemoveExceptionDetails instance\nfunc NewDeviceApprovalsRemoveExceptionDetails() *DeviceApprovalsRemoveExceptionDetails {\n\ts := new(DeviceApprovalsRemoveExceptionDetails)\n\treturn s\n}\n\n// DeviceApprovalsRemoveExceptionType : has no documentation (yet)\ntype DeviceApprovalsRemoveExceptionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceApprovalsRemoveExceptionType returns a new DeviceApprovalsRemoveExceptionType instance\nfunc NewDeviceApprovalsRemoveExceptionType(Description string) *DeviceApprovalsRemoveExceptionType {\n\ts := new(DeviceApprovalsRemoveExceptionType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceChangeIpDesktopDetails : Changed IP address associated with active\n// desktop session.\ntype DeviceChangeIpDesktopDetails struct {\n\t// DeviceSessionInfo : Device's session logged information.\n\tDeviceSessionInfo IsDeviceSessionLogInfo `json:\"device_session_info\"`\n}\n\n// NewDeviceChangeIpDesktopDetails returns a new DeviceChangeIpDesktopDetails instance\nfunc NewDeviceChangeIpDesktopDetails(DeviceSessionInfo IsDeviceSessionLogInfo) *DeviceChangeIpDesktopDetails {\n\ts := new(DeviceChangeIpDesktopDetails)\n\ts.DeviceSessionInfo = DeviceSessionInfo\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a DeviceChangeIpDesktopDetails instance\nfunc (u *DeviceChangeIpDesktopDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// DeviceSessionInfo : Device's session logged information.\n\t\tDeviceSessionInfo json.RawMessage `json:\"device_session_info\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tDeviceSessionInfo, err := IsDeviceSessionLogInfoFromJSON(w.DeviceSessionInfo)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.DeviceSessionInfo = DeviceSessionInfo\n\treturn nil\n}\n\n// DeviceChangeIpDesktopType : has no documentation (yet)\ntype DeviceChangeIpDesktopType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceChangeIpDesktopType returns a new DeviceChangeIpDesktopType instance\nfunc NewDeviceChangeIpDesktopType(Description string) *DeviceChangeIpDesktopType {\n\ts := new(DeviceChangeIpDesktopType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceChangeIpMobileDetails : Changed IP address associated with active\n// mobile session.\ntype DeviceChangeIpMobileDetails struct {\n\t// DeviceSessionInfo : Device's session logged information.\n\tDeviceSessionInfo IsDeviceSessionLogInfo `json:\"device_session_info,omitempty\"`\n}\n\n// NewDeviceChangeIpMobileDetails returns a new DeviceChangeIpMobileDetails instance\nfunc NewDeviceChangeIpMobileDetails() *DeviceChangeIpMobileDetails {\n\ts := new(DeviceChangeIpMobileDetails)\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a DeviceChangeIpMobileDetails instance\nfunc (u *DeviceChangeIpMobileDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// DeviceSessionInfo : Device's session logged information.\n\t\tDeviceSessionInfo json.RawMessage `json:\"device_session_info,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tDeviceSessionInfo, err := IsDeviceSessionLogInfoFromJSON(w.DeviceSessionInfo)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.DeviceSessionInfo = DeviceSessionInfo\n\treturn nil\n}\n\n// DeviceChangeIpMobileType : has no documentation (yet)\ntype DeviceChangeIpMobileType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceChangeIpMobileType returns a new DeviceChangeIpMobileType instance\nfunc NewDeviceChangeIpMobileType(Description string) *DeviceChangeIpMobileType {\n\ts := new(DeviceChangeIpMobileType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceChangeIpWebDetails : Changed IP address associated with active web\n// session.\ntype DeviceChangeIpWebDetails struct {\n\t// UserAgent : Web browser name.\n\tUserAgent string `json:\"user_agent\"`\n}\n\n// NewDeviceChangeIpWebDetails returns a new DeviceChangeIpWebDetails instance\nfunc NewDeviceChangeIpWebDetails(UserAgent string) *DeviceChangeIpWebDetails {\n\ts := new(DeviceChangeIpWebDetails)\n\ts.UserAgent = UserAgent\n\treturn s\n}\n\n// DeviceChangeIpWebType : has no documentation (yet)\ntype DeviceChangeIpWebType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceChangeIpWebType returns a new DeviceChangeIpWebType instance\nfunc NewDeviceChangeIpWebType(Description string) *DeviceChangeIpWebType {\n\ts := new(DeviceChangeIpWebType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceDeleteOnUnlinkFailDetails : Failed to delete all files from unlinked\n// device.\ntype DeviceDeleteOnUnlinkFailDetails struct {\n\t// SessionInfo : Session unique id.\n\tSessionInfo IsSessionLogInfo `json:\"session_info,omitempty\"`\n\t// DisplayName : The device name. Might be missing due to historical data\n\t// gap.\n\tDisplayName string `json:\"display_name,omitempty\"`\n\t// NumFailures : The number of times that remote file deletion failed.\n\tNumFailures int64 `json:\"num_failures\"`\n}\n\n// NewDeviceDeleteOnUnlinkFailDetails returns a new DeviceDeleteOnUnlinkFailDetails instance\nfunc NewDeviceDeleteOnUnlinkFailDetails(NumFailures int64) *DeviceDeleteOnUnlinkFailDetails {\n\ts := new(DeviceDeleteOnUnlinkFailDetails)\n\ts.NumFailures = NumFailures\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a DeviceDeleteOnUnlinkFailDetails instance\nfunc (u *DeviceDeleteOnUnlinkFailDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// NumFailures : The number of times that remote file deletion failed.\n\t\tNumFailures int64 `json:\"num_failures\"`\n\t\t// SessionInfo : Session unique id.\n\t\tSessionInfo json.RawMessage `json:\"session_info,omitempty\"`\n\t\t// DisplayName : The device name. Might be missing due to historical\n\t\t// data gap.\n\t\tDisplayName string `json:\"display_name,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tu.NumFailures = w.NumFailures\n\tSessionInfo, err := IsSessionLogInfoFromJSON(w.SessionInfo)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.SessionInfo = SessionInfo\n\tu.DisplayName = w.DisplayName\n\treturn nil\n}\n\n// DeviceDeleteOnUnlinkFailType : has no documentation (yet)\ntype DeviceDeleteOnUnlinkFailType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceDeleteOnUnlinkFailType returns a new DeviceDeleteOnUnlinkFailType instance\nfunc NewDeviceDeleteOnUnlinkFailType(Description string) *DeviceDeleteOnUnlinkFailType {\n\ts := new(DeviceDeleteOnUnlinkFailType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceDeleteOnUnlinkSuccessDetails : Deleted all files from unlinked device.\ntype DeviceDeleteOnUnlinkSuccessDetails struct {\n\t// SessionInfo : Session unique id.\n\tSessionInfo IsSessionLogInfo `json:\"session_info,omitempty\"`\n\t// DisplayName : The device name. Might be missing due to historical data\n\t// gap.\n\tDisplayName string `json:\"display_name,omitempty\"`\n}\n\n// NewDeviceDeleteOnUnlinkSuccessDetails returns a new DeviceDeleteOnUnlinkSuccessDetails instance\nfunc NewDeviceDeleteOnUnlinkSuccessDetails() *DeviceDeleteOnUnlinkSuccessDetails {\n\ts := new(DeviceDeleteOnUnlinkSuccessDetails)\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a DeviceDeleteOnUnlinkSuccessDetails instance\nfunc (u *DeviceDeleteOnUnlinkSuccessDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// SessionInfo : Session unique id.\n\t\tSessionInfo json.RawMessage `json:\"session_info,omitempty\"`\n\t\t// DisplayName : The device name. Might be missing due to historical\n\t\t// data gap.\n\t\tDisplayName string `json:\"display_name,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tSessionInfo, err := IsSessionLogInfoFromJSON(w.SessionInfo)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.SessionInfo = SessionInfo\n\tu.DisplayName = w.DisplayName\n\treturn nil\n}\n\n// DeviceDeleteOnUnlinkSuccessType : has no documentation (yet)\ntype DeviceDeleteOnUnlinkSuccessType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceDeleteOnUnlinkSuccessType returns a new DeviceDeleteOnUnlinkSuccessType instance\nfunc NewDeviceDeleteOnUnlinkSuccessType(Description string) *DeviceDeleteOnUnlinkSuccessType {\n\ts := new(DeviceDeleteOnUnlinkSuccessType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceLinkFailDetails : Failed to link device.\ntype DeviceLinkFailDetails struct {\n\t// IpAddress : IP address. Might be missing due to historical data gap.\n\tIpAddress string `json:\"ip_address,omitempty\"`\n\t// DeviceType : A description of the device used while user approval\n\t// blocked.\n\tDeviceType *DeviceType `json:\"device_type\"`\n}\n\n// NewDeviceLinkFailDetails returns a new DeviceLinkFailDetails instance\nfunc NewDeviceLinkFailDetails(DeviceType *DeviceType) *DeviceLinkFailDetails {\n\ts := new(DeviceLinkFailDetails)\n\ts.DeviceType = DeviceType\n\treturn s\n}\n\n// DeviceLinkFailType : has no documentation (yet)\ntype DeviceLinkFailType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceLinkFailType returns a new DeviceLinkFailType instance\nfunc NewDeviceLinkFailType(Description string) *DeviceLinkFailType {\n\ts := new(DeviceLinkFailType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceLinkSuccessDetails : Linked device.\ntype DeviceLinkSuccessDetails struct {\n\t// DeviceSessionInfo : Device's session logged information.\n\tDeviceSessionInfo IsDeviceSessionLogInfo `json:\"device_session_info,omitempty\"`\n}\n\n// NewDeviceLinkSuccessDetails returns a new DeviceLinkSuccessDetails instance\nfunc NewDeviceLinkSuccessDetails() *DeviceLinkSuccessDetails {\n\ts := new(DeviceLinkSuccessDetails)\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a DeviceLinkSuccessDetails instance\nfunc (u *DeviceLinkSuccessDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// DeviceSessionInfo : Device's session logged information.\n\t\tDeviceSessionInfo json.RawMessage `json:\"device_session_info,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tDeviceSessionInfo, err := IsDeviceSessionLogInfoFromJSON(w.DeviceSessionInfo)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.DeviceSessionInfo = DeviceSessionInfo\n\treturn nil\n}\n\n// DeviceLinkSuccessType : has no documentation (yet)\ntype DeviceLinkSuccessType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceLinkSuccessType returns a new DeviceLinkSuccessType instance\nfunc NewDeviceLinkSuccessType(Description string) *DeviceLinkSuccessType {\n\ts := new(DeviceLinkSuccessType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceManagementDisabledDetails : Disabled device management.\ntype DeviceManagementDisabledDetails struct {\n}\n\n// NewDeviceManagementDisabledDetails returns a new DeviceManagementDisabledDetails instance\nfunc NewDeviceManagementDisabledDetails() *DeviceManagementDisabledDetails {\n\ts := new(DeviceManagementDisabledDetails)\n\treturn s\n}\n\n// DeviceManagementDisabledType : has no documentation (yet)\ntype DeviceManagementDisabledType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceManagementDisabledType returns a new DeviceManagementDisabledType instance\nfunc NewDeviceManagementDisabledType(Description string) *DeviceManagementDisabledType {\n\ts := new(DeviceManagementDisabledType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceManagementEnabledDetails : Enabled device management.\ntype DeviceManagementEnabledDetails struct {\n}\n\n// NewDeviceManagementEnabledDetails returns a new DeviceManagementEnabledDetails instance\nfunc NewDeviceManagementEnabledDetails() *DeviceManagementEnabledDetails {\n\ts := new(DeviceManagementEnabledDetails)\n\treturn s\n}\n\n// DeviceManagementEnabledType : has no documentation (yet)\ntype DeviceManagementEnabledType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceManagementEnabledType returns a new DeviceManagementEnabledType instance\nfunc NewDeviceManagementEnabledType(Description string) *DeviceManagementEnabledType {\n\ts := new(DeviceManagementEnabledType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceSyncBackupStatusChangedDetails : Enabled/disabled backup for computer.\ntype DeviceSyncBackupStatusChangedDetails struct {\n\t// DesktopDeviceSessionInfo : Device's session logged information.\n\tDesktopDeviceSessionInfo *DesktopDeviceSessionLogInfo `json:\"desktop_device_session_info\"`\n\t// PreviousValue : Previous status of computer backup on the device.\n\tPreviousValue *BackupStatus `json:\"previous_value\"`\n\t// NewValue : Next status of computer backup on the device.\n\tNewValue *BackupStatus `json:\"new_value\"`\n}\n\n// NewDeviceSyncBackupStatusChangedDetails returns a new DeviceSyncBackupStatusChangedDetails instance\nfunc NewDeviceSyncBackupStatusChangedDetails(DesktopDeviceSessionInfo *DesktopDeviceSessionLogInfo, PreviousValue *BackupStatus, NewValue *BackupStatus) *DeviceSyncBackupStatusChangedDetails {\n\ts := new(DeviceSyncBackupStatusChangedDetails)\n\ts.DesktopDeviceSessionInfo = DesktopDeviceSessionInfo\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// DeviceSyncBackupStatusChangedType : has no documentation (yet)\ntype DeviceSyncBackupStatusChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceSyncBackupStatusChangedType returns a new DeviceSyncBackupStatusChangedType instance\nfunc NewDeviceSyncBackupStatusChangedType(Description string) *DeviceSyncBackupStatusChangedType {\n\ts := new(DeviceSyncBackupStatusChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// DeviceType : has no documentation (yet)\ntype DeviceType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for DeviceType\nconst (\n\tDeviceTypeDesktop = \"desktop\"\n\tDeviceTypeMobile  = \"mobile\"\n\tDeviceTypeOther   = \"other\"\n)\n\n// DeviceUnlinkDetails : Disconnected device.\ntype DeviceUnlinkDetails struct {\n\t// SessionInfo : Session unique id.\n\tSessionInfo IsSessionLogInfo `json:\"session_info,omitempty\"`\n\t// DisplayName : The device name. Might be missing due to historical data\n\t// gap.\n\tDisplayName string `json:\"display_name,omitempty\"`\n\t// DeleteData : True if the user requested to delete data after device\n\t// unlink, false otherwise.\n\tDeleteData bool `json:\"delete_data\"`\n}\n\n// NewDeviceUnlinkDetails returns a new DeviceUnlinkDetails instance\nfunc NewDeviceUnlinkDetails(DeleteData bool) *DeviceUnlinkDetails {\n\ts := new(DeviceUnlinkDetails)\n\ts.DeleteData = DeleteData\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a DeviceUnlinkDetails instance\nfunc (u *DeviceUnlinkDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// DeleteData : True if the user requested to delete data after device\n\t\t// unlink, false otherwise.\n\t\tDeleteData bool `json:\"delete_data\"`\n\t\t// SessionInfo : Session unique id.\n\t\tSessionInfo json.RawMessage `json:\"session_info,omitempty\"`\n\t\t// DisplayName : The device name. Might be missing due to historical\n\t\t// data gap.\n\t\tDisplayName string `json:\"display_name,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tu.DeleteData = w.DeleteData\n\tSessionInfo, err := IsSessionLogInfoFromJSON(w.SessionInfo)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.SessionInfo = SessionInfo\n\tu.DisplayName = w.DisplayName\n\treturn nil\n}\n\n// DeviceUnlinkPolicy : has no documentation (yet)\ntype DeviceUnlinkPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for DeviceUnlinkPolicy\nconst (\n\tDeviceUnlinkPolicyKeep   = \"keep\"\n\tDeviceUnlinkPolicyRemove = \"remove\"\n\tDeviceUnlinkPolicyOther  = \"other\"\n)\n\n// DeviceUnlinkType : has no documentation (yet)\ntype DeviceUnlinkType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDeviceUnlinkType returns a new DeviceUnlinkType instance\nfunc NewDeviceUnlinkType(Description string) *DeviceUnlinkType {\n\ts := new(DeviceUnlinkType)\n\ts.Description = Description\n\treturn s\n}\n\n// DirectoryRestrictionsAddMembersDetails : Added members to directory\n// restrictions list.\ntype DirectoryRestrictionsAddMembersDetails struct {\n}\n\n// NewDirectoryRestrictionsAddMembersDetails returns a new DirectoryRestrictionsAddMembersDetails instance\nfunc NewDirectoryRestrictionsAddMembersDetails() *DirectoryRestrictionsAddMembersDetails {\n\ts := new(DirectoryRestrictionsAddMembersDetails)\n\treturn s\n}\n\n// DirectoryRestrictionsAddMembersType : has no documentation (yet)\ntype DirectoryRestrictionsAddMembersType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDirectoryRestrictionsAddMembersType returns a new DirectoryRestrictionsAddMembersType instance\nfunc NewDirectoryRestrictionsAddMembersType(Description string) *DirectoryRestrictionsAddMembersType {\n\ts := new(DirectoryRestrictionsAddMembersType)\n\ts.Description = Description\n\treturn s\n}\n\n// DirectoryRestrictionsRemoveMembersDetails : Removed members from directory\n// restrictions list.\ntype DirectoryRestrictionsRemoveMembersDetails struct {\n}\n\n// NewDirectoryRestrictionsRemoveMembersDetails returns a new DirectoryRestrictionsRemoveMembersDetails instance\nfunc NewDirectoryRestrictionsRemoveMembersDetails() *DirectoryRestrictionsRemoveMembersDetails {\n\ts := new(DirectoryRestrictionsRemoveMembersDetails)\n\treturn s\n}\n\n// DirectoryRestrictionsRemoveMembersType : has no documentation (yet)\ntype DirectoryRestrictionsRemoveMembersType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDirectoryRestrictionsRemoveMembersType returns a new DirectoryRestrictionsRemoveMembersType instance\nfunc NewDirectoryRestrictionsRemoveMembersType(Description string) *DirectoryRestrictionsRemoveMembersType {\n\ts := new(DirectoryRestrictionsRemoveMembersType)\n\ts.Description = Description\n\treturn s\n}\n\n// DisabledDomainInvitesDetails : Disabled domain invites.\ntype DisabledDomainInvitesDetails struct {\n}\n\n// NewDisabledDomainInvitesDetails returns a new DisabledDomainInvitesDetails instance\nfunc NewDisabledDomainInvitesDetails() *DisabledDomainInvitesDetails {\n\ts := new(DisabledDomainInvitesDetails)\n\treturn s\n}\n\n// DisabledDomainInvitesType : has no documentation (yet)\ntype DisabledDomainInvitesType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDisabledDomainInvitesType returns a new DisabledDomainInvitesType instance\nfunc NewDisabledDomainInvitesType(Description string) *DisabledDomainInvitesType {\n\ts := new(DisabledDomainInvitesType)\n\ts.Description = Description\n\treturn s\n}\n\n// DispositionActionType : has no documentation (yet)\ntype DispositionActionType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for DispositionActionType\nconst (\n\tDispositionActionTypeAutomaticDelete            = \"automatic_delete\"\n\tDispositionActionTypeAutomaticPermanentlyDelete = \"automatic_permanently_delete\"\n\tDispositionActionTypeOther                      = \"other\"\n)\n\n// DomainInvitesApproveRequestToJoinTeamDetails : Approved user's request to\n// join team.\ntype DomainInvitesApproveRequestToJoinTeamDetails struct {\n}\n\n// NewDomainInvitesApproveRequestToJoinTeamDetails returns a new DomainInvitesApproveRequestToJoinTeamDetails instance\nfunc NewDomainInvitesApproveRequestToJoinTeamDetails() *DomainInvitesApproveRequestToJoinTeamDetails {\n\ts := new(DomainInvitesApproveRequestToJoinTeamDetails)\n\treturn s\n}\n\n// DomainInvitesApproveRequestToJoinTeamType : has no documentation (yet)\ntype DomainInvitesApproveRequestToJoinTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDomainInvitesApproveRequestToJoinTeamType returns a new DomainInvitesApproveRequestToJoinTeamType instance\nfunc NewDomainInvitesApproveRequestToJoinTeamType(Description string) *DomainInvitesApproveRequestToJoinTeamType {\n\ts := new(DomainInvitesApproveRequestToJoinTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// DomainInvitesDeclineRequestToJoinTeamDetails : Declined user's request to\n// join team.\ntype DomainInvitesDeclineRequestToJoinTeamDetails struct {\n}\n\n// NewDomainInvitesDeclineRequestToJoinTeamDetails returns a new DomainInvitesDeclineRequestToJoinTeamDetails instance\nfunc NewDomainInvitesDeclineRequestToJoinTeamDetails() *DomainInvitesDeclineRequestToJoinTeamDetails {\n\ts := new(DomainInvitesDeclineRequestToJoinTeamDetails)\n\treturn s\n}\n\n// DomainInvitesDeclineRequestToJoinTeamType : has no documentation (yet)\ntype DomainInvitesDeclineRequestToJoinTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDomainInvitesDeclineRequestToJoinTeamType returns a new DomainInvitesDeclineRequestToJoinTeamType instance\nfunc NewDomainInvitesDeclineRequestToJoinTeamType(Description string) *DomainInvitesDeclineRequestToJoinTeamType {\n\ts := new(DomainInvitesDeclineRequestToJoinTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// DomainInvitesEmailExistingUsersDetails : Sent domain invites to existing\n// domain accounts.\ntype DomainInvitesEmailExistingUsersDetails struct {\n\t// DomainName : Domain names.\n\tDomainName string `json:\"domain_name\"`\n\t// NumRecipients : Number of recipients.\n\tNumRecipients uint64 `json:\"num_recipients\"`\n}\n\n// NewDomainInvitesEmailExistingUsersDetails returns a new DomainInvitesEmailExistingUsersDetails instance\nfunc NewDomainInvitesEmailExistingUsersDetails(DomainName string, NumRecipients uint64) *DomainInvitesEmailExistingUsersDetails {\n\ts := new(DomainInvitesEmailExistingUsersDetails)\n\ts.DomainName = DomainName\n\ts.NumRecipients = NumRecipients\n\treturn s\n}\n\n// DomainInvitesEmailExistingUsersType : has no documentation (yet)\ntype DomainInvitesEmailExistingUsersType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDomainInvitesEmailExistingUsersType returns a new DomainInvitesEmailExistingUsersType instance\nfunc NewDomainInvitesEmailExistingUsersType(Description string) *DomainInvitesEmailExistingUsersType {\n\ts := new(DomainInvitesEmailExistingUsersType)\n\ts.Description = Description\n\treturn s\n}\n\n// DomainInvitesRequestToJoinTeamDetails : Requested to join team.\ntype DomainInvitesRequestToJoinTeamDetails struct {\n}\n\n// NewDomainInvitesRequestToJoinTeamDetails returns a new DomainInvitesRequestToJoinTeamDetails instance\nfunc NewDomainInvitesRequestToJoinTeamDetails() *DomainInvitesRequestToJoinTeamDetails {\n\ts := new(DomainInvitesRequestToJoinTeamDetails)\n\treturn s\n}\n\n// DomainInvitesRequestToJoinTeamType : has no documentation (yet)\ntype DomainInvitesRequestToJoinTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDomainInvitesRequestToJoinTeamType returns a new DomainInvitesRequestToJoinTeamType instance\nfunc NewDomainInvitesRequestToJoinTeamType(Description string) *DomainInvitesRequestToJoinTeamType {\n\ts := new(DomainInvitesRequestToJoinTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// DomainInvitesSetInviteNewUserPrefToNoDetails : Disabled \"Automatically invite\n// new users\".\ntype DomainInvitesSetInviteNewUserPrefToNoDetails struct {\n}\n\n// NewDomainInvitesSetInviteNewUserPrefToNoDetails returns a new DomainInvitesSetInviteNewUserPrefToNoDetails instance\nfunc NewDomainInvitesSetInviteNewUserPrefToNoDetails() *DomainInvitesSetInviteNewUserPrefToNoDetails {\n\ts := new(DomainInvitesSetInviteNewUserPrefToNoDetails)\n\treturn s\n}\n\n// DomainInvitesSetInviteNewUserPrefToNoType : has no documentation (yet)\ntype DomainInvitesSetInviteNewUserPrefToNoType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDomainInvitesSetInviteNewUserPrefToNoType returns a new DomainInvitesSetInviteNewUserPrefToNoType instance\nfunc NewDomainInvitesSetInviteNewUserPrefToNoType(Description string) *DomainInvitesSetInviteNewUserPrefToNoType {\n\ts := new(DomainInvitesSetInviteNewUserPrefToNoType)\n\ts.Description = Description\n\treturn s\n}\n\n// DomainInvitesSetInviteNewUserPrefToYesDetails : Enabled \"Automatically invite\n// new users\".\ntype DomainInvitesSetInviteNewUserPrefToYesDetails struct {\n}\n\n// NewDomainInvitesSetInviteNewUserPrefToYesDetails returns a new DomainInvitesSetInviteNewUserPrefToYesDetails instance\nfunc NewDomainInvitesSetInviteNewUserPrefToYesDetails() *DomainInvitesSetInviteNewUserPrefToYesDetails {\n\ts := new(DomainInvitesSetInviteNewUserPrefToYesDetails)\n\treturn s\n}\n\n// DomainInvitesSetInviteNewUserPrefToYesType : has no documentation (yet)\ntype DomainInvitesSetInviteNewUserPrefToYesType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDomainInvitesSetInviteNewUserPrefToYesType returns a new DomainInvitesSetInviteNewUserPrefToYesType instance\nfunc NewDomainInvitesSetInviteNewUserPrefToYesType(Description string) *DomainInvitesSetInviteNewUserPrefToYesType {\n\ts := new(DomainInvitesSetInviteNewUserPrefToYesType)\n\ts.Description = Description\n\treturn s\n}\n\n// DomainVerificationAddDomainFailDetails : Failed to verify team domain.\ntype DomainVerificationAddDomainFailDetails struct {\n\t// DomainName : Domain name.\n\tDomainName string `json:\"domain_name\"`\n\t// VerificationMethod : Domain name verification method. Might be missing\n\t// due to historical data gap.\n\tVerificationMethod string `json:\"verification_method,omitempty\"`\n}\n\n// NewDomainVerificationAddDomainFailDetails returns a new DomainVerificationAddDomainFailDetails instance\nfunc NewDomainVerificationAddDomainFailDetails(DomainName string) *DomainVerificationAddDomainFailDetails {\n\ts := new(DomainVerificationAddDomainFailDetails)\n\ts.DomainName = DomainName\n\treturn s\n}\n\n// DomainVerificationAddDomainFailType : has no documentation (yet)\ntype DomainVerificationAddDomainFailType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDomainVerificationAddDomainFailType returns a new DomainVerificationAddDomainFailType instance\nfunc NewDomainVerificationAddDomainFailType(Description string) *DomainVerificationAddDomainFailType {\n\ts := new(DomainVerificationAddDomainFailType)\n\ts.Description = Description\n\treturn s\n}\n\n// DomainVerificationAddDomainSuccessDetails : Verified team domain.\ntype DomainVerificationAddDomainSuccessDetails struct {\n\t// DomainNames : Domain names.\n\tDomainNames []string `json:\"domain_names\"`\n\t// VerificationMethod : Domain name verification method. Might be missing\n\t// due to historical data gap.\n\tVerificationMethod string `json:\"verification_method,omitempty\"`\n}\n\n// NewDomainVerificationAddDomainSuccessDetails returns a new DomainVerificationAddDomainSuccessDetails instance\nfunc NewDomainVerificationAddDomainSuccessDetails(DomainNames []string) *DomainVerificationAddDomainSuccessDetails {\n\ts := new(DomainVerificationAddDomainSuccessDetails)\n\ts.DomainNames = DomainNames\n\treturn s\n}\n\n// DomainVerificationAddDomainSuccessType : has no documentation (yet)\ntype DomainVerificationAddDomainSuccessType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDomainVerificationAddDomainSuccessType returns a new DomainVerificationAddDomainSuccessType instance\nfunc NewDomainVerificationAddDomainSuccessType(Description string) *DomainVerificationAddDomainSuccessType {\n\ts := new(DomainVerificationAddDomainSuccessType)\n\ts.Description = Description\n\treturn s\n}\n\n// DomainVerificationRemoveDomainDetails : Removed domain from list of verified\n// team domains.\ntype DomainVerificationRemoveDomainDetails struct {\n\t// DomainNames : Domain names.\n\tDomainNames []string `json:\"domain_names\"`\n}\n\n// NewDomainVerificationRemoveDomainDetails returns a new DomainVerificationRemoveDomainDetails instance\nfunc NewDomainVerificationRemoveDomainDetails(DomainNames []string) *DomainVerificationRemoveDomainDetails {\n\ts := new(DomainVerificationRemoveDomainDetails)\n\ts.DomainNames = DomainNames\n\treturn s\n}\n\n// DomainVerificationRemoveDomainType : has no documentation (yet)\ntype DomainVerificationRemoveDomainType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDomainVerificationRemoveDomainType returns a new DomainVerificationRemoveDomainType instance\nfunc NewDomainVerificationRemoveDomainType(Description string) *DomainVerificationRemoveDomainType {\n\ts := new(DomainVerificationRemoveDomainType)\n\ts.Description = Description\n\treturn s\n}\n\n// DownloadPolicyType : Shared content downloads policy\ntype DownloadPolicyType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for DownloadPolicyType\nconst (\n\tDownloadPolicyTypeAllow    = \"allow\"\n\tDownloadPolicyTypeDisallow = \"disallow\"\n\tDownloadPolicyTypeOther    = \"other\"\n)\n\n// DropboxPasswordsExportedDetails : Exported passwords.\ntype DropboxPasswordsExportedDetails struct {\n\t// Platform : The platform the device runs export.\n\tPlatform string `json:\"platform\"`\n}\n\n// NewDropboxPasswordsExportedDetails returns a new DropboxPasswordsExportedDetails instance\nfunc NewDropboxPasswordsExportedDetails(Platform string) *DropboxPasswordsExportedDetails {\n\ts := new(DropboxPasswordsExportedDetails)\n\ts.Platform = Platform\n\treturn s\n}\n\n// DropboxPasswordsExportedType : has no documentation (yet)\ntype DropboxPasswordsExportedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDropboxPasswordsExportedType returns a new DropboxPasswordsExportedType instance\nfunc NewDropboxPasswordsExportedType(Description string) *DropboxPasswordsExportedType {\n\ts := new(DropboxPasswordsExportedType)\n\ts.Description = Description\n\treturn s\n}\n\n// DropboxPasswordsNewDeviceEnrolledDetails : Enrolled new Dropbox Passwords\n// device.\ntype DropboxPasswordsNewDeviceEnrolledDetails struct {\n\t// IsFirstDevice : Whether it's a first device enrolled.\n\tIsFirstDevice bool `json:\"is_first_device\"`\n\t// Platform : The platform the device is enrolled.\n\tPlatform string `json:\"platform\"`\n}\n\n// NewDropboxPasswordsNewDeviceEnrolledDetails returns a new DropboxPasswordsNewDeviceEnrolledDetails instance\nfunc NewDropboxPasswordsNewDeviceEnrolledDetails(IsFirstDevice bool, Platform string) *DropboxPasswordsNewDeviceEnrolledDetails {\n\ts := new(DropboxPasswordsNewDeviceEnrolledDetails)\n\ts.IsFirstDevice = IsFirstDevice\n\ts.Platform = Platform\n\treturn s\n}\n\n// DropboxPasswordsNewDeviceEnrolledType : has no documentation (yet)\ntype DropboxPasswordsNewDeviceEnrolledType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDropboxPasswordsNewDeviceEnrolledType returns a new DropboxPasswordsNewDeviceEnrolledType instance\nfunc NewDropboxPasswordsNewDeviceEnrolledType(Description string) *DropboxPasswordsNewDeviceEnrolledType {\n\ts := new(DropboxPasswordsNewDeviceEnrolledType)\n\ts.Description = Description\n\treturn s\n}\n\n// DropboxPasswordsPolicy : Policy for deciding whether team users can use\n// Dropbox Passwords\ntype DropboxPasswordsPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for DropboxPasswordsPolicy\nconst (\n\tDropboxPasswordsPolicyDefault  = \"default\"\n\tDropboxPasswordsPolicyDisabled = \"disabled\"\n\tDropboxPasswordsPolicyEnabled  = \"enabled\"\n\tDropboxPasswordsPolicyOther    = \"other\"\n)\n\n// DropboxPasswordsPolicyChangedDetails : Changed Dropbox Passwords policy for\n// team.\ntype DropboxPasswordsPolicyChangedDetails struct {\n\t// NewValue : To.\n\tNewValue *DropboxPasswordsPolicy `json:\"new_value\"`\n\t// PreviousValue : From.\n\tPreviousValue *DropboxPasswordsPolicy `json:\"previous_value\"`\n}\n\n// NewDropboxPasswordsPolicyChangedDetails returns a new DropboxPasswordsPolicyChangedDetails instance\nfunc NewDropboxPasswordsPolicyChangedDetails(NewValue *DropboxPasswordsPolicy, PreviousValue *DropboxPasswordsPolicy) *DropboxPasswordsPolicyChangedDetails {\n\ts := new(DropboxPasswordsPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// DropboxPasswordsPolicyChangedType : has no documentation (yet)\ntype DropboxPasswordsPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewDropboxPasswordsPolicyChangedType returns a new DropboxPasswordsPolicyChangedType instance\nfunc NewDropboxPasswordsPolicyChangedType(Description string) *DropboxPasswordsPolicyChangedType {\n\ts := new(DropboxPasswordsPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// DurationLogInfo : Represents a time duration: unit and amount\ntype DurationLogInfo struct {\n\t// Unit : Time unit.\n\tUnit *TimeUnit `json:\"unit\"`\n\t// Amount : Amount of time.\n\tAmount uint64 `json:\"amount\"`\n}\n\n// NewDurationLogInfo returns a new DurationLogInfo instance\nfunc NewDurationLogInfo(Unit *TimeUnit, Amount uint64) *DurationLogInfo {\n\ts := new(DurationLogInfo)\n\ts.Unit = Unit\n\ts.Amount = Amount\n\treturn s\n}\n\n// EmailIngestPolicy : Policy for deciding whether a team can use Email to\n// Dropbox feature\ntype EmailIngestPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for EmailIngestPolicy\nconst (\n\tEmailIngestPolicyDisabled = \"disabled\"\n\tEmailIngestPolicyEnabled  = \"enabled\"\n\tEmailIngestPolicyOther    = \"other\"\n)\n\n// EmailIngestPolicyChangedDetails : Changed email to Dropbox policy for team.\ntype EmailIngestPolicyChangedDetails struct {\n\t// NewValue : To.\n\tNewValue *EmailIngestPolicy `json:\"new_value\"`\n\t// PreviousValue : From.\n\tPreviousValue *EmailIngestPolicy `json:\"previous_value\"`\n}\n\n// NewEmailIngestPolicyChangedDetails returns a new EmailIngestPolicyChangedDetails instance\nfunc NewEmailIngestPolicyChangedDetails(NewValue *EmailIngestPolicy, PreviousValue *EmailIngestPolicy) *EmailIngestPolicyChangedDetails {\n\ts := new(EmailIngestPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// EmailIngestPolicyChangedType : has no documentation (yet)\ntype EmailIngestPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewEmailIngestPolicyChangedType returns a new EmailIngestPolicyChangedType instance\nfunc NewEmailIngestPolicyChangedType(Description string) *EmailIngestPolicyChangedType {\n\ts := new(EmailIngestPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// EmailIngestReceiveFileDetails : Received files via Email to Dropbox.\ntype EmailIngestReceiveFileDetails struct {\n\t// InboxName : Inbox name.\n\tInboxName string `json:\"inbox_name\"`\n\t// AttachmentNames : Submitted file names.\n\tAttachmentNames []string `json:\"attachment_names\"`\n\t// Subject : Subject of the email.\n\tSubject string `json:\"subject,omitempty\"`\n\t// FromName : The name as provided by the submitter.\n\tFromName string `json:\"from_name,omitempty\"`\n\t// FromEmail : The email as provided by the submitter.\n\tFromEmail string `json:\"from_email,omitempty\"`\n}\n\n// NewEmailIngestReceiveFileDetails returns a new EmailIngestReceiveFileDetails instance\nfunc NewEmailIngestReceiveFileDetails(InboxName string, AttachmentNames []string) *EmailIngestReceiveFileDetails {\n\ts := new(EmailIngestReceiveFileDetails)\n\ts.InboxName = InboxName\n\ts.AttachmentNames = AttachmentNames\n\treturn s\n}\n\n// EmailIngestReceiveFileType : has no documentation (yet)\ntype EmailIngestReceiveFileType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewEmailIngestReceiveFileType returns a new EmailIngestReceiveFileType instance\nfunc NewEmailIngestReceiveFileType(Description string) *EmailIngestReceiveFileType {\n\ts := new(EmailIngestReceiveFileType)\n\ts.Description = Description\n\treturn s\n}\n\n// EmmAddExceptionDetails : Added members to EMM exception list.\ntype EmmAddExceptionDetails struct {\n}\n\n// NewEmmAddExceptionDetails returns a new EmmAddExceptionDetails instance\nfunc NewEmmAddExceptionDetails() *EmmAddExceptionDetails {\n\ts := new(EmmAddExceptionDetails)\n\treturn s\n}\n\n// EmmAddExceptionType : has no documentation (yet)\ntype EmmAddExceptionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewEmmAddExceptionType returns a new EmmAddExceptionType instance\nfunc NewEmmAddExceptionType(Description string) *EmmAddExceptionType {\n\ts := new(EmmAddExceptionType)\n\ts.Description = Description\n\treturn s\n}\n\n// EmmChangePolicyDetails : Enabled/disabled enterprise mobility management for\n// members.\ntype EmmChangePolicyDetails struct {\n\t// NewValue : New enterprise mobility management policy.\n\tNewValue *team_policies.EmmState `json:\"new_value\"`\n\t// PreviousValue : Previous enterprise mobility management policy. Might be\n\t// missing due to historical data gap.\n\tPreviousValue *team_policies.EmmState `json:\"previous_value,omitempty\"`\n}\n\n// NewEmmChangePolicyDetails returns a new EmmChangePolicyDetails instance\nfunc NewEmmChangePolicyDetails(NewValue *team_policies.EmmState) *EmmChangePolicyDetails {\n\ts := new(EmmChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// EmmChangePolicyType : has no documentation (yet)\ntype EmmChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewEmmChangePolicyType returns a new EmmChangePolicyType instance\nfunc NewEmmChangePolicyType(Description string) *EmmChangePolicyType {\n\ts := new(EmmChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// EmmCreateExceptionsReportDetails : Created EMM-excluded users report.\ntype EmmCreateExceptionsReportDetails struct {\n}\n\n// NewEmmCreateExceptionsReportDetails returns a new EmmCreateExceptionsReportDetails instance\nfunc NewEmmCreateExceptionsReportDetails() *EmmCreateExceptionsReportDetails {\n\ts := new(EmmCreateExceptionsReportDetails)\n\treturn s\n}\n\n// EmmCreateExceptionsReportType : has no documentation (yet)\ntype EmmCreateExceptionsReportType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewEmmCreateExceptionsReportType returns a new EmmCreateExceptionsReportType instance\nfunc NewEmmCreateExceptionsReportType(Description string) *EmmCreateExceptionsReportType {\n\ts := new(EmmCreateExceptionsReportType)\n\ts.Description = Description\n\treturn s\n}\n\n// EmmCreateUsageReportDetails : Created EMM mobile app usage report.\ntype EmmCreateUsageReportDetails struct {\n}\n\n// NewEmmCreateUsageReportDetails returns a new EmmCreateUsageReportDetails instance\nfunc NewEmmCreateUsageReportDetails() *EmmCreateUsageReportDetails {\n\ts := new(EmmCreateUsageReportDetails)\n\treturn s\n}\n\n// EmmCreateUsageReportType : has no documentation (yet)\ntype EmmCreateUsageReportType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewEmmCreateUsageReportType returns a new EmmCreateUsageReportType instance\nfunc NewEmmCreateUsageReportType(Description string) *EmmCreateUsageReportType {\n\ts := new(EmmCreateUsageReportType)\n\ts.Description = Description\n\treturn s\n}\n\n// EmmErrorDetails : Failed to sign in via EMM.\ntype EmmErrorDetails struct {\n\t// ErrorDetails : Error details.\n\tErrorDetails *FailureDetailsLogInfo `json:\"error_details\"`\n}\n\n// NewEmmErrorDetails returns a new EmmErrorDetails instance\nfunc NewEmmErrorDetails(ErrorDetails *FailureDetailsLogInfo) *EmmErrorDetails {\n\ts := new(EmmErrorDetails)\n\ts.ErrorDetails = ErrorDetails\n\treturn s\n}\n\n// EmmErrorType : has no documentation (yet)\ntype EmmErrorType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewEmmErrorType returns a new EmmErrorType instance\nfunc NewEmmErrorType(Description string) *EmmErrorType {\n\ts := new(EmmErrorType)\n\ts.Description = Description\n\treturn s\n}\n\n// EmmRefreshAuthTokenDetails : Refreshed auth token used for setting up EMM.\ntype EmmRefreshAuthTokenDetails struct {\n}\n\n// NewEmmRefreshAuthTokenDetails returns a new EmmRefreshAuthTokenDetails instance\nfunc NewEmmRefreshAuthTokenDetails() *EmmRefreshAuthTokenDetails {\n\ts := new(EmmRefreshAuthTokenDetails)\n\treturn s\n}\n\n// EmmRefreshAuthTokenType : has no documentation (yet)\ntype EmmRefreshAuthTokenType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewEmmRefreshAuthTokenType returns a new EmmRefreshAuthTokenType instance\nfunc NewEmmRefreshAuthTokenType(Description string) *EmmRefreshAuthTokenType {\n\ts := new(EmmRefreshAuthTokenType)\n\ts.Description = Description\n\treturn s\n}\n\n// EmmRemoveExceptionDetails : Removed members from EMM exception list.\ntype EmmRemoveExceptionDetails struct {\n}\n\n// NewEmmRemoveExceptionDetails returns a new EmmRemoveExceptionDetails instance\nfunc NewEmmRemoveExceptionDetails() *EmmRemoveExceptionDetails {\n\ts := new(EmmRemoveExceptionDetails)\n\treturn s\n}\n\n// EmmRemoveExceptionType : has no documentation (yet)\ntype EmmRemoveExceptionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewEmmRemoveExceptionType returns a new EmmRemoveExceptionType instance\nfunc NewEmmRemoveExceptionType(Description string) *EmmRemoveExceptionType {\n\ts := new(EmmRemoveExceptionType)\n\ts.Description = Description\n\treturn s\n}\n\n// EnabledDomainInvitesDetails : Enabled domain invites.\ntype EnabledDomainInvitesDetails struct {\n}\n\n// NewEnabledDomainInvitesDetails returns a new EnabledDomainInvitesDetails instance\nfunc NewEnabledDomainInvitesDetails() *EnabledDomainInvitesDetails {\n\ts := new(EnabledDomainInvitesDetails)\n\treturn s\n}\n\n// EnabledDomainInvitesType : has no documentation (yet)\ntype EnabledDomainInvitesType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewEnabledDomainInvitesType returns a new EnabledDomainInvitesType instance\nfunc NewEnabledDomainInvitesType(Description string) *EnabledDomainInvitesType {\n\ts := new(EnabledDomainInvitesType)\n\ts.Description = Description\n\treturn s\n}\n\n// EndedEnterpriseAdminSessionDeprecatedDetails : Ended enterprise admin\n// session.\ntype EndedEnterpriseAdminSessionDeprecatedDetails struct {\n\t// FederationExtraDetails : More information about the organization or team.\n\tFederationExtraDetails *FedExtraDetails `json:\"federation_extra_details\"`\n}\n\n// NewEndedEnterpriseAdminSessionDeprecatedDetails returns a new EndedEnterpriseAdminSessionDeprecatedDetails instance\nfunc NewEndedEnterpriseAdminSessionDeprecatedDetails(FederationExtraDetails *FedExtraDetails) *EndedEnterpriseAdminSessionDeprecatedDetails {\n\ts := new(EndedEnterpriseAdminSessionDeprecatedDetails)\n\ts.FederationExtraDetails = FederationExtraDetails\n\treturn s\n}\n\n// EndedEnterpriseAdminSessionDeprecatedType : has no documentation (yet)\ntype EndedEnterpriseAdminSessionDeprecatedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewEndedEnterpriseAdminSessionDeprecatedType returns a new EndedEnterpriseAdminSessionDeprecatedType instance\nfunc NewEndedEnterpriseAdminSessionDeprecatedType(Description string) *EndedEnterpriseAdminSessionDeprecatedType {\n\ts := new(EndedEnterpriseAdminSessionDeprecatedType)\n\ts.Description = Description\n\treturn s\n}\n\n// EndedEnterpriseAdminSessionDetails : Ended enterprise admin session.\ntype EndedEnterpriseAdminSessionDetails struct {\n}\n\n// NewEndedEnterpriseAdminSessionDetails returns a new EndedEnterpriseAdminSessionDetails instance\nfunc NewEndedEnterpriseAdminSessionDetails() *EndedEnterpriseAdminSessionDetails {\n\ts := new(EndedEnterpriseAdminSessionDetails)\n\treturn s\n}\n\n// EndedEnterpriseAdminSessionType : has no documentation (yet)\ntype EndedEnterpriseAdminSessionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewEndedEnterpriseAdminSessionType returns a new EndedEnterpriseAdminSessionType instance\nfunc NewEndedEnterpriseAdminSessionType(Description string) *EndedEnterpriseAdminSessionType {\n\ts := new(EndedEnterpriseAdminSessionType)\n\ts.Description = Description\n\treturn s\n}\n\n// EnforceLinkPasswordPolicy : Policy for deciding whether password must be\n// enforced when an externally shared link is updated\ntype EnforceLinkPasswordPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for EnforceLinkPasswordPolicy\nconst (\n\tEnforceLinkPasswordPolicyOptional = \"optional\"\n\tEnforceLinkPasswordPolicyRequired = \"required\"\n\tEnforceLinkPasswordPolicyOther    = \"other\"\n)\n\n// EnterpriseSettingsLockingDetails : Changed who can update a setting.\ntype EnterpriseSettingsLockingDetails struct {\n\t// TeamName : The secondary team name.\n\tTeamName string `json:\"team_name\"`\n\t// SettingsPageName : Settings page name.\n\tSettingsPageName string `json:\"settings_page_name\"`\n\t// PreviousSettingsPageLockingState : Previous locked settings page state.\n\tPreviousSettingsPageLockingState string `json:\"previous_settings_page_locking_state\"`\n\t// NewSettingsPageLockingState : New locked settings page state.\n\tNewSettingsPageLockingState string `json:\"new_settings_page_locking_state\"`\n}\n\n// NewEnterpriseSettingsLockingDetails returns a new EnterpriseSettingsLockingDetails instance\nfunc NewEnterpriseSettingsLockingDetails(TeamName string, SettingsPageName string, PreviousSettingsPageLockingState string, NewSettingsPageLockingState string) *EnterpriseSettingsLockingDetails {\n\ts := new(EnterpriseSettingsLockingDetails)\n\ts.TeamName = TeamName\n\ts.SettingsPageName = SettingsPageName\n\ts.PreviousSettingsPageLockingState = PreviousSettingsPageLockingState\n\ts.NewSettingsPageLockingState = NewSettingsPageLockingState\n\treturn s\n}\n\n// EnterpriseSettingsLockingType : has no documentation (yet)\ntype EnterpriseSettingsLockingType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewEnterpriseSettingsLockingType returns a new EnterpriseSettingsLockingType instance\nfunc NewEnterpriseSettingsLockingType(Description string) *EnterpriseSettingsLockingType {\n\ts := new(EnterpriseSettingsLockingType)\n\ts.Description = Description\n\treturn s\n}\n\n// EventCategory : Category of events in event audit log.\ntype EventCategory struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for EventCategory\nconst (\n\tEventCategoryAdminAlerting  = \"admin_alerting\"\n\tEventCategoryApps           = \"apps\"\n\tEventCategoryComments       = \"comments\"\n\tEventCategoryDataGovernance = \"data_governance\"\n\tEventCategoryDevices        = \"devices\"\n\tEventCategoryDomains        = \"domains\"\n\tEventCategoryFileOperations = \"file_operations\"\n\tEventCategoryFileRequests   = \"file_requests\"\n\tEventCategoryGroups         = \"groups\"\n\tEventCategoryLogins         = \"logins\"\n\tEventCategoryMembers        = \"members\"\n\tEventCategoryPaper          = \"paper\"\n\tEventCategoryPasswords      = \"passwords\"\n\tEventCategoryReports        = \"reports\"\n\tEventCategorySharing        = \"sharing\"\n\tEventCategoryShowcase       = \"showcase\"\n\tEventCategorySso            = \"sso\"\n\tEventCategoryTeamFolders    = \"team_folders\"\n\tEventCategoryTeamPolicies   = \"team_policies\"\n\tEventCategoryTeamProfile    = \"team_profile\"\n\tEventCategoryTfa            = \"tfa\"\n\tEventCategoryTrustedTeams   = \"trusted_teams\"\n\tEventCategoryOther          = \"other\"\n)\n\n// EventDetails : Additional fields depending on the event type.\ntype EventDetails struct {\n\tdropbox.Tagged\n\t// AdminAlertingAlertStateChangedDetails : has no documentation (yet)\n\tAdminAlertingAlertStateChangedDetails *AdminAlertingAlertStateChangedDetails `json:\"admin_alerting_alert_state_changed_details,omitempty\"`\n\t// AdminAlertingChangedAlertConfigDetails : has no documentation (yet)\n\tAdminAlertingChangedAlertConfigDetails *AdminAlertingChangedAlertConfigDetails `json:\"admin_alerting_changed_alert_config_details,omitempty\"`\n\t// AdminAlertingTriggeredAlertDetails : has no documentation (yet)\n\tAdminAlertingTriggeredAlertDetails *AdminAlertingTriggeredAlertDetails `json:\"admin_alerting_triggered_alert_details,omitempty\"`\n\t// AppBlockedByPermissionsDetails : has no documentation (yet)\n\tAppBlockedByPermissionsDetails *AppBlockedByPermissionsDetails `json:\"app_blocked_by_permissions_details,omitempty\"`\n\t// AppLinkTeamDetails : has no documentation (yet)\n\tAppLinkTeamDetails *AppLinkTeamDetails `json:\"app_link_team_details,omitempty\"`\n\t// AppLinkUserDetails : has no documentation (yet)\n\tAppLinkUserDetails *AppLinkUserDetails `json:\"app_link_user_details,omitempty\"`\n\t// AppUnlinkTeamDetails : has no documentation (yet)\n\tAppUnlinkTeamDetails *AppUnlinkTeamDetails `json:\"app_unlink_team_details,omitempty\"`\n\t// AppUnlinkUserDetails : has no documentation (yet)\n\tAppUnlinkUserDetails *AppUnlinkUserDetails `json:\"app_unlink_user_details,omitempty\"`\n\t// IntegrationConnectedDetails : has no documentation (yet)\n\tIntegrationConnectedDetails *IntegrationConnectedDetails `json:\"integration_connected_details,omitempty\"`\n\t// IntegrationDisconnectedDetails : has no documentation (yet)\n\tIntegrationDisconnectedDetails *IntegrationDisconnectedDetails `json:\"integration_disconnected_details,omitempty\"`\n\t// FileAddCommentDetails : has no documentation (yet)\n\tFileAddCommentDetails *FileAddCommentDetails `json:\"file_add_comment_details,omitempty\"`\n\t// FileChangeCommentSubscriptionDetails : has no documentation (yet)\n\tFileChangeCommentSubscriptionDetails *FileChangeCommentSubscriptionDetails `json:\"file_change_comment_subscription_details,omitempty\"`\n\t// FileDeleteCommentDetails : has no documentation (yet)\n\tFileDeleteCommentDetails *FileDeleteCommentDetails `json:\"file_delete_comment_details,omitempty\"`\n\t// FileEditCommentDetails : has no documentation (yet)\n\tFileEditCommentDetails *FileEditCommentDetails `json:\"file_edit_comment_details,omitempty\"`\n\t// FileLikeCommentDetails : has no documentation (yet)\n\tFileLikeCommentDetails *FileLikeCommentDetails `json:\"file_like_comment_details,omitempty\"`\n\t// FileResolveCommentDetails : has no documentation (yet)\n\tFileResolveCommentDetails *FileResolveCommentDetails `json:\"file_resolve_comment_details,omitempty\"`\n\t// FileUnlikeCommentDetails : has no documentation (yet)\n\tFileUnlikeCommentDetails *FileUnlikeCommentDetails `json:\"file_unlike_comment_details,omitempty\"`\n\t// FileUnresolveCommentDetails : has no documentation (yet)\n\tFileUnresolveCommentDetails *FileUnresolveCommentDetails `json:\"file_unresolve_comment_details,omitempty\"`\n\t// GovernancePolicyAddFoldersDetails : has no documentation (yet)\n\tGovernancePolicyAddFoldersDetails *GovernancePolicyAddFoldersDetails `json:\"governance_policy_add_folders_details,omitempty\"`\n\t// GovernancePolicyAddFolderFailedDetails : has no documentation (yet)\n\tGovernancePolicyAddFolderFailedDetails *GovernancePolicyAddFolderFailedDetails `json:\"governance_policy_add_folder_failed_details,omitempty\"`\n\t// GovernancePolicyContentDisposedDetails : has no documentation (yet)\n\tGovernancePolicyContentDisposedDetails *GovernancePolicyContentDisposedDetails `json:\"governance_policy_content_disposed_details,omitempty\"`\n\t// GovernancePolicyCreateDetails : has no documentation (yet)\n\tGovernancePolicyCreateDetails *GovernancePolicyCreateDetails `json:\"governance_policy_create_details,omitempty\"`\n\t// GovernancePolicyDeleteDetails : has no documentation (yet)\n\tGovernancePolicyDeleteDetails *GovernancePolicyDeleteDetails `json:\"governance_policy_delete_details,omitempty\"`\n\t// GovernancePolicyEditDetailsDetails : has no documentation (yet)\n\tGovernancePolicyEditDetailsDetails *GovernancePolicyEditDetailsDetails `json:\"governance_policy_edit_details_details,omitempty\"`\n\t// GovernancePolicyEditDurationDetails : has no documentation (yet)\n\tGovernancePolicyEditDurationDetails *GovernancePolicyEditDurationDetails `json:\"governance_policy_edit_duration_details,omitempty\"`\n\t// GovernancePolicyExportCreatedDetails : has no documentation (yet)\n\tGovernancePolicyExportCreatedDetails *GovernancePolicyExportCreatedDetails `json:\"governance_policy_export_created_details,omitempty\"`\n\t// GovernancePolicyExportRemovedDetails : has no documentation (yet)\n\tGovernancePolicyExportRemovedDetails *GovernancePolicyExportRemovedDetails `json:\"governance_policy_export_removed_details,omitempty\"`\n\t// GovernancePolicyRemoveFoldersDetails : has no documentation (yet)\n\tGovernancePolicyRemoveFoldersDetails *GovernancePolicyRemoveFoldersDetails `json:\"governance_policy_remove_folders_details,omitempty\"`\n\t// GovernancePolicyReportCreatedDetails : has no documentation (yet)\n\tGovernancePolicyReportCreatedDetails *GovernancePolicyReportCreatedDetails `json:\"governance_policy_report_created_details,omitempty\"`\n\t// GovernancePolicyZipPartDownloadedDetails : has no documentation (yet)\n\tGovernancePolicyZipPartDownloadedDetails *GovernancePolicyZipPartDownloadedDetails `json:\"governance_policy_zip_part_downloaded_details,omitempty\"`\n\t// LegalHoldsActivateAHoldDetails : has no documentation (yet)\n\tLegalHoldsActivateAHoldDetails *LegalHoldsActivateAHoldDetails `json:\"legal_holds_activate_a_hold_details,omitempty\"`\n\t// LegalHoldsAddMembersDetails : has no documentation (yet)\n\tLegalHoldsAddMembersDetails *LegalHoldsAddMembersDetails `json:\"legal_holds_add_members_details,omitempty\"`\n\t// LegalHoldsChangeHoldDetailsDetails : has no documentation (yet)\n\tLegalHoldsChangeHoldDetailsDetails *LegalHoldsChangeHoldDetailsDetails `json:\"legal_holds_change_hold_details_details,omitempty\"`\n\t// LegalHoldsChangeHoldNameDetails : has no documentation (yet)\n\tLegalHoldsChangeHoldNameDetails *LegalHoldsChangeHoldNameDetails `json:\"legal_holds_change_hold_name_details,omitempty\"`\n\t// LegalHoldsExportAHoldDetails : has no documentation (yet)\n\tLegalHoldsExportAHoldDetails *LegalHoldsExportAHoldDetails `json:\"legal_holds_export_a_hold_details,omitempty\"`\n\t// LegalHoldsExportCancelledDetails : has no documentation (yet)\n\tLegalHoldsExportCancelledDetails *LegalHoldsExportCancelledDetails `json:\"legal_holds_export_cancelled_details,omitempty\"`\n\t// LegalHoldsExportDownloadedDetails : has no documentation (yet)\n\tLegalHoldsExportDownloadedDetails *LegalHoldsExportDownloadedDetails `json:\"legal_holds_export_downloaded_details,omitempty\"`\n\t// LegalHoldsExportRemovedDetails : has no documentation (yet)\n\tLegalHoldsExportRemovedDetails *LegalHoldsExportRemovedDetails `json:\"legal_holds_export_removed_details,omitempty\"`\n\t// LegalHoldsReleaseAHoldDetails : has no documentation (yet)\n\tLegalHoldsReleaseAHoldDetails *LegalHoldsReleaseAHoldDetails `json:\"legal_holds_release_a_hold_details,omitempty\"`\n\t// LegalHoldsRemoveMembersDetails : has no documentation (yet)\n\tLegalHoldsRemoveMembersDetails *LegalHoldsRemoveMembersDetails `json:\"legal_holds_remove_members_details,omitempty\"`\n\t// LegalHoldsReportAHoldDetails : has no documentation (yet)\n\tLegalHoldsReportAHoldDetails *LegalHoldsReportAHoldDetails `json:\"legal_holds_report_a_hold_details,omitempty\"`\n\t// DeviceChangeIpDesktopDetails : has no documentation (yet)\n\tDeviceChangeIpDesktopDetails *DeviceChangeIpDesktopDetails `json:\"device_change_ip_desktop_details,omitempty\"`\n\t// DeviceChangeIpMobileDetails : has no documentation (yet)\n\tDeviceChangeIpMobileDetails *DeviceChangeIpMobileDetails `json:\"device_change_ip_mobile_details,omitempty\"`\n\t// DeviceChangeIpWebDetails : has no documentation (yet)\n\tDeviceChangeIpWebDetails *DeviceChangeIpWebDetails `json:\"device_change_ip_web_details,omitempty\"`\n\t// DeviceDeleteOnUnlinkFailDetails : has no documentation (yet)\n\tDeviceDeleteOnUnlinkFailDetails *DeviceDeleteOnUnlinkFailDetails `json:\"device_delete_on_unlink_fail_details,omitempty\"`\n\t// DeviceDeleteOnUnlinkSuccessDetails : has no documentation (yet)\n\tDeviceDeleteOnUnlinkSuccessDetails *DeviceDeleteOnUnlinkSuccessDetails `json:\"device_delete_on_unlink_success_details,omitempty\"`\n\t// DeviceLinkFailDetails : has no documentation (yet)\n\tDeviceLinkFailDetails *DeviceLinkFailDetails `json:\"device_link_fail_details,omitempty\"`\n\t// DeviceLinkSuccessDetails : has no documentation (yet)\n\tDeviceLinkSuccessDetails *DeviceLinkSuccessDetails `json:\"device_link_success_details,omitempty\"`\n\t// DeviceManagementDisabledDetails : has no documentation (yet)\n\tDeviceManagementDisabledDetails *DeviceManagementDisabledDetails `json:\"device_management_disabled_details,omitempty\"`\n\t// DeviceManagementEnabledDetails : has no documentation (yet)\n\tDeviceManagementEnabledDetails *DeviceManagementEnabledDetails `json:\"device_management_enabled_details,omitempty\"`\n\t// DeviceSyncBackupStatusChangedDetails : has no documentation (yet)\n\tDeviceSyncBackupStatusChangedDetails *DeviceSyncBackupStatusChangedDetails `json:\"device_sync_backup_status_changed_details,omitempty\"`\n\t// DeviceUnlinkDetails : has no documentation (yet)\n\tDeviceUnlinkDetails *DeviceUnlinkDetails `json:\"device_unlink_details,omitempty\"`\n\t// DropboxPasswordsExportedDetails : has no documentation (yet)\n\tDropboxPasswordsExportedDetails *DropboxPasswordsExportedDetails `json:\"dropbox_passwords_exported_details,omitempty\"`\n\t// DropboxPasswordsNewDeviceEnrolledDetails : has no documentation (yet)\n\tDropboxPasswordsNewDeviceEnrolledDetails *DropboxPasswordsNewDeviceEnrolledDetails `json:\"dropbox_passwords_new_device_enrolled_details,omitempty\"`\n\t// EmmRefreshAuthTokenDetails : has no documentation (yet)\n\tEmmRefreshAuthTokenDetails *EmmRefreshAuthTokenDetails `json:\"emm_refresh_auth_token_details,omitempty\"`\n\t// ExternalDriveBackupEligibilityStatusCheckedDetails : has no documentation\n\t// (yet)\n\tExternalDriveBackupEligibilityStatusCheckedDetails *ExternalDriveBackupEligibilityStatusCheckedDetails `json:\"external_drive_backup_eligibility_status_checked_details,omitempty\"`\n\t// ExternalDriveBackupStatusChangedDetails : has no documentation (yet)\n\tExternalDriveBackupStatusChangedDetails *ExternalDriveBackupStatusChangedDetails `json:\"external_drive_backup_status_changed_details,omitempty\"`\n\t// AccountCaptureChangeAvailabilityDetails : has no documentation (yet)\n\tAccountCaptureChangeAvailabilityDetails *AccountCaptureChangeAvailabilityDetails `json:\"account_capture_change_availability_details,omitempty\"`\n\t// AccountCaptureMigrateAccountDetails : has no documentation (yet)\n\tAccountCaptureMigrateAccountDetails *AccountCaptureMigrateAccountDetails `json:\"account_capture_migrate_account_details,omitempty\"`\n\t// AccountCaptureNotificationEmailsSentDetails : has no documentation (yet)\n\tAccountCaptureNotificationEmailsSentDetails *AccountCaptureNotificationEmailsSentDetails `json:\"account_capture_notification_emails_sent_details,omitempty\"`\n\t// AccountCaptureRelinquishAccountDetails : has no documentation (yet)\n\tAccountCaptureRelinquishAccountDetails *AccountCaptureRelinquishAccountDetails `json:\"account_capture_relinquish_account_details,omitempty\"`\n\t// DisabledDomainInvitesDetails : has no documentation (yet)\n\tDisabledDomainInvitesDetails *DisabledDomainInvitesDetails `json:\"disabled_domain_invites_details,omitempty\"`\n\t// DomainInvitesApproveRequestToJoinTeamDetails : has no documentation (yet)\n\tDomainInvitesApproveRequestToJoinTeamDetails *DomainInvitesApproveRequestToJoinTeamDetails `json:\"domain_invites_approve_request_to_join_team_details,omitempty\"`\n\t// DomainInvitesDeclineRequestToJoinTeamDetails : has no documentation (yet)\n\tDomainInvitesDeclineRequestToJoinTeamDetails *DomainInvitesDeclineRequestToJoinTeamDetails `json:\"domain_invites_decline_request_to_join_team_details,omitempty\"`\n\t// DomainInvitesEmailExistingUsersDetails : has no documentation (yet)\n\tDomainInvitesEmailExistingUsersDetails *DomainInvitesEmailExistingUsersDetails `json:\"domain_invites_email_existing_users_details,omitempty\"`\n\t// DomainInvitesRequestToJoinTeamDetails : has no documentation (yet)\n\tDomainInvitesRequestToJoinTeamDetails *DomainInvitesRequestToJoinTeamDetails `json:\"domain_invites_request_to_join_team_details,omitempty\"`\n\t// DomainInvitesSetInviteNewUserPrefToNoDetails : has no documentation (yet)\n\tDomainInvitesSetInviteNewUserPrefToNoDetails *DomainInvitesSetInviteNewUserPrefToNoDetails `json:\"domain_invites_set_invite_new_user_pref_to_no_details,omitempty\"`\n\t// DomainInvitesSetInviteNewUserPrefToYesDetails : has no documentation\n\t// (yet)\n\tDomainInvitesSetInviteNewUserPrefToYesDetails *DomainInvitesSetInviteNewUserPrefToYesDetails `json:\"domain_invites_set_invite_new_user_pref_to_yes_details,omitempty\"`\n\t// DomainVerificationAddDomainFailDetails : has no documentation (yet)\n\tDomainVerificationAddDomainFailDetails *DomainVerificationAddDomainFailDetails `json:\"domain_verification_add_domain_fail_details,omitempty\"`\n\t// DomainVerificationAddDomainSuccessDetails : has no documentation (yet)\n\tDomainVerificationAddDomainSuccessDetails *DomainVerificationAddDomainSuccessDetails `json:\"domain_verification_add_domain_success_details,omitempty\"`\n\t// DomainVerificationRemoveDomainDetails : has no documentation (yet)\n\tDomainVerificationRemoveDomainDetails *DomainVerificationRemoveDomainDetails `json:\"domain_verification_remove_domain_details,omitempty\"`\n\t// EnabledDomainInvitesDetails : has no documentation (yet)\n\tEnabledDomainInvitesDetails *EnabledDomainInvitesDetails `json:\"enabled_domain_invites_details,omitempty\"`\n\t// ApplyNamingConventionDetails : has no documentation (yet)\n\tApplyNamingConventionDetails *ApplyNamingConventionDetails `json:\"apply_naming_convention_details,omitempty\"`\n\t// CreateFolderDetails : has no documentation (yet)\n\tCreateFolderDetails *CreateFolderDetails `json:\"create_folder_details,omitempty\"`\n\t// FileAddDetails : has no documentation (yet)\n\tFileAddDetails *FileAddDetails `json:\"file_add_details,omitempty\"`\n\t// FileCopyDetails : has no documentation (yet)\n\tFileCopyDetails *FileCopyDetails `json:\"file_copy_details,omitempty\"`\n\t// FileDeleteDetails : has no documentation (yet)\n\tFileDeleteDetails *FileDeleteDetails `json:\"file_delete_details,omitempty\"`\n\t// FileDownloadDetails : has no documentation (yet)\n\tFileDownloadDetails *FileDownloadDetails `json:\"file_download_details,omitempty\"`\n\t// FileEditDetails : has no documentation (yet)\n\tFileEditDetails *FileEditDetails `json:\"file_edit_details,omitempty\"`\n\t// FileGetCopyReferenceDetails : has no documentation (yet)\n\tFileGetCopyReferenceDetails *FileGetCopyReferenceDetails `json:\"file_get_copy_reference_details,omitempty\"`\n\t// FileLockingLockStatusChangedDetails : has no documentation (yet)\n\tFileLockingLockStatusChangedDetails *FileLockingLockStatusChangedDetails `json:\"file_locking_lock_status_changed_details,omitempty\"`\n\t// FileMoveDetails : has no documentation (yet)\n\tFileMoveDetails *FileMoveDetails `json:\"file_move_details,omitempty\"`\n\t// FilePermanentlyDeleteDetails : has no documentation (yet)\n\tFilePermanentlyDeleteDetails *FilePermanentlyDeleteDetails `json:\"file_permanently_delete_details,omitempty\"`\n\t// FilePreviewDetails : has no documentation (yet)\n\tFilePreviewDetails *FilePreviewDetails `json:\"file_preview_details,omitempty\"`\n\t// FileRenameDetails : has no documentation (yet)\n\tFileRenameDetails *FileRenameDetails `json:\"file_rename_details,omitempty\"`\n\t// FileRestoreDetails : has no documentation (yet)\n\tFileRestoreDetails *FileRestoreDetails `json:\"file_restore_details,omitempty\"`\n\t// FileRevertDetails : has no documentation (yet)\n\tFileRevertDetails *FileRevertDetails `json:\"file_revert_details,omitempty\"`\n\t// FileRollbackChangesDetails : has no documentation (yet)\n\tFileRollbackChangesDetails *FileRollbackChangesDetails `json:\"file_rollback_changes_details,omitempty\"`\n\t// FileSaveCopyReferenceDetails : has no documentation (yet)\n\tFileSaveCopyReferenceDetails *FileSaveCopyReferenceDetails `json:\"file_save_copy_reference_details,omitempty\"`\n\t// FolderOverviewDescriptionChangedDetails : has no documentation (yet)\n\tFolderOverviewDescriptionChangedDetails *FolderOverviewDescriptionChangedDetails `json:\"folder_overview_description_changed_details,omitempty\"`\n\t// FolderOverviewItemPinnedDetails : has no documentation (yet)\n\tFolderOverviewItemPinnedDetails *FolderOverviewItemPinnedDetails `json:\"folder_overview_item_pinned_details,omitempty\"`\n\t// FolderOverviewItemUnpinnedDetails : has no documentation (yet)\n\tFolderOverviewItemUnpinnedDetails *FolderOverviewItemUnpinnedDetails `json:\"folder_overview_item_unpinned_details,omitempty\"`\n\t// ObjectLabelAddedDetails : has no documentation (yet)\n\tObjectLabelAddedDetails *ObjectLabelAddedDetails `json:\"object_label_added_details,omitempty\"`\n\t// ObjectLabelRemovedDetails : has no documentation (yet)\n\tObjectLabelRemovedDetails *ObjectLabelRemovedDetails `json:\"object_label_removed_details,omitempty\"`\n\t// ObjectLabelUpdatedValueDetails : has no documentation (yet)\n\tObjectLabelUpdatedValueDetails *ObjectLabelUpdatedValueDetails `json:\"object_label_updated_value_details,omitempty\"`\n\t// OrganizeFolderWithTidyDetails : has no documentation (yet)\n\tOrganizeFolderWithTidyDetails *OrganizeFolderWithTidyDetails `json:\"organize_folder_with_tidy_details,omitempty\"`\n\t// RewindFolderDetails : has no documentation (yet)\n\tRewindFolderDetails *RewindFolderDetails `json:\"rewind_folder_details,omitempty\"`\n\t// UndoNamingConventionDetails : has no documentation (yet)\n\tUndoNamingConventionDetails *UndoNamingConventionDetails `json:\"undo_naming_convention_details,omitempty\"`\n\t// UndoOrganizeFolderWithTidyDetails : has no documentation (yet)\n\tUndoOrganizeFolderWithTidyDetails *UndoOrganizeFolderWithTidyDetails `json:\"undo_organize_folder_with_tidy_details,omitempty\"`\n\t// UserTagsAddedDetails : has no documentation (yet)\n\tUserTagsAddedDetails *UserTagsAddedDetails `json:\"user_tags_added_details,omitempty\"`\n\t// UserTagsRemovedDetails : has no documentation (yet)\n\tUserTagsRemovedDetails *UserTagsRemovedDetails `json:\"user_tags_removed_details,omitempty\"`\n\t// EmailIngestReceiveFileDetails : has no documentation (yet)\n\tEmailIngestReceiveFileDetails *EmailIngestReceiveFileDetails `json:\"email_ingest_receive_file_details,omitempty\"`\n\t// FileRequestChangeDetails : has no documentation (yet)\n\tFileRequestChangeDetails *FileRequestChangeDetails `json:\"file_request_change_details,omitempty\"`\n\t// FileRequestCloseDetails : has no documentation (yet)\n\tFileRequestCloseDetails *FileRequestCloseDetails `json:\"file_request_close_details,omitempty\"`\n\t// FileRequestCreateDetails : has no documentation (yet)\n\tFileRequestCreateDetails *FileRequestCreateDetails `json:\"file_request_create_details,omitempty\"`\n\t// FileRequestDeleteDetails : has no documentation (yet)\n\tFileRequestDeleteDetails *FileRequestDeleteDetails `json:\"file_request_delete_details,omitempty\"`\n\t// FileRequestReceiveFileDetails : has no documentation (yet)\n\tFileRequestReceiveFileDetails *FileRequestReceiveFileDetails `json:\"file_request_receive_file_details,omitempty\"`\n\t// GroupAddExternalIdDetails : has no documentation (yet)\n\tGroupAddExternalIdDetails *GroupAddExternalIdDetails `json:\"group_add_external_id_details,omitempty\"`\n\t// GroupAddMemberDetails : has no documentation (yet)\n\tGroupAddMemberDetails *GroupAddMemberDetails `json:\"group_add_member_details,omitempty\"`\n\t// GroupChangeExternalIdDetails : has no documentation (yet)\n\tGroupChangeExternalIdDetails *GroupChangeExternalIdDetails `json:\"group_change_external_id_details,omitempty\"`\n\t// GroupChangeManagementTypeDetails : has no documentation (yet)\n\tGroupChangeManagementTypeDetails *GroupChangeManagementTypeDetails `json:\"group_change_management_type_details,omitempty\"`\n\t// GroupChangeMemberRoleDetails : has no documentation (yet)\n\tGroupChangeMemberRoleDetails *GroupChangeMemberRoleDetails `json:\"group_change_member_role_details,omitempty\"`\n\t// GroupCreateDetails : has no documentation (yet)\n\tGroupCreateDetails *GroupCreateDetails `json:\"group_create_details,omitempty\"`\n\t// GroupDeleteDetails : has no documentation (yet)\n\tGroupDeleteDetails *GroupDeleteDetails `json:\"group_delete_details,omitempty\"`\n\t// GroupDescriptionUpdatedDetails : has no documentation (yet)\n\tGroupDescriptionUpdatedDetails *GroupDescriptionUpdatedDetails `json:\"group_description_updated_details,omitempty\"`\n\t// GroupJoinPolicyUpdatedDetails : has no documentation (yet)\n\tGroupJoinPolicyUpdatedDetails *GroupJoinPolicyUpdatedDetails `json:\"group_join_policy_updated_details,omitempty\"`\n\t// GroupMovedDetails : has no documentation (yet)\n\tGroupMovedDetails *GroupMovedDetails `json:\"group_moved_details,omitempty\"`\n\t// GroupRemoveExternalIdDetails : has no documentation (yet)\n\tGroupRemoveExternalIdDetails *GroupRemoveExternalIdDetails `json:\"group_remove_external_id_details,omitempty\"`\n\t// GroupRemoveMemberDetails : has no documentation (yet)\n\tGroupRemoveMemberDetails *GroupRemoveMemberDetails `json:\"group_remove_member_details,omitempty\"`\n\t// GroupRenameDetails : has no documentation (yet)\n\tGroupRenameDetails *GroupRenameDetails `json:\"group_rename_details,omitempty\"`\n\t// AccountLockOrUnlockedDetails : has no documentation (yet)\n\tAccountLockOrUnlockedDetails *AccountLockOrUnlockedDetails `json:\"account_lock_or_unlocked_details,omitempty\"`\n\t// EmmErrorDetails : has no documentation (yet)\n\tEmmErrorDetails *EmmErrorDetails `json:\"emm_error_details,omitempty\"`\n\t// GuestAdminSignedInViaTrustedTeamsDetails : has no documentation (yet)\n\tGuestAdminSignedInViaTrustedTeamsDetails *GuestAdminSignedInViaTrustedTeamsDetails `json:\"guest_admin_signed_in_via_trusted_teams_details,omitempty\"`\n\t// GuestAdminSignedOutViaTrustedTeamsDetails : has no documentation (yet)\n\tGuestAdminSignedOutViaTrustedTeamsDetails *GuestAdminSignedOutViaTrustedTeamsDetails `json:\"guest_admin_signed_out_via_trusted_teams_details,omitempty\"`\n\t// LoginFailDetails : has no documentation (yet)\n\tLoginFailDetails *LoginFailDetails `json:\"login_fail_details,omitempty\"`\n\t// LoginSuccessDetails : has no documentation (yet)\n\tLoginSuccessDetails *LoginSuccessDetails `json:\"login_success_details,omitempty\"`\n\t// LogoutDetails : has no documentation (yet)\n\tLogoutDetails *LogoutDetails `json:\"logout_details,omitempty\"`\n\t// ResellerSupportSessionEndDetails : has no documentation (yet)\n\tResellerSupportSessionEndDetails *ResellerSupportSessionEndDetails `json:\"reseller_support_session_end_details,omitempty\"`\n\t// ResellerSupportSessionStartDetails : has no documentation (yet)\n\tResellerSupportSessionStartDetails *ResellerSupportSessionStartDetails `json:\"reseller_support_session_start_details,omitempty\"`\n\t// SignInAsSessionEndDetails : has no documentation (yet)\n\tSignInAsSessionEndDetails *SignInAsSessionEndDetails `json:\"sign_in_as_session_end_details,omitempty\"`\n\t// SignInAsSessionStartDetails : has no documentation (yet)\n\tSignInAsSessionStartDetails *SignInAsSessionStartDetails `json:\"sign_in_as_session_start_details,omitempty\"`\n\t// SsoErrorDetails : has no documentation (yet)\n\tSsoErrorDetails *SsoErrorDetails `json:\"sso_error_details,omitempty\"`\n\t// CreateTeamInviteLinkDetails : has no documentation (yet)\n\tCreateTeamInviteLinkDetails *CreateTeamInviteLinkDetails `json:\"create_team_invite_link_details,omitempty\"`\n\t// DeleteTeamInviteLinkDetails : has no documentation (yet)\n\tDeleteTeamInviteLinkDetails *DeleteTeamInviteLinkDetails `json:\"delete_team_invite_link_details,omitempty\"`\n\t// MemberAddExternalIdDetails : has no documentation (yet)\n\tMemberAddExternalIdDetails *MemberAddExternalIdDetails `json:\"member_add_external_id_details,omitempty\"`\n\t// MemberAddNameDetails : has no documentation (yet)\n\tMemberAddNameDetails *MemberAddNameDetails `json:\"member_add_name_details,omitempty\"`\n\t// MemberChangeAdminRoleDetails : has no documentation (yet)\n\tMemberChangeAdminRoleDetails *MemberChangeAdminRoleDetails `json:\"member_change_admin_role_details,omitempty\"`\n\t// MemberChangeEmailDetails : has no documentation (yet)\n\tMemberChangeEmailDetails *MemberChangeEmailDetails `json:\"member_change_email_details,omitempty\"`\n\t// MemberChangeExternalIdDetails : has no documentation (yet)\n\tMemberChangeExternalIdDetails *MemberChangeExternalIdDetails `json:\"member_change_external_id_details,omitempty\"`\n\t// MemberChangeMembershipTypeDetails : has no documentation (yet)\n\tMemberChangeMembershipTypeDetails *MemberChangeMembershipTypeDetails `json:\"member_change_membership_type_details,omitempty\"`\n\t// MemberChangeNameDetails : has no documentation (yet)\n\tMemberChangeNameDetails *MemberChangeNameDetails `json:\"member_change_name_details,omitempty\"`\n\t// MemberChangeResellerRoleDetails : has no documentation (yet)\n\tMemberChangeResellerRoleDetails *MemberChangeResellerRoleDetails `json:\"member_change_reseller_role_details,omitempty\"`\n\t// MemberChangeStatusDetails : has no documentation (yet)\n\tMemberChangeStatusDetails *MemberChangeStatusDetails `json:\"member_change_status_details,omitempty\"`\n\t// MemberDeleteManualContactsDetails : has no documentation (yet)\n\tMemberDeleteManualContactsDetails *MemberDeleteManualContactsDetails `json:\"member_delete_manual_contacts_details,omitempty\"`\n\t// MemberDeleteProfilePhotoDetails : has no documentation (yet)\n\tMemberDeleteProfilePhotoDetails *MemberDeleteProfilePhotoDetails `json:\"member_delete_profile_photo_details,omitempty\"`\n\t// MemberPermanentlyDeleteAccountContentsDetails : has no documentation\n\t// (yet)\n\tMemberPermanentlyDeleteAccountContentsDetails *MemberPermanentlyDeleteAccountContentsDetails `json:\"member_permanently_delete_account_contents_details,omitempty\"`\n\t// MemberRemoveExternalIdDetails : has no documentation (yet)\n\tMemberRemoveExternalIdDetails *MemberRemoveExternalIdDetails `json:\"member_remove_external_id_details,omitempty\"`\n\t// MemberSetProfilePhotoDetails : has no documentation (yet)\n\tMemberSetProfilePhotoDetails *MemberSetProfilePhotoDetails `json:\"member_set_profile_photo_details,omitempty\"`\n\t// MemberSpaceLimitsAddCustomQuotaDetails : has no documentation (yet)\n\tMemberSpaceLimitsAddCustomQuotaDetails *MemberSpaceLimitsAddCustomQuotaDetails `json:\"member_space_limits_add_custom_quota_details,omitempty\"`\n\t// MemberSpaceLimitsChangeCustomQuotaDetails : has no documentation (yet)\n\tMemberSpaceLimitsChangeCustomQuotaDetails *MemberSpaceLimitsChangeCustomQuotaDetails `json:\"member_space_limits_change_custom_quota_details,omitempty\"`\n\t// MemberSpaceLimitsChangeStatusDetails : has no documentation (yet)\n\tMemberSpaceLimitsChangeStatusDetails *MemberSpaceLimitsChangeStatusDetails `json:\"member_space_limits_change_status_details,omitempty\"`\n\t// MemberSpaceLimitsRemoveCustomQuotaDetails : has no documentation (yet)\n\tMemberSpaceLimitsRemoveCustomQuotaDetails *MemberSpaceLimitsRemoveCustomQuotaDetails `json:\"member_space_limits_remove_custom_quota_details,omitempty\"`\n\t// MemberSuggestDetails : has no documentation (yet)\n\tMemberSuggestDetails *MemberSuggestDetails `json:\"member_suggest_details,omitempty\"`\n\t// MemberTransferAccountContentsDetails : has no documentation (yet)\n\tMemberTransferAccountContentsDetails *MemberTransferAccountContentsDetails `json:\"member_transfer_account_contents_details,omitempty\"`\n\t// PendingSecondaryEmailAddedDetails : has no documentation (yet)\n\tPendingSecondaryEmailAddedDetails *PendingSecondaryEmailAddedDetails `json:\"pending_secondary_email_added_details,omitempty\"`\n\t// SecondaryEmailDeletedDetails : has no documentation (yet)\n\tSecondaryEmailDeletedDetails *SecondaryEmailDeletedDetails `json:\"secondary_email_deleted_details,omitempty\"`\n\t// SecondaryEmailVerifiedDetails : has no documentation (yet)\n\tSecondaryEmailVerifiedDetails *SecondaryEmailVerifiedDetails `json:\"secondary_email_verified_details,omitempty\"`\n\t// SecondaryMailsPolicyChangedDetails : has no documentation (yet)\n\tSecondaryMailsPolicyChangedDetails *SecondaryMailsPolicyChangedDetails `json:\"secondary_mails_policy_changed_details,omitempty\"`\n\t// BinderAddPageDetails : has no documentation (yet)\n\tBinderAddPageDetails *BinderAddPageDetails `json:\"binder_add_page_details,omitempty\"`\n\t// BinderAddSectionDetails : has no documentation (yet)\n\tBinderAddSectionDetails *BinderAddSectionDetails `json:\"binder_add_section_details,omitempty\"`\n\t// BinderRemovePageDetails : has no documentation (yet)\n\tBinderRemovePageDetails *BinderRemovePageDetails `json:\"binder_remove_page_details,omitempty\"`\n\t// BinderRemoveSectionDetails : has no documentation (yet)\n\tBinderRemoveSectionDetails *BinderRemoveSectionDetails `json:\"binder_remove_section_details,omitempty\"`\n\t// BinderRenamePageDetails : has no documentation (yet)\n\tBinderRenamePageDetails *BinderRenamePageDetails `json:\"binder_rename_page_details,omitempty\"`\n\t// BinderRenameSectionDetails : has no documentation (yet)\n\tBinderRenameSectionDetails *BinderRenameSectionDetails `json:\"binder_rename_section_details,omitempty\"`\n\t// BinderReorderPageDetails : has no documentation (yet)\n\tBinderReorderPageDetails *BinderReorderPageDetails `json:\"binder_reorder_page_details,omitempty\"`\n\t// BinderReorderSectionDetails : has no documentation (yet)\n\tBinderReorderSectionDetails *BinderReorderSectionDetails `json:\"binder_reorder_section_details,omitempty\"`\n\t// PaperContentAddMemberDetails : has no documentation (yet)\n\tPaperContentAddMemberDetails *PaperContentAddMemberDetails `json:\"paper_content_add_member_details,omitempty\"`\n\t// PaperContentAddToFolderDetails : has no documentation (yet)\n\tPaperContentAddToFolderDetails *PaperContentAddToFolderDetails `json:\"paper_content_add_to_folder_details,omitempty\"`\n\t// PaperContentArchiveDetails : has no documentation (yet)\n\tPaperContentArchiveDetails *PaperContentArchiveDetails `json:\"paper_content_archive_details,omitempty\"`\n\t// PaperContentCreateDetails : has no documentation (yet)\n\tPaperContentCreateDetails *PaperContentCreateDetails `json:\"paper_content_create_details,omitempty\"`\n\t// PaperContentPermanentlyDeleteDetails : has no documentation (yet)\n\tPaperContentPermanentlyDeleteDetails *PaperContentPermanentlyDeleteDetails `json:\"paper_content_permanently_delete_details,omitempty\"`\n\t// PaperContentRemoveFromFolderDetails : has no documentation (yet)\n\tPaperContentRemoveFromFolderDetails *PaperContentRemoveFromFolderDetails `json:\"paper_content_remove_from_folder_details,omitempty\"`\n\t// PaperContentRemoveMemberDetails : has no documentation (yet)\n\tPaperContentRemoveMemberDetails *PaperContentRemoveMemberDetails `json:\"paper_content_remove_member_details,omitempty\"`\n\t// PaperContentRenameDetails : has no documentation (yet)\n\tPaperContentRenameDetails *PaperContentRenameDetails `json:\"paper_content_rename_details,omitempty\"`\n\t// PaperContentRestoreDetails : has no documentation (yet)\n\tPaperContentRestoreDetails *PaperContentRestoreDetails `json:\"paper_content_restore_details,omitempty\"`\n\t// PaperDocAddCommentDetails : has no documentation (yet)\n\tPaperDocAddCommentDetails *PaperDocAddCommentDetails `json:\"paper_doc_add_comment_details,omitempty\"`\n\t// PaperDocChangeMemberRoleDetails : has no documentation (yet)\n\tPaperDocChangeMemberRoleDetails *PaperDocChangeMemberRoleDetails `json:\"paper_doc_change_member_role_details,omitempty\"`\n\t// PaperDocChangeSharingPolicyDetails : has no documentation (yet)\n\tPaperDocChangeSharingPolicyDetails *PaperDocChangeSharingPolicyDetails `json:\"paper_doc_change_sharing_policy_details,omitempty\"`\n\t// PaperDocChangeSubscriptionDetails : has no documentation (yet)\n\tPaperDocChangeSubscriptionDetails *PaperDocChangeSubscriptionDetails `json:\"paper_doc_change_subscription_details,omitempty\"`\n\t// PaperDocDeletedDetails : has no documentation (yet)\n\tPaperDocDeletedDetails *PaperDocDeletedDetails `json:\"paper_doc_deleted_details,omitempty\"`\n\t// PaperDocDeleteCommentDetails : has no documentation (yet)\n\tPaperDocDeleteCommentDetails *PaperDocDeleteCommentDetails `json:\"paper_doc_delete_comment_details,omitempty\"`\n\t// PaperDocDownloadDetails : has no documentation (yet)\n\tPaperDocDownloadDetails *PaperDocDownloadDetails `json:\"paper_doc_download_details,omitempty\"`\n\t// PaperDocEditDetails : has no documentation (yet)\n\tPaperDocEditDetails *PaperDocEditDetails `json:\"paper_doc_edit_details,omitempty\"`\n\t// PaperDocEditCommentDetails : has no documentation (yet)\n\tPaperDocEditCommentDetails *PaperDocEditCommentDetails `json:\"paper_doc_edit_comment_details,omitempty\"`\n\t// PaperDocFollowedDetails : has no documentation (yet)\n\tPaperDocFollowedDetails *PaperDocFollowedDetails `json:\"paper_doc_followed_details,omitempty\"`\n\t// PaperDocMentionDetails : has no documentation (yet)\n\tPaperDocMentionDetails *PaperDocMentionDetails `json:\"paper_doc_mention_details,omitempty\"`\n\t// PaperDocOwnershipChangedDetails : has no documentation (yet)\n\tPaperDocOwnershipChangedDetails *PaperDocOwnershipChangedDetails `json:\"paper_doc_ownership_changed_details,omitempty\"`\n\t// PaperDocRequestAccessDetails : has no documentation (yet)\n\tPaperDocRequestAccessDetails *PaperDocRequestAccessDetails `json:\"paper_doc_request_access_details,omitempty\"`\n\t// PaperDocResolveCommentDetails : has no documentation (yet)\n\tPaperDocResolveCommentDetails *PaperDocResolveCommentDetails `json:\"paper_doc_resolve_comment_details,omitempty\"`\n\t// PaperDocRevertDetails : has no documentation (yet)\n\tPaperDocRevertDetails *PaperDocRevertDetails `json:\"paper_doc_revert_details,omitempty\"`\n\t// PaperDocSlackShareDetails : has no documentation (yet)\n\tPaperDocSlackShareDetails *PaperDocSlackShareDetails `json:\"paper_doc_slack_share_details,omitempty\"`\n\t// PaperDocTeamInviteDetails : has no documentation (yet)\n\tPaperDocTeamInviteDetails *PaperDocTeamInviteDetails `json:\"paper_doc_team_invite_details,omitempty\"`\n\t// PaperDocTrashedDetails : has no documentation (yet)\n\tPaperDocTrashedDetails *PaperDocTrashedDetails `json:\"paper_doc_trashed_details,omitempty\"`\n\t// PaperDocUnresolveCommentDetails : has no documentation (yet)\n\tPaperDocUnresolveCommentDetails *PaperDocUnresolveCommentDetails `json:\"paper_doc_unresolve_comment_details,omitempty\"`\n\t// PaperDocUntrashedDetails : has no documentation (yet)\n\tPaperDocUntrashedDetails *PaperDocUntrashedDetails `json:\"paper_doc_untrashed_details,omitempty\"`\n\t// PaperDocViewDetails : has no documentation (yet)\n\tPaperDocViewDetails *PaperDocViewDetails `json:\"paper_doc_view_details,omitempty\"`\n\t// PaperExternalViewAllowDetails : has no documentation (yet)\n\tPaperExternalViewAllowDetails *PaperExternalViewAllowDetails `json:\"paper_external_view_allow_details,omitempty\"`\n\t// PaperExternalViewDefaultTeamDetails : has no documentation (yet)\n\tPaperExternalViewDefaultTeamDetails *PaperExternalViewDefaultTeamDetails `json:\"paper_external_view_default_team_details,omitempty\"`\n\t// PaperExternalViewForbidDetails : has no documentation (yet)\n\tPaperExternalViewForbidDetails *PaperExternalViewForbidDetails `json:\"paper_external_view_forbid_details,omitempty\"`\n\t// PaperFolderChangeSubscriptionDetails : has no documentation (yet)\n\tPaperFolderChangeSubscriptionDetails *PaperFolderChangeSubscriptionDetails `json:\"paper_folder_change_subscription_details,omitempty\"`\n\t// PaperFolderDeletedDetails : has no documentation (yet)\n\tPaperFolderDeletedDetails *PaperFolderDeletedDetails `json:\"paper_folder_deleted_details,omitempty\"`\n\t// PaperFolderFollowedDetails : has no documentation (yet)\n\tPaperFolderFollowedDetails *PaperFolderFollowedDetails `json:\"paper_folder_followed_details,omitempty\"`\n\t// PaperFolderTeamInviteDetails : has no documentation (yet)\n\tPaperFolderTeamInviteDetails *PaperFolderTeamInviteDetails `json:\"paper_folder_team_invite_details,omitempty\"`\n\t// PaperPublishedLinkChangePermissionDetails : has no documentation (yet)\n\tPaperPublishedLinkChangePermissionDetails *PaperPublishedLinkChangePermissionDetails `json:\"paper_published_link_change_permission_details,omitempty\"`\n\t// PaperPublishedLinkCreateDetails : has no documentation (yet)\n\tPaperPublishedLinkCreateDetails *PaperPublishedLinkCreateDetails `json:\"paper_published_link_create_details,omitempty\"`\n\t// PaperPublishedLinkDisabledDetails : has no documentation (yet)\n\tPaperPublishedLinkDisabledDetails *PaperPublishedLinkDisabledDetails `json:\"paper_published_link_disabled_details,omitempty\"`\n\t// PaperPublishedLinkViewDetails : has no documentation (yet)\n\tPaperPublishedLinkViewDetails *PaperPublishedLinkViewDetails `json:\"paper_published_link_view_details,omitempty\"`\n\t// PasswordChangeDetails : has no documentation (yet)\n\tPasswordChangeDetails *PasswordChangeDetails `json:\"password_change_details,omitempty\"`\n\t// PasswordResetDetails : has no documentation (yet)\n\tPasswordResetDetails *PasswordResetDetails `json:\"password_reset_details,omitempty\"`\n\t// PasswordResetAllDetails : has no documentation (yet)\n\tPasswordResetAllDetails *PasswordResetAllDetails `json:\"password_reset_all_details,omitempty\"`\n\t// ClassificationCreateReportDetails : has no documentation (yet)\n\tClassificationCreateReportDetails *ClassificationCreateReportDetails `json:\"classification_create_report_details,omitempty\"`\n\t// ClassificationCreateReportFailDetails : has no documentation (yet)\n\tClassificationCreateReportFailDetails *ClassificationCreateReportFailDetails `json:\"classification_create_report_fail_details,omitempty\"`\n\t// EmmCreateExceptionsReportDetails : has no documentation (yet)\n\tEmmCreateExceptionsReportDetails *EmmCreateExceptionsReportDetails `json:\"emm_create_exceptions_report_details,omitempty\"`\n\t// EmmCreateUsageReportDetails : has no documentation (yet)\n\tEmmCreateUsageReportDetails *EmmCreateUsageReportDetails `json:\"emm_create_usage_report_details,omitempty\"`\n\t// ExportMembersReportDetails : has no documentation (yet)\n\tExportMembersReportDetails *ExportMembersReportDetails `json:\"export_members_report_details,omitempty\"`\n\t// ExportMembersReportFailDetails : has no documentation (yet)\n\tExportMembersReportFailDetails *ExportMembersReportFailDetails `json:\"export_members_report_fail_details,omitempty\"`\n\t// ExternalSharingCreateReportDetails : has no documentation (yet)\n\tExternalSharingCreateReportDetails *ExternalSharingCreateReportDetails `json:\"external_sharing_create_report_details,omitempty\"`\n\t// ExternalSharingReportFailedDetails : has no documentation (yet)\n\tExternalSharingReportFailedDetails *ExternalSharingReportFailedDetails `json:\"external_sharing_report_failed_details,omitempty\"`\n\t// NoExpirationLinkGenCreateReportDetails : has no documentation (yet)\n\tNoExpirationLinkGenCreateReportDetails *NoExpirationLinkGenCreateReportDetails `json:\"no_expiration_link_gen_create_report_details,omitempty\"`\n\t// NoExpirationLinkGenReportFailedDetails : has no documentation (yet)\n\tNoExpirationLinkGenReportFailedDetails *NoExpirationLinkGenReportFailedDetails `json:\"no_expiration_link_gen_report_failed_details,omitempty\"`\n\t// NoPasswordLinkGenCreateReportDetails : has no documentation (yet)\n\tNoPasswordLinkGenCreateReportDetails *NoPasswordLinkGenCreateReportDetails `json:\"no_password_link_gen_create_report_details,omitempty\"`\n\t// NoPasswordLinkGenReportFailedDetails : has no documentation (yet)\n\tNoPasswordLinkGenReportFailedDetails *NoPasswordLinkGenReportFailedDetails `json:\"no_password_link_gen_report_failed_details,omitempty\"`\n\t// NoPasswordLinkViewCreateReportDetails : has no documentation (yet)\n\tNoPasswordLinkViewCreateReportDetails *NoPasswordLinkViewCreateReportDetails `json:\"no_password_link_view_create_report_details,omitempty\"`\n\t// NoPasswordLinkViewReportFailedDetails : has no documentation (yet)\n\tNoPasswordLinkViewReportFailedDetails *NoPasswordLinkViewReportFailedDetails `json:\"no_password_link_view_report_failed_details,omitempty\"`\n\t// OutdatedLinkViewCreateReportDetails : has no documentation (yet)\n\tOutdatedLinkViewCreateReportDetails *OutdatedLinkViewCreateReportDetails `json:\"outdated_link_view_create_report_details,omitempty\"`\n\t// OutdatedLinkViewReportFailedDetails : has no documentation (yet)\n\tOutdatedLinkViewReportFailedDetails *OutdatedLinkViewReportFailedDetails `json:\"outdated_link_view_report_failed_details,omitempty\"`\n\t// PaperAdminExportStartDetails : has no documentation (yet)\n\tPaperAdminExportStartDetails *PaperAdminExportStartDetails `json:\"paper_admin_export_start_details,omitempty\"`\n\t// SmartSyncCreateAdminPrivilegeReportDetails : has no documentation (yet)\n\tSmartSyncCreateAdminPrivilegeReportDetails *SmartSyncCreateAdminPrivilegeReportDetails `json:\"smart_sync_create_admin_privilege_report_details,omitempty\"`\n\t// TeamActivityCreateReportDetails : has no documentation (yet)\n\tTeamActivityCreateReportDetails *TeamActivityCreateReportDetails `json:\"team_activity_create_report_details,omitempty\"`\n\t// TeamActivityCreateReportFailDetails : has no documentation (yet)\n\tTeamActivityCreateReportFailDetails *TeamActivityCreateReportFailDetails `json:\"team_activity_create_report_fail_details,omitempty\"`\n\t// CollectionShareDetails : has no documentation (yet)\n\tCollectionShareDetails *CollectionShareDetails `json:\"collection_share_details,omitempty\"`\n\t// FileTransfersFileAddDetails : has no documentation (yet)\n\tFileTransfersFileAddDetails *FileTransfersFileAddDetails `json:\"file_transfers_file_add_details,omitempty\"`\n\t// FileTransfersTransferDeleteDetails : has no documentation (yet)\n\tFileTransfersTransferDeleteDetails *FileTransfersTransferDeleteDetails `json:\"file_transfers_transfer_delete_details,omitempty\"`\n\t// FileTransfersTransferDownloadDetails : has no documentation (yet)\n\tFileTransfersTransferDownloadDetails *FileTransfersTransferDownloadDetails `json:\"file_transfers_transfer_download_details,omitempty\"`\n\t// FileTransfersTransferSendDetails : has no documentation (yet)\n\tFileTransfersTransferSendDetails *FileTransfersTransferSendDetails `json:\"file_transfers_transfer_send_details,omitempty\"`\n\t// FileTransfersTransferViewDetails : has no documentation (yet)\n\tFileTransfersTransferViewDetails *FileTransfersTransferViewDetails `json:\"file_transfers_transfer_view_details,omitempty\"`\n\t// NoteAclInviteOnlyDetails : has no documentation (yet)\n\tNoteAclInviteOnlyDetails *NoteAclInviteOnlyDetails `json:\"note_acl_invite_only_details,omitempty\"`\n\t// NoteAclLinkDetails : has no documentation (yet)\n\tNoteAclLinkDetails *NoteAclLinkDetails `json:\"note_acl_link_details,omitempty\"`\n\t// NoteAclTeamLinkDetails : has no documentation (yet)\n\tNoteAclTeamLinkDetails *NoteAclTeamLinkDetails `json:\"note_acl_team_link_details,omitempty\"`\n\t// NoteSharedDetails : has no documentation (yet)\n\tNoteSharedDetails *NoteSharedDetails `json:\"note_shared_details,omitempty\"`\n\t// NoteShareReceiveDetails : has no documentation (yet)\n\tNoteShareReceiveDetails *NoteShareReceiveDetails `json:\"note_share_receive_details,omitempty\"`\n\t// OpenNoteSharedDetails : has no documentation (yet)\n\tOpenNoteSharedDetails *OpenNoteSharedDetails `json:\"open_note_shared_details,omitempty\"`\n\t// SfAddGroupDetails : has no documentation (yet)\n\tSfAddGroupDetails *SfAddGroupDetails `json:\"sf_add_group_details,omitempty\"`\n\t// SfAllowNonMembersToViewSharedLinksDetails : has no documentation (yet)\n\tSfAllowNonMembersToViewSharedLinksDetails *SfAllowNonMembersToViewSharedLinksDetails `json:\"sf_allow_non_members_to_view_shared_links_details,omitempty\"`\n\t// SfExternalInviteWarnDetails : has no documentation (yet)\n\tSfExternalInviteWarnDetails *SfExternalInviteWarnDetails `json:\"sf_external_invite_warn_details,omitempty\"`\n\t// SfFbInviteDetails : has no documentation (yet)\n\tSfFbInviteDetails *SfFbInviteDetails `json:\"sf_fb_invite_details,omitempty\"`\n\t// SfFbInviteChangeRoleDetails : has no documentation (yet)\n\tSfFbInviteChangeRoleDetails *SfFbInviteChangeRoleDetails `json:\"sf_fb_invite_change_role_details,omitempty\"`\n\t// SfFbUninviteDetails : has no documentation (yet)\n\tSfFbUninviteDetails *SfFbUninviteDetails `json:\"sf_fb_uninvite_details,omitempty\"`\n\t// SfInviteGroupDetails : has no documentation (yet)\n\tSfInviteGroupDetails *SfInviteGroupDetails `json:\"sf_invite_group_details,omitempty\"`\n\t// SfTeamGrantAccessDetails : has no documentation (yet)\n\tSfTeamGrantAccessDetails *SfTeamGrantAccessDetails `json:\"sf_team_grant_access_details,omitempty\"`\n\t// SfTeamInviteDetails : has no documentation (yet)\n\tSfTeamInviteDetails *SfTeamInviteDetails `json:\"sf_team_invite_details,omitempty\"`\n\t// SfTeamInviteChangeRoleDetails : has no documentation (yet)\n\tSfTeamInviteChangeRoleDetails *SfTeamInviteChangeRoleDetails `json:\"sf_team_invite_change_role_details,omitempty\"`\n\t// SfTeamJoinDetails : has no documentation (yet)\n\tSfTeamJoinDetails *SfTeamJoinDetails `json:\"sf_team_join_details,omitempty\"`\n\t// SfTeamJoinFromOobLinkDetails : has no documentation (yet)\n\tSfTeamJoinFromOobLinkDetails *SfTeamJoinFromOobLinkDetails `json:\"sf_team_join_from_oob_link_details,omitempty\"`\n\t// SfTeamUninviteDetails : has no documentation (yet)\n\tSfTeamUninviteDetails *SfTeamUninviteDetails `json:\"sf_team_uninvite_details,omitempty\"`\n\t// SharedContentAddInviteesDetails : has no documentation (yet)\n\tSharedContentAddInviteesDetails *SharedContentAddInviteesDetails `json:\"shared_content_add_invitees_details,omitempty\"`\n\t// SharedContentAddLinkExpiryDetails : has no documentation (yet)\n\tSharedContentAddLinkExpiryDetails *SharedContentAddLinkExpiryDetails `json:\"shared_content_add_link_expiry_details,omitempty\"`\n\t// SharedContentAddLinkPasswordDetails : has no documentation (yet)\n\tSharedContentAddLinkPasswordDetails *SharedContentAddLinkPasswordDetails `json:\"shared_content_add_link_password_details,omitempty\"`\n\t// SharedContentAddMemberDetails : has no documentation (yet)\n\tSharedContentAddMemberDetails *SharedContentAddMemberDetails `json:\"shared_content_add_member_details,omitempty\"`\n\t// SharedContentChangeDownloadsPolicyDetails : has no documentation (yet)\n\tSharedContentChangeDownloadsPolicyDetails *SharedContentChangeDownloadsPolicyDetails `json:\"shared_content_change_downloads_policy_details,omitempty\"`\n\t// SharedContentChangeInviteeRoleDetails : has no documentation (yet)\n\tSharedContentChangeInviteeRoleDetails *SharedContentChangeInviteeRoleDetails `json:\"shared_content_change_invitee_role_details,omitempty\"`\n\t// SharedContentChangeLinkAudienceDetails : has no documentation (yet)\n\tSharedContentChangeLinkAudienceDetails *SharedContentChangeLinkAudienceDetails `json:\"shared_content_change_link_audience_details,omitempty\"`\n\t// SharedContentChangeLinkExpiryDetails : has no documentation (yet)\n\tSharedContentChangeLinkExpiryDetails *SharedContentChangeLinkExpiryDetails `json:\"shared_content_change_link_expiry_details,omitempty\"`\n\t// SharedContentChangeLinkPasswordDetails : has no documentation (yet)\n\tSharedContentChangeLinkPasswordDetails *SharedContentChangeLinkPasswordDetails `json:\"shared_content_change_link_password_details,omitempty\"`\n\t// SharedContentChangeMemberRoleDetails : has no documentation (yet)\n\tSharedContentChangeMemberRoleDetails *SharedContentChangeMemberRoleDetails `json:\"shared_content_change_member_role_details,omitempty\"`\n\t// SharedContentChangeViewerInfoPolicyDetails : has no documentation (yet)\n\tSharedContentChangeViewerInfoPolicyDetails *SharedContentChangeViewerInfoPolicyDetails `json:\"shared_content_change_viewer_info_policy_details,omitempty\"`\n\t// SharedContentClaimInvitationDetails : has no documentation (yet)\n\tSharedContentClaimInvitationDetails *SharedContentClaimInvitationDetails `json:\"shared_content_claim_invitation_details,omitempty\"`\n\t// SharedContentCopyDetails : has no documentation (yet)\n\tSharedContentCopyDetails *SharedContentCopyDetails `json:\"shared_content_copy_details,omitempty\"`\n\t// SharedContentDownloadDetails : has no documentation (yet)\n\tSharedContentDownloadDetails *SharedContentDownloadDetails `json:\"shared_content_download_details,omitempty\"`\n\t// SharedContentRelinquishMembershipDetails : has no documentation (yet)\n\tSharedContentRelinquishMembershipDetails *SharedContentRelinquishMembershipDetails `json:\"shared_content_relinquish_membership_details,omitempty\"`\n\t// SharedContentRemoveInviteesDetails : has no documentation (yet)\n\tSharedContentRemoveInviteesDetails *SharedContentRemoveInviteesDetails `json:\"shared_content_remove_invitees_details,omitempty\"`\n\t// SharedContentRemoveLinkExpiryDetails : has no documentation (yet)\n\tSharedContentRemoveLinkExpiryDetails *SharedContentRemoveLinkExpiryDetails `json:\"shared_content_remove_link_expiry_details,omitempty\"`\n\t// SharedContentRemoveLinkPasswordDetails : has no documentation (yet)\n\tSharedContentRemoveLinkPasswordDetails *SharedContentRemoveLinkPasswordDetails `json:\"shared_content_remove_link_password_details,omitempty\"`\n\t// SharedContentRemoveMemberDetails : has no documentation (yet)\n\tSharedContentRemoveMemberDetails *SharedContentRemoveMemberDetails `json:\"shared_content_remove_member_details,omitempty\"`\n\t// SharedContentRequestAccessDetails : has no documentation (yet)\n\tSharedContentRequestAccessDetails *SharedContentRequestAccessDetails `json:\"shared_content_request_access_details,omitempty\"`\n\t// SharedContentRestoreInviteesDetails : has no documentation (yet)\n\tSharedContentRestoreInviteesDetails *SharedContentRestoreInviteesDetails `json:\"shared_content_restore_invitees_details,omitempty\"`\n\t// SharedContentRestoreMemberDetails : has no documentation (yet)\n\tSharedContentRestoreMemberDetails *SharedContentRestoreMemberDetails `json:\"shared_content_restore_member_details,omitempty\"`\n\t// SharedContentUnshareDetails : has no documentation (yet)\n\tSharedContentUnshareDetails *SharedContentUnshareDetails `json:\"shared_content_unshare_details,omitempty\"`\n\t// SharedContentViewDetails : has no documentation (yet)\n\tSharedContentViewDetails *SharedContentViewDetails `json:\"shared_content_view_details,omitempty\"`\n\t// SharedFolderChangeLinkPolicyDetails : has no documentation (yet)\n\tSharedFolderChangeLinkPolicyDetails *SharedFolderChangeLinkPolicyDetails `json:\"shared_folder_change_link_policy_details,omitempty\"`\n\t// SharedFolderChangeMembersInheritancePolicyDetails : has no documentation\n\t// (yet)\n\tSharedFolderChangeMembersInheritancePolicyDetails *SharedFolderChangeMembersInheritancePolicyDetails `json:\"shared_folder_change_members_inheritance_policy_details,omitempty\"`\n\t// SharedFolderChangeMembersManagementPolicyDetails : has no documentation\n\t// (yet)\n\tSharedFolderChangeMembersManagementPolicyDetails *SharedFolderChangeMembersManagementPolicyDetails `json:\"shared_folder_change_members_management_policy_details,omitempty\"`\n\t// SharedFolderChangeMembersPolicyDetails : has no documentation (yet)\n\tSharedFolderChangeMembersPolicyDetails *SharedFolderChangeMembersPolicyDetails `json:\"shared_folder_change_members_policy_details,omitempty\"`\n\t// SharedFolderCreateDetails : has no documentation (yet)\n\tSharedFolderCreateDetails *SharedFolderCreateDetails `json:\"shared_folder_create_details,omitempty\"`\n\t// SharedFolderDeclineInvitationDetails : has no documentation (yet)\n\tSharedFolderDeclineInvitationDetails *SharedFolderDeclineInvitationDetails `json:\"shared_folder_decline_invitation_details,omitempty\"`\n\t// SharedFolderMountDetails : has no documentation (yet)\n\tSharedFolderMountDetails *SharedFolderMountDetails `json:\"shared_folder_mount_details,omitempty\"`\n\t// SharedFolderNestDetails : has no documentation (yet)\n\tSharedFolderNestDetails *SharedFolderNestDetails `json:\"shared_folder_nest_details,omitempty\"`\n\t// SharedFolderTransferOwnershipDetails : has no documentation (yet)\n\tSharedFolderTransferOwnershipDetails *SharedFolderTransferOwnershipDetails `json:\"shared_folder_transfer_ownership_details,omitempty\"`\n\t// SharedFolderUnmountDetails : has no documentation (yet)\n\tSharedFolderUnmountDetails *SharedFolderUnmountDetails `json:\"shared_folder_unmount_details,omitempty\"`\n\t// SharedLinkAddExpiryDetails : has no documentation (yet)\n\tSharedLinkAddExpiryDetails *SharedLinkAddExpiryDetails `json:\"shared_link_add_expiry_details,omitempty\"`\n\t// SharedLinkChangeExpiryDetails : has no documentation (yet)\n\tSharedLinkChangeExpiryDetails *SharedLinkChangeExpiryDetails `json:\"shared_link_change_expiry_details,omitempty\"`\n\t// SharedLinkChangeVisibilityDetails : has no documentation (yet)\n\tSharedLinkChangeVisibilityDetails *SharedLinkChangeVisibilityDetails `json:\"shared_link_change_visibility_details,omitempty\"`\n\t// SharedLinkCopyDetails : has no documentation (yet)\n\tSharedLinkCopyDetails *SharedLinkCopyDetails `json:\"shared_link_copy_details,omitempty\"`\n\t// SharedLinkCreateDetails : has no documentation (yet)\n\tSharedLinkCreateDetails *SharedLinkCreateDetails `json:\"shared_link_create_details,omitempty\"`\n\t// SharedLinkDisableDetails : has no documentation (yet)\n\tSharedLinkDisableDetails *SharedLinkDisableDetails `json:\"shared_link_disable_details,omitempty\"`\n\t// SharedLinkDownloadDetails : has no documentation (yet)\n\tSharedLinkDownloadDetails *SharedLinkDownloadDetails `json:\"shared_link_download_details,omitempty\"`\n\t// SharedLinkRemoveExpiryDetails : has no documentation (yet)\n\tSharedLinkRemoveExpiryDetails *SharedLinkRemoveExpiryDetails `json:\"shared_link_remove_expiry_details,omitempty\"`\n\t// SharedLinkSettingsAddExpirationDetails : has no documentation (yet)\n\tSharedLinkSettingsAddExpirationDetails *SharedLinkSettingsAddExpirationDetails `json:\"shared_link_settings_add_expiration_details,omitempty\"`\n\t// SharedLinkSettingsAddPasswordDetails : has no documentation (yet)\n\tSharedLinkSettingsAddPasswordDetails *SharedLinkSettingsAddPasswordDetails `json:\"shared_link_settings_add_password_details,omitempty\"`\n\t// SharedLinkSettingsAllowDownloadDisabledDetails : has no documentation\n\t// (yet)\n\tSharedLinkSettingsAllowDownloadDisabledDetails *SharedLinkSettingsAllowDownloadDisabledDetails `json:\"shared_link_settings_allow_download_disabled_details,omitempty\"`\n\t// SharedLinkSettingsAllowDownloadEnabledDetails : has no documentation\n\t// (yet)\n\tSharedLinkSettingsAllowDownloadEnabledDetails *SharedLinkSettingsAllowDownloadEnabledDetails `json:\"shared_link_settings_allow_download_enabled_details,omitempty\"`\n\t// SharedLinkSettingsChangeAudienceDetails : has no documentation (yet)\n\tSharedLinkSettingsChangeAudienceDetails *SharedLinkSettingsChangeAudienceDetails `json:\"shared_link_settings_change_audience_details,omitempty\"`\n\t// SharedLinkSettingsChangeExpirationDetails : has no documentation (yet)\n\tSharedLinkSettingsChangeExpirationDetails *SharedLinkSettingsChangeExpirationDetails `json:\"shared_link_settings_change_expiration_details,omitempty\"`\n\t// SharedLinkSettingsChangePasswordDetails : has no documentation (yet)\n\tSharedLinkSettingsChangePasswordDetails *SharedLinkSettingsChangePasswordDetails `json:\"shared_link_settings_change_password_details,omitempty\"`\n\t// SharedLinkSettingsRemoveExpirationDetails : has no documentation (yet)\n\tSharedLinkSettingsRemoveExpirationDetails *SharedLinkSettingsRemoveExpirationDetails `json:\"shared_link_settings_remove_expiration_details,omitempty\"`\n\t// SharedLinkSettingsRemovePasswordDetails : has no documentation (yet)\n\tSharedLinkSettingsRemovePasswordDetails *SharedLinkSettingsRemovePasswordDetails `json:\"shared_link_settings_remove_password_details,omitempty\"`\n\t// SharedLinkShareDetails : has no documentation (yet)\n\tSharedLinkShareDetails *SharedLinkShareDetails `json:\"shared_link_share_details,omitempty\"`\n\t// SharedLinkViewDetails : has no documentation (yet)\n\tSharedLinkViewDetails *SharedLinkViewDetails `json:\"shared_link_view_details,omitempty\"`\n\t// SharedNoteOpenedDetails : has no documentation (yet)\n\tSharedNoteOpenedDetails *SharedNoteOpenedDetails `json:\"shared_note_opened_details,omitempty\"`\n\t// ShmodelDisableDownloadsDetails : has no documentation (yet)\n\tShmodelDisableDownloadsDetails *ShmodelDisableDownloadsDetails `json:\"shmodel_disable_downloads_details,omitempty\"`\n\t// ShmodelEnableDownloadsDetails : has no documentation (yet)\n\tShmodelEnableDownloadsDetails *ShmodelEnableDownloadsDetails `json:\"shmodel_enable_downloads_details,omitempty\"`\n\t// ShmodelGroupShareDetails : has no documentation (yet)\n\tShmodelGroupShareDetails *ShmodelGroupShareDetails `json:\"shmodel_group_share_details,omitempty\"`\n\t// ShowcaseAccessGrantedDetails : has no documentation (yet)\n\tShowcaseAccessGrantedDetails *ShowcaseAccessGrantedDetails `json:\"showcase_access_granted_details,omitempty\"`\n\t// ShowcaseAddMemberDetails : has no documentation (yet)\n\tShowcaseAddMemberDetails *ShowcaseAddMemberDetails `json:\"showcase_add_member_details,omitempty\"`\n\t// ShowcaseArchivedDetails : has no documentation (yet)\n\tShowcaseArchivedDetails *ShowcaseArchivedDetails `json:\"showcase_archived_details,omitempty\"`\n\t// ShowcaseCreatedDetails : has no documentation (yet)\n\tShowcaseCreatedDetails *ShowcaseCreatedDetails `json:\"showcase_created_details,omitempty\"`\n\t// ShowcaseDeleteCommentDetails : has no documentation (yet)\n\tShowcaseDeleteCommentDetails *ShowcaseDeleteCommentDetails `json:\"showcase_delete_comment_details,omitempty\"`\n\t// ShowcaseEditedDetails : has no documentation (yet)\n\tShowcaseEditedDetails *ShowcaseEditedDetails `json:\"showcase_edited_details,omitempty\"`\n\t// ShowcaseEditCommentDetails : has no documentation (yet)\n\tShowcaseEditCommentDetails *ShowcaseEditCommentDetails `json:\"showcase_edit_comment_details,omitempty\"`\n\t// ShowcaseFileAddedDetails : has no documentation (yet)\n\tShowcaseFileAddedDetails *ShowcaseFileAddedDetails `json:\"showcase_file_added_details,omitempty\"`\n\t// ShowcaseFileDownloadDetails : has no documentation (yet)\n\tShowcaseFileDownloadDetails *ShowcaseFileDownloadDetails `json:\"showcase_file_download_details,omitempty\"`\n\t// ShowcaseFileRemovedDetails : has no documentation (yet)\n\tShowcaseFileRemovedDetails *ShowcaseFileRemovedDetails `json:\"showcase_file_removed_details,omitempty\"`\n\t// ShowcaseFileViewDetails : has no documentation (yet)\n\tShowcaseFileViewDetails *ShowcaseFileViewDetails `json:\"showcase_file_view_details,omitempty\"`\n\t// ShowcasePermanentlyDeletedDetails : has no documentation (yet)\n\tShowcasePermanentlyDeletedDetails *ShowcasePermanentlyDeletedDetails `json:\"showcase_permanently_deleted_details,omitempty\"`\n\t// ShowcasePostCommentDetails : has no documentation (yet)\n\tShowcasePostCommentDetails *ShowcasePostCommentDetails `json:\"showcase_post_comment_details,omitempty\"`\n\t// ShowcaseRemoveMemberDetails : has no documentation (yet)\n\tShowcaseRemoveMemberDetails *ShowcaseRemoveMemberDetails `json:\"showcase_remove_member_details,omitempty\"`\n\t// ShowcaseRenamedDetails : has no documentation (yet)\n\tShowcaseRenamedDetails *ShowcaseRenamedDetails `json:\"showcase_renamed_details,omitempty\"`\n\t// ShowcaseRequestAccessDetails : has no documentation (yet)\n\tShowcaseRequestAccessDetails *ShowcaseRequestAccessDetails `json:\"showcase_request_access_details,omitempty\"`\n\t// ShowcaseResolveCommentDetails : has no documentation (yet)\n\tShowcaseResolveCommentDetails *ShowcaseResolveCommentDetails `json:\"showcase_resolve_comment_details,omitempty\"`\n\t// ShowcaseRestoredDetails : has no documentation (yet)\n\tShowcaseRestoredDetails *ShowcaseRestoredDetails `json:\"showcase_restored_details,omitempty\"`\n\t// ShowcaseTrashedDetails : has no documentation (yet)\n\tShowcaseTrashedDetails *ShowcaseTrashedDetails `json:\"showcase_trashed_details,omitempty\"`\n\t// ShowcaseTrashedDeprecatedDetails : has no documentation (yet)\n\tShowcaseTrashedDeprecatedDetails *ShowcaseTrashedDeprecatedDetails `json:\"showcase_trashed_deprecated_details,omitempty\"`\n\t// ShowcaseUnresolveCommentDetails : has no documentation (yet)\n\tShowcaseUnresolveCommentDetails *ShowcaseUnresolveCommentDetails `json:\"showcase_unresolve_comment_details,omitempty\"`\n\t// ShowcaseUntrashedDetails : has no documentation (yet)\n\tShowcaseUntrashedDetails *ShowcaseUntrashedDetails `json:\"showcase_untrashed_details,omitempty\"`\n\t// ShowcaseUntrashedDeprecatedDetails : has no documentation (yet)\n\tShowcaseUntrashedDeprecatedDetails *ShowcaseUntrashedDeprecatedDetails `json:\"showcase_untrashed_deprecated_details,omitempty\"`\n\t// ShowcaseViewDetails : has no documentation (yet)\n\tShowcaseViewDetails *ShowcaseViewDetails `json:\"showcase_view_details,omitempty\"`\n\t// SsoAddCertDetails : has no documentation (yet)\n\tSsoAddCertDetails *SsoAddCertDetails `json:\"sso_add_cert_details,omitempty\"`\n\t// SsoAddLoginUrlDetails : has no documentation (yet)\n\tSsoAddLoginUrlDetails *SsoAddLoginUrlDetails `json:\"sso_add_login_url_details,omitempty\"`\n\t// SsoAddLogoutUrlDetails : has no documentation (yet)\n\tSsoAddLogoutUrlDetails *SsoAddLogoutUrlDetails `json:\"sso_add_logout_url_details,omitempty\"`\n\t// SsoChangeCertDetails : has no documentation (yet)\n\tSsoChangeCertDetails *SsoChangeCertDetails `json:\"sso_change_cert_details,omitempty\"`\n\t// SsoChangeLoginUrlDetails : has no documentation (yet)\n\tSsoChangeLoginUrlDetails *SsoChangeLoginUrlDetails `json:\"sso_change_login_url_details,omitempty\"`\n\t// SsoChangeLogoutUrlDetails : has no documentation (yet)\n\tSsoChangeLogoutUrlDetails *SsoChangeLogoutUrlDetails `json:\"sso_change_logout_url_details,omitempty\"`\n\t// SsoChangeSamlIdentityModeDetails : has no documentation (yet)\n\tSsoChangeSamlIdentityModeDetails *SsoChangeSamlIdentityModeDetails `json:\"sso_change_saml_identity_mode_details,omitempty\"`\n\t// SsoRemoveCertDetails : has no documentation (yet)\n\tSsoRemoveCertDetails *SsoRemoveCertDetails `json:\"sso_remove_cert_details,omitempty\"`\n\t// SsoRemoveLoginUrlDetails : has no documentation (yet)\n\tSsoRemoveLoginUrlDetails *SsoRemoveLoginUrlDetails `json:\"sso_remove_login_url_details,omitempty\"`\n\t// SsoRemoveLogoutUrlDetails : has no documentation (yet)\n\tSsoRemoveLogoutUrlDetails *SsoRemoveLogoutUrlDetails `json:\"sso_remove_logout_url_details,omitempty\"`\n\t// TeamFolderChangeStatusDetails : has no documentation (yet)\n\tTeamFolderChangeStatusDetails *TeamFolderChangeStatusDetails `json:\"team_folder_change_status_details,omitempty\"`\n\t// TeamFolderCreateDetails : has no documentation (yet)\n\tTeamFolderCreateDetails *TeamFolderCreateDetails `json:\"team_folder_create_details,omitempty\"`\n\t// TeamFolderDowngradeDetails : has no documentation (yet)\n\tTeamFolderDowngradeDetails *TeamFolderDowngradeDetails `json:\"team_folder_downgrade_details,omitempty\"`\n\t// TeamFolderPermanentlyDeleteDetails : has no documentation (yet)\n\tTeamFolderPermanentlyDeleteDetails *TeamFolderPermanentlyDeleteDetails `json:\"team_folder_permanently_delete_details,omitempty\"`\n\t// TeamFolderRenameDetails : has no documentation (yet)\n\tTeamFolderRenameDetails *TeamFolderRenameDetails `json:\"team_folder_rename_details,omitempty\"`\n\t// TeamSelectiveSyncSettingsChangedDetails : has no documentation (yet)\n\tTeamSelectiveSyncSettingsChangedDetails *TeamSelectiveSyncSettingsChangedDetails `json:\"team_selective_sync_settings_changed_details,omitempty\"`\n\t// AccountCaptureChangePolicyDetails : has no documentation (yet)\n\tAccountCaptureChangePolicyDetails *AccountCaptureChangePolicyDetails `json:\"account_capture_change_policy_details,omitempty\"`\n\t// AdminEmailRemindersChangedDetails : has no documentation (yet)\n\tAdminEmailRemindersChangedDetails *AdminEmailRemindersChangedDetails `json:\"admin_email_reminders_changed_details,omitempty\"`\n\t// AllowDownloadDisabledDetails : has no documentation (yet)\n\tAllowDownloadDisabledDetails *AllowDownloadDisabledDetails `json:\"allow_download_disabled_details,omitempty\"`\n\t// AllowDownloadEnabledDetails : has no documentation (yet)\n\tAllowDownloadEnabledDetails *AllowDownloadEnabledDetails `json:\"allow_download_enabled_details,omitempty\"`\n\t// AppPermissionsChangedDetails : has no documentation (yet)\n\tAppPermissionsChangedDetails *AppPermissionsChangedDetails `json:\"app_permissions_changed_details,omitempty\"`\n\t// CameraUploadsPolicyChangedDetails : has no documentation (yet)\n\tCameraUploadsPolicyChangedDetails *CameraUploadsPolicyChangedDetails `json:\"camera_uploads_policy_changed_details,omitempty\"`\n\t// CaptureTranscriptPolicyChangedDetails : has no documentation (yet)\n\tCaptureTranscriptPolicyChangedDetails *CaptureTranscriptPolicyChangedDetails `json:\"capture_transcript_policy_changed_details,omitempty\"`\n\t// ClassificationChangePolicyDetails : has no documentation (yet)\n\tClassificationChangePolicyDetails *ClassificationChangePolicyDetails `json:\"classification_change_policy_details,omitempty\"`\n\t// ComputerBackupPolicyChangedDetails : has no documentation (yet)\n\tComputerBackupPolicyChangedDetails *ComputerBackupPolicyChangedDetails `json:\"computer_backup_policy_changed_details,omitempty\"`\n\t// ContentAdministrationPolicyChangedDetails : has no documentation (yet)\n\tContentAdministrationPolicyChangedDetails *ContentAdministrationPolicyChangedDetails `json:\"content_administration_policy_changed_details,omitempty\"`\n\t// DataPlacementRestrictionChangePolicyDetails : has no documentation (yet)\n\tDataPlacementRestrictionChangePolicyDetails *DataPlacementRestrictionChangePolicyDetails `json:\"data_placement_restriction_change_policy_details,omitempty\"`\n\t// DataPlacementRestrictionSatisfyPolicyDetails : has no documentation (yet)\n\tDataPlacementRestrictionSatisfyPolicyDetails *DataPlacementRestrictionSatisfyPolicyDetails `json:\"data_placement_restriction_satisfy_policy_details,omitempty\"`\n\t// DeviceApprovalsAddExceptionDetails : has no documentation (yet)\n\tDeviceApprovalsAddExceptionDetails *DeviceApprovalsAddExceptionDetails `json:\"device_approvals_add_exception_details,omitempty\"`\n\t// DeviceApprovalsChangeDesktopPolicyDetails : has no documentation (yet)\n\tDeviceApprovalsChangeDesktopPolicyDetails *DeviceApprovalsChangeDesktopPolicyDetails `json:\"device_approvals_change_desktop_policy_details,omitempty\"`\n\t// DeviceApprovalsChangeMobilePolicyDetails : has no documentation (yet)\n\tDeviceApprovalsChangeMobilePolicyDetails *DeviceApprovalsChangeMobilePolicyDetails `json:\"device_approvals_change_mobile_policy_details,omitempty\"`\n\t// DeviceApprovalsChangeOverageActionDetails : has no documentation (yet)\n\tDeviceApprovalsChangeOverageActionDetails *DeviceApprovalsChangeOverageActionDetails `json:\"device_approvals_change_overage_action_details,omitempty\"`\n\t// DeviceApprovalsChangeUnlinkActionDetails : has no documentation (yet)\n\tDeviceApprovalsChangeUnlinkActionDetails *DeviceApprovalsChangeUnlinkActionDetails `json:\"device_approvals_change_unlink_action_details,omitempty\"`\n\t// DeviceApprovalsRemoveExceptionDetails : has no documentation (yet)\n\tDeviceApprovalsRemoveExceptionDetails *DeviceApprovalsRemoveExceptionDetails `json:\"device_approvals_remove_exception_details,omitempty\"`\n\t// DirectoryRestrictionsAddMembersDetails : has no documentation (yet)\n\tDirectoryRestrictionsAddMembersDetails *DirectoryRestrictionsAddMembersDetails `json:\"directory_restrictions_add_members_details,omitempty\"`\n\t// DirectoryRestrictionsRemoveMembersDetails : has no documentation (yet)\n\tDirectoryRestrictionsRemoveMembersDetails *DirectoryRestrictionsRemoveMembersDetails `json:\"directory_restrictions_remove_members_details,omitempty\"`\n\t// DropboxPasswordsPolicyChangedDetails : has no documentation (yet)\n\tDropboxPasswordsPolicyChangedDetails *DropboxPasswordsPolicyChangedDetails `json:\"dropbox_passwords_policy_changed_details,omitempty\"`\n\t// EmailIngestPolicyChangedDetails : has no documentation (yet)\n\tEmailIngestPolicyChangedDetails *EmailIngestPolicyChangedDetails `json:\"email_ingest_policy_changed_details,omitempty\"`\n\t// EmmAddExceptionDetails : has no documentation (yet)\n\tEmmAddExceptionDetails *EmmAddExceptionDetails `json:\"emm_add_exception_details,omitempty\"`\n\t// EmmChangePolicyDetails : has no documentation (yet)\n\tEmmChangePolicyDetails *EmmChangePolicyDetails `json:\"emm_change_policy_details,omitempty\"`\n\t// EmmRemoveExceptionDetails : has no documentation (yet)\n\tEmmRemoveExceptionDetails *EmmRemoveExceptionDetails `json:\"emm_remove_exception_details,omitempty\"`\n\t// ExtendedVersionHistoryChangePolicyDetails : has no documentation (yet)\n\tExtendedVersionHistoryChangePolicyDetails *ExtendedVersionHistoryChangePolicyDetails `json:\"extended_version_history_change_policy_details,omitempty\"`\n\t// ExternalDriveBackupPolicyChangedDetails : has no documentation (yet)\n\tExternalDriveBackupPolicyChangedDetails *ExternalDriveBackupPolicyChangedDetails `json:\"external_drive_backup_policy_changed_details,omitempty\"`\n\t// FileCommentsChangePolicyDetails : has no documentation (yet)\n\tFileCommentsChangePolicyDetails *FileCommentsChangePolicyDetails `json:\"file_comments_change_policy_details,omitempty\"`\n\t// FileLockingPolicyChangedDetails : has no documentation (yet)\n\tFileLockingPolicyChangedDetails *FileLockingPolicyChangedDetails `json:\"file_locking_policy_changed_details,omitempty\"`\n\t// FileProviderMigrationPolicyChangedDetails : has no documentation (yet)\n\tFileProviderMigrationPolicyChangedDetails *FileProviderMigrationPolicyChangedDetails `json:\"file_provider_migration_policy_changed_details,omitempty\"`\n\t// FileRequestsChangePolicyDetails : has no documentation (yet)\n\tFileRequestsChangePolicyDetails *FileRequestsChangePolicyDetails `json:\"file_requests_change_policy_details,omitempty\"`\n\t// FileRequestsEmailsEnabledDetails : has no documentation (yet)\n\tFileRequestsEmailsEnabledDetails *FileRequestsEmailsEnabledDetails `json:\"file_requests_emails_enabled_details,omitempty\"`\n\t// FileRequestsEmailsRestrictedToTeamOnlyDetails : has no documentation\n\t// (yet)\n\tFileRequestsEmailsRestrictedToTeamOnlyDetails *FileRequestsEmailsRestrictedToTeamOnlyDetails `json:\"file_requests_emails_restricted_to_team_only_details,omitempty\"`\n\t// FileTransfersPolicyChangedDetails : has no documentation (yet)\n\tFileTransfersPolicyChangedDetails *FileTransfersPolicyChangedDetails `json:\"file_transfers_policy_changed_details,omitempty\"`\n\t// GoogleSsoChangePolicyDetails : has no documentation (yet)\n\tGoogleSsoChangePolicyDetails *GoogleSsoChangePolicyDetails `json:\"google_sso_change_policy_details,omitempty\"`\n\t// GroupUserManagementChangePolicyDetails : has no documentation (yet)\n\tGroupUserManagementChangePolicyDetails *GroupUserManagementChangePolicyDetails `json:\"group_user_management_change_policy_details,omitempty\"`\n\t// IntegrationPolicyChangedDetails : has no documentation (yet)\n\tIntegrationPolicyChangedDetails *IntegrationPolicyChangedDetails `json:\"integration_policy_changed_details,omitempty\"`\n\t// InviteAcceptanceEmailPolicyChangedDetails : has no documentation (yet)\n\tInviteAcceptanceEmailPolicyChangedDetails *InviteAcceptanceEmailPolicyChangedDetails `json:\"invite_acceptance_email_policy_changed_details,omitempty\"`\n\t// MemberRequestsChangePolicyDetails : has no documentation (yet)\n\tMemberRequestsChangePolicyDetails *MemberRequestsChangePolicyDetails `json:\"member_requests_change_policy_details,omitempty\"`\n\t// MemberSendInvitePolicyChangedDetails : has no documentation (yet)\n\tMemberSendInvitePolicyChangedDetails *MemberSendInvitePolicyChangedDetails `json:\"member_send_invite_policy_changed_details,omitempty\"`\n\t// MemberSpaceLimitsAddExceptionDetails : has no documentation (yet)\n\tMemberSpaceLimitsAddExceptionDetails *MemberSpaceLimitsAddExceptionDetails `json:\"member_space_limits_add_exception_details,omitempty\"`\n\t// MemberSpaceLimitsChangeCapsTypePolicyDetails : has no documentation (yet)\n\tMemberSpaceLimitsChangeCapsTypePolicyDetails *MemberSpaceLimitsChangeCapsTypePolicyDetails `json:\"member_space_limits_change_caps_type_policy_details,omitempty\"`\n\t// MemberSpaceLimitsChangePolicyDetails : has no documentation (yet)\n\tMemberSpaceLimitsChangePolicyDetails *MemberSpaceLimitsChangePolicyDetails `json:\"member_space_limits_change_policy_details,omitempty\"`\n\t// MemberSpaceLimitsRemoveExceptionDetails : has no documentation (yet)\n\tMemberSpaceLimitsRemoveExceptionDetails *MemberSpaceLimitsRemoveExceptionDetails `json:\"member_space_limits_remove_exception_details,omitempty\"`\n\t// MemberSuggestionsChangePolicyDetails : has no documentation (yet)\n\tMemberSuggestionsChangePolicyDetails *MemberSuggestionsChangePolicyDetails `json:\"member_suggestions_change_policy_details,omitempty\"`\n\t// MicrosoftOfficeAddinChangePolicyDetails : has no documentation (yet)\n\tMicrosoftOfficeAddinChangePolicyDetails *MicrosoftOfficeAddinChangePolicyDetails `json:\"microsoft_office_addin_change_policy_details,omitempty\"`\n\t// NetworkControlChangePolicyDetails : has no documentation (yet)\n\tNetworkControlChangePolicyDetails *NetworkControlChangePolicyDetails `json:\"network_control_change_policy_details,omitempty\"`\n\t// PaperChangeDeploymentPolicyDetails : has no documentation (yet)\n\tPaperChangeDeploymentPolicyDetails *PaperChangeDeploymentPolicyDetails `json:\"paper_change_deployment_policy_details,omitempty\"`\n\t// PaperChangeMemberLinkPolicyDetails : has no documentation (yet)\n\tPaperChangeMemberLinkPolicyDetails *PaperChangeMemberLinkPolicyDetails `json:\"paper_change_member_link_policy_details,omitempty\"`\n\t// PaperChangeMemberPolicyDetails : has no documentation (yet)\n\tPaperChangeMemberPolicyDetails *PaperChangeMemberPolicyDetails `json:\"paper_change_member_policy_details,omitempty\"`\n\t// PaperChangePolicyDetails : has no documentation (yet)\n\tPaperChangePolicyDetails *PaperChangePolicyDetails `json:\"paper_change_policy_details,omitempty\"`\n\t// PaperDefaultFolderPolicyChangedDetails : has no documentation (yet)\n\tPaperDefaultFolderPolicyChangedDetails *PaperDefaultFolderPolicyChangedDetails `json:\"paper_default_folder_policy_changed_details,omitempty\"`\n\t// PaperDesktopPolicyChangedDetails : has no documentation (yet)\n\tPaperDesktopPolicyChangedDetails *PaperDesktopPolicyChangedDetails `json:\"paper_desktop_policy_changed_details,omitempty\"`\n\t// PaperEnabledUsersGroupAdditionDetails : has no documentation (yet)\n\tPaperEnabledUsersGroupAdditionDetails *PaperEnabledUsersGroupAdditionDetails `json:\"paper_enabled_users_group_addition_details,omitempty\"`\n\t// PaperEnabledUsersGroupRemovalDetails : has no documentation (yet)\n\tPaperEnabledUsersGroupRemovalDetails *PaperEnabledUsersGroupRemovalDetails `json:\"paper_enabled_users_group_removal_details,omitempty\"`\n\t// PasswordStrengthRequirementsChangePolicyDetails : has no documentation\n\t// (yet)\n\tPasswordStrengthRequirementsChangePolicyDetails *PasswordStrengthRequirementsChangePolicyDetails `json:\"password_strength_requirements_change_policy_details,omitempty\"`\n\t// PermanentDeleteChangePolicyDetails : has no documentation (yet)\n\tPermanentDeleteChangePolicyDetails *PermanentDeleteChangePolicyDetails `json:\"permanent_delete_change_policy_details,omitempty\"`\n\t// ResellerSupportChangePolicyDetails : has no documentation (yet)\n\tResellerSupportChangePolicyDetails *ResellerSupportChangePolicyDetails `json:\"reseller_support_change_policy_details,omitempty\"`\n\t// RewindPolicyChangedDetails : has no documentation (yet)\n\tRewindPolicyChangedDetails *RewindPolicyChangedDetails `json:\"rewind_policy_changed_details,omitempty\"`\n\t// SendForSignaturePolicyChangedDetails : has no documentation (yet)\n\tSendForSignaturePolicyChangedDetails *SendForSignaturePolicyChangedDetails `json:\"send_for_signature_policy_changed_details,omitempty\"`\n\t// SharingChangeFolderJoinPolicyDetails : has no documentation (yet)\n\tSharingChangeFolderJoinPolicyDetails *SharingChangeFolderJoinPolicyDetails `json:\"sharing_change_folder_join_policy_details,omitempty\"`\n\t// SharingChangeLinkAllowChangeExpirationPolicyDetails : has no\n\t// documentation (yet)\n\tSharingChangeLinkAllowChangeExpirationPolicyDetails *SharingChangeLinkAllowChangeExpirationPolicyDetails `json:\"sharing_change_link_allow_change_expiration_policy_details,omitempty\"`\n\t// SharingChangeLinkDefaultExpirationPolicyDetails : has no documentation\n\t// (yet)\n\tSharingChangeLinkDefaultExpirationPolicyDetails *SharingChangeLinkDefaultExpirationPolicyDetails `json:\"sharing_change_link_default_expiration_policy_details,omitempty\"`\n\t// SharingChangeLinkEnforcePasswordPolicyDetails : has no documentation\n\t// (yet)\n\tSharingChangeLinkEnforcePasswordPolicyDetails *SharingChangeLinkEnforcePasswordPolicyDetails `json:\"sharing_change_link_enforce_password_policy_details,omitempty\"`\n\t// SharingChangeLinkPolicyDetails : has no documentation (yet)\n\tSharingChangeLinkPolicyDetails *SharingChangeLinkPolicyDetails `json:\"sharing_change_link_policy_details,omitempty\"`\n\t// SharingChangeMemberPolicyDetails : has no documentation (yet)\n\tSharingChangeMemberPolicyDetails *SharingChangeMemberPolicyDetails `json:\"sharing_change_member_policy_details,omitempty\"`\n\t// ShowcaseChangeDownloadPolicyDetails : has no documentation (yet)\n\tShowcaseChangeDownloadPolicyDetails *ShowcaseChangeDownloadPolicyDetails `json:\"showcase_change_download_policy_details,omitempty\"`\n\t// ShowcaseChangeEnabledPolicyDetails : has no documentation (yet)\n\tShowcaseChangeEnabledPolicyDetails *ShowcaseChangeEnabledPolicyDetails `json:\"showcase_change_enabled_policy_details,omitempty\"`\n\t// ShowcaseChangeExternalSharingPolicyDetails : has no documentation (yet)\n\tShowcaseChangeExternalSharingPolicyDetails *ShowcaseChangeExternalSharingPolicyDetails `json:\"showcase_change_external_sharing_policy_details,omitempty\"`\n\t// SmarterSmartSyncPolicyChangedDetails : has no documentation (yet)\n\tSmarterSmartSyncPolicyChangedDetails *SmarterSmartSyncPolicyChangedDetails `json:\"smarter_smart_sync_policy_changed_details,omitempty\"`\n\t// SmartSyncChangePolicyDetails : has no documentation (yet)\n\tSmartSyncChangePolicyDetails *SmartSyncChangePolicyDetails `json:\"smart_sync_change_policy_details,omitempty\"`\n\t// SmartSyncNotOptOutDetails : has no documentation (yet)\n\tSmartSyncNotOptOutDetails *SmartSyncNotOptOutDetails `json:\"smart_sync_not_opt_out_details,omitempty\"`\n\t// SmartSyncOptOutDetails : has no documentation (yet)\n\tSmartSyncOptOutDetails *SmartSyncOptOutDetails `json:\"smart_sync_opt_out_details,omitempty\"`\n\t// SsoChangePolicyDetails : has no documentation (yet)\n\tSsoChangePolicyDetails *SsoChangePolicyDetails `json:\"sso_change_policy_details,omitempty\"`\n\t// TeamBrandingPolicyChangedDetails : has no documentation (yet)\n\tTeamBrandingPolicyChangedDetails *TeamBrandingPolicyChangedDetails `json:\"team_branding_policy_changed_details,omitempty\"`\n\t// TeamExtensionsPolicyChangedDetails : has no documentation (yet)\n\tTeamExtensionsPolicyChangedDetails *TeamExtensionsPolicyChangedDetails `json:\"team_extensions_policy_changed_details,omitempty\"`\n\t// TeamSelectiveSyncPolicyChangedDetails : has no documentation (yet)\n\tTeamSelectiveSyncPolicyChangedDetails *TeamSelectiveSyncPolicyChangedDetails `json:\"team_selective_sync_policy_changed_details,omitempty\"`\n\t// TeamSharingWhitelistSubjectsChangedDetails : has no documentation (yet)\n\tTeamSharingWhitelistSubjectsChangedDetails *TeamSharingWhitelistSubjectsChangedDetails `json:\"team_sharing_whitelist_subjects_changed_details,omitempty\"`\n\t// TfaAddExceptionDetails : has no documentation (yet)\n\tTfaAddExceptionDetails *TfaAddExceptionDetails `json:\"tfa_add_exception_details,omitempty\"`\n\t// TfaChangePolicyDetails : has no documentation (yet)\n\tTfaChangePolicyDetails *TfaChangePolicyDetails `json:\"tfa_change_policy_details,omitempty\"`\n\t// TfaRemoveExceptionDetails : has no documentation (yet)\n\tTfaRemoveExceptionDetails *TfaRemoveExceptionDetails `json:\"tfa_remove_exception_details,omitempty\"`\n\t// TwoAccountChangePolicyDetails : has no documentation (yet)\n\tTwoAccountChangePolicyDetails *TwoAccountChangePolicyDetails `json:\"two_account_change_policy_details,omitempty\"`\n\t// ViewerInfoPolicyChangedDetails : has no documentation (yet)\n\tViewerInfoPolicyChangedDetails *ViewerInfoPolicyChangedDetails `json:\"viewer_info_policy_changed_details,omitempty\"`\n\t// WatermarkingPolicyChangedDetails : has no documentation (yet)\n\tWatermarkingPolicyChangedDetails *WatermarkingPolicyChangedDetails `json:\"watermarking_policy_changed_details,omitempty\"`\n\t// WebSessionsChangeActiveSessionLimitDetails : has no documentation (yet)\n\tWebSessionsChangeActiveSessionLimitDetails *WebSessionsChangeActiveSessionLimitDetails `json:\"web_sessions_change_active_session_limit_details,omitempty\"`\n\t// WebSessionsChangeFixedLengthPolicyDetails : has no documentation (yet)\n\tWebSessionsChangeFixedLengthPolicyDetails *WebSessionsChangeFixedLengthPolicyDetails `json:\"web_sessions_change_fixed_length_policy_details,omitempty\"`\n\t// WebSessionsChangeIdleLengthPolicyDetails : has no documentation (yet)\n\tWebSessionsChangeIdleLengthPolicyDetails *WebSessionsChangeIdleLengthPolicyDetails `json:\"web_sessions_change_idle_length_policy_details,omitempty\"`\n\t// DataResidencyMigrationRequestSuccessfulDetails : has no documentation\n\t// (yet)\n\tDataResidencyMigrationRequestSuccessfulDetails *DataResidencyMigrationRequestSuccessfulDetails `json:\"data_residency_migration_request_successful_details,omitempty\"`\n\t// DataResidencyMigrationRequestUnsuccessfulDetails : has no documentation\n\t// (yet)\n\tDataResidencyMigrationRequestUnsuccessfulDetails *DataResidencyMigrationRequestUnsuccessfulDetails `json:\"data_residency_migration_request_unsuccessful_details,omitempty\"`\n\t// TeamMergeFromDetails : has no documentation (yet)\n\tTeamMergeFromDetails *TeamMergeFromDetails `json:\"team_merge_from_details,omitempty\"`\n\t// TeamMergeToDetails : has no documentation (yet)\n\tTeamMergeToDetails *TeamMergeToDetails `json:\"team_merge_to_details,omitempty\"`\n\t// TeamProfileAddBackgroundDetails : has no documentation (yet)\n\tTeamProfileAddBackgroundDetails *TeamProfileAddBackgroundDetails `json:\"team_profile_add_background_details,omitempty\"`\n\t// TeamProfileAddLogoDetails : has no documentation (yet)\n\tTeamProfileAddLogoDetails *TeamProfileAddLogoDetails `json:\"team_profile_add_logo_details,omitempty\"`\n\t// TeamProfileChangeBackgroundDetails : has no documentation (yet)\n\tTeamProfileChangeBackgroundDetails *TeamProfileChangeBackgroundDetails `json:\"team_profile_change_background_details,omitempty\"`\n\t// TeamProfileChangeDefaultLanguageDetails : has no documentation (yet)\n\tTeamProfileChangeDefaultLanguageDetails *TeamProfileChangeDefaultLanguageDetails `json:\"team_profile_change_default_language_details,omitempty\"`\n\t// TeamProfileChangeLogoDetails : has no documentation (yet)\n\tTeamProfileChangeLogoDetails *TeamProfileChangeLogoDetails `json:\"team_profile_change_logo_details,omitempty\"`\n\t// TeamProfileChangeNameDetails : has no documentation (yet)\n\tTeamProfileChangeNameDetails *TeamProfileChangeNameDetails `json:\"team_profile_change_name_details,omitempty\"`\n\t// TeamProfileRemoveBackgroundDetails : has no documentation (yet)\n\tTeamProfileRemoveBackgroundDetails *TeamProfileRemoveBackgroundDetails `json:\"team_profile_remove_background_details,omitempty\"`\n\t// TeamProfileRemoveLogoDetails : has no documentation (yet)\n\tTeamProfileRemoveLogoDetails *TeamProfileRemoveLogoDetails `json:\"team_profile_remove_logo_details,omitempty\"`\n\t// TfaAddBackupPhoneDetails : has no documentation (yet)\n\tTfaAddBackupPhoneDetails *TfaAddBackupPhoneDetails `json:\"tfa_add_backup_phone_details,omitempty\"`\n\t// TfaAddSecurityKeyDetails : has no documentation (yet)\n\tTfaAddSecurityKeyDetails *TfaAddSecurityKeyDetails `json:\"tfa_add_security_key_details,omitempty\"`\n\t// TfaChangeBackupPhoneDetails : has no documentation (yet)\n\tTfaChangeBackupPhoneDetails *TfaChangeBackupPhoneDetails `json:\"tfa_change_backup_phone_details,omitempty\"`\n\t// TfaChangeStatusDetails : has no documentation (yet)\n\tTfaChangeStatusDetails *TfaChangeStatusDetails `json:\"tfa_change_status_details,omitempty\"`\n\t// TfaRemoveBackupPhoneDetails : has no documentation (yet)\n\tTfaRemoveBackupPhoneDetails *TfaRemoveBackupPhoneDetails `json:\"tfa_remove_backup_phone_details,omitempty\"`\n\t// TfaRemoveSecurityKeyDetails : has no documentation (yet)\n\tTfaRemoveSecurityKeyDetails *TfaRemoveSecurityKeyDetails `json:\"tfa_remove_security_key_details,omitempty\"`\n\t// TfaResetDetails : has no documentation (yet)\n\tTfaResetDetails *TfaResetDetails `json:\"tfa_reset_details,omitempty\"`\n\t// ChangedEnterpriseAdminRoleDetails : has no documentation (yet)\n\tChangedEnterpriseAdminRoleDetails *ChangedEnterpriseAdminRoleDetails `json:\"changed_enterprise_admin_role_details,omitempty\"`\n\t// ChangedEnterpriseConnectedTeamStatusDetails : has no documentation (yet)\n\tChangedEnterpriseConnectedTeamStatusDetails *ChangedEnterpriseConnectedTeamStatusDetails `json:\"changed_enterprise_connected_team_status_details,omitempty\"`\n\t// EndedEnterpriseAdminSessionDetails : has no documentation (yet)\n\tEndedEnterpriseAdminSessionDetails *EndedEnterpriseAdminSessionDetails `json:\"ended_enterprise_admin_session_details,omitempty\"`\n\t// EndedEnterpriseAdminSessionDeprecatedDetails : has no documentation (yet)\n\tEndedEnterpriseAdminSessionDeprecatedDetails *EndedEnterpriseAdminSessionDeprecatedDetails `json:\"ended_enterprise_admin_session_deprecated_details,omitempty\"`\n\t// EnterpriseSettingsLockingDetails : has no documentation (yet)\n\tEnterpriseSettingsLockingDetails *EnterpriseSettingsLockingDetails `json:\"enterprise_settings_locking_details,omitempty\"`\n\t// GuestAdminChangeStatusDetails : has no documentation (yet)\n\tGuestAdminChangeStatusDetails *GuestAdminChangeStatusDetails `json:\"guest_admin_change_status_details,omitempty\"`\n\t// StartedEnterpriseAdminSessionDetails : has no documentation (yet)\n\tStartedEnterpriseAdminSessionDetails *StartedEnterpriseAdminSessionDetails `json:\"started_enterprise_admin_session_details,omitempty\"`\n\t// TeamMergeRequestAcceptedDetails : has no documentation (yet)\n\tTeamMergeRequestAcceptedDetails *TeamMergeRequestAcceptedDetails `json:\"team_merge_request_accepted_details,omitempty\"`\n\t// TeamMergeRequestAcceptedShownToPrimaryTeamDetails : has no documentation\n\t// (yet)\n\tTeamMergeRequestAcceptedShownToPrimaryTeamDetails *TeamMergeRequestAcceptedShownToPrimaryTeamDetails `json:\"team_merge_request_accepted_shown_to_primary_team_details,omitempty\"`\n\t// TeamMergeRequestAcceptedShownToSecondaryTeamDetails : has no\n\t// documentation (yet)\n\tTeamMergeRequestAcceptedShownToSecondaryTeamDetails *TeamMergeRequestAcceptedShownToSecondaryTeamDetails `json:\"team_merge_request_accepted_shown_to_secondary_team_details,omitempty\"`\n\t// TeamMergeRequestAutoCanceledDetails : has no documentation (yet)\n\tTeamMergeRequestAutoCanceledDetails *TeamMergeRequestAutoCanceledDetails `json:\"team_merge_request_auto_canceled_details,omitempty\"`\n\t// TeamMergeRequestCanceledDetails : has no documentation (yet)\n\tTeamMergeRequestCanceledDetails *TeamMergeRequestCanceledDetails `json:\"team_merge_request_canceled_details,omitempty\"`\n\t// TeamMergeRequestCanceledShownToPrimaryTeamDetails : has no documentation\n\t// (yet)\n\tTeamMergeRequestCanceledShownToPrimaryTeamDetails *TeamMergeRequestCanceledShownToPrimaryTeamDetails `json:\"team_merge_request_canceled_shown_to_primary_team_details,omitempty\"`\n\t// TeamMergeRequestCanceledShownToSecondaryTeamDetails : has no\n\t// documentation (yet)\n\tTeamMergeRequestCanceledShownToSecondaryTeamDetails *TeamMergeRequestCanceledShownToSecondaryTeamDetails `json:\"team_merge_request_canceled_shown_to_secondary_team_details,omitempty\"`\n\t// TeamMergeRequestExpiredDetails : has no documentation (yet)\n\tTeamMergeRequestExpiredDetails *TeamMergeRequestExpiredDetails `json:\"team_merge_request_expired_details,omitempty\"`\n\t// TeamMergeRequestExpiredShownToPrimaryTeamDetails : has no documentation\n\t// (yet)\n\tTeamMergeRequestExpiredShownToPrimaryTeamDetails *TeamMergeRequestExpiredShownToPrimaryTeamDetails `json:\"team_merge_request_expired_shown_to_primary_team_details,omitempty\"`\n\t// TeamMergeRequestExpiredShownToSecondaryTeamDetails : has no documentation\n\t// (yet)\n\tTeamMergeRequestExpiredShownToSecondaryTeamDetails *TeamMergeRequestExpiredShownToSecondaryTeamDetails `json:\"team_merge_request_expired_shown_to_secondary_team_details,omitempty\"`\n\t// TeamMergeRequestRejectedShownToPrimaryTeamDetails : has no documentation\n\t// (yet)\n\tTeamMergeRequestRejectedShownToPrimaryTeamDetails *TeamMergeRequestRejectedShownToPrimaryTeamDetails `json:\"team_merge_request_rejected_shown_to_primary_team_details,omitempty\"`\n\t// TeamMergeRequestRejectedShownToSecondaryTeamDetails : has no\n\t// documentation (yet)\n\tTeamMergeRequestRejectedShownToSecondaryTeamDetails *TeamMergeRequestRejectedShownToSecondaryTeamDetails `json:\"team_merge_request_rejected_shown_to_secondary_team_details,omitempty\"`\n\t// TeamMergeRequestReminderDetails : has no documentation (yet)\n\tTeamMergeRequestReminderDetails *TeamMergeRequestReminderDetails `json:\"team_merge_request_reminder_details,omitempty\"`\n\t// TeamMergeRequestReminderShownToPrimaryTeamDetails : has no documentation\n\t// (yet)\n\tTeamMergeRequestReminderShownToPrimaryTeamDetails *TeamMergeRequestReminderShownToPrimaryTeamDetails `json:\"team_merge_request_reminder_shown_to_primary_team_details,omitempty\"`\n\t// TeamMergeRequestReminderShownToSecondaryTeamDetails : has no\n\t// documentation (yet)\n\tTeamMergeRequestReminderShownToSecondaryTeamDetails *TeamMergeRequestReminderShownToSecondaryTeamDetails `json:\"team_merge_request_reminder_shown_to_secondary_team_details,omitempty\"`\n\t// TeamMergeRequestRevokedDetails : has no documentation (yet)\n\tTeamMergeRequestRevokedDetails *TeamMergeRequestRevokedDetails `json:\"team_merge_request_revoked_details,omitempty\"`\n\t// TeamMergeRequestSentShownToPrimaryTeamDetails : has no documentation\n\t// (yet)\n\tTeamMergeRequestSentShownToPrimaryTeamDetails *TeamMergeRequestSentShownToPrimaryTeamDetails `json:\"team_merge_request_sent_shown_to_primary_team_details,omitempty\"`\n\t// TeamMergeRequestSentShownToSecondaryTeamDetails : has no documentation\n\t// (yet)\n\tTeamMergeRequestSentShownToSecondaryTeamDetails *TeamMergeRequestSentShownToSecondaryTeamDetails `json:\"team_merge_request_sent_shown_to_secondary_team_details,omitempty\"`\n\t// MissingDetails : Hints that this event was returned with missing details\n\t// due to an internal error.\n\tMissingDetails *MissingDetails `json:\"missing_details,omitempty\"`\n}\n\n// Valid tag values for EventDetails\nconst (\n\tEventDetailsAdminAlertingAlertStateChangedDetails               = \"admin_alerting_alert_state_changed_details\"\n\tEventDetailsAdminAlertingChangedAlertConfigDetails              = \"admin_alerting_changed_alert_config_details\"\n\tEventDetailsAdminAlertingTriggeredAlertDetails                  = \"admin_alerting_triggered_alert_details\"\n\tEventDetailsAppBlockedByPermissionsDetails                      = \"app_blocked_by_permissions_details\"\n\tEventDetailsAppLinkTeamDetails                                  = \"app_link_team_details\"\n\tEventDetailsAppLinkUserDetails                                  = \"app_link_user_details\"\n\tEventDetailsAppUnlinkTeamDetails                                = \"app_unlink_team_details\"\n\tEventDetailsAppUnlinkUserDetails                                = \"app_unlink_user_details\"\n\tEventDetailsIntegrationConnectedDetails                         = \"integration_connected_details\"\n\tEventDetailsIntegrationDisconnectedDetails                      = \"integration_disconnected_details\"\n\tEventDetailsFileAddCommentDetails                               = \"file_add_comment_details\"\n\tEventDetailsFileChangeCommentSubscriptionDetails                = \"file_change_comment_subscription_details\"\n\tEventDetailsFileDeleteCommentDetails                            = \"file_delete_comment_details\"\n\tEventDetailsFileEditCommentDetails                              = \"file_edit_comment_details\"\n\tEventDetailsFileLikeCommentDetails                              = \"file_like_comment_details\"\n\tEventDetailsFileResolveCommentDetails                           = \"file_resolve_comment_details\"\n\tEventDetailsFileUnlikeCommentDetails                            = \"file_unlike_comment_details\"\n\tEventDetailsFileUnresolveCommentDetails                         = \"file_unresolve_comment_details\"\n\tEventDetailsGovernancePolicyAddFoldersDetails                   = \"governance_policy_add_folders_details\"\n\tEventDetailsGovernancePolicyAddFolderFailedDetails              = \"governance_policy_add_folder_failed_details\"\n\tEventDetailsGovernancePolicyContentDisposedDetails              = \"governance_policy_content_disposed_details\"\n\tEventDetailsGovernancePolicyCreateDetails                       = \"governance_policy_create_details\"\n\tEventDetailsGovernancePolicyDeleteDetails                       = \"governance_policy_delete_details\"\n\tEventDetailsGovernancePolicyEditDetailsDetails                  = \"governance_policy_edit_details_details\"\n\tEventDetailsGovernancePolicyEditDurationDetails                 = \"governance_policy_edit_duration_details\"\n\tEventDetailsGovernancePolicyExportCreatedDetails                = \"governance_policy_export_created_details\"\n\tEventDetailsGovernancePolicyExportRemovedDetails                = \"governance_policy_export_removed_details\"\n\tEventDetailsGovernancePolicyRemoveFoldersDetails                = \"governance_policy_remove_folders_details\"\n\tEventDetailsGovernancePolicyReportCreatedDetails                = \"governance_policy_report_created_details\"\n\tEventDetailsGovernancePolicyZipPartDownloadedDetails            = \"governance_policy_zip_part_downloaded_details\"\n\tEventDetailsLegalHoldsActivateAHoldDetails                      = \"legal_holds_activate_a_hold_details\"\n\tEventDetailsLegalHoldsAddMembersDetails                         = \"legal_holds_add_members_details\"\n\tEventDetailsLegalHoldsChangeHoldDetailsDetails                  = \"legal_holds_change_hold_details_details\"\n\tEventDetailsLegalHoldsChangeHoldNameDetails                     = \"legal_holds_change_hold_name_details\"\n\tEventDetailsLegalHoldsExportAHoldDetails                        = \"legal_holds_export_a_hold_details\"\n\tEventDetailsLegalHoldsExportCancelledDetails                    = \"legal_holds_export_cancelled_details\"\n\tEventDetailsLegalHoldsExportDownloadedDetails                   = \"legal_holds_export_downloaded_details\"\n\tEventDetailsLegalHoldsExportRemovedDetails                      = \"legal_holds_export_removed_details\"\n\tEventDetailsLegalHoldsReleaseAHoldDetails                       = \"legal_holds_release_a_hold_details\"\n\tEventDetailsLegalHoldsRemoveMembersDetails                      = \"legal_holds_remove_members_details\"\n\tEventDetailsLegalHoldsReportAHoldDetails                        = \"legal_holds_report_a_hold_details\"\n\tEventDetailsDeviceChangeIpDesktopDetails                        = \"device_change_ip_desktop_details\"\n\tEventDetailsDeviceChangeIpMobileDetails                         = \"device_change_ip_mobile_details\"\n\tEventDetailsDeviceChangeIpWebDetails                            = \"device_change_ip_web_details\"\n\tEventDetailsDeviceDeleteOnUnlinkFailDetails                     = \"device_delete_on_unlink_fail_details\"\n\tEventDetailsDeviceDeleteOnUnlinkSuccessDetails                  = \"device_delete_on_unlink_success_details\"\n\tEventDetailsDeviceLinkFailDetails                               = \"device_link_fail_details\"\n\tEventDetailsDeviceLinkSuccessDetails                            = \"device_link_success_details\"\n\tEventDetailsDeviceManagementDisabledDetails                     = \"device_management_disabled_details\"\n\tEventDetailsDeviceManagementEnabledDetails                      = \"device_management_enabled_details\"\n\tEventDetailsDeviceSyncBackupStatusChangedDetails                = \"device_sync_backup_status_changed_details\"\n\tEventDetailsDeviceUnlinkDetails                                 = \"device_unlink_details\"\n\tEventDetailsDropboxPasswordsExportedDetails                     = \"dropbox_passwords_exported_details\"\n\tEventDetailsDropboxPasswordsNewDeviceEnrolledDetails            = \"dropbox_passwords_new_device_enrolled_details\"\n\tEventDetailsEmmRefreshAuthTokenDetails                          = \"emm_refresh_auth_token_details\"\n\tEventDetailsExternalDriveBackupEligibilityStatusCheckedDetails  = \"external_drive_backup_eligibility_status_checked_details\"\n\tEventDetailsExternalDriveBackupStatusChangedDetails             = \"external_drive_backup_status_changed_details\"\n\tEventDetailsAccountCaptureChangeAvailabilityDetails             = \"account_capture_change_availability_details\"\n\tEventDetailsAccountCaptureMigrateAccountDetails                 = \"account_capture_migrate_account_details\"\n\tEventDetailsAccountCaptureNotificationEmailsSentDetails         = \"account_capture_notification_emails_sent_details\"\n\tEventDetailsAccountCaptureRelinquishAccountDetails              = \"account_capture_relinquish_account_details\"\n\tEventDetailsDisabledDomainInvitesDetails                        = \"disabled_domain_invites_details\"\n\tEventDetailsDomainInvitesApproveRequestToJoinTeamDetails        = \"domain_invites_approve_request_to_join_team_details\"\n\tEventDetailsDomainInvitesDeclineRequestToJoinTeamDetails        = \"domain_invites_decline_request_to_join_team_details\"\n\tEventDetailsDomainInvitesEmailExistingUsersDetails              = \"domain_invites_email_existing_users_details\"\n\tEventDetailsDomainInvitesRequestToJoinTeamDetails               = \"domain_invites_request_to_join_team_details\"\n\tEventDetailsDomainInvitesSetInviteNewUserPrefToNoDetails        = \"domain_invites_set_invite_new_user_pref_to_no_details\"\n\tEventDetailsDomainInvitesSetInviteNewUserPrefToYesDetails       = \"domain_invites_set_invite_new_user_pref_to_yes_details\"\n\tEventDetailsDomainVerificationAddDomainFailDetails              = \"domain_verification_add_domain_fail_details\"\n\tEventDetailsDomainVerificationAddDomainSuccessDetails           = \"domain_verification_add_domain_success_details\"\n\tEventDetailsDomainVerificationRemoveDomainDetails               = \"domain_verification_remove_domain_details\"\n\tEventDetailsEnabledDomainInvitesDetails                         = \"enabled_domain_invites_details\"\n\tEventDetailsApplyNamingConventionDetails                        = \"apply_naming_convention_details\"\n\tEventDetailsCreateFolderDetails                                 = \"create_folder_details\"\n\tEventDetailsFileAddDetails                                      = \"file_add_details\"\n\tEventDetailsFileCopyDetails                                     = \"file_copy_details\"\n\tEventDetailsFileDeleteDetails                                   = \"file_delete_details\"\n\tEventDetailsFileDownloadDetails                                 = \"file_download_details\"\n\tEventDetailsFileEditDetails                                     = \"file_edit_details\"\n\tEventDetailsFileGetCopyReferenceDetails                         = \"file_get_copy_reference_details\"\n\tEventDetailsFileLockingLockStatusChangedDetails                 = \"file_locking_lock_status_changed_details\"\n\tEventDetailsFileMoveDetails                                     = \"file_move_details\"\n\tEventDetailsFilePermanentlyDeleteDetails                        = \"file_permanently_delete_details\"\n\tEventDetailsFilePreviewDetails                                  = \"file_preview_details\"\n\tEventDetailsFileRenameDetails                                   = \"file_rename_details\"\n\tEventDetailsFileRestoreDetails                                  = \"file_restore_details\"\n\tEventDetailsFileRevertDetails                                   = \"file_revert_details\"\n\tEventDetailsFileRollbackChangesDetails                          = \"file_rollback_changes_details\"\n\tEventDetailsFileSaveCopyReferenceDetails                        = \"file_save_copy_reference_details\"\n\tEventDetailsFolderOverviewDescriptionChangedDetails             = \"folder_overview_description_changed_details\"\n\tEventDetailsFolderOverviewItemPinnedDetails                     = \"folder_overview_item_pinned_details\"\n\tEventDetailsFolderOverviewItemUnpinnedDetails                   = \"folder_overview_item_unpinned_details\"\n\tEventDetailsObjectLabelAddedDetails                             = \"object_label_added_details\"\n\tEventDetailsObjectLabelRemovedDetails                           = \"object_label_removed_details\"\n\tEventDetailsObjectLabelUpdatedValueDetails                      = \"object_label_updated_value_details\"\n\tEventDetailsOrganizeFolderWithTidyDetails                       = \"organize_folder_with_tidy_details\"\n\tEventDetailsRewindFolderDetails                                 = \"rewind_folder_details\"\n\tEventDetailsUndoNamingConventionDetails                         = \"undo_naming_convention_details\"\n\tEventDetailsUndoOrganizeFolderWithTidyDetails                   = \"undo_organize_folder_with_tidy_details\"\n\tEventDetailsUserTagsAddedDetails                                = \"user_tags_added_details\"\n\tEventDetailsUserTagsRemovedDetails                              = \"user_tags_removed_details\"\n\tEventDetailsEmailIngestReceiveFileDetails                       = \"email_ingest_receive_file_details\"\n\tEventDetailsFileRequestChangeDetails                            = \"file_request_change_details\"\n\tEventDetailsFileRequestCloseDetails                             = \"file_request_close_details\"\n\tEventDetailsFileRequestCreateDetails                            = \"file_request_create_details\"\n\tEventDetailsFileRequestDeleteDetails                            = \"file_request_delete_details\"\n\tEventDetailsFileRequestReceiveFileDetails                       = \"file_request_receive_file_details\"\n\tEventDetailsGroupAddExternalIdDetails                           = \"group_add_external_id_details\"\n\tEventDetailsGroupAddMemberDetails                               = \"group_add_member_details\"\n\tEventDetailsGroupChangeExternalIdDetails                        = \"group_change_external_id_details\"\n\tEventDetailsGroupChangeManagementTypeDetails                    = \"group_change_management_type_details\"\n\tEventDetailsGroupChangeMemberRoleDetails                        = \"group_change_member_role_details\"\n\tEventDetailsGroupCreateDetails                                  = \"group_create_details\"\n\tEventDetailsGroupDeleteDetails                                  = \"group_delete_details\"\n\tEventDetailsGroupDescriptionUpdatedDetails                      = \"group_description_updated_details\"\n\tEventDetailsGroupJoinPolicyUpdatedDetails                       = \"group_join_policy_updated_details\"\n\tEventDetailsGroupMovedDetails                                   = \"group_moved_details\"\n\tEventDetailsGroupRemoveExternalIdDetails                        = \"group_remove_external_id_details\"\n\tEventDetailsGroupRemoveMemberDetails                            = \"group_remove_member_details\"\n\tEventDetailsGroupRenameDetails                                  = \"group_rename_details\"\n\tEventDetailsAccountLockOrUnlockedDetails                        = \"account_lock_or_unlocked_details\"\n\tEventDetailsEmmErrorDetails                                     = \"emm_error_details\"\n\tEventDetailsGuestAdminSignedInViaTrustedTeamsDetails            = \"guest_admin_signed_in_via_trusted_teams_details\"\n\tEventDetailsGuestAdminSignedOutViaTrustedTeamsDetails           = \"guest_admin_signed_out_via_trusted_teams_details\"\n\tEventDetailsLoginFailDetails                                    = \"login_fail_details\"\n\tEventDetailsLoginSuccessDetails                                 = \"login_success_details\"\n\tEventDetailsLogoutDetails                                       = \"logout_details\"\n\tEventDetailsResellerSupportSessionEndDetails                    = \"reseller_support_session_end_details\"\n\tEventDetailsResellerSupportSessionStartDetails                  = \"reseller_support_session_start_details\"\n\tEventDetailsSignInAsSessionEndDetails                           = \"sign_in_as_session_end_details\"\n\tEventDetailsSignInAsSessionStartDetails                         = \"sign_in_as_session_start_details\"\n\tEventDetailsSsoErrorDetails                                     = \"sso_error_details\"\n\tEventDetailsCreateTeamInviteLinkDetails                         = \"create_team_invite_link_details\"\n\tEventDetailsDeleteTeamInviteLinkDetails                         = \"delete_team_invite_link_details\"\n\tEventDetailsMemberAddExternalIdDetails                          = \"member_add_external_id_details\"\n\tEventDetailsMemberAddNameDetails                                = \"member_add_name_details\"\n\tEventDetailsMemberChangeAdminRoleDetails                        = \"member_change_admin_role_details\"\n\tEventDetailsMemberChangeEmailDetails                            = \"member_change_email_details\"\n\tEventDetailsMemberChangeExternalIdDetails                       = \"member_change_external_id_details\"\n\tEventDetailsMemberChangeMembershipTypeDetails                   = \"member_change_membership_type_details\"\n\tEventDetailsMemberChangeNameDetails                             = \"member_change_name_details\"\n\tEventDetailsMemberChangeResellerRoleDetails                     = \"member_change_reseller_role_details\"\n\tEventDetailsMemberChangeStatusDetails                           = \"member_change_status_details\"\n\tEventDetailsMemberDeleteManualContactsDetails                   = \"member_delete_manual_contacts_details\"\n\tEventDetailsMemberDeleteProfilePhotoDetails                     = \"member_delete_profile_photo_details\"\n\tEventDetailsMemberPermanentlyDeleteAccountContentsDetails       = \"member_permanently_delete_account_contents_details\"\n\tEventDetailsMemberRemoveExternalIdDetails                       = \"member_remove_external_id_details\"\n\tEventDetailsMemberSetProfilePhotoDetails                        = \"member_set_profile_photo_details\"\n\tEventDetailsMemberSpaceLimitsAddCustomQuotaDetails              = \"member_space_limits_add_custom_quota_details\"\n\tEventDetailsMemberSpaceLimitsChangeCustomQuotaDetails           = \"member_space_limits_change_custom_quota_details\"\n\tEventDetailsMemberSpaceLimitsChangeStatusDetails                = \"member_space_limits_change_status_details\"\n\tEventDetailsMemberSpaceLimitsRemoveCustomQuotaDetails           = \"member_space_limits_remove_custom_quota_details\"\n\tEventDetailsMemberSuggestDetails                                = \"member_suggest_details\"\n\tEventDetailsMemberTransferAccountContentsDetails                = \"member_transfer_account_contents_details\"\n\tEventDetailsPendingSecondaryEmailAddedDetails                   = \"pending_secondary_email_added_details\"\n\tEventDetailsSecondaryEmailDeletedDetails                        = \"secondary_email_deleted_details\"\n\tEventDetailsSecondaryEmailVerifiedDetails                       = \"secondary_email_verified_details\"\n\tEventDetailsSecondaryMailsPolicyChangedDetails                  = \"secondary_mails_policy_changed_details\"\n\tEventDetailsBinderAddPageDetails                                = \"binder_add_page_details\"\n\tEventDetailsBinderAddSectionDetails                             = \"binder_add_section_details\"\n\tEventDetailsBinderRemovePageDetails                             = \"binder_remove_page_details\"\n\tEventDetailsBinderRemoveSectionDetails                          = \"binder_remove_section_details\"\n\tEventDetailsBinderRenamePageDetails                             = \"binder_rename_page_details\"\n\tEventDetailsBinderRenameSectionDetails                          = \"binder_rename_section_details\"\n\tEventDetailsBinderReorderPageDetails                            = \"binder_reorder_page_details\"\n\tEventDetailsBinderReorderSectionDetails                         = \"binder_reorder_section_details\"\n\tEventDetailsPaperContentAddMemberDetails                        = \"paper_content_add_member_details\"\n\tEventDetailsPaperContentAddToFolderDetails                      = \"paper_content_add_to_folder_details\"\n\tEventDetailsPaperContentArchiveDetails                          = \"paper_content_archive_details\"\n\tEventDetailsPaperContentCreateDetails                           = \"paper_content_create_details\"\n\tEventDetailsPaperContentPermanentlyDeleteDetails                = \"paper_content_permanently_delete_details\"\n\tEventDetailsPaperContentRemoveFromFolderDetails                 = \"paper_content_remove_from_folder_details\"\n\tEventDetailsPaperContentRemoveMemberDetails                     = \"paper_content_remove_member_details\"\n\tEventDetailsPaperContentRenameDetails                           = \"paper_content_rename_details\"\n\tEventDetailsPaperContentRestoreDetails                          = \"paper_content_restore_details\"\n\tEventDetailsPaperDocAddCommentDetails                           = \"paper_doc_add_comment_details\"\n\tEventDetailsPaperDocChangeMemberRoleDetails                     = \"paper_doc_change_member_role_details\"\n\tEventDetailsPaperDocChangeSharingPolicyDetails                  = \"paper_doc_change_sharing_policy_details\"\n\tEventDetailsPaperDocChangeSubscriptionDetails                   = \"paper_doc_change_subscription_details\"\n\tEventDetailsPaperDocDeletedDetails                              = \"paper_doc_deleted_details\"\n\tEventDetailsPaperDocDeleteCommentDetails                        = \"paper_doc_delete_comment_details\"\n\tEventDetailsPaperDocDownloadDetails                             = \"paper_doc_download_details\"\n\tEventDetailsPaperDocEditDetails                                 = \"paper_doc_edit_details\"\n\tEventDetailsPaperDocEditCommentDetails                          = \"paper_doc_edit_comment_details\"\n\tEventDetailsPaperDocFollowedDetails                             = \"paper_doc_followed_details\"\n\tEventDetailsPaperDocMentionDetails                              = \"paper_doc_mention_details\"\n\tEventDetailsPaperDocOwnershipChangedDetails                     = \"paper_doc_ownership_changed_details\"\n\tEventDetailsPaperDocRequestAccessDetails                        = \"paper_doc_request_access_details\"\n\tEventDetailsPaperDocResolveCommentDetails                       = \"paper_doc_resolve_comment_details\"\n\tEventDetailsPaperDocRevertDetails                               = \"paper_doc_revert_details\"\n\tEventDetailsPaperDocSlackShareDetails                           = \"paper_doc_slack_share_details\"\n\tEventDetailsPaperDocTeamInviteDetails                           = \"paper_doc_team_invite_details\"\n\tEventDetailsPaperDocTrashedDetails                              = \"paper_doc_trashed_details\"\n\tEventDetailsPaperDocUnresolveCommentDetails                     = \"paper_doc_unresolve_comment_details\"\n\tEventDetailsPaperDocUntrashedDetails                            = \"paper_doc_untrashed_details\"\n\tEventDetailsPaperDocViewDetails                                 = \"paper_doc_view_details\"\n\tEventDetailsPaperExternalViewAllowDetails                       = \"paper_external_view_allow_details\"\n\tEventDetailsPaperExternalViewDefaultTeamDetails                 = \"paper_external_view_default_team_details\"\n\tEventDetailsPaperExternalViewForbidDetails                      = \"paper_external_view_forbid_details\"\n\tEventDetailsPaperFolderChangeSubscriptionDetails                = \"paper_folder_change_subscription_details\"\n\tEventDetailsPaperFolderDeletedDetails                           = \"paper_folder_deleted_details\"\n\tEventDetailsPaperFolderFollowedDetails                          = \"paper_folder_followed_details\"\n\tEventDetailsPaperFolderTeamInviteDetails                        = \"paper_folder_team_invite_details\"\n\tEventDetailsPaperPublishedLinkChangePermissionDetails           = \"paper_published_link_change_permission_details\"\n\tEventDetailsPaperPublishedLinkCreateDetails                     = \"paper_published_link_create_details\"\n\tEventDetailsPaperPublishedLinkDisabledDetails                   = \"paper_published_link_disabled_details\"\n\tEventDetailsPaperPublishedLinkViewDetails                       = \"paper_published_link_view_details\"\n\tEventDetailsPasswordChangeDetails                               = \"password_change_details\"\n\tEventDetailsPasswordResetDetails                                = \"password_reset_details\"\n\tEventDetailsPasswordResetAllDetails                             = \"password_reset_all_details\"\n\tEventDetailsClassificationCreateReportDetails                   = \"classification_create_report_details\"\n\tEventDetailsClassificationCreateReportFailDetails               = \"classification_create_report_fail_details\"\n\tEventDetailsEmmCreateExceptionsReportDetails                    = \"emm_create_exceptions_report_details\"\n\tEventDetailsEmmCreateUsageReportDetails                         = \"emm_create_usage_report_details\"\n\tEventDetailsExportMembersReportDetails                          = \"export_members_report_details\"\n\tEventDetailsExportMembersReportFailDetails                      = \"export_members_report_fail_details\"\n\tEventDetailsExternalSharingCreateReportDetails                  = \"external_sharing_create_report_details\"\n\tEventDetailsExternalSharingReportFailedDetails                  = \"external_sharing_report_failed_details\"\n\tEventDetailsNoExpirationLinkGenCreateReportDetails              = \"no_expiration_link_gen_create_report_details\"\n\tEventDetailsNoExpirationLinkGenReportFailedDetails              = \"no_expiration_link_gen_report_failed_details\"\n\tEventDetailsNoPasswordLinkGenCreateReportDetails                = \"no_password_link_gen_create_report_details\"\n\tEventDetailsNoPasswordLinkGenReportFailedDetails                = \"no_password_link_gen_report_failed_details\"\n\tEventDetailsNoPasswordLinkViewCreateReportDetails               = \"no_password_link_view_create_report_details\"\n\tEventDetailsNoPasswordLinkViewReportFailedDetails               = \"no_password_link_view_report_failed_details\"\n\tEventDetailsOutdatedLinkViewCreateReportDetails                 = \"outdated_link_view_create_report_details\"\n\tEventDetailsOutdatedLinkViewReportFailedDetails                 = \"outdated_link_view_report_failed_details\"\n\tEventDetailsPaperAdminExportStartDetails                        = \"paper_admin_export_start_details\"\n\tEventDetailsSmartSyncCreateAdminPrivilegeReportDetails          = \"smart_sync_create_admin_privilege_report_details\"\n\tEventDetailsTeamActivityCreateReportDetails                     = \"team_activity_create_report_details\"\n\tEventDetailsTeamActivityCreateReportFailDetails                 = \"team_activity_create_report_fail_details\"\n\tEventDetailsCollectionShareDetails                              = \"collection_share_details\"\n\tEventDetailsFileTransfersFileAddDetails                         = \"file_transfers_file_add_details\"\n\tEventDetailsFileTransfersTransferDeleteDetails                  = \"file_transfers_transfer_delete_details\"\n\tEventDetailsFileTransfersTransferDownloadDetails                = \"file_transfers_transfer_download_details\"\n\tEventDetailsFileTransfersTransferSendDetails                    = \"file_transfers_transfer_send_details\"\n\tEventDetailsFileTransfersTransferViewDetails                    = \"file_transfers_transfer_view_details\"\n\tEventDetailsNoteAclInviteOnlyDetails                            = \"note_acl_invite_only_details\"\n\tEventDetailsNoteAclLinkDetails                                  = \"note_acl_link_details\"\n\tEventDetailsNoteAclTeamLinkDetails                              = \"note_acl_team_link_details\"\n\tEventDetailsNoteSharedDetails                                   = \"note_shared_details\"\n\tEventDetailsNoteShareReceiveDetails                             = \"note_share_receive_details\"\n\tEventDetailsOpenNoteSharedDetails                               = \"open_note_shared_details\"\n\tEventDetailsSfAddGroupDetails                                   = \"sf_add_group_details\"\n\tEventDetailsSfAllowNonMembersToViewSharedLinksDetails           = \"sf_allow_non_members_to_view_shared_links_details\"\n\tEventDetailsSfExternalInviteWarnDetails                         = \"sf_external_invite_warn_details\"\n\tEventDetailsSfFbInviteDetails                                   = \"sf_fb_invite_details\"\n\tEventDetailsSfFbInviteChangeRoleDetails                         = \"sf_fb_invite_change_role_details\"\n\tEventDetailsSfFbUninviteDetails                                 = \"sf_fb_uninvite_details\"\n\tEventDetailsSfInviteGroupDetails                                = \"sf_invite_group_details\"\n\tEventDetailsSfTeamGrantAccessDetails                            = \"sf_team_grant_access_details\"\n\tEventDetailsSfTeamInviteDetails                                 = \"sf_team_invite_details\"\n\tEventDetailsSfTeamInviteChangeRoleDetails                       = \"sf_team_invite_change_role_details\"\n\tEventDetailsSfTeamJoinDetails                                   = \"sf_team_join_details\"\n\tEventDetailsSfTeamJoinFromOobLinkDetails                        = \"sf_team_join_from_oob_link_details\"\n\tEventDetailsSfTeamUninviteDetails                               = \"sf_team_uninvite_details\"\n\tEventDetailsSharedContentAddInviteesDetails                     = \"shared_content_add_invitees_details\"\n\tEventDetailsSharedContentAddLinkExpiryDetails                   = \"shared_content_add_link_expiry_details\"\n\tEventDetailsSharedContentAddLinkPasswordDetails                 = \"shared_content_add_link_password_details\"\n\tEventDetailsSharedContentAddMemberDetails                       = \"shared_content_add_member_details\"\n\tEventDetailsSharedContentChangeDownloadsPolicyDetails           = \"shared_content_change_downloads_policy_details\"\n\tEventDetailsSharedContentChangeInviteeRoleDetails               = \"shared_content_change_invitee_role_details\"\n\tEventDetailsSharedContentChangeLinkAudienceDetails              = \"shared_content_change_link_audience_details\"\n\tEventDetailsSharedContentChangeLinkExpiryDetails                = \"shared_content_change_link_expiry_details\"\n\tEventDetailsSharedContentChangeLinkPasswordDetails              = \"shared_content_change_link_password_details\"\n\tEventDetailsSharedContentChangeMemberRoleDetails                = \"shared_content_change_member_role_details\"\n\tEventDetailsSharedContentChangeViewerInfoPolicyDetails          = \"shared_content_change_viewer_info_policy_details\"\n\tEventDetailsSharedContentClaimInvitationDetails                 = \"shared_content_claim_invitation_details\"\n\tEventDetailsSharedContentCopyDetails                            = \"shared_content_copy_details\"\n\tEventDetailsSharedContentDownloadDetails                        = \"shared_content_download_details\"\n\tEventDetailsSharedContentRelinquishMembershipDetails            = \"shared_content_relinquish_membership_details\"\n\tEventDetailsSharedContentRemoveInviteesDetails                  = \"shared_content_remove_invitees_details\"\n\tEventDetailsSharedContentRemoveLinkExpiryDetails                = \"shared_content_remove_link_expiry_details\"\n\tEventDetailsSharedContentRemoveLinkPasswordDetails              = \"shared_content_remove_link_password_details\"\n\tEventDetailsSharedContentRemoveMemberDetails                    = \"shared_content_remove_member_details\"\n\tEventDetailsSharedContentRequestAccessDetails                   = \"shared_content_request_access_details\"\n\tEventDetailsSharedContentRestoreInviteesDetails                 = \"shared_content_restore_invitees_details\"\n\tEventDetailsSharedContentRestoreMemberDetails                   = \"shared_content_restore_member_details\"\n\tEventDetailsSharedContentUnshareDetails                         = \"shared_content_unshare_details\"\n\tEventDetailsSharedContentViewDetails                            = \"shared_content_view_details\"\n\tEventDetailsSharedFolderChangeLinkPolicyDetails                 = \"shared_folder_change_link_policy_details\"\n\tEventDetailsSharedFolderChangeMembersInheritancePolicyDetails   = \"shared_folder_change_members_inheritance_policy_details\"\n\tEventDetailsSharedFolderChangeMembersManagementPolicyDetails    = \"shared_folder_change_members_management_policy_details\"\n\tEventDetailsSharedFolderChangeMembersPolicyDetails              = \"shared_folder_change_members_policy_details\"\n\tEventDetailsSharedFolderCreateDetails                           = \"shared_folder_create_details\"\n\tEventDetailsSharedFolderDeclineInvitationDetails                = \"shared_folder_decline_invitation_details\"\n\tEventDetailsSharedFolderMountDetails                            = \"shared_folder_mount_details\"\n\tEventDetailsSharedFolderNestDetails                             = \"shared_folder_nest_details\"\n\tEventDetailsSharedFolderTransferOwnershipDetails                = \"shared_folder_transfer_ownership_details\"\n\tEventDetailsSharedFolderUnmountDetails                          = \"shared_folder_unmount_details\"\n\tEventDetailsSharedLinkAddExpiryDetails                          = \"shared_link_add_expiry_details\"\n\tEventDetailsSharedLinkChangeExpiryDetails                       = \"shared_link_change_expiry_details\"\n\tEventDetailsSharedLinkChangeVisibilityDetails                   = \"shared_link_change_visibility_details\"\n\tEventDetailsSharedLinkCopyDetails                               = \"shared_link_copy_details\"\n\tEventDetailsSharedLinkCreateDetails                             = \"shared_link_create_details\"\n\tEventDetailsSharedLinkDisableDetails                            = \"shared_link_disable_details\"\n\tEventDetailsSharedLinkDownloadDetails                           = \"shared_link_download_details\"\n\tEventDetailsSharedLinkRemoveExpiryDetails                       = \"shared_link_remove_expiry_details\"\n\tEventDetailsSharedLinkSettingsAddExpirationDetails              = \"shared_link_settings_add_expiration_details\"\n\tEventDetailsSharedLinkSettingsAddPasswordDetails                = \"shared_link_settings_add_password_details\"\n\tEventDetailsSharedLinkSettingsAllowDownloadDisabledDetails      = \"shared_link_settings_allow_download_disabled_details\"\n\tEventDetailsSharedLinkSettingsAllowDownloadEnabledDetails       = \"shared_link_settings_allow_download_enabled_details\"\n\tEventDetailsSharedLinkSettingsChangeAudienceDetails             = \"shared_link_settings_change_audience_details\"\n\tEventDetailsSharedLinkSettingsChangeExpirationDetails           = \"shared_link_settings_change_expiration_details\"\n\tEventDetailsSharedLinkSettingsChangePasswordDetails             = \"shared_link_settings_change_password_details\"\n\tEventDetailsSharedLinkSettingsRemoveExpirationDetails           = \"shared_link_settings_remove_expiration_details\"\n\tEventDetailsSharedLinkSettingsRemovePasswordDetails             = \"shared_link_settings_remove_password_details\"\n\tEventDetailsSharedLinkShareDetails                              = \"shared_link_share_details\"\n\tEventDetailsSharedLinkViewDetails                               = \"shared_link_view_details\"\n\tEventDetailsSharedNoteOpenedDetails                             = \"shared_note_opened_details\"\n\tEventDetailsShmodelDisableDownloadsDetails                      = \"shmodel_disable_downloads_details\"\n\tEventDetailsShmodelEnableDownloadsDetails                       = \"shmodel_enable_downloads_details\"\n\tEventDetailsShmodelGroupShareDetails                            = \"shmodel_group_share_details\"\n\tEventDetailsShowcaseAccessGrantedDetails                        = \"showcase_access_granted_details\"\n\tEventDetailsShowcaseAddMemberDetails                            = \"showcase_add_member_details\"\n\tEventDetailsShowcaseArchivedDetails                             = \"showcase_archived_details\"\n\tEventDetailsShowcaseCreatedDetails                              = \"showcase_created_details\"\n\tEventDetailsShowcaseDeleteCommentDetails                        = \"showcase_delete_comment_details\"\n\tEventDetailsShowcaseEditedDetails                               = \"showcase_edited_details\"\n\tEventDetailsShowcaseEditCommentDetails                          = \"showcase_edit_comment_details\"\n\tEventDetailsShowcaseFileAddedDetails                            = \"showcase_file_added_details\"\n\tEventDetailsShowcaseFileDownloadDetails                         = \"showcase_file_download_details\"\n\tEventDetailsShowcaseFileRemovedDetails                          = \"showcase_file_removed_details\"\n\tEventDetailsShowcaseFileViewDetails                             = \"showcase_file_view_details\"\n\tEventDetailsShowcasePermanentlyDeletedDetails                   = \"showcase_permanently_deleted_details\"\n\tEventDetailsShowcasePostCommentDetails                          = \"showcase_post_comment_details\"\n\tEventDetailsShowcaseRemoveMemberDetails                         = \"showcase_remove_member_details\"\n\tEventDetailsShowcaseRenamedDetails                              = \"showcase_renamed_details\"\n\tEventDetailsShowcaseRequestAccessDetails                        = \"showcase_request_access_details\"\n\tEventDetailsShowcaseResolveCommentDetails                       = \"showcase_resolve_comment_details\"\n\tEventDetailsShowcaseRestoredDetails                             = \"showcase_restored_details\"\n\tEventDetailsShowcaseTrashedDetails                              = \"showcase_trashed_details\"\n\tEventDetailsShowcaseTrashedDeprecatedDetails                    = \"showcase_trashed_deprecated_details\"\n\tEventDetailsShowcaseUnresolveCommentDetails                     = \"showcase_unresolve_comment_details\"\n\tEventDetailsShowcaseUntrashedDetails                            = \"showcase_untrashed_details\"\n\tEventDetailsShowcaseUntrashedDeprecatedDetails                  = \"showcase_untrashed_deprecated_details\"\n\tEventDetailsShowcaseViewDetails                                 = \"showcase_view_details\"\n\tEventDetailsSsoAddCertDetails                                   = \"sso_add_cert_details\"\n\tEventDetailsSsoAddLoginUrlDetails                               = \"sso_add_login_url_details\"\n\tEventDetailsSsoAddLogoutUrlDetails                              = \"sso_add_logout_url_details\"\n\tEventDetailsSsoChangeCertDetails                                = \"sso_change_cert_details\"\n\tEventDetailsSsoChangeLoginUrlDetails                            = \"sso_change_login_url_details\"\n\tEventDetailsSsoChangeLogoutUrlDetails                           = \"sso_change_logout_url_details\"\n\tEventDetailsSsoChangeSamlIdentityModeDetails                    = \"sso_change_saml_identity_mode_details\"\n\tEventDetailsSsoRemoveCertDetails                                = \"sso_remove_cert_details\"\n\tEventDetailsSsoRemoveLoginUrlDetails                            = \"sso_remove_login_url_details\"\n\tEventDetailsSsoRemoveLogoutUrlDetails                           = \"sso_remove_logout_url_details\"\n\tEventDetailsTeamFolderChangeStatusDetails                       = \"team_folder_change_status_details\"\n\tEventDetailsTeamFolderCreateDetails                             = \"team_folder_create_details\"\n\tEventDetailsTeamFolderDowngradeDetails                          = \"team_folder_downgrade_details\"\n\tEventDetailsTeamFolderPermanentlyDeleteDetails                  = \"team_folder_permanently_delete_details\"\n\tEventDetailsTeamFolderRenameDetails                             = \"team_folder_rename_details\"\n\tEventDetailsTeamSelectiveSyncSettingsChangedDetails             = \"team_selective_sync_settings_changed_details\"\n\tEventDetailsAccountCaptureChangePolicyDetails                   = \"account_capture_change_policy_details\"\n\tEventDetailsAdminEmailRemindersChangedDetails                   = \"admin_email_reminders_changed_details\"\n\tEventDetailsAllowDownloadDisabledDetails                        = \"allow_download_disabled_details\"\n\tEventDetailsAllowDownloadEnabledDetails                         = \"allow_download_enabled_details\"\n\tEventDetailsAppPermissionsChangedDetails                        = \"app_permissions_changed_details\"\n\tEventDetailsCameraUploadsPolicyChangedDetails                   = \"camera_uploads_policy_changed_details\"\n\tEventDetailsCaptureTranscriptPolicyChangedDetails               = \"capture_transcript_policy_changed_details\"\n\tEventDetailsClassificationChangePolicyDetails                   = \"classification_change_policy_details\"\n\tEventDetailsComputerBackupPolicyChangedDetails                  = \"computer_backup_policy_changed_details\"\n\tEventDetailsContentAdministrationPolicyChangedDetails           = \"content_administration_policy_changed_details\"\n\tEventDetailsDataPlacementRestrictionChangePolicyDetails         = \"data_placement_restriction_change_policy_details\"\n\tEventDetailsDataPlacementRestrictionSatisfyPolicyDetails        = \"data_placement_restriction_satisfy_policy_details\"\n\tEventDetailsDeviceApprovalsAddExceptionDetails                  = \"device_approvals_add_exception_details\"\n\tEventDetailsDeviceApprovalsChangeDesktopPolicyDetails           = \"device_approvals_change_desktop_policy_details\"\n\tEventDetailsDeviceApprovalsChangeMobilePolicyDetails            = \"device_approvals_change_mobile_policy_details\"\n\tEventDetailsDeviceApprovalsChangeOverageActionDetails           = \"device_approvals_change_overage_action_details\"\n\tEventDetailsDeviceApprovalsChangeUnlinkActionDetails            = \"device_approvals_change_unlink_action_details\"\n\tEventDetailsDeviceApprovalsRemoveExceptionDetails               = \"device_approvals_remove_exception_details\"\n\tEventDetailsDirectoryRestrictionsAddMembersDetails              = \"directory_restrictions_add_members_details\"\n\tEventDetailsDirectoryRestrictionsRemoveMembersDetails           = \"directory_restrictions_remove_members_details\"\n\tEventDetailsDropboxPasswordsPolicyChangedDetails                = \"dropbox_passwords_policy_changed_details\"\n\tEventDetailsEmailIngestPolicyChangedDetails                     = \"email_ingest_policy_changed_details\"\n\tEventDetailsEmmAddExceptionDetails                              = \"emm_add_exception_details\"\n\tEventDetailsEmmChangePolicyDetails                              = \"emm_change_policy_details\"\n\tEventDetailsEmmRemoveExceptionDetails                           = \"emm_remove_exception_details\"\n\tEventDetailsExtendedVersionHistoryChangePolicyDetails           = \"extended_version_history_change_policy_details\"\n\tEventDetailsExternalDriveBackupPolicyChangedDetails             = \"external_drive_backup_policy_changed_details\"\n\tEventDetailsFileCommentsChangePolicyDetails                     = \"file_comments_change_policy_details\"\n\tEventDetailsFileLockingPolicyChangedDetails                     = \"file_locking_policy_changed_details\"\n\tEventDetailsFileProviderMigrationPolicyChangedDetails           = \"file_provider_migration_policy_changed_details\"\n\tEventDetailsFileRequestsChangePolicyDetails                     = \"file_requests_change_policy_details\"\n\tEventDetailsFileRequestsEmailsEnabledDetails                    = \"file_requests_emails_enabled_details\"\n\tEventDetailsFileRequestsEmailsRestrictedToTeamOnlyDetails       = \"file_requests_emails_restricted_to_team_only_details\"\n\tEventDetailsFileTransfersPolicyChangedDetails                   = \"file_transfers_policy_changed_details\"\n\tEventDetailsGoogleSsoChangePolicyDetails                        = \"google_sso_change_policy_details\"\n\tEventDetailsGroupUserManagementChangePolicyDetails              = \"group_user_management_change_policy_details\"\n\tEventDetailsIntegrationPolicyChangedDetails                     = \"integration_policy_changed_details\"\n\tEventDetailsInviteAcceptanceEmailPolicyChangedDetails           = \"invite_acceptance_email_policy_changed_details\"\n\tEventDetailsMemberRequestsChangePolicyDetails                   = \"member_requests_change_policy_details\"\n\tEventDetailsMemberSendInvitePolicyChangedDetails                = \"member_send_invite_policy_changed_details\"\n\tEventDetailsMemberSpaceLimitsAddExceptionDetails                = \"member_space_limits_add_exception_details\"\n\tEventDetailsMemberSpaceLimitsChangeCapsTypePolicyDetails        = \"member_space_limits_change_caps_type_policy_details\"\n\tEventDetailsMemberSpaceLimitsChangePolicyDetails                = \"member_space_limits_change_policy_details\"\n\tEventDetailsMemberSpaceLimitsRemoveExceptionDetails             = \"member_space_limits_remove_exception_details\"\n\tEventDetailsMemberSuggestionsChangePolicyDetails                = \"member_suggestions_change_policy_details\"\n\tEventDetailsMicrosoftOfficeAddinChangePolicyDetails             = \"microsoft_office_addin_change_policy_details\"\n\tEventDetailsNetworkControlChangePolicyDetails                   = \"network_control_change_policy_details\"\n\tEventDetailsPaperChangeDeploymentPolicyDetails                  = \"paper_change_deployment_policy_details\"\n\tEventDetailsPaperChangeMemberLinkPolicyDetails                  = \"paper_change_member_link_policy_details\"\n\tEventDetailsPaperChangeMemberPolicyDetails                      = \"paper_change_member_policy_details\"\n\tEventDetailsPaperChangePolicyDetails                            = \"paper_change_policy_details\"\n\tEventDetailsPaperDefaultFolderPolicyChangedDetails              = \"paper_default_folder_policy_changed_details\"\n\tEventDetailsPaperDesktopPolicyChangedDetails                    = \"paper_desktop_policy_changed_details\"\n\tEventDetailsPaperEnabledUsersGroupAdditionDetails               = \"paper_enabled_users_group_addition_details\"\n\tEventDetailsPaperEnabledUsersGroupRemovalDetails                = \"paper_enabled_users_group_removal_details\"\n\tEventDetailsPasswordStrengthRequirementsChangePolicyDetails     = \"password_strength_requirements_change_policy_details\"\n\tEventDetailsPermanentDeleteChangePolicyDetails                  = \"permanent_delete_change_policy_details\"\n\tEventDetailsResellerSupportChangePolicyDetails                  = \"reseller_support_change_policy_details\"\n\tEventDetailsRewindPolicyChangedDetails                          = \"rewind_policy_changed_details\"\n\tEventDetailsSendForSignaturePolicyChangedDetails                = \"send_for_signature_policy_changed_details\"\n\tEventDetailsSharingChangeFolderJoinPolicyDetails                = \"sharing_change_folder_join_policy_details\"\n\tEventDetailsSharingChangeLinkAllowChangeExpirationPolicyDetails = \"sharing_change_link_allow_change_expiration_policy_details\"\n\tEventDetailsSharingChangeLinkDefaultExpirationPolicyDetails     = \"sharing_change_link_default_expiration_policy_details\"\n\tEventDetailsSharingChangeLinkEnforcePasswordPolicyDetails       = \"sharing_change_link_enforce_password_policy_details\"\n\tEventDetailsSharingChangeLinkPolicyDetails                      = \"sharing_change_link_policy_details\"\n\tEventDetailsSharingChangeMemberPolicyDetails                    = \"sharing_change_member_policy_details\"\n\tEventDetailsShowcaseChangeDownloadPolicyDetails                 = \"showcase_change_download_policy_details\"\n\tEventDetailsShowcaseChangeEnabledPolicyDetails                  = \"showcase_change_enabled_policy_details\"\n\tEventDetailsShowcaseChangeExternalSharingPolicyDetails          = \"showcase_change_external_sharing_policy_details\"\n\tEventDetailsSmarterSmartSyncPolicyChangedDetails                = \"smarter_smart_sync_policy_changed_details\"\n\tEventDetailsSmartSyncChangePolicyDetails                        = \"smart_sync_change_policy_details\"\n\tEventDetailsSmartSyncNotOptOutDetails                           = \"smart_sync_not_opt_out_details\"\n\tEventDetailsSmartSyncOptOutDetails                              = \"smart_sync_opt_out_details\"\n\tEventDetailsSsoChangePolicyDetails                              = \"sso_change_policy_details\"\n\tEventDetailsTeamBrandingPolicyChangedDetails                    = \"team_branding_policy_changed_details\"\n\tEventDetailsTeamExtensionsPolicyChangedDetails                  = \"team_extensions_policy_changed_details\"\n\tEventDetailsTeamSelectiveSyncPolicyChangedDetails               = \"team_selective_sync_policy_changed_details\"\n\tEventDetailsTeamSharingWhitelistSubjectsChangedDetails          = \"team_sharing_whitelist_subjects_changed_details\"\n\tEventDetailsTfaAddExceptionDetails                              = \"tfa_add_exception_details\"\n\tEventDetailsTfaChangePolicyDetails                              = \"tfa_change_policy_details\"\n\tEventDetailsTfaRemoveExceptionDetails                           = \"tfa_remove_exception_details\"\n\tEventDetailsTwoAccountChangePolicyDetails                       = \"two_account_change_policy_details\"\n\tEventDetailsViewerInfoPolicyChangedDetails                      = \"viewer_info_policy_changed_details\"\n\tEventDetailsWatermarkingPolicyChangedDetails                    = \"watermarking_policy_changed_details\"\n\tEventDetailsWebSessionsChangeActiveSessionLimitDetails          = \"web_sessions_change_active_session_limit_details\"\n\tEventDetailsWebSessionsChangeFixedLengthPolicyDetails           = \"web_sessions_change_fixed_length_policy_details\"\n\tEventDetailsWebSessionsChangeIdleLengthPolicyDetails            = \"web_sessions_change_idle_length_policy_details\"\n\tEventDetailsDataResidencyMigrationRequestSuccessfulDetails      = \"data_residency_migration_request_successful_details\"\n\tEventDetailsDataResidencyMigrationRequestUnsuccessfulDetails    = \"data_residency_migration_request_unsuccessful_details\"\n\tEventDetailsTeamMergeFromDetails                                = \"team_merge_from_details\"\n\tEventDetailsTeamMergeToDetails                                  = \"team_merge_to_details\"\n\tEventDetailsTeamProfileAddBackgroundDetails                     = \"team_profile_add_background_details\"\n\tEventDetailsTeamProfileAddLogoDetails                           = \"team_profile_add_logo_details\"\n\tEventDetailsTeamProfileChangeBackgroundDetails                  = \"team_profile_change_background_details\"\n\tEventDetailsTeamProfileChangeDefaultLanguageDetails             = \"team_profile_change_default_language_details\"\n\tEventDetailsTeamProfileChangeLogoDetails                        = \"team_profile_change_logo_details\"\n\tEventDetailsTeamProfileChangeNameDetails                        = \"team_profile_change_name_details\"\n\tEventDetailsTeamProfileRemoveBackgroundDetails                  = \"team_profile_remove_background_details\"\n\tEventDetailsTeamProfileRemoveLogoDetails                        = \"team_profile_remove_logo_details\"\n\tEventDetailsTfaAddBackupPhoneDetails                            = \"tfa_add_backup_phone_details\"\n\tEventDetailsTfaAddSecurityKeyDetails                            = \"tfa_add_security_key_details\"\n\tEventDetailsTfaChangeBackupPhoneDetails                         = \"tfa_change_backup_phone_details\"\n\tEventDetailsTfaChangeStatusDetails                              = \"tfa_change_status_details\"\n\tEventDetailsTfaRemoveBackupPhoneDetails                         = \"tfa_remove_backup_phone_details\"\n\tEventDetailsTfaRemoveSecurityKeyDetails                         = \"tfa_remove_security_key_details\"\n\tEventDetailsTfaResetDetails                                     = \"tfa_reset_details\"\n\tEventDetailsChangedEnterpriseAdminRoleDetails                   = \"changed_enterprise_admin_role_details\"\n\tEventDetailsChangedEnterpriseConnectedTeamStatusDetails         = \"changed_enterprise_connected_team_status_details\"\n\tEventDetailsEndedEnterpriseAdminSessionDetails                  = \"ended_enterprise_admin_session_details\"\n\tEventDetailsEndedEnterpriseAdminSessionDeprecatedDetails        = \"ended_enterprise_admin_session_deprecated_details\"\n\tEventDetailsEnterpriseSettingsLockingDetails                    = \"enterprise_settings_locking_details\"\n\tEventDetailsGuestAdminChangeStatusDetails                       = \"guest_admin_change_status_details\"\n\tEventDetailsStartedEnterpriseAdminSessionDetails                = \"started_enterprise_admin_session_details\"\n\tEventDetailsTeamMergeRequestAcceptedDetails                     = \"team_merge_request_accepted_details\"\n\tEventDetailsTeamMergeRequestAcceptedShownToPrimaryTeamDetails   = \"team_merge_request_accepted_shown_to_primary_team_details\"\n\tEventDetailsTeamMergeRequestAcceptedShownToSecondaryTeamDetails = \"team_merge_request_accepted_shown_to_secondary_team_details\"\n\tEventDetailsTeamMergeRequestAutoCanceledDetails                 = \"team_merge_request_auto_canceled_details\"\n\tEventDetailsTeamMergeRequestCanceledDetails                     = \"team_merge_request_canceled_details\"\n\tEventDetailsTeamMergeRequestCanceledShownToPrimaryTeamDetails   = \"team_merge_request_canceled_shown_to_primary_team_details\"\n\tEventDetailsTeamMergeRequestCanceledShownToSecondaryTeamDetails = \"team_merge_request_canceled_shown_to_secondary_team_details\"\n\tEventDetailsTeamMergeRequestExpiredDetails                      = \"team_merge_request_expired_details\"\n\tEventDetailsTeamMergeRequestExpiredShownToPrimaryTeamDetails    = \"team_merge_request_expired_shown_to_primary_team_details\"\n\tEventDetailsTeamMergeRequestExpiredShownToSecondaryTeamDetails  = \"team_merge_request_expired_shown_to_secondary_team_details\"\n\tEventDetailsTeamMergeRequestRejectedShownToPrimaryTeamDetails   = \"team_merge_request_rejected_shown_to_primary_team_details\"\n\tEventDetailsTeamMergeRequestRejectedShownToSecondaryTeamDetails = \"team_merge_request_rejected_shown_to_secondary_team_details\"\n\tEventDetailsTeamMergeRequestReminderDetails                     = \"team_merge_request_reminder_details\"\n\tEventDetailsTeamMergeRequestReminderShownToPrimaryTeamDetails   = \"team_merge_request_reminder_shown_to_primary_team_details\"\n\tEventDetailsTeamMergeRequestReminderShownToSecondaryTeamDetails = \"team_merge_request_reminder_shown_to_secondary_team_details\"\n\tEventDetailsTeamMergeRequestRevokedDetails                      = \"team_merge_request_revoked_details\"\n\tEventDetailsTeamMergeRequestSentShownToPrimaryTeamDetails       = \"team_merge_request_sent_shown_to_primary_team_details\"\n\tEventDetailsTeamMergeRequestSentShownToSecondaryTeamDetails     = \"team_merge_request_sent_shown_to_secondary_team_details\"\n\tEventDetailsMissingDetails                                      = \"missing_details\"\n\tEventDetailsOther                                               = \"other\"\n)\n\n// UnmarshalJSON deserializes into a EventDetails instance\nfunc (u *EventDetails) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"admin_alerting_alert_state_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.AdminAlertingAlertStateChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"admin_alerting_changed_alert_config_details\":\n\t\tif err = json.Unmarshal(body, &u.AdminAlertingChangedAlertConfigDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"admin_alerting_triggered_alert_details\":\n\t\tif err = json.Unmarshal(body, &u.AdminAlertingTriggeredAlertDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"app_blocked_by_permissions_details\":\n\t\tif err = json.Unmarshal(body, &u.AppBlockedByPermissionsDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"app_link_team_details\":\n\t\tif err = json.Unmarshal(body, &u.AppLinkTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"app_link_user_details\":\n\t\tif err = json.Unmarshal(body, &u.AppLinkUserDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"app_unlink_team_details\":\n\t\tif err = json.Unmarshal(body, &u.AppUnlinkTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"app_unlink_user_details\":\n\t\tif err = json.Unmarshal(body, &u.AppUnlinkUserDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"integration_connected_details\":\n\t\tif err = json.Unmarshal(body, &u.IntegrationConnectedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"integration_disconnected_details\":\n\t\tif err = json.Unmarshal(body, &u.IntegrationDisconnectedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_add_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.FileAddCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_change_comment_subscription_details\":\n\t\tif err = json.Unmarshal(body, &u.FileChangeCommentSubscriptionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_delete_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.FileDeleteCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_edit_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.FileEditCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_like_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.FileLikeCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_resolve_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.FileResolveCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_unlike_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.FileUnlikeCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_unresolve_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.FileUnresolveCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_add_folders_details\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyAddFoldersDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_add_folder_failed_details\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyAddFolderFailedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_content_disposed_details\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyContentDisposedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_create_details\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyCreateDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_delete_details\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyDeleteDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_edit_details_details\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyEditDetailsDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_edit_duration_details\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyEditDurationDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_export_created_details\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyExportCreatedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_export_removed_details\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyExportRemovedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_remove_folders_details\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyRemoveFoldersDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_report_created_details\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyReportCreatedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_zip_part_downloaded_details\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyZipPartDownloadedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_activate_a_hold_details\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsActivateAHoldDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_add_members_details\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsAddMembersDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_change_hold_details_details\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsChangeHoldDetailsDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_change_hold_name_details\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsChangeHoldNameDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_export_a_hold_details\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsExportAHoldDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_export_cancelled_details\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsExportCancelledDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_export_downloaded_details\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsExportDownloadedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_export_removed_details\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsExportRemovedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_release_a_hold_details\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsReleaseAHoldDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_remove_members_details\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsRemoveMembersDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_report_a_hold_details\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsReportAHoldDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_change_ip_desktop_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceChangeIpDesktopDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_change_ip_mobile_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceChangeIpMobileDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_change_ip_web_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceChangeIpWebDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_delete_on_unlink_fail_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceDeleteOnUnlinkFailDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_delete_on_unlink_success_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceDeleteOnUnlinkSuccessDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_link_fail_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceLinkFailDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_link_success_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceLinkSuccessDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_management_disabled_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceManagementDisabledDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_management_enabled_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceManagementEnabledDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_sync_backup_status_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceSyncBackupStatusChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_unlink_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceUnlinkDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"dropbox_passwords_exported_details\":\n\t\tif err = json.Unmarshal(body, &u.DropboxPasswordsExportedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"dropbox_passwords_new_device_enrolled_details\":\n\t\tif err = json.Unmarshal(body, &u.DropboxPasswordsNewDeviceEnrolledDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"emm_refresh_auth_token_details\":\n\t\tif err = json.Unmarshal(body, &u.EmmRefreshAuthTokenDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"external_drive_backup_eligibility_status_checked_details\":\n\t\tif err = json.Unmarshal(body, &u.ExternalDriveBackupEligibilityStatusCheckedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"external_drive_backup_status_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.ExternalDriveBackupStatusChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"account_capture_change_availability_details\":\n\t\tif err = json.Unmarshal(body, &u.AccountCaptureChangeAvailabilityDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"account_capture_migrate_account_details\":\n\t\tif err = json.Unmarshal(body, &u.AccountCaptureMigrateAccountDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"account_capture_notification_emails_sent_details\":\n\t\tif err = json.Unmarshal(body, &u.AccountCaptureNotificationEmailsSentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"account_capture_relinquish_account_details\":\n\t\tif err = json.Unmarshal(body, &u.AccountCaptureRelinquishAccountDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"disabled_domain_invites_details\":\n\t\tif err = json.Unmarshal(body, &u.DisabledDomainInvitesDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_invites_approve_request_to_join_team_details\":\n\t\tif err = json.Unmarshal(body, &u.DomainInvitesApproveRequestToJoinTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_invites_decline_request_to_join_team_details\":\n\t\tif err = json.Unmarshal(body, &u.DomainInvitesDeclineRequestToJoinTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_invites_email_existing_users_details\":\n\t\tif err = json.Unmarshal(body, &u.DomainInvitesEmailExistingUsersDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_invites_request_to_join_team_details\":\n\t\tif err = json.Unmarshal(body, &u.DomainInvitesRequestToJoinTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_invites_set_invite_new_user_pref_to_no_details\":\n\t\tif err = json.Unmarshal(body, &u.DomainInvitesSetInviteNewUserPrefToNoDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_invites_set_invite_new_user_pref_to_yes_details\":\n\t\tif err = json.Unmarshal(body, &u.DomainInvitesSetInviteNewUserPrefToYesDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_verification_add_domain_fail_details\":\n\t\tif err = json.Unmarshal(body, &u.DomainVerificationAddDomainFailDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_verification_add_domain_success_details\":\n\t\tif err = json.Unmarshal(body, &u.DomainVerificationAddDomainSuccessDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_verification_remove_domain_details\":\n\t\tif err = json.Unmarshal(body, &u.DomainVerificationRemoveDomainDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"enabled_domain_invites_details\":\n\t\tif err = json.Unmarshal(body, &u.EnabledDomainInvitesDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"apply_naming_convention_details\":\n\t\tif err = json.Unmarshal(body, &u.ApplyNamingConventionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"create_folder_details\":\n\t\tif err = json.Unmarshal(body, &u.CreateFolderDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_add_details\":\n\t\tif err = json.Unmarshal(body, &u.FileAddDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_copy_details\":\n\t\tif err = json.Unmarshal(body, &u.FileCopyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_delete_details\":\n\t\tif err = json.Unmarshal(body, &u.FileDeleteDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_download_details\":\n\t\tif err = json.Unmarshal(body, &u.FileDownloadDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_edit_details\":\n\t\tif err = json.Unmarshal(body, &u.FileEditDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_get_copy_reference_details\":\n\t\tif err = json.Unmarshal(body, &u.FileGetCopyReferenceDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_locking_lock_status_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.FileLockingLockStatusChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_move_details\":\n\t\tif err = json.Unmarshal(body, &u.FileMoveDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_permanently_delete_details\":\n\t\tif err = json.Unmarshal(body, &u.FilePermanentlyDeleteDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_preview_details\":\n\t\tif err = json.Unmarshal(body, &u.FilePreviewDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_rename_details\":\n\t\tif err = json.Unmarshal(body, &u.FileRenameDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_restore_details\":\n\t\tif err = json.Unmarshal(body, &u.FileRestoreDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_revert_details\":\n\t\tif err = json.Unmarshal(body, &u.FileRevertDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_rollback_changes_details\":\n\t\tif err = json.Unmarshal(body, &u.FileRollbackChangesDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_save_copy_reference_details\":\n\t\tif err = json.Unmarshal(body, &u.FileSaveCopyReferenceDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"folder_overview_description_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.FolderOverviewDescriptionChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"folder_overview_item_pinned_details\":\n\t\tif err = json.Unmarshal(body, &u.FolderOverviewItemPinnedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"folder_overview_item_unpinned_details\":\n\t\tif err = json.Unmarshal(body, &u.FolderOverviewItemUnpinnedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"object_label_added_details\":\n\t\tif err = json.Unmarshal(body, &u.ObjectLabelAddedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"object_label_removed_details\":\n\t\tif err = json.Unmarshal(body, &u.ObjectLabelRemovedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"object_label_updated_value_details\":\n\t\tif err = json.Unmarshal(body, &u.ObjectLabelUpdatedValueDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"organize_folder_with_tidy_details\":\n\t\tif err = json.Unmarshal(body, &u.OrganizeFolderWithTidyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"rewind_folder_details\":\n\t\tif err = json.Unmarshal(body, &u.RewindFolderDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"undo_naming_convention_details\":\n\t\tif err = json.Unmarshal(body, &u.UndoNamingConventionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"undo_organize_folder_with_tidy_details\":\n\t\tif err = json.Unmarshal(body, &u.UndoOrganizeFolderWithTidyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"user_tags_added_details\":\n\t\tif err = json.Unmarshal(body, &u.UserTagsAddedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"user_tags_removed_details\":\n\t\tif err = json.Unmarshal(body, &u.UserTagsRemovedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"email_ingest_receive_file_details\":\n\t\tif err = json.Unmarshal(body, &u.EmailIngestReceiveFileDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_request_change_details\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestChangeDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_request_close_details\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestCloseDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_request_create_details\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestCreateDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_request_delete_details\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestDeleteDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_request_receive_file_details\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestReceiveFileDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_add_external_id_details\":\n\t\tif err = json.Unmarshal(body, &u.GroupAddExternalIdDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_add_member_details\":\n\t\tif err = json.Unmarshal(body, &u.GroupAddMemberDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_change_external_id_details\":\n\t\tif err = json.Unmarshal(body, &u.GroupChangeExternalIdDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_change_management_type_details\":\n\t\tif err = json.Unmarshal(body, &u.GroupChangeManagementTypeDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_change_member_role_details\":\n\t\tif err = json.Unmarshal(body, &u.GroupChangeMemberRoleDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_create_details\":\n\t\tif err = json.Unmarshal(body, &u.GroupCreateDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_delete_details\":\n\t\tif err = json.Unmarshal(body, &u.GroupDeleteDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_description_updated_details\":\n\t\tif err = json.Unmarshal(body, &u.GroupDescriptionUpdatedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_join_policy_updated_details\":\n\t\tif err = json.Unmarshal(body, &u.GroupJoinPolicyUpdatedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_moved_details\":\n\t\tif err = json.Unmarshal(body, &u.GroupMovedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_remove_external_id_details\":\n\t\tif err = json.Unmarshal(body, &u.GroupRemoveExternalIdDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_remove_member_details\":\n\t\tif err = json.Unmarshal(body, &u.GroupRemoveMemberDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_rename_details\":\n\t\tif err = json.Unmarshal(body, &u.GroupRenameDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"account_lock_or_unlocked_details\":\n\t\tif err = json.Unmarshal(body, &u.AccountLockOrUnlockedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"emm_error_details\":\n\t\tif err = json.Unmarshal(body, &u.EmmErrorDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"guest_admin_signed_in_via_trusted_teams_details\":\n\t\tif err = json.Unmarshal(body, &u.GuestAdminSignedInViaTrustedTeamsDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"guest_admin_signed_out_via_trusted_teams_details\":\n\t\tif err = json.Unmarshal(body, &u.GuestAdminSignedOutViaTrustedTeamsDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"login_fail_details\":\n\t\tif err = json.Unmarshal(body, &u.LoginFailDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"login_success_details\":\n\t\tif err = json.Unmarshal(body, &u.LoginSuccessDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"logout_details\":\n\t\tif err = json.Unmarshal(body, &u.LogoutDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"reseller_support_session_end_details\":\n\t\tif err = json.Unmarshal(body, &u.ResellerSupportSessionEndDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"reseller_support_session_start_details\":\n\t\tif err = json.Unmarshal(body, &u.ResellerSupportSessionStartDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sign_in_as_session_end_details\":\n\t\tif err = json.Unmarshal(body, &u.SignInAsSessionEndDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sign_in_as_session_start_details\":\n\t\tif err = json.Unmarshal(body, &u.SignInAsSessionStartDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_error_details\":\n\t\tif err = json.Unmarshal(body, &u.SsoErrorDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"create_team_invite_link_details\":\n\t\tif err = json.Unmarshal(body, &u.CreateTeamInviteLinkDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"delete_team_invite_link_details\":\n\t\tif err = json.Unmarshal(body, &u.DeleteTeamInviteLinkDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_add_external_id_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberAddExternalIdDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_add_name_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberAddNameDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_change_admin_role_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberChangeAdminRoleDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_change_email_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberChangeEmailDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_change_external_id_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberChangeExternalIdDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_change_membership_type_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberChangeMembershipTypeDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_change_name_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberChangeNameDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_change_reseller_role_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberChangeResellerRoleDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_change_status_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberChangeStatusDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_delete_manual_contacts_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberDeleteManualContactsDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_delete_profile_photo_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberDeleteProfilePhotoDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_permanently_delete_account_contents_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberPermanentlyDeleteAccountContentsDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_remove_external_id_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberRemoveExternalIdDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_set_profile_photo_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberSetProfilePhotoDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_add_custom_quota_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsAddCustomQuotaDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_change_custom_quota_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsChangeCustomQuotaDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_change_status_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsChangeStatusDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_remove_custom_quota_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsRemoveCustomQuotaDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_suggest_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberSuggestDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_transfer_account_contents_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberTransferAccountContentsDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"pending_secondary_email_added_details\":\n\t\tif err = json.Unmarshal(body, &u.PendingSecondaryEmailAddedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"secondary_email_deleted_details\":\n\t\tif err = json.Unmarshal(body, &u.SecondaryEmailDeletedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"secondary_email_verified_details\":\n\t\tif err = json.Unmarshal(body, &u.SecondaryEmailVerifiedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"secondary_mails_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.SecondaryMailsPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_add_page_details\":\n\t\tif err = json.Unmarshal(body, &u.BinderAddPageDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_add_section_details\":\n\t\tif err = json.Unmarshal(body, &u.BinderAddSectionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_remove_page_details\":\n\t\tif err = json.Unmarshal(body, &u.BinderRemovePageDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_remove_section_details\":\n\t\tif err = json.Unmarshal(body, &u.BinderRemoveSectionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_rename_page_details\":\n\t\tif err = json.Unmarshal(body, &u.BinderRenamePageDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_rename_section_details\":\n\t\tif err = json.Unmarshal(body, &u.BinderRenameSectionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_reorder_page_details\":\n\t\tif err = json.Unmarshal(body, &u.BinderReorderPageDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_reorder_section_details\":\n\t\tif err = json.Unmarshal(body, &u.BinderReorderSectionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_add_member_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentAddMemberDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_add_to_folder_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentAddToFolderDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_archive_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentArchiveDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_create_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentCreateDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_permanently_delete_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentPermanentlyDeleteDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_remove_from_folder_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentRemoveFromFolderDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_remove_member_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentRemoveMemberDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_rename_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentRenameDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_restore_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentRestoreDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_add_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocAddCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_change_member_role_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocChangeMemberRoleDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_change_sharing_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocChangeSharingPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_change_subscription_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocChangeSubscriptionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_deleted_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocDeletedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_delete_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocDeleteCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_download_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocDownloadDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_edit_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocEditDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_edit_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocEditCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_followed_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocFollowedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_mention_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocMentionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_ownership_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocOwnershipChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_request_access_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocRequestAccessDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_resolve_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocResolveCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_revert_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocRevertDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_slack_share_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocSlackShareDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_team_invite_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocTeamInviteDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_trashed_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocTrashedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_unresolve_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocUnresolveCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_untrashed_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocUntrashedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_view_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocViewDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_external_view_allow_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperExternalViewAllowDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_external_view_default_team_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperExternalViewDefaultTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_external_view_forbid_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperExternalViewForbidDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_folder_change_subscription_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperFolderChangeSubscriptionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_folder_deleted_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperFolderDeletedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_folder_followed_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperFolderFollowedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_folder_team_invite_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperFolderTeamInviteDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_published_link_change_permission_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperPublishedLinkChangePermissionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_published_link_create_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperPublishedLinkCreateDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_published_link_disabled_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperPublishedLinkDisabledDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_published_link_view_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperPublishedLinkViewDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"password_change_details\":\n\t\tif err = json.Unmarshal(body, &u.PasswordChangeDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"password_reset_details\":\n\t\tif err = json.Unmarshal(body, &u.PasswordResetDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"password_reset_all_details\":\n\t\tif err = json.Unmarshal(body, &u.PasswordResetAllDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"classification_create_report_details\":\n\t\tif err = json.Unmarshal(body, &u.ClassificationCreateReportDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"classification_create_report_fail_details\":\n\t\tif err = json.Unmarshal(body, &u.ClassificationCreateReportFailDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"emm_create_exceptions_report_details\":\n\t\tif err = json.Unmarshal(body, &u.EmmCreateExceptionsReportDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"emm_create_usage_report_details\":\n\t\tif err = json.Unmarshal(body, &u.EmmCreateUsageReportDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"export_members_report_details\":\n\t\tif err = json.Unmarshal(body, &u.ExportMembersReportDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"export_members_report_fail_details\":\n\t\tif err = json.Unmarshal(body, &u.ExportMembersReportFailDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"external_sharing_create_report_details\":\n\t\tif err = json.Unmarshal(body, &u.ExternalSharingCreateReportDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"external_sharing_report_failed_details\":\n\t\tif err = json.Unmarshal(body, &u.ExternalSharingReportFailedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"no_expiration_link_gen_create_report_details\":\n\t\tif err = json.Unmarshal(body, &u.NoExpirationLinkGenCreateReportDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"no_expiration_link_gen_report_failed_details\":\n\t\tif err = json.Unmarshal(body, &u.NoExpirationLinkGenReportFailedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"no_password_link_gen_create_report_details\":\n\t\tif err = json.Unmarshal(body, &u.NoPasswordLinkGenCreateReportDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"no_password_link_gen_report_failed_details\":\n\t\tif err = json.Unmarshal(body, &u.NoPasswordLinkGenReportFailedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"no_password_link_view_create_report_details\":\n\t\tif err = json.Unmarshal(body, &u.NoPasswordLinkViewCreateReportDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"no_password_link_view_report_failed_details\":\n\t\tif err = json.Unmarshal(body, &u.NoPasswordLinkViewReportFailedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"outdated_link_view_create_report_details\":\n\t\tif err = json.Unmarshal(body, &u.OutdatedLinkViewCreateReportDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"outdated_link_view_report_failed_details\":\n\t\tif err = json.Unmarshal(body, &u.OutdatedLinkViewReportFailedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_admin_export_start_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperAdminExportStartDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"smart_sync_create_admin_privilege_report_details\":\n\t\tif err = json.Unmarshal(body, &u.SmartSyncCreateAdminPrivilegeReportDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_activity_create_report_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamActivityCreateReportDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_activity_create_report_fail_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamActivityCreateReportFailDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"collection_share_details\":\n\t\tif err = json.Unmarshal(body, &u.CollectionShareDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_transfers_file_add_details\":\n\t\tif err = json.Unmarshal(body, &u.FileTransfersFileAddDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_transfers_transfer_delete_details\":\n\t\tif err = json.Unmarshal(body, &u.FileTransfersTransferDeleteDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_transfers_transfer_download_details\":\n\t\tif err = json.Unmarshal(body, &u.FileTransfersTransferDownloadDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_transfers_transfer_send_details\":\n\t\tif err = json.Unmarshal(body, &u.FileTransfersTransferSendDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_transfers_transfer_view_details\":\n\t\tif err = json.Unmarshal(body, &u.FileTransfersTransferViewDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"note_acl_invite_only_details\":\n\t\tif err = json.Unmarshal(body, &u.NoteAclInviteOnlyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"note_acl_link_details\":\n\t\tif err = json.Unmarshal(body, &u.NoteAclLinkDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"note_acl_team_link_details\":\n\t\tif err = json.Unmarshal(body, &u.NoteAclTeamLinkDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"note_shared_details\":\n\t\tif err = json.Unmarshal(body, &u.NoteSharedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"note_share_receive_details\":\n\t\tif err = json.Unmarshal(body, &u.NoteShareReceiveDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"open_note_shared_details\":\n\t\tif err = json.Unmarshal(body, &u.OpenNoteSharedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_add_group_details\":\n\t\tif err = json.Unmarshal(body, &u.SfAddGroupDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_allow_non_members_to_view_shared_links_details\":\n\t\tif err = json.Unmarshal(body, &u.SfAllowNonMembersToViewSharedLinksDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_external_invite_warn_details\":\n\t\tif err = json.Unmarshal(body, &u.SfExternalInviteWarnDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_fb_invite_details\":\n\t\tif err = json.Unmarshal(body, &u.SfFbInviteDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_fb_invite_change_role_details\":\n\t\tif err = json.Unmarshal(body, &u.SfFbInviteChangeRoleDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_fb_uninvite_details\":\n\t\tif err = json.Unmarshal(body, &u.SfFbUninviteDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_invite_group_details\":\n\t\tif err = json.Unmarshal(body, &u.SfInviteGroupDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_team_grant_access_details\":\n\t\tif err = json.Unmarshal(body, &u.SfTeamGrantAccessDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_team_invite_details\":\n\t\tif err = json.Unmarshal(body, &u.SfTeamInviteDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_team_invite_change_role_details\":\n\t\tif err = json.Unmarshal(body, &u.SfTeamInviteChangeRoleDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_team_join_details\":\n\t\tif err = json.Unmarshal(body, &u.SfTeamJoinDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_team_join_from_oob_link_details\":\n\t\tif err = json.Unmarshal(body, &u.SfTeamJoinFromOobLinkDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_team_uninvite_details\":\n\t\tif err = json.Unmarshal(body, &u.SfTeamUninviteDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_add_invitees_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentAddInviteesDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_add_link_expiry_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentAddLinkExpiryDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_add_link_password_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentAddLinkPasswordDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_add_member_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentAddMemberDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_change_downloads_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentChangeDownloadsPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_change_invitee_role_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentChangeInviteeRoleDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_change_link_audience_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentChangeLinkAudienceDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_change_link_expiry_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentChangeLinkExpiryDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_change_link_password_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentChangeLinkPasswordDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_change_member_role_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentChangeMemberRoleDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_change_viewer_info_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentChangeViewerInfoPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_claim_invitation_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentClaimInvitationDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_copy_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentCopyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_download_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentDownloadDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_relinquish_membership_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRelinquishMembershipDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_remove_invitees_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRemoveInviteesDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_remove_link_expiry_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRemoveLinkExpiryDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_remove_link_password_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRemoveLinkPasswordDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_remove_member_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRemoveMemberDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_request_access_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRequestAccessDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_restore_invitees_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRestoreInviteesDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_restore_member_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRestoreMemberDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_unshare_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentUnshareDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_view_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentViewDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_change_link_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderChangeLinkPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_change_members_inheritance_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderChangeMembersInheritancePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_change_members_management_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderChangeMembersManagementPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_change_members_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderChangeMembersPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_create_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderCreateDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_decline_invitation_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderDeclineInvitationDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_mount_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderMountDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_nest_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderNestDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_transfer_ownership_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderTransferOwnershipDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_unmount_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderUnmountDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_add_expiry_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkAddExpiryDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_change_expiry_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkChangeExpiryDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_change_visibility_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkChangeVisibilityDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_copy_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkCopyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_create_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkCreateDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_disable_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkDisableDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_download_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkDownloadDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_remove_expiry_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkRemoveExpiryDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_add_expiration_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsAddExpirationDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_add_password_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsAddPasswordDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_allow_download_disabled_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsAllowDownloadDisabledDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_allow_download_enabled_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsAllowDownloadEnabledDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_change_audience_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsChangeAudienceDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_change_expiration_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsChangeExpirationDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_change_password_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsChangePasswordDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_remove_expiration_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsRemoveExpirationDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_remove_password_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsRemovePasswordDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_share_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkShareDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_view_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkViewDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_note_opened_details\":\n\t\tif err = json.Unmarshal(body, &u.SharedNoteOpenedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shmodel_disable_downloads_details\":\n\t\tif err = json.Unmarshal(body, &u.ShmodelDisableDownloadsDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shmodel_enable_downloads_details\":\n\t\tif err = json.Unmarshal(body, &u.ShmodelEnableDownloadsDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shmodel_group_share_details\":\n\t\tif err = json.Unmarshal(body, &u.ShmodelGroupShareDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_access_granted_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseAccessGrantedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_add_member_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseAddMemberDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_archived_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseArchivedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_created_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseCreatedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_delete_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseDeleteCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_edited_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseEditedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_edit_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseEditCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_file_added_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseFileAddedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_file_download_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseFileDownloadDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_file_removed_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseFileRemovedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_file_view_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseFileViewDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_permanently_deleted_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcasePermanentlyDeletedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_post_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcasePostCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_remove_member_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseRemoveMemberDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_renamed_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseRenamedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_request_access_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseRequestAccessDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_resolve_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseResolveCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_restored_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseRestoredDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_trashed_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseTrashedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_trashed_deprecated_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseTrashedDeprecatedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_unresolve_comment_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseUnresolveCommentDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_untrashed_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseUntrashedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_untrashed_deprecated_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseUntrashedDeprecatedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_view_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseViewDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_add_cert_details\":\n\t\tif err = json.Unmarshal(body, &u.SsoAddCertDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_add_login_url_details\":\n\t\tif err = json.Unmarshal(body, &u.SsoAddLoginUrlDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_add_logout_url_details\":\n\t\tif err = json.Unmarshal(body, &u.SsoAddLogoutUrlDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_change_cert_details\":\n\t\tif err = json.Unmarshal(body, &u.SsoChangeCertDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_change_login_url_details\":\n\t\tif err = json.Unmarshal(body, &u.SsoChangeLoginUrlDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_change_logout_url_details\":\n\t\tif err = json.Unmarshal(body, &u.SsoChangeLogoutUrlDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_change_saml_identity_mode_details\":\n\t\tif err = json.Unmarshal(body, &u.SsoChangeSamlIdentityModeDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_remove_cert_details\":\n\t\tif err = json.Unmarshal(body, &u.SsoRemoveCertDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_remove_login_url_details\":\n\t\tif err = json.Unmarshal(body, &u.SsoRemoveLoginUrlDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_remove_logout_url_details\":\n\t\tif err = json.Unmarshal(body, &u.SsoRemoveLogoutUrlDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_folder_change_status_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamFolderChangeStatusDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_folder_create_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamFolderCreateDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_folder_downgrade_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamFolderDowngradeDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_folder_permanently_delete_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamFolderPermanentlyDeleteDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_folder_rename_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamFolderRenameDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_selective_sync_settings_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamSelectiveSyncSettingsChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"account_capture_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.AccountCaptureChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"admin_email_reminders_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.AdminEmailRemindersChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"allow_download_disabled_details\":\n\t\tif err = json.Unmarshal(body, &u.AllowDownloadDisabledDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"allow_download_enabled_details\":\n\t\tif err = json.Unmarshal(body, &u.AllowDownloadEnabledDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"app_permissions_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.AppPermissionsChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"camera_uploads_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.CameraUploadsPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"capture_transcript_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.CaptureTranscriptPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"classification_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.ClassificationChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"computer_backup_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.ComputerBackupPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"content_administration_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.ContentAdministrationPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"data_placement_restriction_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.DataPlacementRestrictionChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"data_placement_restriction_satisfy_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.DataPlacementRestrictionSatisfyPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_approvals_add_exception_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceApprovalsAddExceptionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_approvals_change_desktop_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceApprovalsChangeDesktopPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_approvals_change_mobile_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceApprovalsChangeMobilePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_approvals_change_overage_action_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceApprovalsChangeOverageActionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_approvals_change_unlink_action_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceApprovalsChangeUnlinkActionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_approvals_remove_exception_details\":\n\t\tif err = json.Unmarshal(body, &u.DeviceApprovalsRemoveExceptionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"directory_restrictions_add_members_details\":\n\t\tif err = json.Unmarshal(body, &u.DirectoryRestrictionsAddMembersDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"directory_restrictions_remove_members_details\":\n\t\tif err = json.Unmarshal(body, &u.DirectoryRestrictionsRemoveMembersDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"dropbox_passwords_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.DropboxPasswordsPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"email_ingest_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.EmailIngestPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"emm_add_exception_details\":\n\t\tif err = json.Unmarshal(body, &u.EmmAddExceptionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"emm_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.EmmChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"emm_remove_exception_details\":\n\t\tif err = json.Unmarshal(body, &u.EmmRemoveExceptionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"extended_version_history_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.ExtendedVersionHistoryChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"external_drive_backup_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.ExternalDriveBackupPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_comments_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.FileCommentsChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_locking_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.FileLockingPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_provider_migration_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.FileProviderMigrationPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_requests_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestsChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_requests_emails_enabled_details\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestsEmailsEnabledDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_requests_emails_restricted_to_team_only_details\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestsEmailsRestrictedToTeamOnlyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_transfers_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.FileTransfersPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"google_sso_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.GoogleSsoChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_user_management_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.GroupUserManagementChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"integration_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.IntegrationPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"invite_acceptance_email_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.InviteAcceptanceEmailPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_requests_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberRequestsChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_send_invite_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberSendInvitePolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_add_exception_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsAddExceptionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_change_caps_type_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsChangeCapsTypePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_remove_exception_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsRemoveExceptionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_suggestions_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.MemberSuggestionsChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"microsoft_office_addin_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.MicrosoftOfficeAddinChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"network_control_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.NetworkControlChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_change_deployment_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperChangeDeploymentPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_change_member_link_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperChangeMemberLinkPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_change_member_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperChangeMemberPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_default_folder_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDefaultFolderPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_desktop_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperDesktopPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_enabled_users_group_addition_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperEnabledUsersGroupAdditionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_enabled_users_group_removal_details\":\n\t\tif err = json.Unmarshal(body, &u.PaperEnabledUsersGroupRemovalDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"password_strength_requirements_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.PasswordStrengthRequirementsChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"permanent_delete_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.PermanentDeleteChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"reseller_support_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.ResellerSupportChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"rewind_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.RewindPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"send_for_signature_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.SendForSignaturePolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sharing_change_folder_join_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.SharingChangeFolderJoinPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sharing_change_link_allow_change_expiration_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.SharingChangeLinkAllowChangeExpirationPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sharing_change_link_default_expiration_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.SharingChangeLinkDefaultExpirationPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sharing_change_link_enforce_password_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.SharingChangeLinkEnforcePasswordPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sharing_change_link_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.SharingChangeLinkPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sharing_change_member_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.SharingChangeMemberPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_change_download_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseChangeDownloadPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_change_enabled_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseChangeEnabledPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_change_external_sharing_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseChangeExternalSharingPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"smarter_smart_sync_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.SmarterSmartSyncPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"smart_sync_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.SmartSyncChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"smart_sync_not_opt_out_details\":\n\t\tif err = json.Unmarshal(body, &u.SmartSyncNotOptOutDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"smart_sync_opt_out_details\":\n\t\tif err = json.Unmarshal(body, &u.SmartSyncOptOutDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.SsoChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_branding_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamBrandingPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_extensions_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamExtensionsPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_selective_sync_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamSelectiveSyncPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_sharing_whitelist_subjects_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamSharingWhitelistSubjectsChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_add_exception_details\":\n\t\tif err = json.Unmarshal(body, &u.TfaAddExceptionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.TfaChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_remove_exception_details\":\n\t\tif err = json.Unmarshal(body, &u.TfaRemoveExceptionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"two_account_change_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.TwoAccountChangePolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"viewer_info_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.ViewerInfoPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"watermarking_policy_changed_details\":\n\t\tif err = json.Unmarshal(body, &u.WatermarkingPolicyChangedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"web_sessions_change_active_session_limit_details\":\n\t\tif err = json.Unmarshal(body, &u.WebSessionsChangeActiveSessionLimitDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"web_sessions_change_fixed_length_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.WebSessionsChangeFixedLengthPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"web_sessions_change_idle_length_policy_details\":\n\t\tif err = json.Unmarshal(body, &u.WebSessionsChangeIdleLengthPolicyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"data_residency_migration_request_successful_details\":\n\t\tif err = json.Unmarshal(body, &u.DataResidencyMigrationRequestSuccessfulDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"data_residency_migration_request_unsuccessful_details\":\n\t\tif err = json.Unmarshal(body, &u.DataResidencyMigrationRequestUnsuccessfulDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_from_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeFromDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_to_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeToDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_add_background_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileAddBackgroundDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_add_logo_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileAddLogoDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_change_background_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileChangeBackgroundDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_change_default_language_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileChangeDefaultLanguageDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_change_logo_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileChangeLogoDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_change_name_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileChangeNameDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_remove_background_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileRemoveBackgroundDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_remove_logo_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileRemoveLogoDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_add_backup_phone_details\":\n\t\tif err = json.Unmarshal(body, &u.TfaAddBackupPhoneDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_add_security_key_details\":\n\t\tif err = json.Unmarshal(body, &u.TfaAddSecurityKeyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_change_backup_phone_details\":\n\t\tif err = json.Unmarshal(body, &u.TfaChangeBackupPhoneDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_change_status_details\":\n\t\tif err = json.Unmarshal(body, &u.TfaChangeStatusDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_remove_backup_phone_details\":\n\t\tif err = json.Unmarshal(body, &u.TfaRemoveBackupPhoneDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_remove_security_key_details\":\n\t\tif err = json.Unmarshal(body, &u.TfaRemoveSecurityKeyDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_reset_details\":\n\t\tif err = json.Unmarshal(body, &u.TfaResetDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"changed_enterprise_admin_role_details\":\n\t\tif err = json.Unmarshal(body, &u.ChangedEnterpriseAdminRoleDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"changed_enterprise_connected_team_status_details\":\n\t\tif err = json.Unmarshal(body, &u.ChangedEnterpriseConnectedTeamStatusDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"ended_enterprise_admin_session_details\":\n\t\tif err = json.Unmarshal(body, &u.EndedEnterpriseAdminSessionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"ended_enterprise_admin_session_deprecated_details\":\n\t\tif err = json.Unmarshal(body, &u.EndedEnterpriseAdminSessionDeprecatedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"enterprise_settings_locking_details\":\n\t\tif err = json.Unmarshal(body, &u.EnterpriseSettingsLockingDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"guest_admin_change_status_details\":\n\t\tif err = json.Unmarshal(body, &u.GuestAdminChangeStatusDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"started_enterprise_admin_session_details\":\n\t\tif err = json.Unmarshal(body, &u.StartedEnterpriseAdminSessionDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_accepted_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestAcceptedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_accepted_shown_to_primary_team_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestAcceptedShownToPrimaryTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_accepted_shown_to_secondary_team_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestAcceptedShownToSecondaryTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_auto_canceled_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestAutoCanceledDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_canceled_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestCanceledDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_canceled_shown_to_primary_team_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestCanceledShownToPrimaryTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_canceled_shown_to_secondary_team_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestCanceledShownToSecondaryTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_expired_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestExpiredDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_expired_shown_to_primary_team_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestExpiredShownToPrimaryTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_expired_shown_to_secondary_team_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestExpiredShownToSecondaryTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_rejected_shown_to_primary_team_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestRejectedShownToPrimaryTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_rejected_shown_to_secondary_team_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestRejectedShownToSecondaryTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_reminder_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestReminderDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_reminder_shown_to_primary_team_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestReminderShownToPrimaryTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_reminder_shown_to_secondary_team_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestReminderShownToSecondaryTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_revoked_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestRevokedDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_sent_shown_to_primary_team_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestSentShownToPrimaryTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_sent_shown_to_secondary_team_details\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestSentShownToSecondaryTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"missing_details\":\n\t\tif err = json.Unmarshal(body, &u.MissingDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// EventType : The type of the event with description.\ntype EventType struct {\n\tdropbox.Tagged\n\t// AdminAlertingAlertStateChanged : (admin_alerting) Changed an alert state\n\tAdminAlertingAlertStateChanged *AdminAlertingAlertStateChangedType `json:\"admin_alerting_alert_state_changed,omitempty\"`\n\t// AdminAlertingChangedAlertConfig : (admin_alerting) Changed an alert\n\t// setting\n\tAdminAlertingChangedAlertConfig *AdminAlertingChangedAlertConfigType `json:\"admin_alerting_changed_alert_config,omitempty\"`\n\t// AdminAlertingTriggeredAlert : (admin_alerting) Triggered security alert\n\tAdminAlertingTriggeredAlert *AdminAlertingTriggeredAlertType `json:\"admin_alerting_triggered_alert,omitempty\"`\n\t// AppBlockedByPermissions : (apps) Failed to connect app for member\n\tAppBlockedByPermissions *AppBlockedByPermissionsType `json:\"app_blocked_by_permissions,omitempty\"`\n\t// AppLinkTeam : (apps) Linked app for team\n\tAppLinkTeam *AppLinkTeamType `json:\"app_link_team,omitempty\"`\n\t// AppLinkUser : (apps) Linked app for member\n\tAppLinkUser *AppLinkUserType `json:\"app_link_user,omitempty\"`\n\t// AppUnlinkTeam : (apps) Unlinked app for team\n\tAppUnlinkTeam *AppUnlinkTeamType `json:\"app_unlink_team,omitempty\"`\n\t// AppUnlinkUser : (apps) Unlinked app for member\n\tAppUnlinkUser *AppUnlinkUserType `json:\"app_unlink_user,omitempty\"`\n\t// IntegrationConnected : (apps) Connected integration for member\n\tIntegrationConnected *IntegrationConnectedType `json:\"integration_connected,omitempty\"`\n\t// IntegrationDisconnected : (apps) Disconnected integration for member\n\tIntegrationDisconnected *IntegrationDisconnectedType `json:\"integration_disconnected,omitempty\"`\n\t// FileAddComment : (comments) Added file comment\n\tFileAddComment *FileAddCommentType `json:\"file_add_comment,omitempty\"`\n\t// FileChangeCommentSubscription : (comments) Subscribed to or unsubscribed\n\t// from comment notifications for file\n\tFileChangeCommentSubscription *FileChangeCommentSubscriptionType `json:\"file_change_comment_subscription,omitempty\"`\n\t// FileDeleteComment : (comments) Deleted file comment\n\tFileDeleteComment *FileDeleteCommentType `json:\"file_delete_comment,omitempty\"`\n\t// FileEditComment : (comments) Edited file comment\n\tFileEditComment *FileEditCommentType `json:\"file_edit_comment,omitempty\"`\n\t// FileLikeComment : (comments) Liked file comment (deprecated, no longer\n\t// logged)\n\tFileLikeComment *FileLikeCommentType `json:\"file_like_comment,omitempty\"`\n\t// FileResolveComment : (comments) Resolved file comment\n\tFileResolveComment *FileResolveCommentType `json:\"file_resolve_comment,omitempty\"`\n\t// FileUnlikeComment : (comments) Unliked file comment (deprecated, no\n\t// longer logged)\n\tFileUnlikeComment *FileUnlikeCommentType `json:\"file_unlike_comment,omitempty\"`\n\t// FileUnresolveComment : (comments) Unresolved file comment\n\tFileUnresolveComment *FileUnresolveCommentType `json:\"file_unresolve_comment,omitempty\"`\n\t// GovernancePolicyAddFolders : (data_governance) Added folders to policy\n\tGovernancePolicyAddFolders *GovernancePolicyAddFoldersType `json:\"governance_policy_add_folders,omitempty\"`\n\t// GovernancePolicyAddFolderFailed : (data_governance) Couldn't add a folder\n\t// to a policy\n\tGovernancePolicyAddFolderFailed *GovernancePolicyAddFolderFailedType `json:\"governance_policy_add_folder_failed,omitempty\"`\n\t// GovernancePolicyContentDisposed : (data_governance) Content disposed\n\tGovernancePolicyContentDisposed *GovernancePolicyContentDisposedType `json:\"governance_policy_content_disposed,omitempty\"`\n\t// GovernancePolicyCreate : (data_governance) Activated a new policy\n\tGovernancePolicyCreate *GovernancePolicyCreateType `json:\"governance_policy_create,omitempty\"`\n\t// GovernancePolicyDelete : (data_governance) Deleted a policy\n\tGovernancePolicyDelete *GovernancePolicyDeleteType `json:\"governance_policy_delete,omitempty\"`\n\t// GovernancePolicyEditDetails : (data_governance) Edited policy\n\tGovernancePolicyEditDetails *GovernancePolicyEditDetailsType `json:\"governance_policy_edit_details,omitempty\"`\n\t// GovernancePolicyEditDuration : (data_governance) Changed policy duration\n\tGovernancePolicyEditDuration *GovernancePolicyEditDurationType `json:\"governance_policy_edit_duration,omitempty\"`\n\t// GovernancePolicyExportCreated : (data_governance) Created a policy\n\t// download\n\tGovernancePolicyExportCreated *GovernancePolicyExportCreatedType `json:\"governance_policy_export_created,omitempty\"`\n\t// GovernancePolicyExportRemoved : (data_governance) Removed a policy\n\t// download\n\tGovernancePolicyExportRemoved *GovernancePolicyExportRemovedType `json:\"governance_policy_export_removed,omitempty\"`\n\t// GovernancePolicyRemoveFolders : (data_governance) Removed folders from\n\t// policy\n\tGovernancePolicyRemoveFolders *GovernancePolicyRemoveFoldersType `json:\"governance_policy_remove_folders,omitempty\"`\n\t// GovernancePolicyReportCreated : (data_governance) Created a summary\n\t// report for a policy\n\tGovernancePolicyReportCreated *GovernancePolicyReportCreatedType `json:\"governance_policy_report_created,omitempty\"`\n\t// GovernancePolicyZipPartDownloaded : (data_governance) Downloaded content\n\t// from a policy\n\tGovernancePolicyZipPartDownloaded *GovernancePolicyZipPartDownloadedType `json:\"governance_policy_zip_part_downloaded,omitempty\"`\n\t// LegalHoldsActivateAHold : (data_governance) Activated a hold\n\tLegalHoldsActivateAHold *LegalHoldsActivateAHoldType `json:\"legal_holds_activate_a_hold,omitempty\"`\n\t// LegalHoldsAddMembers : (data_governance) Added members to a hold\n\tLegalHoldsAddMembers *LegalHoldsAddMembersType `json:\"legal_holds_add_members,omitempty\"`\n\t// LegalHoldsChangeHoldDetails : (data_governance) Edited details for a hold\n\tLegalHoldsChangeHoldDetails *LegalHoldsChangeHoldDetailsType `json:\"legal_holds_change_hold_details,omitempty\"`\n\t// LegalHoldsChangeHoldName : (data_governance) Renamed a hold\n\tLegalHoldsChangeHoldName *LegalHoldsChangeHoldNameType `json:\"legal_holds_change_hold_name,omitempty\"`\n\t// LegalHoldsExportAHold : (data_governance) Exported hold\n\tLegalHoldsExportAHold *LegalHoldsExportAHoldType `json:\"legal_holds_export_a_hold,omitempty\"`\n\t// LegalHoldsExportCancelled : (data_governance) Canceled export for a hold\n\tLegalHoldsExportCancelled *LegalHoldsExportCancelledType `json:\"legal_holds_export_cancelled,omitempty\"`\n\t// LegalHoldsExportDownloaded : (data_governance) Downloaded export for a\n\t// hold\n\tLegalHoldsExportDownloaded *LegalHoldsExportDownloadedType `json:\"legal_holds_export_downloaded,omitempty\"`\n\t// LegalHoldsExportRemoved : (data_governance) Removed export for a hold\n\tLegalHoldsExportRemoved *LegalHoldsExportRemovedType `json:\"legal_holds_export_removed,omitempty\"`\n\t// LegalHoldsReleaseAHold : (data_governance) Released a hold\n\tLegalHoldsReleaseAHold *LegalHoldsReleaseAHoldType `json:\"legal_holds_release_a_hold,omitempty\"`\n\t// LegalHoldsRemoveMembers : (data_governance) Removed members from a hold\n\tLegalHoldsRemoveMembers *LegalHoldsRemoveMembersType `json:\"legal_holds_remove_members,omitempty\"`\n\t// LegalHoldsReportAHold : (data_governance) Created a summary report for a\n\t// hold\n\tLegalHoldsReportAHold *LegalHoldsReportAHoldType `json:\"legal_holds_report_a_hold,omitempty\"`\n\t// DeviceChangeIpDesktop : (devices) Changed IP address associated with\n\t// active desktop session\n\tDeviceChangeIpDesktop *DeviceChangeIpDesktopType `json:\"device_change_ip_desktop,omitempty\"`\n\t// DeviceChangeIpMobile : (devices) Changed IP address associated with\n\t// active mobile session\n\tDeviceChangeIpMobile *DeviceChangeIpMobileType `json:\"device_change_ip_mobile,omitempty\"`\n\t// DeviceChangeIpWeb : (devices) Changed IP address associated with active\n\t// web session\n\tDeviceChangeIpWeb *DeviceChangeIpWebType `json:\"device_change_ip_web,omitempty\"`\n\t// DeviceDeleteOnUnlinkFail : (devices) Failed to delete all files from\n\t// unlinked device\n\tDeviceDeleteOnUnlinkFail *DeviceDeleteOnUnlinkFailType `json:\"device_delete_on_unlink_fail,omitempty\"`\n\t// DeviceDeleteOnUnlinkSuccess : (devices) Deleted all files from unlinked\n\t// device\n\tDeviceDeleteOnUnlinkSuccess *DeviceDeleteOnUnlinkSuccessType `json:\"device_delete_on_unlink_success,omitempty\"`\n\t// DeviceLinkFail : (devices) Failed to link device\n\tDeviceLinkFail *DeviceLinkFailType `json:\"device_link_fail,omitempty\"`\n\t// DeviceLinkSuccess : (devices) Linked device\n\tDeviceLinkSuccess *DeviceLinkSuccessType `json:\"device_link_success,omitempty\"`\n\t// DeviceManagementDisabled : (devices) Disabled device management\n\t// (deprecated, no longer logged)\n\tDeviceManagementDisabled *DeviceManagementDisabledType `json:\"device_management_disabled,omitempty\"`\n\t// DeviceManagementEnabled : (devices) Enabled device management\n\t// (deprecated, no longer logged)\n\tDeviceManagementEnabled *DeviceManagementEnabledType `json:\"device_management_enabled,omitempty\"`\n\t// DeviceSyncBackupStatusChanged : (devices) Enabled/disabled backup for\n\t// computer\n\tDeviceSyncBackupStatusChanged *DeviceSyncBackupStatusChangedType `json:\"device_sync_backup_status_changed,omitempty\"`\n\t// DeviceUnlink : (devices) Disconnected device\n\tDeviceUnlink *DeviceUnlinkType `json:\"device_unlink,omitempty\"`\n\t// DropboxPasswordsExported : (devices) Exported passwords\n\tDropboxPasswordsExported *DropboxPasswordsExportedType `json:\"dropbox_passwords_exported,omitempty\"`\n\t// DropboxPasswordsNewDeviceEnrolled : (devices) Enrolled new Dropbox\n\t// Passwords device\n\tDropboxPasswordsNewDeviceEnrolled *DropboxPasswordsNewDeviceEnrolledType `json:\"dropbox_passwords_new_device_enrolled,omitempty\"`\n\t// EmmRefreshAuthToken : (devices) Refreshed auth token used for setting up\n\t// EMM\n\tEmmRefreshAuthToken *EmmRefreshAuthTokenType `json:\"emm_refresh_auth_token,omitempty\"`\n\t// ExternalDriveBackupEligibilityStatusChecked : (devices) Checked external\n\t// drive backup eligibility status\n\tExternalDriveBackupEligibilityStatusChecked *ExternalDriveBackupEligibilityStatusCheckedType `json:\"external_drive_backup_eligibility_status_checked,omitempty\"`\n\t// ExternalDriveBackupStatusChanged : (devices) Modified external drive\n\t// backup\n\tExternalDriveBackupStatusChanged *ExternalDriveBackupStatusChangedType `json:\"external_drive_backup_status_changed,omitempty\"`\n\t// AccountCaptureChangeAvailability : (domains) Granted/revoked option to\n\t// enable account capture on team domains\n\tAccountCaptureChangeAvailability *AccountCaptureChangeAvailabilityType `json:\"account_capture_change_availability,omitempty\"`\n\t// AccountCaptureMigrateAccount : (domains) Account-captured user migrated\n\t// account to team\n\tAccountCaptureMigrateAccount *AccountCaptureMigrateAccountType `json:\"account_capture_migrate_account,omitempty\"`\n\t// AccountCaptureNotificationEmailsSent : (domains) Sent account capture\n\t// email to all unmanaged members\n\tAccountCaptureNotificationEmailsSent *AccountCaptureNotificationEmailsSentType `json:\"account_capture_notification_emails_sent,omitempty\"`\n\t// AccountCaptureRelinquishAccount : (domains) Account-captured user changed\n\t// account email to personal email\n\tAccountCaptureRelinquishAccount *AccountCaptureRelinquishAccountType `json:\"account_capture_relinquish_account,omitempty\"`\n\t// DisabledDomainInvites : (domains) Disabled domain invites (deprecated, no\n\t// longer logged)\n\tDisabledDomainInvites *DisabledDomainInvitesType `json:\"disabled_domain_invites,omitempty\"`\n\t// DomainInvitesApproveRequestToJoinTeam : (domains) Approved user's request\n\t// to join team\n\tDomainInvitesApproveRequestToJoinTeam *DomainInvitesApproveRequestToJoinTeamType `json:\"domain_invites_approve_request_to_join_team,omitempty\"`\n\t// DomainInvitesDeclineRequestToJoinTeam : (domains) Declined user's request\n\t// to join team\n\tDomainInvitesDeclineRequestToJoinTeam *DomainInvitesDeclineRequestToJoinTeamType `json:\"domain_invites_decline_request_to_join_team,omitempty\"`\n\t// DomainInvitesEmailExistingUsers : (domains) Sent domain invites to\n\t// existing domain accounts (deprecated, no longer logged)\n\tDomainInvitesEmailExistingUsers *DomainInvitesEmailExistingUsersType `json:\"domain_invites_email_existing_users,omitempty\"`\n\t// DomainInvitesRequestToJoinTeam : (domains) Requested to join team\n\tDomainInvitesRequestToJoinTeam *DomainInvitesRequestToJoinTeamType `json:\"domain_invites_request_to_join_team,omitempty\"`\n\t// DomainInvitesSetInviteNewUserPrefToNo : (domains) Disabled \"Automatically\n\t// invite new users\" (deprecated, no longer logged)\n\tDomainInvitesSetInviteNewUserPrefToNo *DomainInvitesSetInviteNewUserPrefToNoType `json:\"domain_invites_set_invite_new_user_pref_to_no,omitempty\"`\n\t// DomainInvitesSetInviteNewUserPrefToYes : (domains) Enabled \"Automatically\n\t// invite new users\" (deprecated, no longer logged)\n\tDomainInvitesSetInviteNewUserPrefToYes *DomainInvitesSetInviteNewUserPrefToYesType `json:\"domain_invites_set_invite_new_user_pref_to_yes,omitempty\"`\n\t// DomainVerificationAddDomainFail : (domains) Failed to verify team domain\n\tDomainVerificationAddDomainFail *DomainVerificationAddDomainFailType `json:\"domain_verification_add_domain_fail,omitempty\"`\n\t// DomainVerificationAddDomainSuccess : (domains) Verified team domain\n\tDomainVerificationAddDomainSuccess *DomainVerificationAddDomainSuccessType `json:\"domain_verification_add_domain_success,omitempty\"`\n\t// DomainVerificationRemoveDomain : (domains) Removed domain from list of\n\t// verified team domains\n\tDomainVerificationRemoveDomain *DomainVerificationRemoveDomainType `json:\"domain_verification_remove_domain,omitempty\"`\n\t// EnabledDomainInvites : (domains) Enabled domain invites (deprecated, no\n\t// longer logged)\n\tEnabledDomainInvites *EnabledDomainInvitesType `json:\"enabled_domain_invites,omitempty\"`\n\t// ApplyNamingConvention : (file_operations) Applied naming convention\n\tApplyNamingConvention *ApplyNamingConventionType `json:\"apply_naming_convention,omitempty\"`\n\t// CreateFolder : (file_operations) Created folders (deprecated, no longer\n\t// logged)\n\tCreateFolder *CreateFolderType `json:\"create_folder,omitempty\"`\n\t// FileAdd : (file_operations) Added files and/or folders\n\tFileAdd *FileAddType `json:\"file_add,omitempty\"`\n\t// FileCopy : (file_operations) Copied files and/or folders\n\tFileCopy *FileCopyType `json:\"file_copy,omitempty\"`\n\t// FileDelete : (file_operations) Deleted files and/or folders\n\tFileDelete *FileDeleteType `json:\"file_delete,omitempty\"`\n\t// FileDownload : (file_operations) Downloaded files and/or folders\n\tFileDownload *FileDownloadType `json:\"file_download,omitempty\"`\n\t// FileEdit : (file_operations) Edited files\n\tFileEdit *FileEditType `json:\"file_edit,omitempty\"`\n\t// FileGetCopyReference : (file_operations) Created copy reference to\n\t// file/folder\n\tFileGetCopyReference *FileGetCopyReferenceType `json:\"file_get_copy_reference,omitempty\"`\n\t// FileLockingLockStatusChanged : (file_operations) Locked/unlocked editing\n\t// for a file\n\tFileLockingLockStatusChanged *FileLockingLockStatusChangedType `json:\"file_locking_lock_status_changed,omitempty\"`\n\t// FileMove : (file_operations) Moved files and/or folders\n\tFileMove *FileMoveType `json:\"file_move,omitempty\"`\n\t// FilePermanentlyDelete : (file_operations) Permanently deleted files\n\t// and/or folders\n\tFilePermanentlyDelete *FilePermanentlyDeleteType `json:\"file_permanently_delete,omitempty\"`\n\t// FilePreview : (file_operations) Previewed files and/or folders\n\tFilePreview *FilePreviewType `json:\"file_preview,omitempty\"`\n\t// FileRename : (file_operations) Renamed files and/or folders\n\tFileRename *FileRenameType `json:\"file_rename,omitempty\"`\n\t// FileRestore : (file_operations) Restored deleted files and/or folders\n\tFileRestore *FileRestoreType `json:\"file_restore,omitempty\"`\n\t// FileRevert : (file_operations) Reverted files to previous version\n\tFileRevert *FileRevertType `json:\"file_revert,omitempty\"`\n\t// FileRollbackChanges : (file_operations) Rolled back file actions\n\tFileRollbackChanges *FileRollbackChangesType `json:\"file_rollback_changes,omitempty\"`\n\t// FileSaveCopyReference : (file_operations) Saved file/folder using copy\n\t// reference\n\tFileSaveCopyReference *FileSaveCopyReferenceType `json:\"file_save_copy_reference,omitempty\"`\n\t// FolderOverviewDescriptionChanged : (file_operations) Updated folder\n\t// overview\n\tFolderOverviewDescriptionChanged *FolderOverviewDescriptionChangedType `json:\"folder_overview_description_changed,omitempty\"`\n\t// FolderOverviewItemPinned : (file_operations) Pinned item to folder\n\t// overview\n\tFolderOverviewItemPinned *FolderOverviewItemPinnedType `json:\"folder_overview_item_pinned,omitempty\"`\n\t// FolderOverviewItemUnpinned : (file_operations) Unpinned item from folder\n\t// overview\n\tFolderOverviewItemUnpinned *FolderOverviewItemUnpinnedType `json:\"folder_overview_item_unpinned,omitempty\"`\n\t// ObjectLabelAdded : (file_operations) Added a label\n\tObjectLabelAdded *ObjectLabelAddedType `json:\"object_label_added,omitempty\"`\n\t// ObjectLabelRemoved : (file_operations) Removed a label\n\tObjectLabelRemoved *ObjectLabelRemovedType `json:\"object_label_removed,omitempty\"`\n\t// ObjectLabelUpdatedValue : (file_operations) Updated a label's value\n\tObjectLabelUpdatedValue *ObjectLabelUpdatedValueType `json:\"object_label_updated_value,omitempty\"`\n\t// OrganizeFolderWithTidy : (file_operations) Organized a folder with\n\t// multi-file organize\n\tOrganizeFolderWithTidy *OrganizeFolderWithTidyType `json:\"organize_folder_with_tidy,omitempty\"`\n\t// RewindFolder : (file_operations) Rewound a folder\n\tRewindFolder *RewindFolderType `json:\"rewind_folder,omitempty\"`\n\t// UndoNamingConvention : (file_operations) Reverted naming convention\n\tUndoNamingConvention *UndoNamingConventionType `json:\"undo_naming_convention,omitempty\"`\n\t// UndoOrganizeFolderWithTidy : (file_operations) Removed multi-file\n\t// organize\n\tUndoOrganizeFolderWithTidy *UndoOrganizeFolderWithTidyType `json:\"undo_organize_folder_with_tidy,omitempty\"`\n\t// UserTagsAdded : (file_operations) Tagged a file\n\tUserTagsAdded *UserTagsAddedType `json:\"user_tags_added,omitempty\"`\n\t// UserTagsRemoved : (file_operations) Removed tags\n\tUserTagsRemoved *UserTagsRemovedType `json:\"user_tags_removed,omitempty\"`\n\t// EmailIngestReceiveFile : (file_requests) Received files via Email to\n\t// Dropbox\n\tEmailIngestReceiveFile *EmailIngestReceiveFileType `json:\"email_ingest_receive_file,omitempty\"`\n\t// FileRequestChange : (file_requests) Changed file request\n\tFileRequestChange *FileRequestChangeType `json:\"file_request_change,omitempty\"`\n\t// FileRequestClose : (file_requests) Closed file request\n\tFileRequestClose *FileRequestCloseType `json:\"file_request_close,omitempty\"`\n\t// FileRequestCreate : (file_requests) Created file request\n\tFileRequestCreate *FileRequestCreateType `json:\"file_request_create,omitempty\"`\n\t// FileRequestDelete : (file_requests) Delete file request\n\tFileRequestDelete *FileRequestDeleteType `json:\"file_request_delete,omitempty\"`\n\t// FileRequestReceiveFile : (file_requests) Received files for file request\n\tFileRequestReceiveFile *FileRequestReceiveFileType `json:\"file_request_receive_file,omitempty\"`\n\t// GroupAddExternalId : (groups) Added external ID for group\n\tGroupAddExternalId *GroupAddExternalIdType `json:\"group_add_external_id,omitempty\"`\n\t// GroupAddMember : (groups) Added team members to group\n\tGroupAddMember *GroupAddMemberType `json:\"group_add_member,omitempty\"`\n\t// GroupChangeExternalId : (groups) Changed external ID for group\n\tGroupChangeExternalId *GroupChangeExternalIdType `json:\"group_change_external_id,omitempty\"`\n\t// GroupChangeManagementType : (groups) Changed group management type\n\tGroupChangeManagementType *GroupChangeManagementTypeType `json:\"group_change_management_type,omitempty\"`\n\t// GroupChangeMemberRole : (groups) Changed manager permissions of group\n\t// member\n\tGroupChangeMemberRole *GroupChangeMemberRoleType `json:\"group_change_member_role,omitempty\"`\n\t// GroupCreate : (groups) Created group\n\tGroupCreate *GroupCreateType `json:\"group_create,omitempty\"`\n\t// GroupDelete : (groups) Deleted group\n\tGroupDelete *GroupDeleteType `json:\"group_delete,omitempty\"`\n\t// GroupDescriptionUpdated : (groups) Updated group (deprecated, no longer\n\t// logged)\n\tGroupDescriptionUpdated *GroupDescriptionUpdatedType `json:\"group_description_updated,omitempty\"`\n\t// GroupJoinPolicyUpdated : (groups) Updated group join policy (deprecated,\n\t// no longer logged)\n\tGroupJoinPolicyUpdated *GroupJoinPolicyUpdatedType `json:\"group_join_policy_updated,omitempty\"`\n\t// GroupMoved : (groups) Moved group (deprecated, no longer logged)\n\tGroupMoved *GroupMovedType `json:\"group_moved,omitempty\"`\n\t// GroupRemoveExternalId : (groups) Removed external ID for group\n\tGroupRemoveExternalId *GroupRemoveExternalIdType `json:\"group_remove_external_id,omitempty\"`\n\t// GroupRemoveMember : (groups) Removed team members from group\n\tGroupRemoveMember *GroupRemoveMemberType `json:\"group_remove_member,omitempty\"`\n\t// GroupRename : (groups) Renamed group\n\tGroupRename *GroupRenameType `json:\"group_rename,omitempty\"`\n\t// AccountLockOrUnlocked : (logins) Unlocked/locked account after failed\n\t// sign in attempts\n\tAccountLockOrUnlocked *AccountLockOrUnlockedType `json:\"account_lock_or_unlocked,omitempty\"`\n\t// EmmError : (logins) Failed to sign in via EMM (deprecated, replaced by\n\t// 'Failed to sign in')\n\tEmmError *EmmErrorType `json:\"emm_error,omitempty\"`\n\t// GuestAdminSignedInViaTrustedTeams : (logins) Started trusted team admin\n\t// session\n\tGuestAdminSignedInViaTrustedTeams *GuestAdminSignedInViaTrustedTeamsType `json:\"guest_admin_signed_in_via_trusted_teams,omitempty\"`\n\t// GuestAdminSignedOutViaTrustedTeams : (logins) Ended trusted team admin\n\t// session\n\tGuestAdminSignedOutViaTrustedTeams *GuestAdminSignedOutViaTrustedTeamsType `json:\"guest_admin_signed_out_via_trusted_teams,omitempty\"`\n\t// LoginFail : (logins) Failed to sign in\n\tLoginFail *LoginFailType `json:\"login_fail,omitempty\"`\n\t// LoginSuccess : (logins) Signed in\n\tLoginSuccess *LoginSuccessType `json:\"login_success,omitempty\"`\n\t// Logout : (logins) Signed out\n\tLogout *LogoutType `json:\"logout,omitempty\"`\n\t// ResellerSupportSessionEnd : (logins) Ended reseller support session\n\tResellerSupportSessionEnd *ResellerSupportSessionEndType `json:\"reseller_support_session_end,omitempty\"`\n\t// ResellerSupportSessionStart : (logins) Started reseller support session\n\tResellerSupportSessionStart *ResellerSupportSessionStartType `json:\"reseller_support_session_start,omitempty\"`\n\t// SignInAsSessionEnd : (logins) Ended admin sign-in-as session\n\tSignInAsSessionEnd *SignInAsSessionEndType `json:\"sign_in_as_session_end,omitempty\"`\n\t// SignInAsSessionStart : (logins) Started admin sign-in-as session\n\tSignInAsSessionStart *SignInAsSessionStartType `json:\"sign_in_as_session_start,omitempty\"`\n\t// SsoError : (logins) Failed to sign in via SSO (deprecated, replaced by\n\t// 'Failed to sign in')\n\tSsoError *SsoErrorType `json:\"sso_error,omitempty\"`\n\t// CreateTeamInviteLink : (members) Created team invite link\n\tCreateTeamInviteLink *CreateTeamInviteLinkType `json:\"create_team_invite_link,omitempty\"`\n\t// DeleteTeamInviteLink : (members) Deleted team invite link\n\tDeleteTeamInviteLink *DeleteTeamInviteLinkType `json:\"delete_team_invite_link,omitempty\"`\n\t// MemberAddExternalId : (members) Added an external ID for team member\n\tMemberAddExternalId *MemberAddExternalIdType `json:\"member_add_external_id,omitempty\"`\n\t// MemberAddName : (members) Added team member name\n\tMemberAddName *MemberAddNameType `json:\"member_add_name,omitempty\"`\n\t// MemberChangeAdminRole : (members) Changed team member admin role\n\tMemberChangeAdminRole *MemberChangeAdminRoleType `json:\"member_change_admin_role,omitempty\"`\n\t// MemberChangeEmail : (members) Changed team member email\n\tMemberChangeEmail *MemberChangeEmailType `json:\"member_change_email,omitempty\"`\n\t// MemberChangeExternalId : (members) Changed the external ID for team\n\t// member\n\tMemberChangeExternalId *MemberChangeExternalIdType `json:\"member_change_external_id,omitempty\"`\n\t// MemberChangeMembershipType : (members) Changed membership type\n\t// (limited/full) of member (deprecated, no longer logged)\n\tMemberChangeMembershipType *MemberChangeMembershipTypeType `json:\"member_change_membership_type,omitempty\"`\n\t// MemberChangeName : (members) Changed team member name\n\tMemberChangeName *MemberChangeNameType `json:\"member_change_name,omitempty\"`\n\t// MemberChangeResellerRole : (members) Changed team member reseller role\n\tMemberChangeResellerRole *MemberChangeResellerRoleType `json:\"member_change_reseller_role,omitempty\"`\n\t// MemberChangeStatus : (members) Changed member status (invited, joined,\n\t// suspended, etc.)\n\tMemberChangeStatus *MemberChangeStatusType `json:\"member_change_status,omitempty\"`\n\t// MemberDeleteManualContacts : (members) Cleared manually added contacts\n\tMemberDeleteManualContacts *MemberDeleteManualContactsType `json:\"member_delete_manual_contacts,omitempty\"`\n\t// MemberDeleteProfilePhoto : (members) Deleted team member profile photo\n\tMemberDeleteProfilePhoto *MemberDeleteProfilePhotoType `json:\"member_delete_profile_photo,omitempty\"`\n\t// MemberPermanentlyDeleteAccountContents : (members) Permanently deleted\n\t// contents of deleted team member account\n\tMemberPermanentlyDeleteAccountContents *MemberPermanentlyDeleteAccountContentsType `json:\"member_permanently_delete_account_contents,omitempty\"`\n\t// MemberRemoveExternalId : (members) Removed the external ID for team\n\t// member\n\tMemberRemoveExternalId *MemberRemoveExternalIdType `json:\"member_remove_external_id,omitempty\"`\n\t// MemberSetProfilePhoto : (members) Set team member profile photo\n\tMemberSetProfilePhoto *MemberSetProfilePhotoType `json:\"member_set_profile_photo,omitempty\"`\n\t// MemberSpaceLimitsAddCustomQuota : (members) Set custom member space limit\n\tMemberSpaceLimitsAddCustomQuota *MemberSpaceLimitsAddCustomQuotaType `json:\"member_space_limits_add_custom_quota,omitempty\"`\n\t// MemberSpaceLimitsChangeCustomQuota : (members) Changed custom member\n\t// space limit\n\tMemberSpaceLimitsChangeCustomQuota *MemberSpaceLimitsChangeCustomQuotaType `json:\"member_space_limits_change_custom_quota,omitempty\"`\n\t// MemberSpaceLimitsChangeStatus : (members) Changed space limit status\n\tMemberSpaceLimitsChangeStatus *MemberSpaceLimitsChangeStatusType `json:\"member_space_limits_change_status,omitempty\"`\n\t// MemberSpaceLimitsRemoveCustomQuota : (members) Removed custom member\n\t// space limit\n\tMemberSpaceLimitsRemoveCustomQuota *MemberSpaceLimitsRemoveCustomQuotaType `json:\"member_space_limits_remove_custom_quota,omitempty\"`\n\t// MemberSuggest : (members) Suggested person to add to team\n\tMemberSuggest *MemberSuggestType `json:\"member_suggest,omitempty\"`\n\t// MemberTransferAccountContents : (members) Transferred contents of deleted\n\t// member account to another member\n\tMemberTransferAccountContents *MemberTransferAccountContentsType `json:\"member_transfer_account_contents,omitempty\"`\n\t// PendingSecondaryEmailAdded : (members) Added pending secondary email\n\tPendingSecondaryEmailAdded *PendingSecondaryEmailAddedType `json:\"pending_secondary_email_added,omitempty\"`\n\t// SecondaryEmailDeleted : (members) Deleted secondary email\n\tSecondaryEmailDeleted *SecondaryEmailDeletedType `json:\"secondary_email_deleted,omitempty\"`\n\t// SecondaryEmailVerified : (members) Verified secondary email\n\tSecondaryEmailVerified *SecondaryEmailVerifiedType `json:\"secondary_email_verified,omitempty\"`\n\t// SecondaryMailsPolicyChanged : (members) Secondary mails policy changed\n\tSecondaryMailsPolicyChanged *SecondaryMailsPolicyChangedType `json:\"secondary_mails_policy_changed,omitempty\"`\n\t// BinderAddPage : (paper) Added Binder page (deprecated, replaced by\n\t// 'Edited files')\n\tBinderAddPage *BinderAddPageType `json:\"binder_add_page,omitempty\"`\n\t// BinderAddSection : (paper) Added Binder section (deprecated, replaced by\n\t// 'Edited files')\n\tBinderAddSection *BinderAddSectionType `json:\"binder_add_section,omitempty\"`\n\t// BinderRemovePage : (paper) Removed Binder page (deprecated, replaced by\n\t// 'Edited files')\n\tBinderRemovePage *BinderRemovePageType `json:\"binder_remove_page,omitempty\"`\n\t// BinderRemoveSection : (paper) Removed Binder section (deprecated,\n\t// replaced by 'Edited files')\n\tBinderRemoveSection *BinderRemoveSectionType `json:\"binder_remove_section,omitempty\"`\n\t// BinderRenamePage : (paper) Renamed Binder page (deprecated, replaced by\n\t// 'Edited files')\n\tBinderRenamePage *BinderRenamePageType `json:\"binder_rename_page,omitempty\"`\n\t// BinderRenameSection : (paper) Renamed Binder section (deprecated,\n\t// replaced by 'Edited files')\n\tBinderRenameSection *BinderRenameSectionType `json:\"binder_rename_section,omitempty\"`\n\t// BinderReorderPage : (paper) Reordered Binder page (deprecated, replaced\n\t// by 'Edited files')\n\tBinderReorderPage *BinderReorderPageType `json:\"binder_reorder_page,omitempty\"`\n\t// BinderReorderSection : (paper) Reordered Binder section (deprecated,\n\t// replaced by 'Edited files')\n\tBinderReorderSection *BinderReorderSectionType `json:\"binder_reorder_section,omitempty\"`\n\t// PaperContentAddMember : (paper) Added users and/or groups to Paper\n\t// doc/folder\n\tPaperContentAddMember *PaperContentAddMemberType `json:\"paper_content_add_member,omitempty\"`\n\t// PaperContentAddToFolder : (paper) Added Paper doc/folder to folder\n\tPaperContentAddToFolder *PaperContentAddToFolderType `json:\"paper_content_add_to_folder,omitempty\"`\n\t// PaperContentArchive : (paper) Archived Paper doc/folder\n\tPaperContentArchive *PaperContentArchiveType `json:\"paper_content_archive,omitempty\"`\n\t// PaperContentCreate : (paper) Created Paper doc/folder\n\tPaperContentCreate *PaperContentCreateType `json:\"paper_content_create,omitempty\"`\n\t// PaperContentPermanentlyDelete : (paper) Permanently deleted Paper\n\t// doc/folder\n\tPaperContentPermanentlyDelete *PaperContentPermanentlyDeleteType `json:\"paper_content_permanently_delete,omitempty\"`\n\t// PaperContentRemoveFromFolder : (paper) Removed Paper doc/folder from\n\t// folder\n\tPaperContentRemoveFromFolder *PaperContentRemoveFromFolderType `json:\"paper_content_remove_from_folder,omitempty\"`\n\t// PaperContentRemoveMember : (paper) Removed users and/or groups from Paper\n\t// doc/folder\n\tPaperContentRemoveMember *PaperContentRemoveMemberType `json:\"paper_content_remove_member,omitempty\"`\n\t// PaperContentRename : (paper) Renamed Paper doc/folder\n\tPaperContentRename *PaperContentRenameType `json:\"paper_content_rename,omitempty\"`\n\t// PaperContentRestore : (paper) Restored archived Paper doc/folder\n\tPaperContentRestore *PaperContentRestoreType `json:\"paper_content_restore,omitempty\"`\n\t// PaperDocAddComment : (paper) Added Paper doc comment\n\tPaperDocAddComment *PaperDocAddCommentType `json:\"paper_doc_add_comment,omitempty\"`\n\t// PaperDocChangeMemberRole : (paper) Changed member permissions for Paper\n\t// doc\n\tPaperDocChangeMemberRole *PaperDocChangeMemberRoleType `json:\"paper_doc_change_member_role,omitempty\"`\n\t// PaperDocChangeSharingPolicy : (paper) Changed sharing setting for Paper\n\t// doc\n\tPaperDocChangeSharingPolicy *PaperDocChangeSharingPolicyType `json:\"paper_doc_change_sharing_policy,omitempty\"`\n\t// PaperDocChangeSubscription : (paper) Followed/unfollowed Paper doc\n\tPaperDocChangeSubscription *PaperDocChangeSubscriptionType `json:\"paper_doc_change_subscription,omitempty\"`\n\t// PaperDocDeleted : (paper) Archived Paper doc (deprecated, no longer\n\t// logged)\n\tPaperDocDeleted *PaperDocDeletedType `json:\"paper_doc_deleted,omitempty\"`\n\t// PaperDocDeleteComment : (paper) Deleted Paper doc comment\n\tPaperDocDeleteComment *PaperDocDeleteCommentType `json:\"paper_doc_delete_comment,omitempty\"`\n\t// PaperDocDownload : (paper) Downloaded Paper doc in specific format\n\tPaperDocDownload *PaperDocDownloadType `json:\"paper_doc_download,omitempty\"`\n\t// PaperDocEdit : (paper) Edited Paper doc\n\tPaperDocEdit *PaperDocEditType `json:\"paper_doc_edit,omitempty\"`\n\t// PaperDocEditComment : (paper) Edited Paper doc comment\n\tPaperDocEditComment *PaperDocEditCommentType `json:\"paper_doc_edit_comment,omitempty\"`\n\t// PaperDocFollowed : (paper) Followed Paper doc (deprecated, replaced by\n\t// 'Followed/unfollowed Paper doc')\n\tPaperDocFollowed *PaperDocFollowedType `json:\"paper_doc_followed,omitempty\"`\n\t// PaperDocMention : (paper) Mentioned user in Paper doc\n\tPaperDocMention *PaperDocMentionType `json:\"paper_doc_mention,omitempty\"`\n\t// PaperDocOwnershipChanged : (paper) Transferred ownership of Paper doc\n\tPaperDocOwnershipChanged *PaperDocOwnershipChangedType `json:\"paper_doc_ownership_changed,omitempty\"`\n\t// PaperDocRequestAccess : (paper) Requested access to Paper doc\n\tPaperDocRequestAccess *PaperDocRequestAccessType `json:\"paper_doc_request_access,omitempty\"`\n\t// PaperDocResolveComment : (paper) Resolved Paper doc comment\n\tPaperDocResolveComment *PaperDocResolveCommentType `json:\"paper_doc_resolve_comment,omitempty\"`\n\t// PaperDocRevert : (paper) Restored Paper doc to previous version\n\tPaperDocRevert *PaperDocRevertType `json:\"paper_doc_revert,omitempty\"`\n\t// PaperDocSlackShare : (paper) Shared Paper doc via Slack\n\tPaperDocSlackShare *PaperDocSlackShareType `json:\"paper_doc_slack_share,omitempty\"`\n\t// PaperDocTeamInvite : (paper) Shared Paper doc with users and/or groups\n\t// (deprecated, no longer logged)\n\tPaperDocTeamInvite *PaperDocTeamInviteType `json:\"paper_doc_team_invite,omitempty\"`\n\t// PaperDocTrashed : (paper) Deleted Paper doc\n\tPaperDocTrashed *PaperDocTrashedType `json:\"paper_doc_trashed,omitempty\"`\n\t// PaperDocUnresolveComment : (paper) Unresolved Paper doc comment\n\tPaperDocUnresolveComment *PaperDocUnresolveCommentType `json:\"paper_doc_unresolve_comment,omitempty\"`\n\t// PaperDocUntrashed : (paper) Restored Paper doc\n\tPaperDocUntrashed *PaperDocUntrashedType `json:\"paper_doc_untrashed,omitempty\"`\n\t// PaperDocView : (paper) Viewed Paper doc\n\tPaperDocView *PaperDocViewType `json:\"paper_doc_view,omitempty\"`\n\t// PaperExternalViewAllow : (paper) Changed Paper external sharing setting\n\t// to anyone (deprecated, no longer logged)\n\tPaperExternalViewAllow *PaperExternalViewAllowType `json:\"paper_external_view_allow,omitempty\"`\n\t// PaperExternalViewDefaultTeam : (paper) Changed Paper external sharing\n\t// setting to default team (deprecated, no longer logged)\n\tPaperExternalViewDefaultTeam *PaperExternalViewDefaultTeamType `json:\"paper_external_view_default_team,omitempty\"`\n\t// PaperExternalViewForbid : (paper) Changed Paper external sharing setting\n\t// to team-only (deprecated, no longer logged)\n\tPaperExternalViewForbid *PaperExternalViewForbidType `json:\"paper_external_view_forbid,omitempty\"`\n\t// PaperFolderChangeSubscription : (paper) Followed/unfollowed Paper folder\n\tPaperFolderChangeSubscription *PaperFolderChangeSubscriptionType `json:\"paper_folder_change_subscription,omitempty\"`\n\t// PaperFolderDeleted : (paper) Archived Paper folder (deprecated, no longer\n\t// logged)\n\tPaperFolderDeleted *PaperFolderDeletedType `json:\"paper_folder_deleted,omitempty\"`\n\t// PaperFolderFollowed : (paper) Followed Paper folder (deprecated, replaced\n\t// by 'Followed/unfollowed Paper folder')\n\tPaperFolderFollowed *PaperFolderFollowedType `json:\"paper_folder_followed,omitempty\"`\n\t// PaperFolderTeamInvite : (paper) Shared Paper folder with users and/or\n\t// groups (deprecated, no longer logged)\n\tPaperFolderTeamInvite *PaperFolderTeamInviteType `json:\"paper_folder_team_invite,omitempty\"`\n\t// PaperPublishedLinkChangePermission : (paper) Changed permissions for\n\t// published doc\n\tPaperPublishedLinkChangePermission *PaperPublishedLinkChangePermissionType `json:\"paper_published_link_change_permission,omitempty\"`\n\t// PaperPublishedLinkCreate : (paper) Published doc\n\tPaperPublishedLinkCreate *PaperPublishedLinkCreateType `json:\"paper_published_link_create,omitempty\"`\n\t// PaperPublishedLinkDisabled : (paper) Unpublished doc\n\tPaperPublishedLinkDisabled *PaperPublishedLinkDisabledType `json:\"paper_published_link_disabled,omitempty\"`\n\t// PaperPublishedLinkView : (paper) Viewed published doc\n\tPaperPublishedLinkView *PaperPublishedLinkViewType `json:\"paper_published_link_view,omitempty\"`\n\t// PasswordChange : (passwords) Changed password\n\tPasswordChange *PasswordChangeType `json:\"password_change,omitempty\"`\n\t// PasswordReset : (passwords) Reset password\n\tPasswordReset *PasswordResetType `json:\"password_reset,omitempty\"`\n\t// PasswordResetAll : (passwords) Reset all team member passwords\n\tPasswordResetAll *PasswordResetAllType `json:\"password_reset_all,omitempty\"`\n\t// ClassificationCreateReport : (reports) Created Classification report\n\tClassificationCreateReport *ClassificationCreateReportType `json:\"classification_create_report,omitempty\"`\n\t// ClassificationCreateReportFail : (reports) Couldn't create Classification\n\t// report\n\tClassificationCreateReportFail *ClassificationCreateReportFailType `json:\"classification_create_report_fail,omitempty\"`\n\t// EmmCreateExceptionsReport : (reports) Created EMM-excluded users report\n\tEmmCreateExceptionsReport *EmmCreateExceptionsReportType `json:\"emm_create_exceptions_report,omitempty\"`\n\t// EmmCreateUsageReport : (reports) Created EMM mobile app usage report\n\tEmmCreateUsageReport *EmmCreateUsageReportType `json:\"emm_create_usage_report,omitempty\"`\n\t// ExportMembersReport : (reports) Created member data report\n\tExportMembersReport *ExportMembersReportType `json:\"export_members_report,omitempty\"`\n\t// ExportMembersReportFail : (reports) Failed to create members data report\n\tExportMembersReportFail *ExportMembersReportFailType `json:\"export_members_report_fail,omitempty\"`\n\t// ExternalSharingCreateReport : (reports) Created External sharing report\n\tExternalSharingCreateReport *ExternalSharingCreateReportType `json:\"external_sharing_create_report,omitempty\"`\n\t// ExternalSharingReportFailed : (reports) Couldn't create External sharing\n\t// report\n\tExternalSharingReportFailed *ExternalSharingReportFailedType `json:\"external_sharing_report_failed,omitempty\"`\n\t// NoExpirationLinkGenCreateReport : (reports) Report created: Links created\n\t// with no expiration\n\tNoExpirationLinkGenCreateReport *NoExpirationLinkGenCreateReportType `json:\"no_expiration_link_gen_create_report,omitempty\"`\n\t// NoExpirationLinkGenReportFailed : (reports) Couldn't create report: Links\n\t// created with no expiration\n\tNoExpirationLinkGenReportFailed *NoExpirationLinkGenReportFailedType `json:\"no_expiration_link_gen_report_failed,omitempty\"`\n\t// NoPasswordLinkGenCreateReport : (reports) Report created: Links created\n\t// without passwords\n\tNoPasswordLinkGenCreateReport *NoPasswordLinkGenCreateReportType `json:\"no_password_link_gen_create_report,omitempty\"`\n\t// NoPasswordLinkGenReportFailed : (reports) Couldn't create report: Links\n\t// created without passwords\n\tNoPasswordLinkGenReportFailed *NoPasswordLinkGenReportFailedType `json:\"no_password_link_gen_report_failed,omitempty\"`\n\t// NoPasswordLinkViewCreateReport : (reports) Report created: Views of links\n\t// without passwords\n\tNoPasswordLinkViewCreateReport *NoPasswordLinkViewCreateReportType `json:\"no_password_link_view_create_report,omitempty\"`\n\t// NoPasswordLinkViewReportFailed : (reports) Couldn't create report: Views\n\t// of links without passwords\n\tNoPasswordLinkViewReportFailed *NoPasswordLinkViewReportFailedType `json:\"no_password_link_view_report_failed,omitempty\"`\n\t// OutdatedLinkViewCreateReport : (reports) Report created: Views of old\n\t// links\n\tOutdatedLinkViewCreateReport *OutdatedLinkViewCreateReportType `json:\"outdated_link_view_create_report,omitempty\"`\n\t// OutdatedLinkViewReportFailed : (reports) Couldn't create report: Views of\n\t// old links\n\tOutdatedLinkViewReportFailed *OutdatedLinkViewReportFailedType `json:\"outdated_link_view_report_failed,omitempty\"`\n\t// PaperAdminExportStart : (reports) Exported all team Paper docs\n\tPaperAdminExportStart *PaperAdminExportStartType `json:\"paper_admin_export_start,omitempty\"`\n\t// SmartSyncCreateAdminPrivilegeReport : (reports) Created Smart Sync\n\t// non-admin devices report\n\tSmartSyncCreateAdminPrivilegeReport *SmartSyncCreateAdminPrivilegeReportType `json:\"smart_sync_create_admin_privilege_report,omitempty\"`\n\t// TeamActivityCreateReport : (reports) Created team activity report\n\tTeamActivityCreateReport *TeamActivityCreateReportType `json:\"team_activity_create_report,omitempty\"`\n\t// TeamActivityCreateReportFail : (reports) Couldn't generate team activity\n\t// report\n\tTeamActivityCreateReportFail *TeamActivityCreateReportFailType `json:\"team_activity_create_report_fail,omitempty\"`\n\t// CollectionShare : (sharing) Shared album\n\tCollectionShare *CollectionShareType `json:\"collection_share,omitempty\"`\n\t// FileTransfersFileAdd : (sharing) Transfer files added\n\tFileTransfersFileAdd *FileTransfersFileAddType `json:\"file_transfers_file_add,omitempty\"`\n\t// FileTransfersTransferDelete : (sharing) Deleted transfer\n\tFileTransfersTransferDelete *FileTransfersTransferDeleteType `json:\"file_transfers_transfer_delete,omitempty\"`\n\t// FileTransfersTransferDownload : (sharing) Transfer downloaded\n\tFileTransfersTransferDownload *FileTransfersTransferDownloadType `json:\"file_transfers_transfer_download,omitempty\"`\n\t// FileTransfersTransferSend : (sharing) Sent transfer\n\tFileTransfersTransferSend *FileTransfersTransferSendType `json:\"file_transfers_transfer_send,omitempty\"`\n\t// FileTransfersTransferView : (sharing) Viewed transfer\n\tFileTransfersTransferView *FileTransfersTransferViewType `json:\"file_transfers_transfer_view,omitempty\"`\n\t// NoteAclInviteOnly : (sharing) Changed Paper doc to invite-only\n\t// (deprecated, no longer logged)\n\tNoteAclInviteOnly *NoteAclInviteOnlyType `json:\"note_acl_invite_only,omitempty\"`\n\t// NoteAclLink : (sharing) Changed Paper doc to link-accessible (deprecated,\n\t// no longer logged)\n\tNoteAclLink *NoteAclLinkType `json:\"note_acl_link,omitempty\"`\n\t// NoteAclTeamLink : (sharing) Changed Paper doc to link-accessible for team\n\t// (deprecated, no longer logged)\n\tNoteAclTeamLink *NoteAclTeamLinkType `json:\"note_acl_team_link,omitempty\"`\n\t// NoteShared : (sharing) Shared Paper doc (deprecated, no longer logged)\n\tNoteShared *NoteSharedType `json:\"note_shared,omitempty\"`\n\t// NoteShareReceive : (sharing) Shared received Paper doc (deprecated, no\n\t// longer logged)\n\tNoteShareReceive *NoteShareReceiveType `json:\"note_share_receive,omitempty\"`\n\t// OpenNoteShared : (sharing) Opened shared Paper doc (deprecated, no longer\n\t// logged)\n\tOpenNoteShared *OpenNoteSharedType `json:\"open_note_shared,omitempty\"`\n\t// SfAddGroup : (sharing) Added team to shared folder (deprecated, no longer\n\t// logged)\n\tSfAddGroup *SfAddGroupType `json:\"sf_add_group,omitempty\"`\n\t// SfAllowNonMembersToViewSharedLinks : (sharing) Allowed non-collaborators\n\t// to view links to files in shared folder (deprecated, no longer logged)\n\tSfAllowNonMembersToViewSharedLinks *SfAllowNonMembersToViewSharedLinksType `json:\"sf_allow_non_members_to_view_shared_links,omitempty\"`\n\t// SfExternalInviteWarn : (sharing) Set team members to see warning before\n\t// sharing folders outside team (deprecated, no longer logged)\n\tSfExternalInviteWarn *SfExternalInviteWarnType `json:\"sf_external_invite_warn,omitempty\"`\n\t// SfFbInvite : (sharing) Invited Facebook users to shared folder\n\t// (deprecated, no longer logged)\n\tSfFbInvite *SfFbInviteType `json:\"sf_fb_invite,omitempty\"`\n\t// SfFbInviteChangeRole : (sharing) Changed Facebook user's role in shared\n\t// folder (deprecated, no longer logged)\n\tSfFbInviteChangeRole *SfFbInviteChangeRoleType `json:\"sf_fb_invite_change_role,omitempty\"`\n\t// SfFbUninvite : (sharing) Uninvited Facebook user from shared folder\n\t// (deprecated, no longer logged)\n\tSfFbUninvite *SfFbUninviteType `json:\"sf_fb_uninvite,omitempty\"`\n\t// SfInviteGroup : (sharing) Invited group to shared folder (deprecated, no\n\t// longer logged)\n\tSfInviteGroup *SfInviteGroupType `json:\"sf_invite_group,omitempty\"`\n\t// SfTeamGrantAccess : (sharing) Granted access to shared folder\n\t// (deprecated, no longer logged)\n\tSfTeamGrantAccess *SfTeamGrantAccessType `json:\"sf_team_grant_access,omitempty\"`\n\t// SfTeamInvite : (sharing) Invited team members to shared folder\n\t// (deprecated, replaced by 'Invited user to Dropbox and added them to\n\t// shared file/folder')\n\tSfTeamInvite *SfTeamInviteType `json:\"sf_team_invite,omitempty\"`\n\t// SfTeamInviteChangeRole : (sharing) Changed team member's role in shared\n\t// folder (deprecated, no longer logged)\n\tSfTeamInviteChangeRole *SfTeamInviteChangeRoleType `json:\"sf_team_invite_change_role,omitempty\"`\n\t// SfTeamJoin : (sharing) Joined team member's shared folder (deprecated, no\n\t// longer logged)\n\tSfTeamJoin *SfTeamJoinType `json:\"sf_team_join,omitempty\"`\n\t// SfTeamJoinFromOobLink : (sharing) Joined team member's shared folder from\n\t// link (deprecated, no longer logged)\n\tSfTeamJoinFromOobLink *SfTeamJoinFromOobLinkType `json:\"sf_team_join_from_oob_link,omitempty\"`\n\t// SfTeamUninvite : (sharing) Unshared folder with team member (deprecated,\n\t// replaced by 'Removed invitee from shared file/folder before invite was\n\t// accepted')\n\tSfTeamUninvite *SfTeamUninviteType `json:\"sf_team_uninvite,omitempty\"`\n\t// SharedContentAddInvitees : (sharing) Invited user to Dropbox and added\n\t// them to shared file/folder\n\tSharedContentAddInvitees *SharedContentAddInviteesType `json:\"shared_content_add_invitees,omitempty\"`\n\t// SharedContentAddLinkExpiry : (sharing) Added expiration date to link for\n\t// shared file/folder (deprecated, no longer logged)\n\tSharedContentAddLinkExpiry *SharedContentAddLinkExpiryType `json:\"shared_content_add_link_expiry,omitempty\"`\n\t// SharedContentAddLinkPassword : (sharing) Added password to link for\n\t// shared file/folder (deprecated, no longer logged)\n\tSharedContentAddLinkPassword *SharedContentAddLinkPasswordType `json:\"shared_content_add_link_password,omitempty\"`\n\t// SharedContentAddMember : (sharing) Added users and/or groups to shared\n\t// file/folder\n\tSharedContentAddMember *SharedContentAddMemberType `json:\"shared_content_add_member,omitempty\"`\n\t// SharedContentChangeDownloadsPolicy : (sharing) Changed whether members\n\t// can download shared file/folder (deprecated, no longer logged)\n\tSharedContentChangeDownloadsPolicy *SharedContentChangeDownloadsPolicyType `json:\"shared_content_change_downloads_policy,omitempty\"`\n\t// SharedContentChangeInviteeRole : (sharing) Changed access type of invitee\n\t// to shared file/folder before invite was accepted\n\tSharedContentChangeInviteeRole *SharedContentChangeInviteeRoleType `json:\"shared_content_change_invitee_role,omitempty\"`\n\t// SharedContentChangeLinkAudience : (sharing) Changed link audience of\n\t// shared file/folder (deprecated, no longer logged)\n\tSharedContentChangeLinkAudience *SharedContentChangeLinkAudienceType `json:\"shared_content_change_link_audience,omitempty\"`\n\t// SharedContentChangeLinkExpiry : (sharing) Changed link expiration of\n\t// shared file/folder (deprecated, no longer logged)\n\tSharedContentChangeLinkExpiry *SharedContentChangeLinkExpiryType `json:\"shared_content_change_link_expiry,omitempty\"`\n\t// SharedContentChangeLinkPassword : (sharing) Changed link password of\n\t// shared file/folder (deprecated, no longer logged)\n\tSharedContentChangeLinkPassword *SharedContentChangeLinkPasswordType `json:\"shared_content_change_link_password,omitempty\"`\n\t// SharedContentChangeMemberRole : (sharing) Changed access type of shared\n\t// file/folder member\n\tSharedContentChangeMemberRole *SharedContentChangeMemberRoleType `json:\"shared_content_change_member_role,omitempty\"`\n\t// SharedContentChangeViewerInfoPolicy : (sharing) Changed whether members\n\t// can see who viewed shared file/folder\n\tSharedContentChangeViewerInfoPolicy *SharedContentChangeViewerInfoPolicyType `json:\"shared_content_change_viewer_info_policy,omitempty\"`\n\t// SharedContentClaimInvitation : (sharing) Acquired membership of shared\n\t// file/folder by accepting invite\n\tSharedContentClaimInvitation *SharedContentClaimInvitationType `json:\"shared_content_claim_invitation,omitempty\"`\n\t// SharedContentCopy : (sharing) Copied shared file/folder to own Dropbox\n\tSharedContentCopy *SharedContentCopyType `json:\"shared_content_copy,omitempty\"`\n\t// SharedContentDownload : (sharing) Downloaded shared file/folder\n\tSharedContentDownload *SharedContentDownloadType `json:\"shared_content_download,omitempty\"`\n\t// SharedContentRelinquishMembership : (sharing) Left shared file/folder\n\tSharedContentRelinquishMembership *SharedContentRelinquishMembershipType `json:\"shared_content_relinquish_membership,omitempty\"`\n\t// SharedContentRemoveInvitees : (sharing) Removed invitee from shared\n\t// file/folder before invite was accepted\n\tSharedContentRemoveInvitees *SharedContentRemoveInviteesType `json:\"shared_content_remove_invitees,omitempty\"`\n\t// SharedContentRemoveLinkExpiry : (sharing) Removed link expiration date of\n\t// shared file/folder (deprecated, no longer logged)\n\tSharedContentRemoveLinkExpiry *SharedContentRemoveLinkExpiryType `json:\"shared_content_remove_link_expiry,omitempty\"`\n\t// SharedContentRemoveLinkPassword : (sharing) Removed link password of\n\t// shared file/folder (deprecated, no longer logged)\n\tSharedContentRemoveLinkPassword *SharedContentRemoveLinkPasswordType `json:\"shared_content_remove_link_password,omitempty\"`\n\t// SharedContentRemoveMember : (sharing) Removed user/group from shared\n\t// file/folder\n\tSharedContentRemoveMember *SharedContentRemoveMemberType `json:\"shared_content_remove_member,omitempty\"`\n\t// SharedContentRequestAccess : (sharing) Requested access to shared\n\t// file/folder\n\tSharedContentRequestAccess *SharedContentRequestAccessType `json:\"shared_content_request_access,omitempty\"`\n\t// SharedContentRestoreInvitees : (sharing) Restored shared file/folder\n\t// invitees\n\tSharedContentRestoreInvitees *SharedContentRestoreInviteesType `json:\"shared_content_restore_invitees,omitempty\"`\n\t// SharedContentRestoreMember : (sharing) Restored users and/or groups to\n\t// membership of shared file/folder\n\tSharedContentRestoreMember *SharedContentRestoreMemberType `json:\"shared_content_restore_member,omitempty\"`\n\t// SharedContentUnshare : (sharing) Unshared file/folder by clearing\n\t// membership\n\tSharedContentUnshare *SharedContentUnshareType `json:\"shared_content_unshare,omitempty\"`\n\t// SharedContentView : (sharing) Previewed shared file/folder\n\tSharedContentView *SharedContentViewType `json:\"shared_content_view,omitempty\"`\n\t// SharedFolderChangeLinkPolicy : (sharing) Changed who can access shared\n\t// folder via link\n\tSharedFolderChangeLinkPolicy *SharedFolderChangeLinkPolicyType `json:\"shared_folder_change_link_policy,omitempty\"`\n\t// SharedFolderChangeMembersInheritancePolicy : (sharing) Changed whether\n\t// shared folder inherits members from parent folder\n\tSharedFolderChangeMembersInheritancePolicy *SharedFolderChangeMembersInheritancePolicyType `json:\"shared_folder_change_members_inheritance_policy,omitempty\"`\n\t// SharedFolderChangeMembersManagementPolicy : (sharing) Changed who can\n\t// add/remove members of shared folder\n\tSharedFolderChangeMembersManagementPolicy *SharedFolderChangeMembersManagementPolicyType `json:\"shared_folder_change_members_management_policy,omitempty\"`\n\t// SharedFolderChangeMembersPolicy : (sharing) Changed who can become member\n\t// of shared folder\n\tSharedFolderChangeMembersPolicy *SharedFolderChangeMembersPolicyType `json:\"shared_folder_change_members_policy,omitempty\"`\n\t// SharedFolderCreate : (sharing) Created shared folder\n\tSharedFolderCreate *SharedFolderCreateType `json:\"shared_folder_create,omitempty\"`\n\t// SharedFolderDeclineInvitation : (sharing) Declined team member's invite\n\t// to shared folder\n\tSharedFolderDeclineInvitation *SharedFolderDeclineInvitationType `json:\"shared_folder_decline_invitation,omitempty\"`\n\t// SharedFolderMount : (sharing) Added shared folder to own Dropbox\n\tSharedFolderMount *SharedFolderMountType `json:\"shared_folder_mount,omitempty\"`\n\t// SharedFolderNest : (sharing) Changed parent of shared folder\n\tSharedFolderNest *SharedFolderNestType `json:\"shared_folder_nest,omitempty\"`\n\t// SharedFolderTransferOwnership : (sharing) Transferred ownership of shared\n\t// folder to another member\n\tSharedFolderTransferOwnership *SharedFolderTransferOwnershipType `json:\"shared_folder_transfer_ownership,omitempty\"`\n\t// SharedFolderUnmount : (sharing) Deleted shared folder from Dropbox\n\tSharedFolderUnmount *SharedFolderUnmountType `json:\"shared_folder_unmount,omitempty\"`\n\t// SharedLinkAddExpiry : (sharing) Added shared link expiration date\n\tSharedLinkAddExpiry *SharedLinkAddExpiryType `json:\"shared_link_add_expiry,omitempty\"`\n\t// SharedLinkChangeExpiry : (sharing) Changed shared link expiration date\n\tSharedLinkChangeExpiry *SharedLinkChangeExpiryType `json:\"shared_link_change_expiry,omitempty\"`\n\t// SharedLinkChangeVisibility : (sharing) Changed visibility of shared link\n\tSharedLinkChangeVisibility *SharedLinkChangeVisibilityType `json:\"shared_link_change_visibility,omitempty\"`\n\t// SharedLinkCopy : (sharing) Added file/folder to Dropbox from shared link\n\tSharedLinkCopy *SharedLinkCopyType `json:\"shared_link_copy,omitempty\"`\n\t// SharedLinkCreate : (sharing) Created shared link\n\tSharedLinkCreate *SharedLinkCreateType `json:\"shared_link_create,omitempty\"`\n\t// SharedLinkDisable : (sharing) Removed shared link\n\tSharedLinkDisable *SharedLinkDisableType `json:\"shared_link_disable,omitempty\"`\n\t// SharedLinkDownload : (sharing) Downloaded file/folder from shared link\n\tSharedLinkDownload *SharedLinkDownloadType `json:\"shared_link_download,omitempty\"`\n\t// SharedLinkRemoveExpiry : (sharing) Removed shared link expiration date\n\tSharedLinkRemoveExpiry *SharedLinkRemoveExpiryType `json:\"shared_link_remove_expiry,omitempty\"`\n\t// SharedLinkSettingsAddExpiration : (sharing) Added an expiration date to\n\t// the shared link\n\tSharedLinkSettingsAddExpiration *SharedLinkSettingsAddExpirationType `json:\"shared_link_settings_add_expiration,omitempty\"`\n\t// SharedLinkSettingsAddPassword : (sharing) Added a password to the shared\n\t// link\n\tSharedLinkSettingsAddPassword *SharedLinkSettingsAddPasswordType `json:\"shared_link_settings_add_password,omitempty\"`\n\t// SharedLinkSettingsAllowDownloadDisabled : (sharing) Disabled downloads\n\tSharedLinkSettingsAllowDownloadDisabled *SharedLinkSettingsAllowDownloadDisabledType `json:\"shared_link_settings_allow_download_disabled,omitempty\"`\n\t// SharedLinkSettingsAllowDownloadEnabled : (sharing) Enabled downloads\n\tSharedLinkSettingsAllowDownloadEnabled *SharedLinkSettingsAllowDownloadEnabledType `json:\"shared_link_settings_allow_download_enabled,omitempty\"`\n\t// SharedLinkSettingsChangeAudience : (sharing) Changed the audience of the\n\t// shared link\n\tSharedLinkSettingsChangeAudience *SharedLinkSettingsChangeAudienceType `json:\"shared_link_settings_change_audience,omitempty\"`\n\t// SharedLinkSettingsChangeExpiration : (sharing) Changed the expiration\n\t// date of the shared link\n\tSharedLinkSettingsChangeExpiration *SharedLinkSettingsChangeExpirationType `json:\"shared_link_settings_change_expiration,omitempty\"`\n\t// SharedLinkSettingsChangePassword : (sharing) Changed the password of the\n\t// shared link\n\tSharedLinkSettingsChangePassword *SharedLinkSettingsChangePasswordType `json:\"shared_link_settings_change_password,omitempty\"`\n\t// SharedLinkSettingsRemoveExpiration : (sharing) Removed the expiration\n\t// date from the shared link\n\tSharedLinkSettingsRemoveExpiration *SharedLinkSettingsRemoveExpirationType `json:\"shared_link_settings_remove_expiration,omitempty\"`\n\t// SharedLinkSettingsRemovePassword : (sharing) Removed the password from\n\t// the shared link\n\tSharedLinkSettingsRemovePassword *SharedLinkSettingsRemovePasswordType `json:\"shared_link_settings_remove_password,omitempty\"`\n\t// SharedLinkShare : (sharing) Added members as audience of shared link\n\tSharedLinkShare *SharedLinkShareType `json:\"shared_link_share,omitempty\"`\n\t// SharedLinkView : (sharing) Opened shared link\n\tSharedLinkView *SharedLinkViewType `json:\"shared_link_view,omitempty\"`\n\t// SharedNoteOpened : (sharing) Opened shared Paper doc (deprecated, no\n\t// longer logged)\n\tSharedNoteOpened *SharedNoteOpenedType `json:\"shared_note_opened,omitempty\"`\n\t// ShmodelDisableDownloads : (sharing) Disabled downloads for link\n\t// (deprecated, no longer logged)\n\tShmodelDisableDownloads *ShmodelDisableDownloadsType `json:\"shmodel_disable_downloads,omitempty\"`\n\t// ShmodelEnableDownloads : (sharing) Enabled downloads for link\n\t// (deprecated, no longer logged)\n\tShmodelEnableDownloads *ShmodelEnableDownloadsType `json:\"shmodel_enable_downloads,omitempty\"`\n\t// ShmodelGroupShare : (sharing) Shared link with group (deprecated, no\n\t// longer logged)\n\tShmodelGroupShare *ShmodelGroupShareType `json:\"shmodel_group_share,omitempty\"`\n\t// ShowcaseAccessGranted : (showcase) Granted access to showcase\n\tShowcaseAccessGranted *ShowcaseAccessGrantedType `json:\"showcase_access_granted,omitempty\"`\n\t// ShowcaseAddMember : (showcase) Added member to showcase\n\tShowcaseAddMember *ShowcaseAddMemberType `json:\"showcase_add_member,omitempty\"`\n\t// ShowcaseArchived : (showcase) Archived showcase\n\tShowcaseArchived *ShowcaseArchivedType `json:\"showcase_archived,omitempty\"`\n\t// ShowcaseCreated : (showcase) Created showcase\n\tShowcaseCreated *ShowcaseCreatedType `json:\"showcase_created,omitempty\"`\n\t// ShowcaseDeleteComment : (showcase) Deleted showcase comment\n\tShowcaseDeleteComment *ShowcaseDeleteCommentType `json:\"showcase_delete_comment,omitempty\"`\n\t// ShowcaseEdited : (showcase) Edited showcase\n\tShowcaseEdited *ShowcaseEditedType `json:\"showcase_edited,omitempty\"`\n\t// ShowcaseEditComment : (showcase) Edited showcase comment\n\tShowcaseEditComment *ShowcaseEditCommentType `json:\"showcase_edit_comment,omitempty\"`\n\t// ShowcaseFileAdded : (showcase) Added file to showcase\n\tShowcaseFileAdded *ShowcaseFileAddedType `json:\"showcase_file_added,omitempty\"`\n\t// ShowcaseFileDownload : (showcase) Downloaded file from showcase\n\tShowcaseFileDownload *ShowcaseFileDownloadType `json:\"showcase_file_download,omitempty\"`\n\t// ShowcaseFileRemoved : (showcase) Removed file from showcase\n\tShowcaseFileRemoved *ShowcaseFileRemovedType `json:\"showcase_file_removed,omitempty\"`\n\t// ShowcaseFileView : (showcase) Viewed file in showcase\n\tShowcaseFileView *ShowcaseFileViewType `json:\"showcase_file_view,omitempty\"`\n\t// ShowcasePermanentlyDeleted : (showcase) Permanently deleted showcase\n\tShowcasePermanentlyDeleted *ShowcasePermanentlyDeletedType `json:\"showcase_permanently_deleted,omitempty\"`\n\t// ShowcasePostComment : (showcase) Added showcase comment\n\tShowcasePostComment *ShowcasePostCommentType `json:\"showcase_post_comment,omitempty\"`\n\t// ShowcaseRemoveMember : (showcase) Removed member from showcase\n\tShowcaseRemoveMember *ShowcaseRemoveMemberType `json:\"showcase_remove_member,omitempty\"`\n\t// ShowcaseRenamed : (showcase) Renamed showcase\n\tShowcaseRenamed *ShowcaseRenamedType `json:\"showcase_renamed,omitempty\"`\n\t// ShowcaseRequestAccess : (showcase) Requested access to showcase\n\tShowcaseRequestAccess *ShowcaseRequestAccessType `json:\"showcase_request_access,omitempty\"`\n\t// ShowcaseResolveComment : (showcase) Resolved showcase comment\n\tShowcaseResolveComment *ShowcaseResolveCommentType `json:\"showcase_resolve_comment,omitempty\"`\n\t// ShowcaseRestored : (showcase) Unarchived showcase\n\tShowcaseRestored *ShowcaseRestoredType `json:\"showcase_restored,omitempty\"`\n\t// ShowcaseTrashed : (showcase) Deleted showcase\n\tShowcaseTrashed *ShowcaseTrashedType `json:\"showcase_trashed,omitempty\"`\n\t// ShowcaseTrashedDeprecated : (showcase) Deleted showcase (old version)\n\t// (deprecated, replaced by 'Deleted showcase')\n\tShowcaseTrashedDeprecated *ShowcaseTrashedDeprecatedType `json:\"showcase_trashed_deprecated,omitempty\"`\n\t// ShowcaseUnresolveComment : (showcase) Unresolved showcase comment\n\tShowcaseUnresolveComment *ShowcaseUnresolveCommentType `json:\"showcase_unresolve_comment,omitempty\"`\n\t// ShowcaseUntrashed : (showcase) Restored showcase\n\tShowcaseUntrashed *ShowcaseUntrashedType `json:\"showcase_untrashed,omitempty\"`\n\t// ShowcaseUntrashedDeprecated : (showcase) Restored showcase (old version)\n\t// (deprecated, replaced by 'Restored showcase')\n\tShowcaseUntrashedDeprecated *ShowcaseUntrashedDeprecatedType `json:\"showcase_untrashed_deprecated,omitempty\"`\n\t// ShowcaseView : (showcase) Viewed showcase\n\tShowcaseView *ShowcaseViewType `json:\"showcase_view,omitempty\"`\n\t// SsoAddCert : (sso) Added X.509 certificate for SSO\n\tSsoAddCert *SsoAddCertType `json:\"sso_add_cert,omitempty\"`\n\t// SsoAddLoginUrl : (sso) Added sign-in URL for SSO\n\tSsoAddLoginUrl *SsoAddLoginUrlType `json:\"sso_add_login_url,omitempty\"`\n\t// SsoAddLogoutUrl : (sso) Added sign-out URL for SSO\n\tSsoAddLogoutUrl *SsoAddLogoutUrlType `json:\"sso_add_logout_url,omitempty\"`\n\t// SsoChangeCert : (sso) Changed X.509 certificate for SSO\n\tSsoChangeCert *SsoChangeCertType `json:\"sso_change_cert,omitempty\"`\n\t// SsoChangeLoginUrl : (sso) Changed sign-in URL for SSO\n\tSsoChangeLoginUrl *SsoChangeLoginUrlType `json:\"sso_change_login_url,omitempty\"`\n\t// SsoChangeLogoutUrl : (sso) Changed sign-out URL for SSO\n\tSsoChangeLogoutUrl *SsoChangeLogoutUrlType `json:\"sso_change_logout_url,omitempty\"`\n\t// SsoChangeSamlIdentityMode : (sso) Changed SAML identity mode for SSO\n\tSsoChangeSamlIdentityMode *SsoChangeSamlIdentityModeType `json:\"sso_change_saml_identity_mode,omitempty\"`\n\t// SsoRemoveCert : (sso) Removed X.509 certificate for SSO\n\tSsoRemoveCert *SsoRemoveCertType `json:\"sso_remove_cert,omitempty\"`\n\t// SsoRemoveLoginUrl : (sso) Removed sign-in URL for SSO\n\tSsoRemoveLoginUrl *SsoRemoveLoginUrlType `json:\"sso_remove_login_url,omitempty\"`\n\t// SsoRemoveLogoutUrl : (sso) Removed sign-out URL for SSO\n\tSsoRemoveLogoutUrl *SsoRemoveLogoutUrlType `json:\"sso_remove_logout_url,omitempty\"`\n\t// TeamFolderChangeStatus : (team_folders) Changed archival status of team\n\t// folder\n\tTeamFolderChangeStatus *TeamFolderChangeStatusType `json:\"team_folder_change_status,omitempty\"`\n\t// TeamFolderCreate : (team_folders) Created team folder in active status\n\tTeamFolderCreate *TeamFolderCreateType `json:\"team_folder_create,omitempty\"`\n\t// TeamFolderDowngrade : (team_folders) Downgraded team folder to regular\n\t// shared folder\n\tTeamFolderDowngrade *TeamFolderDowngradeType `json:\"team_folder_downgrade,omitempty\"`\n\t// TeamFolderPermanentlyDelete : (team_folders) Permanently deleted archived\n\t// team folder\n\tTeamFolderPermanentlyDelete *TeamFolderPermanentlyDeleteType `json:\"team_folder_permanently_delete,omitempty\"`\n\t// TeamFolderRename : (team_folders) Renamed active/archived team folder\n\tTeamFolderRename *TeamFolderRenameType `json:\"team_folder_rename,omitempty\"`\n\t// TeamSelectiveSyncSettingsChanged : (team_folders) Changed sync default\n\tTeamSelectiveSyncSettingsChanged *TeamSelectiveSyncSettingsChangedType `json:\"team_selective_sync_settings_changed,omitempty\"`\n\t// AccountCaptureChangePolicy : (team_policies) Changed account capture\n\t// setting on team domain\n\tAccountCaptureChangePolicy *AccountCaptureChangePolicyType `json:\"account_capture_change_policy,omitempty\"`\n\t// AdminEmailRemindersChanged : (team_policies) Changed admin reminder\n\t// settings for requests to join the team\n\tAdminEmailRemindersChanged *AdminEmailRemindersChangedType `json:\"admin_email_reminders_changed,omitempty\"`\n\t// AllowDownloadDisabled : (team_policies) Disabled downloads (deprecated,\n\t// no longer logged)\n\tAllowDownloadDisabled *AllowDownloadDisabledType `json:\"allow_download_disabled,omitempty\"`\n\t// AllowDownloadEnabled : (team_policies) Enabled downloads (deprecated, no\n\t// longer logged)\n\tAllowDownloadEnabled *AllowDownloadEnabledType `json:\"allow_download_enabled,omitempty\"`\n\t// AppPermissionsChanged : (team_policies) Changed app permissions\n\tAppPermissionsChanged *AppPermissionsChangedType `json:\"app_permissions_changed,omitempty\"`\n\t// CameraUploadsPolicyChanged : (team_policies) Changed camera uploads\n\t// setting for team\n\tCameraUploadsPolicyChanged *CameraUploadsPolicyChangedType `json:\"camera_uploads_policy_changed,omitempty\"`\n\t// CaptureTranscriptPolicyChanged : (team_policies) Changed Capture\n\t// transcription policy for team\n\tCaptureTranscriptPolicyChanged *CaptureTranscriptPolicyChangedType `json:\"capture_transcript_policy_changed,omitempty\"`\n\t// ClassificationChangePolicy : (team_policies) Changed classification\n\t// policy for team\n\tClassificationChangePolicy *ClassificationChangePolicyType `json:\"classification_change_policy,omitempty\"`\n\t// ComputerBackupPolicyChanged : (team_policies) Changed computer backup\n\t// policy for team\n\tComputerBackupPolicyChanged *ComputerBackupPolicyChangedType `json:\"computer_backup_policy_changed,omitempty\"`\n\t// ContentAdministrationPolicyChanged : (team_policies) Changed content\n\t// management setting\n\tContentAdministrationPolicyChanged *ContentAdministrationPolicyChangedType `json:\"content_administration_policy_changed,omitempty\"`\n\t// DataPlacementRestrictionChangePolicy : (team_policies) Set restrictions\n\t// on data center locations where team data resides\n\tDataPlacementRestrictionChangePolicy *DataPlacementRestrictionChangePolicyType `json:\"data_placement_restriction_change_policy,omitempty\"`\n\t// DataPlacementRestrictionSatisfyPolicy : (team_policies) Completed\n\t// restrictions on data center locations where team data resides\n\tDataPlacementRestrictionSatisfyPolicy *DataPlacementRestrictionSatisfyPolicyType `json:\"data_placement_restriction_satisfy_policy,omitempty\"`\n\t// DeviceApprovalsAddException : (team_policies) Added members to device\n\t// approvals exception list\n\tDeviceApprovalsAddException *DeviceApprovalsAddExceptionType `json:\"device_approvals_add_exception,omitempty\"`\n\t// DeviceApprovalsChangeDesktopPolicy : (team_policies) Set/removed limit on\n\t// number of computers member can link to team Dropbox account\n\tDeviceApprovalsChangeDesktopPolicy *DeviceApprovalsChangeDesktopPolicyType `json:\"device_approvals_change_desktop_policy,omitempty\"`\n\t// DeviceApprovalsChangeMobilePolicy : (team_policies) Set/removed limit on\n\t// number of mobile devices member can link to team Dropbox account\n\tDeviceApprovalsChangeMobilePolicy *DeviceApprovalsChangeMobilePolicyType `json:\"device_approvals_change_mobile_policy,omitempty\"`\n\t// DeviceApprovalsChangeOverageAction : (team_policies) Changed device\n\t// approvals setting when member is over limit\n\tDeviceApprovalsChangeOverageAction *DeviceApprovalsChangeOverageActionType `json:\"device_approvals_change_overage_action,omitempty\"`\n\t// DeviceApprovalsChangeUnlinkAction : (team_policies) Changed device\n\t// approvals setting when member unlinks approved device\n\tDeviceApprovalsChangeUnlinkAction *DeviceApprovalsChangeUnlinkActionType `json:\"device_approvals_change_unlink_action,omitempty\"`\n\t// DeviceApprovalsRemoveException : (team_policies) Removed members from\n\t// device approvals exception list\n\tDeviceApprovalsRemoveException *DeviceApprovalsRemoveExceptionType `json:\"device_approvals_remove_exception,omitempty\"`\n\t// DirectoryRestrictionsAddMembers : (team_policies) Added members to\n\t// directory restrictions list\n\tDirectoryRestrictionsAddMembers *DirectoryRestrictionsAddMembersType `json:\"directory_restrictions_add_members,omitempty\"`\n\t// DirectoryRestrictionsRemoveMembers : (team_policies) Removed members from\n\t// directory restrictions list\n\tDirectoryRestrictionsRemoveMembers *DirectoryRestrictionsRemoveMembersType `json:\"directory_restrictions_remove_members,omitempty\"`\n\t// DropboxPasswordsPolicyChanged : (team_policies) Changed Dropbox Passwords\n\t// policy for team\n\tDropboxPasswordsPolicyChanged *DropboxPasswordsPolicyChangedType `json:\"dropbox_passwords_policy_changed,omitempty\"`\n\t// EmailIngestPolicyChanged : (team_policies) Changed email to Dropbox\n\t// policy for team\n\tEmailIngestPolicyChanged *EmailIngestPolicyChangedType `json:\"email_ingest_policy_changed,omitempty\"`\n\t// EmmAddException : (team_policies) Added members to EMM exception list\n\tEmmAddException *EmmAddExceptionType `json:\"emm_add_exception,omitempty\"`\n\t// EmmChangePolicy : (team_policies) Enabled/disabled enterprise mobility\n\t// management for members\n\tEmmChangePolicy *EmmChangePolicyType `json:\"emm_change_policy,omitempty\"`\n\t// EmmRemoveException : (team_policies) Removed members from EMM exception\n\t// list\n\tEmmRemoveException *EmmRemoveExceptionType `json:\"emm_remove_exception,omitempty\"`\n\t// ExtendedVersionHistoryChangePolicy : (team_policies) Accepted/opted out\n\t// of extended version history\n\tExtendedVersionHistoryChangePolicy *ExtendedVersionHistoryChangePolicyType `json:\"extended_version_history_change_policy,omitempty\"`\n\t// ExternalDriveBackupPolicyChanged : (team_policies) Changed external drive\n\t// backup policy for team\n\tExternalDriveBackupPolicyChanged *ExternalDriveBackupPolicyChangedType `json:\"external_drive_backup_policy_changed,omitempty\"`\n\t// FileCommentsChangePolicy : (team_policies) Enabled/disabled commenting on\n\t// team files\n\tFileCommentsChangePolicy *FileCommentsChangePolicyType `json:\"file_comments_change_policy,omitempty\"`\n\t// FileLockingPolicyChanged : (team_policies) Changed file locking policy\n\t// for team\n\tFileLockingPolicyChanged *FileLockingPolicyChangedType `json:\"file_locking_policy_changed,omitempty\"`\n\t// FileProviderMigrationPolicyChanged : (team_policies) Changed File\n\t// Provider Migration policy for team\n\tFileProviderMigrationPolicyChanged *FileProviderMigrationPolicyChangedType `json:\"file_provider_migration_policy_changed,omitempty\"`\n\t// FileRequestsChangePolicy : (team_policies) Enabled/disabled file requests\n\tFileRequestsChangePolicy *FileRequestsChangePolicyType `json:\"file_requests_change_policy,omitempty\"`\n\t// FileRequestsEmailsEnabled : (team_policies) Enabled file request emails\n\t// for everyone (deprecated, no longer logged)\n\tFileRequestsEmailsEnabled *FileRequestsEmailsEnabledType `json:\"file_requests_emails_enabled,omitempty\"`\n\t// FileRequestsEmailsRestrictedToTeamOnly : (team_policies) Enabled file\n\t// request emails for team (deprecated, no longer logged)\n\tFileRequestsEmailsRestrictedToTeamOnly *FileRequestsEmailsRestrictedToTeamOnlyType `json:\"file_requests_emails_restricted_to_team_only,omitempty\"`\n\t// FileTransfersPolicyChanged : (team_policies) Changed file transfers\n\t// policy for team\n\tFileTransfersPolicyChanged *FileTransfersPolicyChangedType `json:\"file_transfers_policy_changed,omitempty\"`\n\t// GoogleSsoChangePolicy : (team_policies) Enabled/disabled Google single\n\t// sign-on for team\n\tGoogleSsoChangePolicy *GoogleSsoChangePolicyType `json:\"google_sso_change_policy,omitempty\"`\n\t// GroupUserManagementChangePolicy : (team_policies) Changed who can create\n\t// groups\n\tGroupUserManagementChangePolicy *GroupUserManagementChangePolicyType `json:\"group_user_management_change_policy,omitempty\"`\n\t// IntegrationPolicyChanged : (team_policies) Changed integration policy for\n\t// team\n\tIntegrationPolicyChanged *IntegrationPolicyChangedType `json:\"integration_policy_changed,omitempty\"`\n\t// InviteAcceptanceEmailPolicyChanged : (team_policies) Changed invite\n\t// accept email policy for team\n\tInviteAcceptanceEmailPolicyChanged *InviteAcceptanceEmailPolicyChangedType `json:\"invite_acceptance_email_policy_changed,omitempty\"`\n\t// MemberRequestsChangePolicy : (team_policies) Changed whether users can\n\t// find team when not invited\n\tMemberRequestsChangePolicy *MemberRequestsChangePolicyType `json:\"member_requests_change_policy,omitempty\"`\n\t// MemberSendInvitePolicyChanged : (team_policies) Changed member send\n\t// invite policy for team\n\tMemberSendInvitePolicyChanged *MemberSendInvitePolicyChangedType `json:\"member_send_invite_policy_changed,omitempty\"`\n\t// MemberSpaceLimitsAddException : (team_policies) Added members to member\n\t// space limit exception list\n\tMemberSpaceLimitsAddException *MemberSpaceLimitsAddExceptionType `json:\"member_space_limits_add_exception,omitempty\"`\n\t// MemberSpaceLimitsChangeCapsTypePolicy : (team_policies) Changed member\n\t// space limit type for team\n\tMemberSpaceLimitsChangeCapsTypePolicy *MemberSpaceLimitsChangeCapsTypePolicyType `json:\"member_space_limits_change_caps_type_policy,omitempty\"`\n\t// MemberSpaceLimitsChangePolicy : (team_policies) Changed team default\n\t// member space limit\n\tMemberSpaceLimitsChangePolicy *MemberSpaceLimitsChangePolicyType `json:\"member_space_limits_change_policy,omitempty\"`\n\t// MemberSpaceLimitsRemoveException : (team_policies) Removed members from\n\t// member space limit exception list\n\tMemberSpaceLimitsRemoveException *MemberSpaceLimitsRemoveExceptionType `json:\"member_space_limits_remove_exception,omitempty\"`\n\t// MemberSuggestionsChangePolicy : (team_policies) Enabled/disabled option\n\t// for team members to suggest people to add to team\n\tMemberSuggestionsChangePolicy *MemberSuggestionsChangePolicyType `json:\"member_suggestions_change_policy,omitempty\"`\n\t// MicrosoftOfficeAddinChangePolicy : (team_policies) Enabled/disabled\n\t// Microsoft Office add-in\n\tMicrosoftOfficeAddinChangePolicy *MicrosoftOfficeAddinChangePolicyType `json:\"microsoft_office_addin_change_policy,omitempty\"`\n\t// NetworkControlChangePolicy : (team_policies) Enabled/disabled network\n\t// control\n\tNetworkControlChangePolicy *NetworkControlChangePolicyType `json:\"network_control_change_policy,omitempty\"`\n\t// PaperChangeDeploymentPolicy : (team_policies) Changed whether Dropbox\n\t// Paper, when enabled, is deployed to all members or to specific members\n\tPaperChangeDeploymentPolicy *PaperChangeDeploymentPolicyType `json:\"paper_change_deployment_policy,omitempty\"`\n\t// PaperChangeMemberLinkPolicy : (team_policies) Changed whether non-members\n\t// can view Paper docs with link (deprecated, no longer logged)\n\tPaperChangeMemberLinkPolicy *PaperChangeMemberLinkPolicyType `json:\"paper_change_member_link_policy,omitempty\"`\n\t// PaperChangeMemberPolicy : (team_policies) Changed whether members can\n\t// share Paper docs outside team, and if docs are accessible only by team\n\t// members or anyone by default\n\tPaperChangeMemberPolicy *PaperChangeMemberPolicyType `json:\"paper_change_member_policy,omitempty\"`\n\t// PaperChangePolicy : (team_policies) Enabled/disabled Dropbox Paper for\n\t// team\n\tPaperChangePolicy *PaperChangePolicyType `json:\"paper_change_policy,omitempty\"`\n\t// PaperDefaultFolderPolicyChanged : (team_policies) Changed Paper Default\n\t// Folder Policy setting for team\n\tPaperDefaultFolderPolicyChanged *PaperDefaultFolderPolicyChangedType `json:\"paper_default_folder_policy_changed,omitempty\"`\n\t// PaperDesktopPolicyChanged : (team_policies) Enabled/disabled Paper\n\t// Desktop for team\n\tPaperDesktopPolicyChanged *PaperDesktopPolicyChangedType `json:\"paper_desktop_policy_changed,omitempty\"`\n\t// PaperEnabledUsersGroupAddition : (team_policies) Added users to\n\t// Paper-enabled users list\n\tPaperEnabledUsersGroupAddition *PaperEnabledUsersGroupAdditionType `json:\"paper_enabled_users_group_addition,omitempty\"`\n\t// PaperEnabledUsersGroupRemoval : (team_policies) Removed users from\n\t// Paper-enabled users list\n\tPaperEnabledUsersGroupRemoval *PaperEnabledUsersGroupRemovalType `json:\"paper_enabled_users_group_removal,omitempty\"`\n\t// PasswordStrengthRequirementsChangePolicy : (team_policies) Changed team\n\t// password strength requirements\n\tPasswordStrengthRequirementsChangePolicy *PasswordStrengthRequirementsChangePolicyType `json:\"password_strength_requirements_change_policy,omitempty\"`\n\t// PermanentDeleteChangePolicy : (team_policies) Enabled/disabled ability of\n\t// team members to permanently delete content\n\tPermanentDeleteChangePolicy *PermanentDeleteChangePolicyType `json:\"permanent_delete_change_policy,omitempty\"`\n\t// ResellerSupportChangePolicy : (team_policies) Enabled/disabled reseller\n\t// support\n\tResellerSupportChangePolicy *ResellerSupportChangePolicyType `json:\"reseller_support_change_policy,omitempty\"`\n\t// RewindPolicyChanged : (team_policies) Changed Rewind policy for team\n\tRewindPolicyChanged *RewindPolicyChangedType `json:\"rewind_policy_changed,omitempty\"`\n\t// SendForSignaturePolicyChanged : (team_policies) Changed send for\n\t// signature policy for team\n\tSendForSignaturePolicyChanged *SendForSignaturePolicyChangedType `json:\"send_for_signature_policy_changed,omitempty\"`\n\t// SharingChangeFolderJoinPolicy : (team_policies) Changed whether team\n\t// members can join shared folders owned outside team\n\tSharingChangeFolderJoinPolicy *SharingChangeFolderJoinPolicyType `json:\"sharing_change_folder_join_policy,omitempty\"`\n\t// SharingChangeLinkAllowChangeExpirationPolicy : (team_policies) Changed\n\t// the allow remove or change expiration policy for the links shared outside\n\t// of the team\n\tSharingChangeLinkAllowChangeExpirationPolicy *SharingChangeLinkAllowChangeExpirationPolicyType `json:\"sharing_change_link_allow_change_expiration_policy,omitempty\"`\n\t// SharingChangeLinkDefaultExpirationPolicy : (team_policies) Changed the\n\t// default expiration for the links shared outside of the team\n\tSharingChangeLinkDefaultExpirationPolicy *SharingChangeLinkDefaultExpirationPolicyType `json:\"sharing_change_link_default_expiration_policy,omitempty\"`\n\t// SharingChangeLinkEnforcePasswordPolicy : (team_policies) Changed the\n\t// password requirement for the links shared outside of the team\n\tSharingChangeLinkEnforcePasswordPolicy *SharingChangeLinkEnforcePasswordPolicyType `json:\"sharing_change_link_enforce_password_policy,omitempty\"`\n\t// SharingChangeLinkPolicy : (team_policies) Changed whether members can\n\t// share links outside team, and if links are accessible only by team\n\t// members or anyone by default\n\tSharingChangeLinkPolicy *SharingChangeLinkPolicyType `json:\"sharing_change_link_policy,omitempty\"`\n\t// SharingChangeMemberPolicy : (team_policies) Changed whether members can\n\t// share files/folders outside team\n\tSharingChangeMemberPolicy *SharingChangeMemberPolicyType `json:\"sharing_change_member_policy,omitempty\"`\n\t// ShowcaseChangeDownloadPolicy : (team_policies) Enabled/disabled\n\t// downloading files from Dropbox Showcase for team\n\tShowcaseChangeDownloadPolicy *ShowcaseChangeDownloadPolicyType `json:\"showcase_change_download_policy,omitempty\"`\n\t// ShowcaseChangeEnabledPolicy : (team_policies) Enabled/disabled Dropbox\n\t// Showcase for team\n\tShowcaseChangeEnabledPolicy *ShowcaseChangeEnabledPolicyType `json:\"showcase_change_enabled_policy,omitempty\"`\n\t// ShowcaseChangeExternalSharingPolicy : (team_policies) Enabled/disabled\n\t// sharing Dropbox Showcase externally for team\n\tShowcaseChangeExternalSharingPolicy *ShowcaseChangeExternalSharingPolicyType `json:\"showcase_change_external_sharing_policy,omitempty\"`\n\t// SmarterSmartSyncPolicyChanged : (team_policies) Changed automatic Smart\n\t// Sync setting for team\n\tSmarterSmartSyncPolicyChanged *SmarterSmartSyncPolicyChangedType `json:\"smarter_smart_sync_policy_changed,omitempty\"`\n\t// SmartSyncChangePolicy : (team_policies) Changed default Smart Sync\n\t// setting for team members\n\tSmartSyncChangePolicy *SmartSyncChangePolicyType `json:\"smart_sync_change_policy,omitempty\"`\n\t// SmartSyncNotOptOut : (team_policies) Opted team into Smart Sync\n\tSmartSyncNotOptOut *SmartSyncNotOptOutType `json:\"smart_sync_not_opt_out,omitempty\"`\n\t// SmartSyncOptOut : (team_policies) Opted team out of Smart Sync\n\tSmartSyncOptOut *SmartSyncOptOutType `json:\"smart_sync_opt_out,omitempty\"`\n\t// SsoChangePolicy : (team_policies) Changed single sign-on setting for team\n\tSsoChangePolicy *SsoChangePolicyType `json:\"sso_change_policy,omitempty\"`\n\t// TeamBrandingPolicyChanged : (team_policies) Changed team branding policy\n\t// for team\n\tTeamBrandingPolicyChanged *TeamBrandingPolicyChangedType `json:\"team_branding_policy_changed,omitempty\"`\n\t// TeamExtensionsPolicyChanged : (team_policies) Changed App Integrations\n\t// setting for team\n\tTeamExtensionsPolicyChanged *TeamExtensionsPolicyChangedType `json:\"team_extensions_policy_changed,omitempty\"`\n\t// TeamSelectiveSyncPolicyChanged : (team_policies) Enabled/disabled Team\n\t// Selective Sync for team\n\tTeamSelectiveSyncPolicyChanged *TeamSelectiveSyncPolicyChangedType `json:\"team_selective_sync_policy_changed,omitempty\"`\n\t// TeamSharingWhitelistSubjectsChanged : (team_policies) Edited the approved\n\t// list for sharing externally\n\tTeamSharingWhitelistSubjectsChanged *TeamSharingWhitelistSubjectsChangedType `json:\"team_sharing_whitelist_subjects_changed,omitempty\"`\n\t// TfaAddException : (team_policies) Added members to two factor\n\t// authentication exception list\n\tTfaAddException *TfaAddExceptionType `json:\"tfa_add_exception,omitempty\"`\n\t// TfaChangePolicy : (team_policies) Changed two-step verification setting\n\t// for team\n\tTfaChangePolicy *TfaChangePolicyType `json:\"tfa_change_policy,omitempty\"`\n\t// TfaRemoveException : (team_policies) Removed members from two factor\n\t// authentication exception list\n\tTfaRemoveException *TfaRemoveExceptionType `json:\"tfa_remove_exception,omitempty\"`\n\t// TwoAccountChangePolicy : (team_policies) Enabled/disabled option for\n\t// members to link personal Dropbox account and team account to same\n\t// computer\n\tTwoAccountChangePolicy *TwoAccountChangePolicyType `json:\"two_account_change_policy,omitempty\"`\n\t// ViewerInfoPolicyChanged : (team_policies) Changed team policy for viewer\n\t// info\n\tViewerInfoPolicyChanged *ViewerInfoPolicyChangedType `json:\"viewer_info_policy_changed,omitempty\"`\n\t// WatermarkingPolicyChanged : (team_policies) Changed watermarking policy\n\t// for team\n\tWatermarkingPolicyChanged *WatermarkingPolicyChangedType `json:\"watermarking_policy_changed,omitempty\"`\n\t// WebSessionsChangeActiveSessionLimit : (team_policies) Changed limit on\n\t// active sessions per member\n\tWebSessionsChangeActiveSessionLimit *WebSessionsChangeActiveSessionLimitType `json:\"web_sessions_change_active_session_limit,omitempty\"`\n\t// WebSessionsChangeFixedLengthPolicy : (team_policies) Changed how long\n\t// members can stay signed in to Dropbox.com\n\tWebSessionsChangeFixedLengthPolicy *WebSessionsChangeFixedLengthPolicyType `json:\"web_sessions_change_fixed_length_policy,omitempty\"`\n\t// WebSessionsChangeIdleLengthPolicy : (team_policies) Changed how long team\n\t// members can be idle while signed in to Dropbox.com\n\tWebSessionsChangeIdleLengthPolicy *WebSessionsChangeIdleLengthPolicyType `json:\"web_sessions_change_idle_length_policy,omitempty\"`\n\t// DataResidencyMigrationRequestSuccessful : (team_profile) Requested data\n\t// residency migration for team data\n\tDataResidencyMigrationRequestSuccessful *DataResidencyMigrationRequestSuccessfulType `json:\"data_residency_migration_request_successful,omitempty\"`\n\t// DataResidencyMigrationRequestUnsuccessful : (team_profile) Request for\n\t// data residency migration for team data has failed\n\tDataResidencyMigrationRequestUnsuccessful *DataResidencyMigrationRequestUnsuccessfulType `json:\"data_residency_migration_request_unsuccessful,omitempty\"`\n\t// TeamMergeFrom : (team_profile) Merged another team into this team\n\tTeamMergeFrom *TeamMergeFromType `json:\"team_merge_from,omitempty\"`\n\t// TeamMergeTo : (team_profile) Merged this team into another team\n\tTeamMergeTo *TeamMergeToType `json:\"team_merge_to,omitempty\"`\n\t// TeamProfileAddBackground : (team_profile) Added team background to\n\t// display on shared link headers\n\tTeamProfileAddBackground *TeamProfileAddBackgroundType `json:\"team_profile_add_background,omitempty\"`\n\t// TeamProfileAddLogo : (team_profile) Added team logo to display on shared\n\t// link headers\n\tTeamProfileAddLogo *TeamProfileAddLogoType `json:\"team_profile_add_logo,omitempty\"`\n\t// TeamProfileChangeBackground : (team_profile) Changed team background\n\t// displayed on shared link headers\n\tTeamProfileChangeBackground *TeamProfileChangeBackgroundType `json:\"team_profile_change_background,omitempty\"`\n\t// TeamProfileChangeDefaultLanguage : (team_profile) Changed default\n\t// language for team\n\tTeamProfileChangeDefaultLanguage *TeamProfileChangeDefaultLanguageType `json:\"team_profile_change_default_language,omitempty\"`\n\t// TeamProfileChangeLogo : (team_profile) Changed team logo displayed on\n\t// shared link headers\n\tTeamProfileChangeLogo *TeamProfileChangeLogoType `json:\"team_profile_change_logo,omitempty\"`\n\t// TeamProfileChangeName : (team_profile) Changed team name\n\tTeamProfileChangeName *TeamProfileChangeNameType `json:\"team_profile_change_name,omitempty\"`\n\t// TeamProfileRemoveBackground : (team_profile) Removed team background\n\t// displayed on shared link headers\n\tTeamProfileRemoveBackground *TeamProfileRemoveBackgroundType `json:\"team_profile_remove_background,omitempty\"`\n\t// TeamProfileRemoveLogo : (team_profile) Removed team logo displayed on\n\t// shared link headers\n\tTeamProfileRemoveLogo *TeamProfileRemoveLogoType `json:\"team_profile_remove_logo,omitempty\"`\n\t// TfaAddBackupPhone : (tfa) Added backup phone for two-step verification\n\tTfaAddBackupPhone *TfaAddBackupPhoneType `json:\"tfa_add_backup_phone,omitempty\"`\n\t// TfaAddSecurityKey : (tfa) Added security key for two-step verification\n\tTfaAddSecurityKey *TfaAddSecurityKeyType `json:\"tfa_add_security_key,omitempty\"`\n\t// TfaChangeBackupPhone : (tfa) Changed backup phone for two-step\n\t// verification\n\tTfaChangeBackupPhone *TfaChangeBackupPhoneType `json:\"tfa_change_backup_phone,omitempty\"`\n\t// TfaChangeStatus : (tfa) Enabled/disabled/changed two-step verification\n\t// setting\n\tTfaChangeStatus *TfaChangeStatusType `json:\"tfa_change_status,omitempty\"`\n\t// TfaRemoveBackupPhone : (tfa) Removed backup phone for two-step\n\t// verification\n\tTfaRemoveBackupPhone *TfaRemoveBackupPhoneType `json:\"tfa_remove_backup_phone,omitempty\"`\n\t// TfaRemoveSecurityKey : (tfa) Removed security key for two-step\n\t// verification\n\tTfaRemoveSecurityKey *TfaRemoveSecurityKeyType `json:\"tfa_remove_security_key,omitempty\"`\n\t// TfaReset : (tfa) Reset two-step verification for team member\n\tTfaReset *TfaResetType `json:\"tfa_reset,omitempty\"`\n\t// ChangedEnterpriseAdminRole : (trusted_teams) Changed enterprise admin\n\t// role\n\tChangedEnterpriseAdminRole *ChangedEnterpriseAdminRoleType `json:\"changed_enterprise_admin_role,omitempty\"`\n\t// ChangedEnterpriseConnectedTeamStatus : (trusted_teams) Changed\n\t// enterprise-connected team status\n\tChangedEnterpriseConnectedTeamStatus *ChangedEnterpriseConnectedTeamStatusType `json:\"changed_enterprise_connected_team_status,omitempty\"`\n\t// EndedEnterpriseAdminSession : (trusted_teams) Ended enterprise admin\n\t// session\n\tEndedEnterpriseAdminSession *EndedEnterpriseAdminSessionType `json:\"ended_enterprise_admin_session,omitempty\"`\n\t// EndedEnterpriseAdminSessionDeprecated : (trusted_teams) Ended enterprise\n\t// admin session (deprecated, replaced by 'Ended enterprise admin session')\n\tEndedEnterpriseAdminSessionDeprecated *EndedEnterpriseAdminSessionDeprecatedType `json:\"ended_enterprise_admin_session_deprecated,omitempty\"`\n\t// EnterpriseSettingsLocking : (trusted_teams) Changed who can update a\n\t// setting\n\tEnterpriseSettingsLocking *EnterpriseSettingsLockingType `json:\"enterprise_settings_locking,omitempty\"`\n\t// GuestAdminChangeStatus : (trusted_teams) Changed guest team admin status\n\tGuestAdminChangeStatus *GuestAdminChangeStatusType `json:\"guest_admin_change_status,omitempty\"`\n\t// StartedEnterpriseAdminSession : (trusted_teams) Started enterprise admin\n\t// session\n\tStartedEnterpriseAdminSession *StartedEnterpriseAdminSessionType `json:\"started_enterprise_admin_session,omitempty\"`\n\t// TeamMergeRequestAccepted : (trusted_teams) Accepted a team merge request\n\tTeamMergeRequestAccepted *TeamMergeRequestAcceptedType `json:\"team_merge_request_accepted,omitempty\"`\n\t// TeamMergeRequestAcceptedShownToPrimaryTeam : (trusted_teams) Accepted a\n\t// team merge request (deprecated, replaced by 'Accepted a team merge\n\t// request')\n\tTeamMergeRequestAcceptedShownToPrimaryTeam *TeamMergeRequestAcceptedShownToPrimaryTeamType `json:\"team_merge_request_accepted_shown_to_primary_team,omitempty\"`\n\t// TeamMergeRequestAcceptedShownToSecondaryTeam : (trusted_teams) Accepted a\n\t// team merge request (deprecated, replaced by 'Accepted a team merge\n\t// request')\n\tTeamMergeRequestAcceptedShownToSecondaryTeam *TeamMergeRequestAcceptedShownToSecondaryTeamType `json:\"team_merge_request_accepted_shown_to_secondary_team,omitempty\"`\n\t// TeamMergeRequestAutoCanceled : (trusted_teams) Automatically canceled\n\t// team merge request\n\tTeamMergeRequestAutoCanceled *TeamMergeRequestAutoCanceledType `json:\"team_merge_request_auto_canceled,omitempty\"`\n\t// TeamMergeRequestCanceled : (trusted_teams) Canceled a team merge request\n\tTeamMergeRequestCanceled *TeamMergeRequestCanceledType `json:\"team_merge_request_canceled,omitempty\"`\n\t// TeamMergeRequestCanceledShownToPrimaryTeam : (trusted_teams) Canceled a\n\t// team merge request (deprecated, replaced by 'Canceled a team merge\n\t// request')\n\tTeamMergeRequestCanceledShownToPrimaryTeam *TeamMergeRequestCanceledShownToPrimaryTeamType `json:\"team_merge_request_canceled_shown_to_primary_team,omitempty\"`\n\t// TeamMergeRequestCanceledShownToSecondaryTeam : (trusted_teams) Canceled a\n\t// team merge request (deprecated, replaced by 'Canceled a team merge\n\t// request')\n\tTeamMergeRequestCanceledShownToSecondaryTeam *TeamMergeRequestCanceledShownToSecondaryTeamType `json:\"team_merge_request_canceled_shown_to_secondary_team,omitempty\"`\n\t// TeamMergeRequestExpired : (trusted_teams) Team merge request expired\n\tTeamMergeRequestExpired *TeamMergeRequestExpiredType `json:\"team_merge_request_expired,omitempty\"`\n\t// TeamMergeRequestExpiredShownToPrimaryTeam : (trusted_teams) Team merge\n\t// request expired (deprecated, replaced by 'Team merge request expired')\n\tTeamMergeRequestExpiredShownToPrimaryTeam *TeamMergeRequestExpiredShownToPrimaryTeamType `json:\"team_merge_request_expired_shown_to_primary_team,omitempty\"`\n\t// TeamMergeRequestExpiredShownToSecondaryTeam : (trusted_teams) Team merge\n\t// request expired (deprecated, replaced by 'Team merge request expired')\n\tTeamMergeRequestExpiredShownToSecondaryTeam *TeamMergeRequestExpiredShownToSecondaryTeamType `json:\"team_merge_request_expired_shown_to_secondary_team,omitempty\"`\n\t// TeamMergeRequestRejectedShownToPrimaryTeam : (trusted_teams) Rejected a\n\t// team merge request (deprecated, no longer logged)\n\tTeamMergeRequestRejectedShownToPrimaryTeam *TeamMergeRequestRejectedShownToPrimaryTeamType `json:\"team_merge_request_rejected_shown_to_primary_team,omitempty\"`\n\t// TeamMergeRequestRejectedShownToSecondaryTeam : (trusted_teams) Rejected a\n\t// team merge request (deprecated, no longer logged)\n\tTeamMergeRequestRejectedShownToSecondaryTeam *TeamMergeRequestRejectedShownToSecondaryTeamType `json:\"team_merge_request_rejected_shown_to_secondary_team,omitempty\"`\n\t// TeamMergeRequestReminder : (trusted_teams) Sent a team merge request\n\t// reminder\n\tTeamMergeRequestReminder *TeamMergeRequestReminderType `json:\"team_merge_request_reminder,omitempty\"`\n\t// TeamMergeRequestReminderShownToPrimaryTeam : (trusted_teams) Sent a team\n\t// merge request reminder (deprecated, replaced by 'Sent a team merge\n\t// request reminder')\n\tTeamMergeRequestReminderShownToPrimaryTeam *TeamMergeRequestReminderShownToPrimaryTeamType `json:\"team_merge_request_reminder_shown_to_primary_team,omitempty\"`\n\t// TeamMergeRequestReminderShownToSecondaryTeam : (trusted_teams) Sent a\n\t// team merge request reminder (deprecated, replaced by 'Sent a team merge\n\t// request reminder')\n\tTeamMergeRequestReminderShownToSecondaryTeam *TeamMergeRequestReminderShownToSecondaryTeamType `json:\"team_merge_request_reminder_shown_to_secondary_team,omitempty\"`\n\t// TeamMergeRequestRevoked : (trusted_teams) Canceled the team merge\n\tTeamMergeRequestRevoked *TeamMergeRequestRevokedType `json:\"team_merge_request_revoked,omitempty\"`\n\t// TeamMergeRequestSentShownToPrimaryTeam : (trusted_teams) Requested to\n\t// merge their Dropbox team into yours\n\tTeamMergeRequestSentShownToPrimaryTeam *TeamMergeRequestSentShownToPrimaryTeamType `json:\"team_merge_request_sent_shown_to_primary_team,omitempty\"`\n\t// TeamMergeRequestSentShownToSecondaryTeam : (trusted_teams) Requested to\n\t// merge your team into another Dropbox team\n\tTeamMergeRequestSentShownToSecondaryTeam *TeamMergeRequestSentShownToSecondaryTeamType `json:\"team_merge_request_sent_shown_to_secondary_team,omitempty\"`\n}\n\n// Valid tag values for EventType\nconst (\n\tEventTypeAdminAlertingAlertStateChanged               = \"admin_alerting_alert_state_changed\"\n\tEventTypeAdminAlertingChangedAlertConfig              = \"admin_alerting_changed_alert_config\"\n\tEventTypeAdminAlertingTriggeredAlert                  = \"admin_alerting_triggered_alert\"\n\tEventTypeAppBlockedByPermissions                      = \"app_blocked_by_permissions\"\n\tEventTypeAppLinkTeam                                  = \"app_link_team\"\n\tEventTypeAppLinkUser                                  = \"app_link_user\"\n\tEventTypeAppUnlinkTeam                                = \"app_unlink_team\"\n\tEventTypeAppUnlinkUser                                = \"app_unlink_user\"\n\tEventTypeIntegrationConnected                         = \"integration_connected\"\n\tEventTypeIntegrationDisconnected                      = \"integration_disconnected\"\n\tEventTypeFileAddComment                               = \"file_add_comment\"\n\tEventTypeFileChangeCommentSubscription                = \"file_change_comment_subscription\"\n\tEventTypeFileDeleteComment                            = \"file_delete_comment\"\n\tEventTypeFileEditComment                              = \"file_edit_comment\"\n\tEventTypeFileLikeComment                              = \"file_like_comment\"\n\tEventTypeFileResolveComment                           = \"file_resolve_comment\"\n\tEventTypeFileUnlikeComment                            = \"file_unlike_comment\"\n\tEventTypeFileUnresolveComment                         = \"file_unresolve_comment\"\n\tEventTypeGovernancePolicyAddFolders                   = \"governance_policy_add_folders\"\n\tEventTypeGovernancePolicyAddFolderFailed              = \"governance_policy_add_folder_failed\"\n\tEventTypeGovernancePolicyContentDisposed              = \"governance_policy_content_disposed\"\n\tEventTypeGovernancePolicyCreate                       = \"governance_policy_create\"\n\tEventTypeGovernancePolicyDelete                       = \"governance_policy_delete\"\n\tEventTypeGovernancePolicyEditDetails                  = \"governance_policy_edit_details\"\n\tEventTypeGovernancePolicyEditDuration                 = \"governance_policy_edit_duration\"\n\tEventTypeGovernancePolicyExportCreated                = \"governance_policy_export_created\"\n\tEventTypeGovernancePolicyExportRemoved                = \"governance_policy_export_removed\"\n\tEventTypeGovernancePolicyRemoveFolders                = \"governance_policy_remove_folders\"\n\tEventTypeGovernancePolicyReportCreated                = \"governance_policy_report_created\"\n\tEventTypeGovernancePolicyZipPartDownloaded            = \"governance_policy_zip_part_downloaded\"\n\tEventTypeLegalHoldsActivateAHold                      = \"legal_holds_activate_a_hold\"\n\tEventTypeLegalHoldsAddMembers                         = \"legal_holds_add_members\"\n\tEventTypeLegalHoldsChangeHoldDetails                  = \"legal_holds_change_hold_details\"\n\tEventTypeLegalHoldsChangeHoldName                     = \"legal_holds_change_hold_name\"\n\tEventTypeLegalHoldsExportAHold                        = \"legal_holds_export_a_hold\"\n\tEventTypeLegalHoldsExportCancelled                    = \"legal_holds_export_cancelled\"\n\tEventTypeLegalHoldsExportDownloaded                   = \"legal_holds_export_downloaded\"\n\tEventTypeLegalHoldsExportRemoved                      = \"legal_holds_export_removed\"\n\tEventTypeLegalHoldsReleaseAHold                       = \"legal_holds_release_a_hold\"\n\tEventTypeLegalHoldsRemoveMembers                      = \"legal_holds_remove_members\"\n\tEventTypeLegalHoldsReportAHold                        = \"legal_holds_report_a_hold\"\n\tEventTypeDeviceChangeIpDesktop                        = \"device_change_ip_desktop\"\n\tEventTypeDeviceChangeIpMobile                         = \"device_change_ip_mobile\"\n\tEventTypeDeviceChangeIpWeb                            = \"device_change_ip_web\"\n\tEventTypeDeviceDeleteOnUnlinkFail                     = \"device_delete_on_unlink_fail\"\n\tEventTypeDeviceDeleteOnUnlinkSuccess                  = \"device_delete_on_unlink_success\"\n\tEventTypeDeviceLinkFail                               = \"device_link_fail\"\n\tEventTypeDeviceLinkSuccess                            = \"device_link_success\"\n\tEventTypeDeviceManagementDisabled                     = \"device_management_disabled\"\n\tEventTypeDeviceManagementEnabled                      = \"device_management_enabled\"\n\tEventTypeDeviceSyncBackupStatusChanged                = \"device_sync_backup_status_changed\"\n\tEventTypeDeviceUnlink                                 = \"device_unlink\"\n\tEventTypeDropboxPasswordsExported                     = \"dropbox_passwords_exported\"\n\tEventTypeDropboxPasswordsNewDeviceEnrolled            = \"dropbox_passwords_new_device_enrolled\"\n\tEventTypeEmmRefreshAuthToken                          = \"emm_refresh_auth_token\"\n\tEventTypeExternalDriveBackupEligibilityStatusChecked  = \"external_drive_backup_eligibility_status_checked\"\n\tEventTypeExternalDriveBackupStatusChanged             = \"external_drive_backup_status_changed\"\n\tEventTypeAccountCaptureChangeAvailability             = \"account_capture_change_availability\"\n\tEventTypeAccountCaptureMigrateAccount                 = \"account_capture_migrate_account\"\n\tEventTypeAccountCaptureNotificationEmailsSent         = \"account_capture_notification_emails_sent\"\n\tEventTypeAccountCaptureRelinquishAccount              = \"account_capture_relinquish_account\"\n\tEventTypeDisabledDomainInvites                        = \"disabled_domain_invites\"\n\tEventTypeDomainInvitesApproveRequestToJoinTeam        = \"domain_invites_approve_request_to_join_team\"\n\tEventTypeDomainInvitesDeclineRequestToJoinTeam        = \"domain_invites_decline_request_to_join_team\"\n\tEventTypeDomainInvitesEmailExistingUsers              = \"domain_invites_email_existing_users\"\n\tEventTypeDomainInvitesRequestToJoinTeam               = \"domain_invites_request_to_join_team\"\n\tEventTypeDomainInvitesSetInviteNewUserPrefToNo        = \"domain_invites_set_invite_new_user_pref_to_no\"\n\tEventTypeDomainInvitesSetInviteNewUserPrefToYes       = \"domain_invites_set_invite_new_user_pref_to_yes\"\n\tEventTypeDomainVerificationAddDomainFail              = \"domain_verification_add_domain_fail\"\n\tEventTypeDomainVerificationAddDomainSuccess           = \"domain_verification_add_domain_success\"\n\tEventTypeDomainVerificationRemoveDomain               = \"domain_verification_remove_domain\"\n\tEventTypeEnabledDomainInvites                         = \"enabled_domain_invites\"\n\tEventTypeApplyNamingConvention                        = \"apply_naming_convention\"\n\tEventTypeCreateFolder                                 = \"create_folder\"\n\tEventTypeFileAdd                                      = \"file_add\"\n\tEventTypeFileCopy                                     = \"file_copy\"\n\tEventTypeFileDelete                                   = \"file_delete\"\n\tEventTypeFileDownload                                 = \"file_download\"\n\tEventTypeFileEdit                                     = \"file_edit\"\n\tEventTypeFileGetCopyReference                         = \"file_get_copy_reference\"\n\tEventTypeFileLockingLockStatusChanged                 = \"file_locking_lock_status_changed\"\n\tEventTypeFileMove                                     = \"file_move\"\n\tEventTypeFilePermanentlyDelete                        = \"file_permanently_delete\"\n\tEventTypeFilePreview                                  = \"file_preview\"\n\tEventTypeFileRename                                   = \"file_rename\"\n\tEventTypeFileRestore                                  = \"file_restore\"\n\tEventTypeFileRevert                                   = \"file_revert\"\n\tEventTypeFileRollbackChanges                          = \"file_rollback_changes\"\n\tEventTypeFileSaveCopyReference                        = \"file_save_copy_reference\"\n\tEventTypeFolderOverviewDescriptionChanged             = \"folder_overview_description_changed\"\n\tEventTypeFolderOverviewItemPinned                     = \"folder_overview_item_pinned\"\n\tEventTypeFolderOverviewItemUnpinned                   = \"folder_overview_item_unpinned\"\n\tEventTypeObjectLabelAdded                             = \"object_label_added\"\n\tEventTypeObjectLabelRemoved                           = \"object_label_removed\"\n\tEventTypeObjectLabelUpdatedValue                      = \"object_label_updated_value\"\n\tEventTypeOrganizeFolderWithTidy                       = \"organize_folder_with_tidy\"\n\tEventTypeRewindFolder                                 = \"rewind_folder\"\n\tEventTypeUndoNamingConvention                         = \"undo_naming_convention\"\n\tEventTypeUndoOrganizeFolderWithTidy                   = \"undo_organize_folder_with_tidy\"\n\tEventTypeUserTagsAdded                                = \"user_tags_added\"\n\tEventTypeUserTagsRemoved                              = \"user_tags_removed\"\n\tEventTypeEmailIngestReceiveFile                       = \"email_ingest_receive_file\"\n\tEventTypeFileRequestChange                            = \"file_request_change\"\n\tEventTypeFileRequestClose                             = \"file_request_close\"\n\tEventTypeFileRequestCreate                            = \"file_request_create\"\n\tEventTypeFileRequestDelete                            = \"file_request_delete\"\n\tEventTypeFileRequestReceiveFile                       = \"file_request_receive_file\"\n\tEventTypeGroupAddExternalId                           = \"group_add_external_id\"\n\tEventTypeGroupAddMember                               = \"group_add_member\"\n\tEventTypeGroupChangeExternalId                        = \"group_change_external_id\"\n\tEventTypeGroupChangeManagementType                    = \"group_change_management_type\"\n\tEventTypeGroupChangeMemberRole                        = \"group_change_member_role\"\n\tEventTypeGroupCreate                                  = \"group_create\"\n\tEventTypeGroupDelete                                  = \"group_delete\"\n\tEventTypeGroupDescriptionUpdated                      = \"group_description_updated\"\n\tEventTypeGroupJoinPolicyUpdated                       = \"group_join_policy_updated\"\n\tEventTypeGroupMoved                                   = \"group_moved\"\n\tEventTypeGroupRemoveExternalId                        = \"group_remove_external_id\"\n\tEventTypeGroupRemoveMember                            = \"group_remove_member\"\n\tEventTypeGroupRename                                  = \"group_rename\"\n\tEventTypeAccountLockOrUnlocked                        = \"account_lock_or_unlocked\"\n\tEventTypeEmmError                                     = \"emm_error\"\n\tEventTypeGuestAdminSignedInViaTrustedTeams            = \"guest_admin_signed_in_via_trusted_teams\"\n\tEventTypeGuestAdminSignedOutViaTrustedTeams           = \"guest_admin_signed_out_via_trusted_teams\"\n\tEventTypeLoginFail                                    = \"login_fail\"\n\tEventTypeLoginSuccess                                 = \"login_success\"\n\tEventTypeLogout                                       = \"logout\"\n\tEventTypeResellerSupportSessionEnd                    = \"reseller_support_session_end\"\n\tEventTypeResellerSupportSessionStart                  = \"reseller_support_session_start\"\n\tEventTypeSignInAsSessionEnd                           = \"sign_in_as_session_end\"\n\tEventTypeSignInAsSessionStart                         = \"sign_in_as_session_start\"\n\tEventTypeSsoError                                     = \"sso_error\"\n\tEventTypeCreateTeamInviteLink                         = \"create_team_invite_link\"\n\tEventTypeDeleteTeamInviteLink                         = \"delete_team_invite_link\"\n\tEventTypeMemberAddExternalId                          = \"member_add_external_id\"\n\tEventTypeMemberAddName                                = \"member_add_name\"\n\tEventTypeMemberChangeAdminRole                        = \"member_change_admin_role\"\n\tEventTypeMemberChangeEmail                            = \"member_change_email\"\n\tEventTypeMemberChangeExternalId                       = \"member_change_external_id\"\n\tEventTypeMemberChangeMembershipType                   = \"member_change_membership_type\"\n\tEventTypeMemberChangeName                             = \"member_change_name\"\n\tEventTypeMemberChangeResellerRole                     = \"member_change_reseller_role\"\n\tEventTypeMemberChangeStatus                           = \"member_change_status\"\n\tEventTypeMemberDeleteManualContacts                   = \"member_delete_manual_contacts\"\n\tEventTypeMemberDeleteProfilePhoto                     = \"member_delete_profile_photo\"\n\tEventTypeMemberPermanentlyDeleteAccountContents       = \"member_permanently_delete_account_contents\"\n\tEventTypeMemberRemoveExternalId                       = \"member_remove_external_id\"\n\tEventTypeMemberSetProfilePhoto                        = \"member_set_profile_photo\"\n\tEventTypeMemberSpaceLimitsAddCustomQuota              = \"member_space_limits_add_custom_quota\"\n\tEventTypeMemberSpaceLimitsChangeCustomQuota           = \"member_space_limits_change_custom_quota\"\n\tEventTypeMemberSpaceLimitsChangeStatus                = \"member_space_limits_change_status\"\n\tEventTypeMemberSpaceLimitsRemoveCustomQuota           = \"member_space_limits_remove_custom_quota\"\n\tEventTypeMemberSuggest                                = \"member_suggest\"\n\tEventTypeMemberTransferAccountContents                = \"member_transfer_account_contents\"\n\tEventTypePendingSecondaryEmailAdded                   = \"pending_secondary_email_added\"\n\tEventTypeSecondaryEmailDeleted                        = \"secondary_email_deleted\"\n\tEventTypeSecondaryEmailVerified                       = \"secondary_email_verified\"\n\tEventTypeSecondaryMailsPolicyChanged                  = \"secondary_mails_policy_changed\"\n\tEventTypeBinderAddPage                                = \"binder_add_page\"\n\tEventTypeBinderAddSection                             = \"binder_add_section\"\n\tEventTypeBinderRemovePage                             = \"binder_remove_page\"\n\tEventTypeBinderRemoveSection                          = \"binder_remove_section\"\n\tEventTypeBinderRenamePage                             = \"binder_rename_page\"\n\tEventTypeBinderRenameSection                          = \"binder_rename_section\"\n\tEventTypeBinderReorderPage                            = \"binder_reorder_page\"\n\tEventTypeBinderReorderSection                         = \"binder_reorder_section\"\n\tEventTypePaperContentAddMember                        = \"paper_content_add_member\"\n\tEventTypePaperContentAddToFolder                      = \"paper_content_add_to_folder\"\n\tEventTypePaperContentArchive                          = \"paper_content_archive\"\n\tEventTypePaperContentCreate                           = \"paper_content_create\"\n\tEventTypePaperContentPermanentlyDelete                = \"paper_content_permanently_delete\"\n\tEventTypePaperContentRemoveFromFolder                 = \"paper_content_remove_from_folder\"\n\tEventTypePaperContentRemoveMember                     = \"paper_content_remove_member\"\n\tEventTypePaperContentRename                           = \"paper_content_rename\"\n\tEventTypePaperContentRestore                          = \"paper_content_restore\"\n\tEventTypePaperDocAddComment                           = \"paper_doc_add_comment\"\n\tEventTypePaperDocChangeMemberRole                     = \"paper_doc_change_member_role\"\n\tEventTypePaperDocChangeSharingPolicy                  = \"paper_doc_change_sharing_policy\"\n\tEventTypePaperDocChangeSubscription                   = \"paper_doc_change_subscription\"\n\tEventTypePaperDocDeleted                              = \"paper_doc_deleted\"\n\tEventTypePaperDocDeleteComment                        = \"paper_doc_delete_comment\"\n\tEventTypePaperDocDownload                             = \"paper_doc_download\"\n\tEventTypePaperDocEdit                                 = \"paper_doc_edit\"\n\tEventTypePaperDocEditComment                          = \"paper_doc_edit_comment\"\n\tEventTypePaperDocFollowed                             = \"paper_doc_followed\"\n\tEventTypePaperDocMention                              = \"paper_doc_mention\"\n\tEventTypePaperDocOwnershipChanged                     = \"paper_doc_ownership_changed\"\n\tEventTypePaperDocRequestAccess                        = \"paper_doc_request_access\"\n\tEventTypePaperDocResolveComment                       = \"paper_doc_resolve_comment\"\n\tEventTypePaperDocRevert                               = \"paper_doc_revert\"\n\tEventTypePaperDocSlackShare                           = \"paper_doc_slack_share\"\n\tEventTypePaperDocTeamInvite                           = \"paper_doc_team_invite\"\n\tEventTypePaperDocTrashed                              = \"paper_doc_trashed\"\n\tEventTypePaperDocUnresolveComment                     = \"paper_doc_unresolve_comment\"\n\tEventTypePaperDocUntrashed                            = \"paper_doc_untrashed\"\n\tEventTypePaperDocView                                 = \"paper_doc_view\"\n\tEventTypePaperExternalViewAllow                       = \"paper_external_view_allow\"\n\tEventTypePaperExternalViewDefaultTeam                 = \"paper_external_view_default_team\"\n\tEventTypePaperExternalViewForbid                      = \"paper_external_view_forbid\"\n\tEventTypePaperFolderChangeSubscription                = \"paper_folder_change_subscription\"\n\tEventTypePaperFolderDeleted                           = \"paper_folder_deleted\"\n\tEventTypePaperFolderFollowed                          = \"paper_folder_followed\"\n\tEventTypePaperFolderTeamInvite                        = \"paper_folder_team_invite\"\n\tEventTypePaperPublishedLinkChangePermission           = \"paper_published_link_change_permission\"\n\tEventTypePaperPublishedLinkCreate                     = \"paper_published_link_create\"\n\tEventTypePaperPublishedLinkDisabled                   = \"paper_published_link_disabled\"\n\tEventTypePaperPublishedLinkView                       = \"paper_published_link_view\"\n\tEventTypePasswordChange                               = \"password_change\"\n\tEventTypePasswordReset                                = \"password_reset\"\n\tEventTypePasswordResetAll                             = \"password_reset_all\"\n\tEventTypeClassificationCreateReport                   = \"classification_create_report\"\n\tEventTypeClassificationCreateReportFail               = \"classification_create_report_fail\"\n\tEventTypeEmmCreateExceptionsReport                    = \"emm_create_exceptions_report\"\n\tEventTypeEmmCreateUsageReport                         = \"emm_create_usage_report\"\n\tEventTypeExportMembersReport                          = \"export_members_report\"\n\tEventTypeExportMembersReportFail                      = \"export_members_report_fail\"\n\tEventTypeExternalSharingCreateReport                  = \"external_sharing_create_report\"\n\tEventTypeExternalSharingReportFailed                  = \"external_sharing_report_failed\"\n\tEventTypeNoExpirationLinkGenCreateReport              = \"no_expiration_link_gen_create_report\"\n\tEventTypeNoExpirationLinkGenReportFailed              = \"no_expiration_link_gen_report_failed\"\n\tEventTypeNoPasswordLinkGenCreateReport                = \"no_password_link_gen_create_report\"\n\tEventTypeNoPasswordLinkGenReportFailed                = \"no_password_link_gen_report_failed\"\n\tEventTypeNoPasswordLinkViewCreateReport               = \"no_password_link_view_create_report\"\n\tEventTypeNoPasswordLinkViewReportFailed               = \"no_password_link_view_report_failed\"\n\tEventTypeOutdatedLinkViewCreateReport                 = \"outdated_link_view_create_report\"\n\tEventTypeOutdatedLinkViewReportFailed                 = \"outdated_link_view_report_failed\"\n\tEventTypePaperAdminExportStart                        = \"paper_admin_export_start\"\n\tEventTypeSmartSyncCreateAdminPrivilegeReport          = \"smart_sync_create_admin_privilege_report\"\n\tEventTypeTeamActivityCreateReport                     = \"team_activity_create_report\"\n\tEventTypeTeamActivityCreateReportFail                 = \"team_activity_create_report_fail\"\n\tEventTypeCollectionShare                              = \"collection_share\"\n\tEventTypeFileTransfersFileAdd                         = \"file_transfers_file_add\"\n\tEventTypeFileTransfersTransferDelete                  = \"file_transfers_transfer_delete\"\n\tEventTypeFileTransfersTransferDownload                = \"file_transfers_transfer_download\"\n\tEventTypeFileTransfersTransferSend                    = \"file_transfers_transfer_send\"\n\tEventTypeFileTransfersTransferView                    = \"file_transfers_transfer_view\"\n\tEventTypeNoteAclInviteOnly                            = \"note_acl_invite_only\"\n\tEventTypeNoteAclLink                                  = \"note_acl_link\"\n\tEventTypeNoteAclTeamLink                              = \"note_acl_team_link\"\n\tEventTypeNoteShared                                   = \"note_shared\"\n\tEventTypeNoteShareReceive                             = \"note_share_receive\"\n\tEventTypeOpenNoteShared                               = \"open_note_shared\"\n\tEventTypeSfAddGroup                                   = \"sf_add_group\"\n\tEventTypeSfAllowNonMembersToViewSharedLinks           = \"sf_allow_non_members_to_view_shared_links\"\n\tEventTypeSfExternalInviteWarn                         = \"sf_external_invite_warn\"\n\tEventTypeSfFbInvite                                   = \"sf_fb_invite\"\n\tEventTypeSfFbInviteChangeRole                         = \"sf_fb_invite_change_role\"\n\tEventTypeSfFbUninvite                                 = \"sf_fb_uninvite\"\n\tEventTypeSfInviteGroup                                = \"sf_invite_group\"\n\tEventTypeSfTeamGrantAccess                            = \"sf_team_grant_access\"\n\tEventTypeSfTeamInvite                                 = \"sf_team_invite\"\n\tEventTypeSfTeamInviteChangeRole                       = \"sf_team_invite_change_role\"\n\tEventTypeSfTeamJoin                                   = \"sf_team_join\"\n\tEventTypeSfTeamJoinFromOobLink                        = \"sf_team_join_from_oob_link\"\n\tEventTypeSfTeamUninvite                               = \"sf_team_uninvite\"\n\tEventTypeSharedContentAddInvitees                     = \"shared_content_add_invitees\"\n\tEventTypeSharedContentAddLinkExpiry                   = \"shared_content_add_link_expiry\"\n\tEventTypeSharedContentAddLinkPassword                 = \"shared_content_add_link_password\"\n\tEventTypeSharedContentAddMember                       = \"shared_content_add_member\"\n\tEventTypeSharedContentChangeDownloadsPolicy           = \"shared_content_change_downloads_policy\"\n\tEventTypeSharedContentChangeInviteeRole               = \"shared_content_change_invitee_role\"\n\tEventTypeSharedContentChangeLinkAudience              = \"shared_content_change_link_audience\"\n\tEventTypeSharedContentChangeLinkExpiry                = \"shared_content_change_link_expiry\"\n\tEventTypeSharedContentChangeLinkPassword              = \"shared_content_change_link_password\"\n\tEventTypeSharedContentChangeMemberRole                = \"shared_content_change_member_role\"\n\tEventTypeSharedContentChangeViewerInfoPolicy          = \"shared_content_change_viewer_info_policy\"\n\tEventTypeSharedContentClaimInvitation                 = \"shared_content_claim_invitation\"\n\tEventTypeSharedContentCopy                            = \"shared_content_copy\"\n\tEventTypeSharedContentDownload                        = \"shared_content_download\"\n\tEventTypeSharedContentRelinquishMembership            = \"shared_content_relinquish_membership\"\n\tEventTypeSharedContentRemoveInvitees                  = \"shared_content_remove_invitees\"\n\tEventTypeSharedContentRemoveLinkExpiry                = \"shared_content_remove_link_expiry\"\n\tEventTypeSharedContentRemoveLinkPassword              = \"shared_content_remove_link_password\"\n\tEventTypeSharedContentRemoveMember                    = \"shared_content_remove_member\"\n\tEventTypeSharedContentRequestAccess                   = \"shared_content_request_access\"\n\tEventTypeSharedContentRestoreInvitees                 = \"shared_content_restore_invitees\"\n\tEventTypeSharedContentRestoreMember                   = \"shared_content_restore_member\"\n\tEventTypeSharedContentUnshare                         = \"shared_content_unshare\"\n\tEventTypeSharedContentView                            = \"shared_content_view\"\n\tEventTypeSharedFolderChangeLinkPolicy                 = \"shared_folder_change_link_policy\"\n\tEventTypeSharedFolderChangeMembersInheritancePolicy   = \"shared_folder_change_members_inheritance_policy\"\n\tEventTypeSharedFolderChangeMembersManagementPolicy    = \"shared_folder_change_members_management_policy\"\n\tEventTypeSharedFolderChangeMembersPolicy              = \"shared_folder_change_members_policy\"\n\tEventTypeSharedFolderCreate                           = \"shared_folder_create\"\n\tEventTypeSharedFolderDeclineInvitation                = \"shared_folder_decline_invitation\"\n\tEventTypeSharedFolderMount                            = \"shared_folder_mount\"\n\tEventTypeSharedFolderNest                             = \"shared_folder_nest\"\n\tEventTypeSharedFolderTransferOwnership                = \"shared_folder_transfer_ownership\"\n\tEventTypeSharedFolderUnmount                          = \"shared_folder_unmount\"\n\tEventTypeSharedLinkAddExpiry                          = \"shared_link_add_expiry\"\n\tEventTypeSharedLinkChangeExpiry                       = \"shared_link_change_expiry\"\n\tEventTypeSharedLinkChangeVisibility                   = \"shared_link_change_visibility\"\n\tEventTypeSharedLinkCopy                               = \"shared_link_copy\"\n\tEventTypeSharedLinkCreate                             = \"shared_link_create\"\n\tEventTypeSharedLinkDisable                            = \"shared_link_disable\"\n\tEventTypeSharedLinkDownload                           = \"shared_link_download\"\n\tEventTypeSharedLinkRemoveExpiry                       = \"shared_link_remove_expiry\"\n\tEventTypeSharedLinkSettingsAddExpiration              = \"shared_link_settings_add_expiration\"\n\tEventTypeSharedLinkSettingsAddPassword                = \"shared_link_settings_add_password\"\n\tEventTypeSharedLinkSettingsAllowDownloadDisabled      = \"shared_link_settings_allow_download_disabled\"\n\tEventTypeSharedLinkSettingsAllowDownloadEnabled       = \"shared_link_settings_allow_download_enabled\"\n\tEventTypeSharedLinkSettingsChangeAudience             = \"shared_link_settings_change_audience\"\n\tEventTypeSharedLinkSettingsChangeExpiration           = \"shared_link_settings_change_expiration\"\n\tEventTypeSharedLinkSettingsChangePassword             = \"shared_link_settings_change_password\"\n\tEventTypeSharedLinkSettingsRemoveExpiration           = \"shared_link_settings_remove_expiration\"\n\tEventTypeSharedLinkSettingsRemovePassword             = \"shared_link_settings_remove_password\"\n\tEventTypeSharedLinkShare                              = \"shared_link_share\"\n\tEventTypeSharedLinkView                               = \"shared_link_view\"\n\tEventTypeSharedNoteOpened                             = \"shared_note_opened\"\n\tEventTypeShmodelDisableDownloads                      = \"shmodel_disable_downloads\"\n\tEventTypeShmodelEnableDownloads                       = \"shmodel_enable_downloads\"\n\tEventTypeShmodelGroupShare                            = \"shmodel_group_share\"\n\tEventTypeShowcaseAccessGranted                        = \"showcase_access_granted\"\n\tEventTypeShowcaseAddMember                            = \"showcase_add_member\"\n\tEventTypeShowcaseArchived                             = \"showcase_archived\"\n\tEventTypeShowcaseCreated                              = \"showcase_created\"\n\tEventTypeShowcaseDeleteComment                        = \"showcase_delete_comment\"\n\tEventTypeShowcaseEdited                               = \"showcase_edited\"\n\tEventTypeShowcaseEditComment                          = \"showcase_edit_comment\"\n\tEventTypeShowcaseFileAdded                            = \"showcase_file_added\"\n\tEventTypeShowcaseFileDownload                         = \"showcase_file_download\"\n\tEventTypeShowcaseFileRemoved                          = \"showcase_file_removed\"\n\tEventTypeShowcaseFileView                             = \"showcase_file_view\"\n\tEventTypeShowcasePermanentlyDeleted                   = \"showcase_permanently_deleted\"\n\tEventTypeShowcasePostComment                          = \"showcase_post_comment\"\n\tEventTypeShowcaseRemoveMember                         = \"showcase_remove_member\"\n\tEventTypeShowcaseRenamed                              = \"showcase_renamed\"\n\tEventTypeShowcaseRequestAccess                        = \"showcase_request_access\"\n\tEventTypeShowcaseResolveComment                       = \"showcase_resolve_comment\"\n\tEventTypeShowcaseRestored                             = \"showcase_restored\"\n\tEventTypeShowcaseTrashed                              = \"showcase_trashed\"\n\tEventTypeShowcaseTrashedDeprecated                    = \"showcase_trashed_deprecated\"\n\tEventTypeShowcaseUnresolveComment                     = \"showcase_unresolve_comment\"\n\tEventTypeShowcaseUntrashed                            = \"showcase_untrashed\"\n\tEventTypeShowcaseUntrashedDeprecated                  = \"showcase_untrashed_deprecated\"\n\tEventTypeShowcaseView                                 = \"showcase_view\"\n\tEventTypeSsoAddCert                                   = \"sso_add_cert\"\n\tEventTypeSsoAddLoginUrl                               = \"sso_add_login_url\"\n\tEventTypeSsoAddLogoutUrl                              = \"sso_add_logout_url\"\n\tEventTypeSsoChangeCert                                = \"sso_change_cert\"\n\tEventTypeSsoChangeLoginUrl                            = \"sso_change_login_url\"\n\tEventTypeSsoChangeLogoutUrl                           = \"sso_change_logout_url\"\n\tEventTypeSsoChangeSamlIdentityMode                    = \"sso_change_saml_identity_mode\"\n\tEventTypeSsoRemoveCert                                = \"sso_remove_cert\"\n\tEventTypeSsoRemoveLoginUrl                            = \"sso_remove_login_url\"\n\tEventTypeSsoRemoveLogoutUrl                           = \"sso_remove_logout_url\"\n\tEventTypeTeamFolderChangeStatus                       = \"team_folder_change_status\"\n\tEventTypeTeamFolderCreate                             = \"team_folder_create\"\n\tEventTypeTeamFolderDowngrade                          = \"team_folder_downgrade\"\n\tEventTypeTeamFolderPermanentlyDelete                  = \"team_folder_permanently_delete\"\n\tEventTypeTeamFolderRename                             = \"team_folder_rename\"\n\tEventTypeTeamSelectiveSyncSettingsChanged             = \"team_selective_sync_settings_changed\"\n\tEventTypeAccountCaptureChangePolicy                   = \"account_capture_change_policy\"\n\tEventTypeAdminEmailRemindersChanged                   = \"admin_email_reminders_changed\"\n\tEventTypeAllowDownloadDisabled                        = \"allow_download_disabled\"\n\tEventTypeAllowDownloadEnabled                         = \"allow_download_enabled\"\n\tEventTypeAppPermissionsChanged                        = \"app_permissions_changed\"\n\tEventTypeCameraUploadsPolicyChanged                   = \"camera_uploads_policy_changed\"\n\tEventTypeCaptureTranscriptPolicyChanged               = \"capture_transcript_policy_changed\"\n\tEventTypeClassificationChangePolicy                   = \"classification_change_policy\"\n\tEventTypeComputerBackupPolicyChanged                  = \"computer_backup_policy_changed\"\n\tEventTypeContentAdministrationPolicyChanged           = \"content_administration_policy_changed\"\n\tEventTypeDataPlacementRestrictionChangePolicy         = \"data_placement_restriction_change_policy\"\n\tEventTypeDataPlacementRestrictionSatisfyPolicy        = \"data_placement_restriction_satisfy_policy\"\n\tEventTypeDeviceApprovalsAddException                  = \"device_approvals_add_exception\"\n\tEventTypeDeviceApprovalsChangeDesktopPolicy           = \"device_approvals_change_desktop_policy\"\n\tEventTypeDeviceApprovalsChangeMobilePolicy            = \"device_approvals_change_mobile_policy\"\n\tEventTypeDeviceApprovalsChangeOverageAction           = \"device_approvals_change_overage_action\"\n\tEventTypeDeviceApprovalsChangeUnlinkAction            = \"device_approvals_change_unlink_action\"\n\tEventTypeDeviceApprovalsRemoveException               = \"device_approvals_remove_exception\"\n\tEventTypeDirectoryRestrictionsAddMembers              = \"directory_restrictions_add_members\"\n\tEventTypeDirectoryRestrictionsRemoveMembers           = \"directory_restrictions_remove_members\"\n\tEventTypeDropboxPasswordsPolicyChanged                = \"dropbox_passwords_policy_changed\"\n\tEventTypeEmailIngestPolicyChanged                     = \"email_ingest_policy_changed\"\n\tEventTypeEmmAddException                              = \"emm_add_exception\"\n\tEventTypeEmmChangePolicy                              = \"emm_change_policy\"\n\tEventTypeEmmRemoveException                           = \"emm_remove_exception\"\n\tEventTypeExtendedVersionHistoryChangePolicy           = \"extended_version_history_change_policy\"\n\tEventTypeExternalDriveBackupPolicyChanged             = \"external_drive_backup_policy_changed\"\n\tEventTypeFileCommentsChangePolicy                     = \"file_comments_change_policy\"\n\tEventTypeFileLockingPolicyChanged                     = \"file_locking_policy_changed\"\n\tEventTypeFileProviderMigrationPolicyChanged           = \"file_provider_migration_policy_changed\"\n\tEventTypeFileRequestsChangePolicy                     = \"file_requests_change_policy\"\n\tEventTypeFileRequestsEmailsEnabled                    = \"file_requests_emails_enabled\"\n\tEventTypeFileRequestsEmailsRestrictedToTeamOnly       = \"file_requests_emails_restricted_to_team_only\"\n\tEventTypeFileTransfersPolicyChanged                   = \"file_transfers_policy_changed\"\n\tEventTypeGoogleSsoChangePolicy                        = \"google_sso_change_policy\"\n\tEventTypeGroupUserManagementChangePolicy              = \"group_user_management_change_policy\"\n\tEventTypeIntegrationPolicyChanged                     = \"integration_policy_changed\"\n\tEventTypeInviteAcceptanceEmailPolicyChanged           = \"invite_acceptance_email_policy_changed\"\n\tEventTypeMemberRequestsChangePolicy                   = \"member_requests_change_policy\"\n\tEventTypeMemberSendInvitePolicyChanged                = \"member_send_invite_policy_changed\"\n\tEventTypeMemberSpaceLimitsAddException                = \"member_space_limits_add_exception\"\n\tEventTypeMemberSpaceLimitsChangeCapsTypePolicy        = \"member_space_limits_change_caps_type_policy\"\n\tEventTypeMemberSpaceLimitsChangePolicy                = \"member_space_limits_change_policy\"\n\tEventTypeMemberSpaceLimitsRemoveException             = \"member_space_limits_remove_exception\"\n\tEventTypeMemberSuggestionsChangePolicy                = \"member_suggestions_change_policy\"\n\tEventTypeMicrosoftOfficeAddinChangePolicy             = \"microsoft_office_addin_change_policy\"\n\tEventTypeNetworkControlChangePolicy                   = \"network_control_change_policy\"\n\tEventTypePaperChangeDeploymentPolicy                  = \"paper_change_deployment_policy\"\n\tEventTypePaperChangeMemberLinkPolicy                  = \"paper_change_member_link_policy\"\n\tEventTypePaperChangeMemberPolicy                      = \"paper_change_member_policy\"\n\tEventTypePaperChangePolicy                            = \"paper_change_policy\"\n\tEventTypePaperDefaultFolderPolicyChanged              = \"paper_default_folder_policy_changed\"\n\tEventTypePaperDesktopPolicyChanged                    = \"paper_desktop_policy_changed\"\n\tEventTypePaperEnabledUsersGroupAddition               = \"paper_enabled_users_group_addition\"\n\tEventTypePaperEnabledUsersGroupRemoval                = \"paper_enabled_users_group_removal\"\n\tEventTypePasswordStrengthRequirementsChangePolicy     = \"password_strength_requirements_change_policy\"\n\tEventTypePermanentDeleteChangePolicy                  = \"permanent_delete_change_policy\"\n\tEventTypeResellerSupportChangePolicy                  = \"reseller_support_change_policy\"\n\tEventTypeRewindPolicyChanged                          = \"rewind_policy_changed\"\n\tEventTypeSendForSignaturePolicyChanged                = \"send_for_signature_policy_changed\"\n\tEventTypeSharingChangeFolderJoinPolicy                = \"sharing_change_folder_join_policy\"\n\tEventTypeSharingChangeLinkAllowChangeExpirationPolicy = \"sharing_change_link_allow_change_expiration_policy\"\n\tEventTypeSharingChangeLinkDefaultExpirationPolicy     = \"sharing_change_link_default_expiration_policy\"\n\tEventTypeSharingChangeLinkEnforcePasswordPolicy       = \"sharing_change_link_enforce_password_policy\"\n\tEventTypeSharingChangeLinkPolicy                      = \"sharing_change_link_policy\"\n\tEventTypeSharingChangeMemberPolicy                    = \"sharing_change_member_policy\"\n\tEventTypeShowcaseChangeDownloadPolicy                 = \"showcase_change_download_policy\"\n\tEventTypeShowcaseChangeEnabledPolicy                  = \"showcase_change_enabled_policy\"\n\tEventTypeShowcaseChangeExternalSharingPolicy          = \"showcase_change_external_sharing_policy\"\n\tEventTypeSmarterSmartSyncPolicyChanged                = \"smarter_smart_sync_policy_changed\"\n\tEventTypeSmartSyncChangePolicy                        = \"smart_sync_change_policy\"\n\tEventTypeSmartSyncNotOptOut                           = \"smart_sync_not_opt_out\"\n\tEventTypeSmartSyncOptOut                              = \"smart_sync_opt_out\"\n\tEventTypeSsoChangePolicy                              = \"sso_change_policy\"\n\tEventTypeTeamBrandingPolicyChanged                    = \"team_branding_policy_changed\"\n\tEventTypeTeamExtensionsPolicyChanged                  = \"team_extensions_policy_changed\"\n\tEventTypeTeamSelectiveSyncPolicyChanged               = \"team_selective_sync_policy_changed\"\n\tEventTypeTeamSharingWhitelistSubjectsChanged          = \"team_sharing_whitelist_subjects_changed\"\n\tEventTypeTfaAddException                              = \"tfa_add_exception\"\n\tEventTypeTfaChangePolicy                              = \"tfa_change_policy\"\n\tEventTypeTfaRemoveException                           = \"tfa_remove_exception\"\n\tEventTypeTwoAccountChangePolicy                       = \"two_account_change_policy\"\n\tEventTypeViewerInfoPolicyChanged                      = \"viewer_info_policy_changed\"\n\tEventTypeWatermarkingPolicyChanged                    = \"watermarking_policy_changed\"\n\tEventTypeWebSessionsChangeActiveSessionLimit          = \"web_sessions_change_active_session_limit\"\n\tEventTypeWebSessionsChangeFixedLengthPolicy           = \"web_sessions_change_fixed_length_policy\"\n\tEventTypeWebSessionsChangeIdleLengthPolicy            = \"web_sessions_change_idle_length_policy\"\n\tEventTypeDataResidencyMigrationRequestSuccessful      = \"data_residency_migration_request_successful\"\n\tEventTypeDataResidencyMigrationRequestUnsuccessful    = \"data_residency_migration_request_unsuccessful\"\n\tEventTypeTeamMergeFrom                                = \"team_merge_from\"\n\tEventTypeTeamMergeTo                                  = \"team_merge_to\"\n\tEventTypeTeamProfileAddBackground                     = \"team_profile_add_background\"\n\tEventTypeTeamProfileAddLogo                           = \"team_profile_add_logo\"\n\tEventTypeTeamProfileChangeBackground                  = \"team_profile_change_background\"\n\tEventTypeTeamProfileChangeDefaultLanguage             = \"team_profile_change_default_language\"\n\tEventTypeTeamProfileChangeLogo                        = \"team_profile_change_logo\"\n\tEventTypeTeamProfileChangeName                        = \"team_profile_change_name\"\n\tEventTypeTeamProfileRemoveBackground                  = \"team_profile_remove_background\"\n\tEventTypeTeamProfileRemoveLogo                        = \"team_profile_remove_logo\"\n\tEventTypeTfaAddBackupPhone                            = \"tfa_add_backup_phone\"\n\tEventTypeTfaAddSecurityKey                            = \"tfa_add_security_key\"\n\tEventTypeTfaChangeBackupPhone                         = \"tfa_change_backup_phone\"\n\tEventTypeTfaChangeStatus                              = \"tfa_change_status\"\n\tEventTypeTfaRemoveBackupPhone                         = \"tfa_remove_backup_phone\"\n\tEventTypeTfaRemoveSecurityKey                         = \"tfa_remove_security_key\"\n\tEventTypeTfaReset                                     = \"tfa_reset\"\n\tEventTypeChangedEnterpriseAdminRole                   = \"changed_enterprise_admin_role\"\n\tEventTypeChangedEnterpriseConnectedTeamStatus         = \"changed_enterprise_connected_team_status\"\n\tEventTypeEndedEnterpriseAdminSession                  = \"ended_enterprise_admin_session\"\n\tEventTypeEndedEnterpriseAdminSessionDeprecated        = \"ended_enterprise_admin_session_deprecated\"\n\tEventTypeEnterpriseSettingsLocking                    = \"enterprise_settings_locking\"\n\tEventTypeGuestAdminChangeStatus                       = \"guest_admin_change_status\"\n\tEventTypeStartedEnterpriseAdminSession                = \"started_enterprise_admin_session\"\n\tEventTypeTeamMergeRequestAccepted                     = \"team_merge_request_accepted\"\n\tEventTypeTeamMergeRequestAcceptedShownToPrimaryTeam   = \"team_merge_request_accepted_shown_to_primary_team\"\n\tEventTypeTeamMergeRequestAcceptedShownToSecondaryTeam = \"team_merge_request_accepted_shown_to_secondary_team\"\n\tEventTypeTeamMergeRequestAutoCanceled                 = \"team_merge_request_auto_canceled\"\n\tEventTypeTeamMergeRequestCanceled                     = \"team_merge_request_canceled\"\n\tEventTypeTeamMergeRequestCanceledShownToPrimaryTeam   = \"team_merge_request_canceled_shown_to_primary_team\"\n\tEventTypeTeamMergeRequestCanceledShownToSecondaryTeam = \"team_merge_request_canceled_shown_to_secondary_team\"\n\tEventTypeTeamMergeRequestExpired                      = \"team_merge_request_expired\"\n\tEventTypeTeamMergeRequestExpiredShownToPrimaryTeam    = \"team_merge_request_expired_shown_to_primary_team\"\n\tEventTypeTeamMergeRequestExpiredShownToSecondaryTeam  = \"team_merge_request_expired_shown_to_secondary_team\"\n\tEventTypeTeamMergeRequestRejectedShownToPrimaryTeam   = \"team_merge_request_rejected_shown_to_primary_team\"\n\tEventTypeTeamMergeRequestRejectedShownToSecondaryTeam = \"team_merge_request_rejected_shown_to_secondary_team\"\n\tEventTypeTeamMergeRequestReminder                     = \"team_merge_request_reminder\"\n\tEventTypeTeamMergeRequestReminderShownToPrimaryTeam   = \"team_merge_request_reminder_shown_to_primary_team\"\n\tEventTypeTeamMergeRequestReminderShownToSecondaryTeam = \"team_merge_request_reminder_shown_to_secondary_team\"\n\tEventTypeTeamMergeRequestRevoked                      = \"team_merge_request_revoked\"\n\tEventTypeTeamMergeRequestSentShownToPrimaryTeam       = \"team_merge_request_sent_shown_to_primary_team\"\n\tEventTypeTeamMergeRequestSentShownToSecondaryTeam     = \"team_merge_request_sent_shown_to_secondary_team\"\n\tEventTypeOther                                        = \"other\"\n)\n\n// UnmarshalJSON deserializes into a EventType instance\nfunc (u *EventType) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"admin_alerting_alert_state_changed\":\n\t\tif err = json.Unmarshal(body, &u.AdminAlertingAlertStateChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"admin_alerting_changed_alert_config\":\n\t\tif err = json.Unmarshal(body, &u.AdminAlertingChangedAlertConfig); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"admin_alerting_triggered_alert\":\n\t\tif err = json.Unmarshal(body, &u.AdminAlertingTriggeredAlert); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"app_blocked_by_permissions\":\n\t\tif err = json.Unmarshal(body, &u.AppBlockedByPermissions); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"app_link_team\":\n\t\tif err = json.Unmarshal(body, &u.AppLinkTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"app_link_user\":\n\t\tif err = json.Unmarshal(body, &u.AppLinkUser); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"app_unlink_team\":\n\t\tif err = json.Unmarshal(body, &u.AppUnlinkTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"app_unlink_user\":\n\t\tif err = json.Unmarshal(body, &u.AppUnlinkUser); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"integration_connected\":\n\t\tif err = json.Unmarshal(body, &u.IntegrationConnected); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"integration_disconnected\":\n\t\tif err = json.Unmarshal(body, &u.IntegrationDisconnected); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_add_comment\":\n\t\tif err = json.Unmarshal(body, &u.FileAddComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_change_comment_subscription\":\n\t\tif err = json.Unmarshal(body, &u.FileChangeCommentSubscription); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_delete_comment\":\n\t\tif err = json.Unmarshal(body, &u.FileDeleteComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_edit_comment\":\n\t\tif err = json.Unmarshal(body, &u.FileEditComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_like_comment\":\n\t\tif err = json.Unmarshal(body, &u.FileLikeComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_resolve_comment\":\n\t\tif err = json.Unmarshal(body, &u.FileResolveComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_unlike_comment\":\n\t\tif err = json.Unmarshal(body, &u.FileUnlikeComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_unresolve_comment\":\n\t\tif err = json.Unmarshal(body, &u.FileUnresolveComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_add_folders\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyAddFolders); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_add_folder_failed\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyAddFolderFailed); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_content_disposed\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyContentDisposed); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_create\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyCreate); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_delete\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyDelete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_edit_details\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyEditDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_edit_duration\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyEditDuration); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_export_created\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyExportCreated); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_export_removed\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyExportRemoved); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_remove_folders\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyRemoveFolders); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_report_created\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyReportCreated); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"governance_policy_zip_part_downloaded\":\n\t\tif err = json.Unmarshal(body, &u.GovernancePolicyZipPartDownloaded); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_activate_a_hold\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsActivateAHold); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_add_members\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsAddMembers); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_change_hold_details\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsChangeHoldDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_change_hold_name\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsChangeHoldName); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_export_a_hold\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsExportAHold); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_export_cancelled\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsExportCancelled); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_export_downloaded\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsExportDownloaded); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_export_removed\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsExportRemoved); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_release_a_hold\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsReleaseAHold); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_remove_members\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsRemoveMembers); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legal_holds_report_a_hold\":\n\t\tif err = json.Unmarshal(body, &u.LegalHoldsReportAHold); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_change_ip_desktop\":\n\t\tif err = json.Unmarshal(body, &u.DeviceChangeIpDesktop); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_change_ip_mobile\":\n\t\tif err = json.Unmarshal(body, &u.DeviceChangeIpMobile); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_change_ip_web\":\n\t\tif err = json.Unmarshal(body, &u.DeviceChangeIpWeb); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_delete_on_unlink_fail\":\n\t\tif err = json.Unmarshal(body, &u.DeviceDeleteOnUnlinkFail); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_delete_on_unlink_success\":\n\t\tif err = json.Unmarshal(body, &u.DeviceDeleteOnUnlinkSuccess); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_link_fail\":\n\t\tif err = json.Unmarshal(body, &u.DeviceLinkFail); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_link_success\":\n\t\tif err = json.Unmarshal(body, &u.DeviceLinkSuccess); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_management_disabled\":\n\t\tif err = json.Unmarshal(body, &u.DeviceManagementDisabled); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_management_enabled\":\n\t\tif err = json.Unmarshal(body, &u.DeviceManagementEnabled); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_sync_backup_status_changed\":\n\t\tif err = json.Unmarshal(body, &u.DeviceSyncBackupStatusChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_unlink\":\n\t\tif err = json.Unmarshal(body, &u.DeviceUnlink); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"dropbox_passwords_exported\":\n\t\tif err = json.Unmarshal(body, &u.DropboxPasswordsExported); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"dropbox_passwords_new_device_enrolled\":\n\t\tif err = json.Unmarshal(body, &u.DropboxPasswordsNewDeviceEnrolled); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"emm_refresh_auth_token\":\n\t\tif err = json.Unmarshal(body, &u.EmmRefreshAuthToken); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"external_drive_backup_eligibility_status_checked\":\n\t\tif err = json.Unmarshal(body, &u.ExternalDriveBackupEligibilityStatusChecked); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"external_drive_backup_status_changed\":\n\t\tif err = json.Unmarshal(body, &u.ExternalDriveBackupStatusChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"account_capture_change_availability\":\n\t\tif err = json.Unmarshal(body, &u.AccountCaptureChangeAvailability); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"account_capture_migrate_account\":\n\t\tif err = json.Unmarshal(body, &u.AccountCaptureMigrateAccount); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"account_capture_notification_emails_sent\":\n\t\tif err = json.Unmarshal(body, &u.AccountCaptureNotificationEmailsSent); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"account_capture_relinquish_account\":\n\t\tif err = json.Unmarshal(body, &u.AccountCaptureRelinquishAccount); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"disabled_domain_invites\":\n\t\tif err = json.Unmarshal(body, &u.DisabledDomainInvites); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_invites_approve_request_to_join_team\":\n\t\tif err = json.Unmarshal(body, &u.DomainInvitesApproveRequestToJoinTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_invites_decline_request_to_join_team\":\n\t\tif err = json.Unmarshal(body, &u.DomainInvitesDeclineRequestToJoinTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_invites_email_existing_users\":\n\t\tif err = json.Unmarshal(body, &u.DomainInvitesEmailExistingUsers); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_invites_request_to_join_team\":\n\t\tif err = json.Unmarshal(body, &u.DomainInvitesRequestToJoinTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_invites_set_invite_new_user_pref_to_no\":\n\t\tif err = json.Unmarshal(body, &u.DomainInvitesSetInviteNewUserPrefToNo); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_invites_set_invite_new_user_pref_to_yes\":\n\t\tif err = json.Unmarshal(body, &u.DomainInvitesSetInviteNewUserPrefToYes); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_verification_add_domain_fail\":\n\t\tif err = json.Unmarshal(body, &u.DomainVerificationAddDomainFail); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_verification_add_domain_success\":\n\t\tif err = json.Unmarshal(body, &u.DomainVerificationAddDomainSuccess); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"domain_verification_remove_domain\":\n\t\tif err = json.Unmarshal(body, &u.DomainVerificationRemoveDomain); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"enabled_domain_invites\":\n\t\tif err = json.Unmarshal(body, &u.EnabledDomainInvites); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"apply_naming_convention\":\n\t\tif err = json.Unmarshal(body, &u.ApplyNamingConvention); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"create_folder\":\n\t\tif err = json.Unmarshal(body, &u.CreateFolder); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_add\":\n\t\tif err = json.Unmarshal(body, &u.FileAdd); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_copy\":\n\t\tif err = json.Unmarshal(body, &u.FileCopy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_delete\":\n\t\tif err = json.Unmarshal(body, &u.FileDelete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_download\":\n\t\tif err = json.Unmarshal(body, &u.FileDownload); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_edit\":\n\t\tif err = json.Unmarshal(body, &u.FileEdit); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_get_copy_reference\":\n\t\tif err = json.Unmarshal(body, &u.FileGetCopyReference); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_locking_lock_status_changed\":\n\t\tif err = json.Unmarshal(body, &u.FileLockingLockStatusChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_move\":\n\t\tif err = json.Unmarshal(body, &u.FileMove); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_permanently_delete\":\n\t\tif err = json.Unmarshal(body, &u.FilePermanentlyDelete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_preview\":\n\t\tif err = json.Unmarshal(body, &u.FilePreview); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_rename\":\n\t\tif err = json.Unmarshal(body, &u.FileRename); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_restore\":\n\t\tif err = json.Unmarshal(body, &u.FileRestore); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_revert\":\n\t\tif err = json.Unmarshal(body, &u.FileRevert); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_rollback_changes\":\n\t\tif err = json.Unmarshal(body, &u.FileRollbackChanges); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_save_copy_reference\":\n\t\tif err = json.Unmarshal(body, &u.FileSaveCopyReference); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"folder_overview_description_changed\":\n\t\tif err = json.Unmarshal(body, &u.FolderOverviewDescriptionChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"folder_overview_item_pinned\":\n\t\tif err = json.Unmarshal(body, &u.FolderOverviewItemPinned); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"folder_overview_item_unpinned\":\n\t\tif err = json.Unmarshal(body, &u.FolderOverviewItemUnpinned); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"object_label_added\":\n\t\tif err = json.Unmarshal(body, &u.ObjectLabelAdded); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"object_label_removed\":\n\t\tif err = json.Unmarshal(body, &u.ObjectLabelRemoved); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"object_label_updated_value\":\n\t\tif err = json.Unmarshal(body, &u.ObjectLabelUpdatedValue); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"organize_folder_with_tidy\":\n\t\tif err = json.Unmarshal(body, &u.OrganizeFolderWithTidy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"rewind_folder\":\n\t\tif err = json.Unmarshal(body, &u.RewindFolder); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"undo_naming_convention\":\n\t\tif err = json.Unmarshal(body, &u.UndoNamingConvention); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"undo_organize_folder_with_tidy\":\n\t\tif err = json.Unmarshal(body, &u.UndoOrganizeFolderWithTidy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"user_tags_added\":\n\t\tif err = json.Unmarshal(body, &u.UserTagsAdded); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"user_tags_removed\":\n\t\tif err = json.Unmarshal(body, &u.UserTagsRemoved); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"email_ingest_receive_file\":\n\t\tif err = json.Unmarshal(body, &u.EmailIngestReceiveFile); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_request_change\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestChange); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_request_close\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestClose); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_request_create\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestCreate); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_request_delete\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestDelete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_request_receive_file\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestReceiveFile); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_add_external_id\":\n\t\tif err = json.Unmarshal(body, &u.GroupAddExternalId); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_add_member\":\n\t\tif err = json.Unmarshal(body, &u.GroupAddMember); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_change_external_id\":\n\t\tif err = json.Unmarshal(body, &u.GroupChangeExternalId); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_change_management_type\":\n\t\tif err = json.Unmarshal(body, &u.GroupChangeManagementType); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_change_member_role\":\n\t\tif err = json.Unmarshal(body, &u.GroupChangeMemberRole); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_create\":\n\t\tif err = json.Unmarshal(body, &u.GroupCreate); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_delete\":\n\t\tif err = json.Unmarshal(body, &u.GroupDelete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_description_updated\":\n\t\tif err = json.Unmarshal(body, &u.GroupDescriptionUpdated); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_join_policy_updated\":\n\t\tif err = json.Unmarshal(body, &u.GroupJoinPolicyUpdated); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_moved\":\n\t\tif err = json.Unmarshal(body, &u.GroupMoved); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_remove_external_id\":\n\t\tif err = json.Unmarshal(body, &u.GroupRemoveExternalId); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_remove_member\":\n\t\tif err = json.Unmarshal(body, &u.GroupRemoveMember); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_rename\":\n\t\tif err = json.Unmarshal(body, &u.GroupRename); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"account_lock_or_unlocked\":\n\t\tif err = json.Unmarshal(body, &u.AccountLockOrUnlocked); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"emm_error\":\n\t\tif err = json.Unmarshal(body, &u.EmmError); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"guest_admin_signed_in_via_trusted_teams\":\n\t\tif err = json.Unmarshal(body, &u.GuestAdminSignedInViaTrustedTeams); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"guest_admin_signed_out_via_trusted_teams\":\n\t\tif err = json.Unmarshal(body, &u.GuestAdminSignedOutViaTrustedTeams); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"login_fail\":\n\t\tif err = json.Unmarshal(body, &u.LoginFail); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"login_success\":\n\t\tif err = json.Unmarshal(body, &u.LoginSuccess); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"logout\":\n\t\tif err = json.Unmarshal(body, &u.Logout); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"reseller_support_session_end\":\n\t\tif err = json.Unmarshal(body, &u.ResellerSupportSessionEnd); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"reseller_support_session_start\":\n\t\tif err = json.Unmarshal(body, &u.ResellerSupportSessionStart); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sign_in_as_session_end\":\n\t\tif err = json.Unmarshal(body, &u.SignInAsSessionEnd); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sign_in_as_session_start\":\n\t\tif err = json.Unmarshal(body, &u.SignInAsSessionStart); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_error\":\n\t\tif err = json.Unmarshal(body, &u.SsoError); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"create_team_invite_link\":\n\t\tif err = json.Unmarshal(body, &u.CreateTeamInviteLink); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"delete_team_invite_link\":\n\t\tif err = json.Unmarshal(body, &u.DeleteTeamInviteLink); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_add_external_id\":\n\t\tif err = json.Unmarshal(body, &u.MemberAddExternalId); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_add_name\":\n\t\tif err = json.Unmarshal(body, &u.MemberAddName); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_change_admin_role\":\n\t\tif err = json.Unmarshal(body, &u.MemberChangeAdminRole); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_change_email\":\n\t\tif err = json.Unmarshal(body, &u.MemberChangeEmail); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_change_external_id\":\n\t\tif err = json.Unmarshal(body, &u.MemberChangeExternalId); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_change_membership_type\":\n\t\tif err = json.Unmarshal(body, &u.MemberChangeMembershipType); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_change_name\":\n\t\tif err = json.Unmarshal(body, &u.MemberChangeName); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_change_reseller_role\":\n\t\tif err = json.Unmarshal(body, &u.MemberChangeResellerRole); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_change_status\":\n\t\tif err = json.Unmarshal(body, &u.MemberChangeStatus); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_delete_manual_contacts\":\n\t\tif err = json.Unmarshal(body, &u.MemberDeleteManualContacts); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_delete_profile_photo\":\n\t\tif err = json.Unmarshal(body, &u.MemberDeleteProfilePhoto); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_permanently_delete_account_contents\":\n\t\tif err = json.Unmarshal(body, &u.MemberPermanentlyDeleteAccountContents); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_remove_external_id\":\n\t\tif err = json.Unmarshal(body, &u.MemberRemoveExternalId); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_set_profile_photo\":\n\t\tif err = json.Unmarshal(body, &u.MemberSetProfilePhoto); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_add_custom_quota\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsAddCustomQuota); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_change_custom_quota\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsChangeCustomQuota); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_change_status\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsChangeStatus); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_remove_custom_quota\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsRemoveCustomQuota); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_suggest\":\n\t\tif err = json.Unmarshal(body, &u.MemberSuggest); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_transfer_account_contents\":\n\t\tif err = json.Unmarshal(body, &u.MemberTransferAccountContents); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"pending_secondary_email_added\":\n\t\tif err = json.Unmarshal(body, &u.PendingSecondaryEmailAdded); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"secondary_email_deleted\":\n\t\tif err = json.Unmarshal(body, &u.SecondaryEmailDeleted); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"secondary_email_verified\":\n\t\tif err = json.Unmarshal(body, &u.SecondaryEmailVerified); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"secondary_mails_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.SecondaryMailsPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_add_page\":\n\t\tif err = json.Unmarshal(body, &u.BinderAddPage); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_add_section\":\n\t\tif err = json.Unmarshal(body, &u.BinderAddSection); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_remove_page\":\n\t\tif err = json.Unmarshal(body, &u.BinderRemovePage); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_remove_section\":\n\t\tif err = json.Unmarshal(body, &u.BinderRemoveSection); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_rename_page\":\n\t\tif err = json.Unmarshal(body, &u.BinderRenamePage); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_rename_section\":\n\t\tif err = json.Unmarshal(body, &u.BinderRenameSection); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_reorder_page\":\n\t\tif err = json.Unmarshal(body, &u.BinderReorderPage); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"binder_reorder_section\":\n\t\tif err = json.Unmarshal(body, &u.BinderReorderSection); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_add_member\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentAddMember); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_add_to_folder\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentAddToFolder); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_archive\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentArchive); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_create\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentCreate); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_permanently_delete\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentPermanentlyDelete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_remove_from_folder\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentRemoveFromFolder); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_remove_member\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentRemoveMember); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_rename\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentRename); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_content_restore\":\n\t\tif err = json.Unmarshal(body, &u.PaperContentRestore); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_add_comment\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocAddComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_change_member_role\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocChangeMemberRole); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_change_sharing_policy\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocChangeSharingPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_change_subscription\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocChangeSubscription); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_deleted\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocDeleted); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_delete_comment\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocDeleteComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_download\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocDownload); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_edit\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocEdit); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_edit_comment\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocEditComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_followed\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocFollowed); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_mention\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocMention); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_ownership_changed\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocOwnershipChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_request_access\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocRequestAccess); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_resolve_comment\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocResolveComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_revert\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocRevert); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_slack_share\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocSlackShare); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_team_invite\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocTeamInvite); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_trashed\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocTrashed); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_unresolve_comment\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocUnresolveComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_untrashed\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocUntrashed); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_doc_view\":\n\t\tif err = json.Unmarshal(body, &u.PaperDocView); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_external_view_allow\":\n\t\tif err = json.Unmarshal(body, &u.PaperExternalViewAllow); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_external_view_default_team\":\n\t\tif err = json.Unmarshal(body, &u.PaperExternalViewDefaultTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_external_view_forbid\":\n\t\tif err = json.Unmarshal(body, &u.PaperExternalViewForbid); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_folder_change_subscription\":\n\t\tif err = json.Unmarshal(body, &u.PaperFolderChangeSubscription); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_folder_deleted\":\n\t\tif err = json.Unmarshal(body, &u.PaperFolderDeleted); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_folder_followed\":\n\t\tif err = json.Unmarshal(body, &u.PaperFolderFollowed); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_folder_team_invite\":\n\t\tif err = json.Unmarshal(body, &u.PaperFolderTeamInvite); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_published_link_change_permission\":\n\t\tif err = json.Unmarshal(body, &u.PaperPublishedLinkChangePermission); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_published_link_create\":\n\t\tif err = json.Unmarshal(body, &u.PaperPublishedLinkCreate); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_published_link_disabled\":\n\t\tif err = json.Unmarshal(body, &u.PaperPublishedLinkDisabled); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_published_link_view\":\n\t\tif err = json.Unmarshal(body, &u.PaperPublishedLinkView); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"password_change\":\n\t\tif err = json.Unmarshal(body, &u.PasswordChange); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"password_reset\":\n\t\tif err = json.Unmarshal(body, &u.PasswordReset); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"password_reset_all\":\n\t\tif err = json.Unmarshal(body, &u.PasswordResetAll); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"classification_create_report\":\n\t\tif err = json.Unmarshal(body, &u.ClassificationCreateReport); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"classification_create_report_fail\":\n\t\tif err = json.Unmarshal(body, &u.ClassificationCreateReportFail); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"emm_create_exceptions_report\":\n\t\tif err = json.Unmarshal(body, &u.EmmCreateExceptionsReport); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"emm_create_usage_report\":\n\t\tif err = json.Unmarshal(body, &u.EmmCreateUsageReport); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"export_members_report\":\n\t\tif err = json.Unmarshal(body, &u.ExportMembersReport); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"export_members_report_fail\":\n\t\tif err = json.Unmarshal(body, &u.ExportMembersReportFail); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"external_sharing_create_report\":\n\t\tif err = json.Unmarshal(body, &u.ExternalSharingCreateReport); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"external_sharing_report_failed\":\n\t\tif err = json.Unmarshal(body, &u.ExternalSharingReportFailed); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"no_expiration_link_gen_create_report\":\n\t\tif err = json.Unmarshal(body, &u.NoExpirationLinkGenCreateReport); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"no_expiration_link_gen_report_failed\":\n\t\tif err = json.Unmarshal(body, &u.NoExpirationLinkGenReportFailed); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"no_password_link_gen_create_report\":\n\t\tif err = json.Unmarshal(body, &u.NoPasswordLinkGenCreateReport); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"no_password_link_gen_report_failed\":\n\t\tif err = json.Unmarshal(body, &u.NoPasswordLinkGenReportFailed); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"no_password_link_view_create_report\":\n\t\tif err = json.Unmarshal(body, &u.NoPasswordLinkViewCreateReport); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"no_password_link_view_report_failed\":\n\t\tif err = json.Unmarshal(body, &u.NoPasswordLinkViewReportFailed); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"outdated_link_view_create_report\":\n\t\tif err = json.Unmarshal(body, &u.OutdatedLinkViewCreateReport); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"outdated_link_view_report_failed\":\n\t\tif err = json.Unmarshal(body, &u.OutdatedLinkViewReportFailed); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_admin_export_start\":\n\t\tif err = json.Unmarshal(body, &u.PaperAdminExportStart); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"smart_sync_create_admin_privilege_report\":\n\t\tif err = json.Unmarshal(body, &u.SmartSyncCreateAdminPrivilegeReport); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_activity_create_report\":\n\t\tif err = json.Unmarshal(body, &u.TeamActivityCreateReport); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_activity_create_report_fail\":\n\t\tif err = json.Unmarshal(body, &u.TeamActivityCreateReportFail); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"collection_share\":\n\t\tif err = json.Unmarshal(body, &u.CollectionShare); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_transfers_file_add\":\n\t\tif err = json.Unmarshal(body, &u.FileTransfersFileAdd); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_transfers_transfer_delete\":\n\t\tif err = json.Unmarshal(body, &u.FileTransfersTransferDelete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_transfers_transfer_download\":\n\t\tif err = json.Unmarshal(body, &u.FileTransfersTransferDownload); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_transfers_transfer_send\":\n\t\tif err = json.Unmarshal(body, &u.FileTransfersTransferSend); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_transfers_transfer_view\":\n\t\tif err = json.Unmarshal(body, &u.FileTransfersTransferView); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"note_acl_invite_only\":\n\t\tif err = json.Unmarshal(body, &u.NoteAclInviteOnly); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"note_acl_link\":\n\t\tif err = json.Unmarshal(body, &u.NoteAclLink); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"note_acl_team_link\":\n\t\tif err = json.Unmarshal(body, &u.NoteAclTeamLink); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"note_shared\":\n\t\tif err = json.Unmarshal(body, &u.NoteShared); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"note_share_receive\":\n\t\tif err = json.Unmarshal(body, &u.NoteShareReceive); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"open_note_shared\":\n\t\tif err = json.Unmarshal(body, &u.OpenNoteShared); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_add_group\":\n\t\tif err = json.Unmarshal(body, &u.SfAddGroup); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_allow_non_members_to_view_shared_links\":\n\t\tif err = json.Unmarshal(body, &u.SfAllowNonMembersToViewSharedLinks); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_external_invite_warn\":\n\t\tif err = json.Unmarshal(body, &u.SfExternalInviteWarn); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_fb_invite\":\n\t\tif err = json.Unmarshal(body, &u.SfFbInvite); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_fb_invite_change_role\":\n\t\tif err = json.Unmarshal(body, &u.SfFbInviteChangeRole); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_fb_uninvite\":\n\t\tif err = json.Unmarshal(body, &u.SfFbUninvite); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_invite_group\":\n\t\tif err = json.Unmarshal(body, &u.SfInviteGroup); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_team_grant_access\":\n\t\tif err = json.Unmarshal(body, &u.SfTeamGrantAccess); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_team_invite\":\n\t\tif err = json.Unmarshal(body, &u.SfTeamInvite); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_team_invite_change_role\":\n\t\tif err = json.Unmarshal(body, &u.SfTeamInviteChangeRole); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_team_join\":\n\t\tif err = json.Unmarshal(body, &u.SfTeamJoin); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_team_join_from_oob_link\":\n\t\tif err = json.Unmarshal(body, &u.SfTeamJoinFromOobLink); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sf_team_uninvite\":\n\t\tif err = json.Unmarshal(body, &u.SfTeamUninvite); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_add_invitees\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentAddInvitees); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_add_link_expiry\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentAddLinkExpiry); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_add_link_password\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentAddLinkPassword); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_add_member\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentAddMember); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_change_downloads_policy\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentChangeDownloadsPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_change_invitee_role\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentChangeInviteeRole); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_change_link_audience\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentChangeLinkAudience); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_change_link_expiry\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentChangeLinkExpiry); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_change_link_password\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentChangeLinkPassword); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_change_member_role\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentChangeMemberRole); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_change_viewer_info_policy\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentChangeViewerInfoPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_claim_invitation\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentClaimInvitation); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_copy\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentCopy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_download\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentDownload); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_relinquish_membership\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRelinquishMembership); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_remove_invitees\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRemoveInvitees); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_remove_link_expiry\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRemoveLinkExpiry); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_remove_link_password\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRemoveLinkPassword); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_remove_member\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRemoveMember); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_request_access\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRequestAccess); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_restore_invitees\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRestoreInvitees); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_restore_member\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentRestoreMember); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_unshare\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentUnshare); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_content_view\":\n\t\tif err = json.Unmarshal(body, &u.SharedContentView); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_change_link_policy\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderChangeLinkPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_change_members_inheritance_policy\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderChangeMembersInheritancePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_change_members_management_policy\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderChangeMembersManagementPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_change_members_policy\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderChangeMembersPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_create\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderCreate); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_decline_invitation\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderDeclineInvitation); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_mount\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderMount); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_nest\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderNest); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_transfer_ownership\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderTransferOwnership); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_folder_unmount\":\n\t\tif err = json.Unmarshal(body, &u.SharedFolderUnmount); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_add_expiry\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkAddExpiry); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_change_expiry\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkChangeExpiry); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_change_visibility\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkChangeVisibility); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_copy\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkCopy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_create\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkCreate); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_disable\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkDisable); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_download\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkDownload); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_remove_expiry\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkRemoveExpiry); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_add_expiration\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsAddExpiration); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_add_password\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsAddPassword); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_allow_download_disabled\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsAllowDownloadDisabled); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_allow_download_enabled\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsAllowDownloadEnabled); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_change_audience\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsChangeAudience); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_change_expiration\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsChangeExpiration); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_change_password\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsChangePassword); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_remove_expiration\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsRemoveExpiration); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_settings_remove_password\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkSettingsRemovePassword); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_share\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkShare); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_link_view\":\n\t\tif err = json.Unmarshal(body, &u.SharedLinkView); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shared_note_opened\":\n\t\tif err = json.Unmarshal(body, &u.SharedNoteOpened); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shmodel_disable_downloads\":\n\t\tif err = json.Unmarshal(body, &u.ShmodelDisableDownloads); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shmodel_enable_downloads\":\n\t\tif err = json.Unmarshal(body, &u.ShmodelEnableDownloads); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"shmodel_group_share\":\n\t\tif err = json.Unmarshal(body, &u.ShmodelGroupShare); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_access_granted\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseAccessGranted); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_add_member\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseAddMember); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_archived\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseArchived); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_created\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseCreated); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_delete_comment\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseDeleteComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_edited\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseEdited); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_edit_comment\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseEditComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_file_added\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseFileAdded); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_file_download\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseFileDownload); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_file_removed\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseFileRemoved); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_file_view\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseFileView); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_permanently_deleted\":\n\t\tif err = json.Unmarshal(body, &u.ShowcasePermanentlyDeleted); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_post_comment\":\n\t\tif err = json.Unmarshal(body, &u.ShowcasePostComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_remove_member\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseRemoveMember); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_renamed\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseRenamed); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_request_access\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseRequestAccess); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_resolve_comment\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseResolveComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_restored\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseRestored); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_trashed\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseTrashed); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_trashed_deprecated\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseTrashedDeprecated); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_unresolve_comment\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseUnresolveComment); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_untrashed\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseUntrashed); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_untrashed_deprecated\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseUntrashedDeprecated); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_view\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseView); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_add_cert\":\n\t\tif err = json.Unmarshal(body, &u.SsoAddCert); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_add_login_url\":\n\t\tif err = json.Unmarshal(body, &u.SsoAddLoginUrl); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_add_logout_url\":\n\t\tif err = json.Unmarshal(body, &u.SsoAddLogoutUrl); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_change_cert\":\n\t\tif err = json.Unmarshal(body, &u.SsoChangeCert); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_change_login_url\":\n\t\tif err = json.Unmarshal(body, &u.SsoChangeLoginUrl); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_change_logout_url\":\n\t\tif err = json.Unmarshal(body, &u.SsoChangeLogoutUrl); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_change_saml_identity_mode\":\n\t\tif err = json.Unmarshal(body, &u.SsoChangeSamlIdentityMode); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_remove_cert\":\n\t\tif err = json.Unmarshal(body, &u.SsoRemoveCert); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_remove_login_url\":\n\t\tif err = json.Unmarshal(body, &u.SsoRemoveLoginUrl); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_remove_logout_url\":\n\t\tif err = json.Unmarshal(body, &u.SsoRemoveLogoutUrl); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_folder_change_status\":\n\t\tif err = json.Unmarshal(body, &u.TeamFolderChangeStatus); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_folder_create\":\n\t\tif err = json.Unmarshal(body, &u.TeamFolderCreate); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_folder_downgrade\":\n\t\tif err = json.Unmarshal(body, &u.TeamFolderDowngrade); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_folder_permanently_delete\":\n\t\tif err = json.Unmarshal(body, &u.TeamFolderPermanentlyDelete); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_folder_rename\":\n\t\tif err = json.Unmarshal(body, &u.TeamFolderRename); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_selective_sync_settings_changed\":\n\t\tif err = json.Unmarshal(body, &u.TeamSelectiveSyncSettingsChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"account_capture_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.AccountCaptureChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"admin_email_reminders_changed\":\n\t\tif err = json.Unmarshal(body, &u.AdminEmailRemindersChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"allow_download_disabled\":\n\t\tif err = json.Unmarshal(body, &u.AllowDownloadDisabled); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"allow_download_enabled\":\n\t\tif err = json.Unmarshal(body, &u.AllowDownloadEnabled); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"app_permissions_changed\":\n\t\tif err = json.Unmarshal(body, &u.AppPermissionsChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"camera_uploads_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.CameraUploadsPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"capture_transcript_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.CaptureTranscriptPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"classification_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.ClassificationChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"computer_backup_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.ComputerBackupPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"content_administration_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.ContentAdministrationPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"data_placement_restriction_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.DataPlacementRestrictionChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"data_placement_restriction_satisfy_policy\":\n\t\tif err = json.Unmarshal(body, &u.DataPlacementRestrictionSatisfyPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_approvals_add_exception\":\n\t\tif err = json.Unmarshal(body, &u.DeviceApprovalsAddException); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_approvals_change_desktop_policy\":\n\t\tif err = json.Unmarshal(body, &u.DeviceApprovalsChangeDesktopPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_approvals_change_mobile_policy\":\n\t\tif err = json.Unmarshal(body, &u.DeviceApprovalsChangeMobilePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_approvals_change_overage_action\":\n\t\tif err = json.Unmarshal(body, &u.DeviceApprovalsChangeOverageAction); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_approvals_change_unlink_action\":\n\t\tif err = json.Unmarshal(body, &u.DeviceApprovalsChangeUnlinkAction); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"device_approvals_remove_exception\":\n\t\tif err = json.Unmarshal(body, &u.DeviceApprovalsRemoveException); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"directory_restrictions_add_members\":\n\t\tif err = json.Unmarshal(body, &u.DirectoryRestrictionsAddMembers); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"directory_restrictions_remove_members\":\n\t\tif err = json.Unmarshal(body, &u.DirectoryRestrictionsRemoveMembers); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"dropbox_passwords_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.DropboxPasswordsPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"email_ingest_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.EmailIngestPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"emm_add_exception\":\n\t\tif err = json.Unmarshal(body, &u.EmmAddException); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"emm_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.EmmChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"emm_remove_exception\":\n\t\tif err = json.Unmarshal(body, &u.EmmRemoveException); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"extended_version_history_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.ExtendedVersionHistoryChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"external_drive_backup_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.ExternalDriveBackupPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_comments_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.FileCommentsChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_locking_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.FileLockingPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_provider_migration_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.FileProviderMigrationPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_requests_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestsChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_requests_emails_enabled\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestsEmailsEnabled); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_requests_emails_restricted_to_team_only\":\n\t\tif err = json.Unmarshal(body, &u.FileRequestsEmailsRestrictedToTeamOnly); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"file_transfers_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.FileTransfersPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"google_sso_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.GoogleSsoChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"group_user_management_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.GroupUserManagementChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"integration_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.IntegrationPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"invite_acceptance_email_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.InviteAcceptanceEmailPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_requests_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.MemberRequestsChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_send_invite_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.MemberSendInvitePolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_add_exception\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsAddException); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_change_caps_type_policy\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsChangeCapsTypePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_space_limits_remove_exception\":\n\t\tif err = json.Unmarshal(body, &u.MemberSpaceLimitsRemoveException); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"member_suggestions_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.MemberSuggestionsChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"microsoft_office_addin_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.MicrosoftOfficeAddinChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"network_control_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.NetworkControlChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_change_deployment_policy\":\n\t\tif err = json.Unmarshal(body, &u.PaperChangeDeploymentPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_change_member_link_policy\":\n\t\tif err = json.Unmarshal(body, &u.PaperChangeMemberLinkPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_change_member_policy\":\n\t\tif err = json.Unmarshal(body, &u.PaperChangeMemberPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.PaperChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_default_folder_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.PaperDefaultFolderPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_desktop_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.PaperDesktopPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_enabled_users_group_addition\":\n\t\tif err = json.Unmarshal(body, &u.PaperEnabledUsersGroupAddition); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"paper_enabled_users_group_removal\":\n\t\tif err = json.Unmarshal(body, &u.PaperEnabledUsersGroupRemoval); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"password_strength_requirements_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.PasswordStrengthRequirementsChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"permanent_delete_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.PermanentDeleteChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"reseller_support_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.ResellerSupportChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"rewind_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.RewindPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"send_for_signature_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.SendForSignaturePolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sharing_change_folder_join_policy\":\n\t\tif err = json.Unmarshal(body, &u.SharingChangeFolderJoinPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sharing_change_link_allow_change_expiration_policy\":\n\t\tif err = json.Unmarshal(body, &u.SharingChangeLinkAllowChangeExpirationPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sharing_change_link_default_expiration_policy\":\n\t\tif err = json.Unmarshal(body, &u.SharingChangeLinkDefaultExpirationPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sharing_change_link_enforce_password_policy\":\n\t\tif err = json.Unmarshal(body, &u.SharingChangeLinkEnforcePasswordPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sharing_change_link_policy\":\n\t\tif err = json.Unmarshal(body, &u.SharingChangeLinkPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sharing_change_member_policy\":\n\t\tif err = json.Unmarshal(body, &u.SharingChangeMemberPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_change_download_policy\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseChangeDownloadPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_change_enabled_policy\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseChangeEnabledPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"showcase_change_external_sharing_policy\":\n\t\tif err = json.Unmarshal(body, &u.ShowcaseChangeExternalSharingPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"smarter_smart_sync_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.SmarterSmartSyncPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"smart_sync_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.SmartSyncChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"smart_sync_not_opt_out\":\n\t\tif err = json.Unmarshal(body, &u.SmartSyncNotOptOut); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"smart_sync_opt_out\":\n\t\tif err = json.Unmarshal(body, &u.SmartSyncOptOut); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"sso_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.SsoChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_branding_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.TeamBrandingPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_extensions_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.TeamExtensionsPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_selective_sync_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.TeamSelectiveSyncPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_sharing_whitelist_subjects_changed\":\n\t\tif err = json.Unmarshal(body, &u.TeamSharingWhitelistSubjectsChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_add_exception\":\n\t\tif err = json.Unmarshal(body, &u.TfaAddException); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.TfaChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_remove_exception\":\n\t\tif err = json.Unmarshal(body, &u.TfaRemoveException); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"two_account_change_policy\":\n\t\tif err = json.Unmarshal(body, &u.TwoAccountChangePolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"viewer_info_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.ViewerInfoPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"watermarking_policy_changed\":\n\t\tif err = json.Unmarshal(body, &u.WatermarkingPolicyChanged); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"web_sessions_change_active_session_limit\":\n\t\tif err = json.Unmarshal(body, &u.WebSessionsChangeActiveSessionLimit); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"web_sessions_change_fixed_length_policy\":\n\t\tif err = json.Unmarshal(body, &u.WebSessionsChangeFixedLengthPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"web_sessions_change_idle_length_policy\":\n\t\tif err = json.Unmarshal(body, &u.WebSessionsChangeIdleLengthPolicy); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"data_residency_migration_request_successful\":\n\t\tif err = json.Unmarshal(body, &u.DataResidencyMigrationRequestSuccessful); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"data_residency_migration_request_unsuccessful\":\n\t\tif err = json.Unmarshal(body, &u.DataResidencyMigrationRequestUnsuccessful); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_from\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeFrom); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_to\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeTo); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_add_background\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileAddBackground); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_add_logo\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileAddLogo); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_change_background\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileChangeBackground); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_change_default_language\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileChangeDefaultLanguage); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_change_logo\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileChangeLogo); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_change_name\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileChangeName); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_remove_background\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileRemoveBackground); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_profile_remove_logo\":\n\t\tif err = json.Unmarshal(body, &u.TeamProfileRemoveLogo); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_add_backup_phone\":\n\t\tif err = json.Unmarshal(body, &u.TfaAddBackupPhone); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_add_security_key\":\n\t\tif err = json.Unmarshal(body, &u.TfaAddSecurityKey); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_change_backup_phone\":\n\t\tif err = json.Unmarshal(body, &u.TfaChangeBackupPhone); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_change_status\":\n\t\tif err = json.Unmarshal(body, &u.TfaChangeStatus); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_remove_backup_phone\":\n\t\tif err = json.Unmarshal(body, &u.TfaRemoveBackupPhone); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_remove_security_key\":\n\t\tif err = json.Unmarshal(body, &u.TfaRemoveSecurityKey); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"tfa_reset\":\n\t\tif err = json.Unmarshal(body, &u.TfaReset); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"changed_enterprise_admin_role\":\n\t\tif err = json.Unmarshal(body, &u.ChangedEnterpriseAdminRole); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"changed_enterprise_connected_team_status\":\n\t\tif err = json.Unmarshal(body, &u.ChangedEnterpriseConnectedTeamStatus); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"ended_enterprise_admin_session\":\n\t\tif err = json.Unmarshal(body, &u.EndedEnterpriseAdminSession); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"ended_enterprise_admin_session_deprecated\":\n\t\tif err = json.Unmarshal(body, &u.EndedEnterpriseAdminSessionDeprecated); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"enterprise_settings_locking\":\n\t\tif err = json.Unmarshal(body, &u.EnterpriseSettingsLocking); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"guest_admin_change_status\":\n\t\tif err = json.Unmarshal(body, &u.GuestAdminChangeStatus); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"started_enterprise_admin_session\":\n\t\tif err = json.Unmarshal(body, &u.StartedEnterpriseAdminSession); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_accepted\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestAccepted); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_accepted_shown_to_primary_team\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestAcceptedShownToPrimaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_accepted_shown_to_secondary_team\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestAcceptedShownToSecondaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_auto_canceled\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestAutoCanceled); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_canceled\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestCanceled); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_canceled_shown_to_primary_team\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestCanceledShownToPrimaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_canceled_shown_to_secondary_team\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestCanceledShownToSecondaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_expired\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestExpired); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_expired_shown_to_primary_team\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestExpiredShownToPrimaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_expired_shown_to_secondary_team\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestExpiredShownToSecondaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_rejected_shown_to_primary_team\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestRejectedShownToPrimaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_rejected_shown_to_secondary_team\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestRejectedShownToSecondaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_reminder\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestReminder); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_reminder_shown_to_primary_team\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestReminderShownToPrimaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_reminder_shown_to_secondary_team\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestReminderShownToSecondaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_revoked\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestRevoked); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_sent_shown_to_primary_team\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestSentShownToPrimaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team_merge_request_sent_shown_to_secondary_team\":\n\t\tif err = json.Unmarshal(body, &u.TeamMergeRequestSentShownToSecondaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// EventTypeArg : The type of the event.\ntype EventTypeArg struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for EventTypeArg\nconst (\n\tEventTypeArgAdminAlertingAlertStateChanged               = \"admin_alerting_alert_state_changed\"\n\tEventTypeArgAdminAlertingChangedAlertConfig              = \"admin_alerting_changed_alert_config\"\n\tEventTypeArgAdminAlertingTriggeredAlert                  = \"admin_alerting_triggered_alert\"\n\tEventTypeArgAppBlockedByPermissions                      = \"app_blocked_by_permissions\"\n\tEventTypeArgAppLinkTeam                                  = \"app_link_team\"\n\tEventTypeArgAppLinkUser                                  = \"app_link_user\"\n\tEventTypeArgAppUnlinkTeam                                = \"app_unlink_team\"\n\tEventTypeArgAppUnlinkUser                                = \"app_unlink_user\"\n\tEventTypeArgIntegrationConnected                         = \"integration_connected\"\n\tEventTypeArgIntegrationDisconnected                      = \"integration_disconnected\"\n\tEventTypeArgFileAddComment                               = \"file_add_comment\"\n\tEventTypeArgFileChangeCommentSubscription                = \"file_change_comment_subscription\"\n\tEventTypeArgFileDeleteComment                            = \"file_delete_comment\"\n\tEventTypeArgFileEditComment                              = \"file_edit_comment\"\n\tEventTypeArgFileLikeComment                              = \"file_like_comment\"\n\tEventTypeArgFileResolveComment                           = \"file_resolve_comment\"\n\tEventTypeArgFileUnlikeComment                            = \"file_unlike_comment\"\n\tEventTypeArgFileUnresolveComment                         = \"file_unresolve_comment\"\n\tEventTypeArgGovernancePolicyAddFolders                   = \"governance_policy_add_folders\"\n\tEventTypeArgGovernancePolicyAddFolderFailed              = \"governance_policy_add_folder_failed\"\n\tEventTypeArgGovernancePolicyContentDisposed              = \"governance_policy_content_disposed\"\n\tEventTypeArgGovernancePolicyCreate                       = \"governance_policy_create\"\n\tEventTypeArgGovernancePolicyDelete                       = \"governance_policy_delete\"\n\tEventTypeArgGovernancePolicyEditDetails                  = \"governance_policy_edit_details\"\n\tEventTypeArgGovernancePolicyEditDuration                 = \"governance_policy_edit_duration\"\n\tEventTypeArgGovernancePolicyExportCreated                = \"governance_policy_export_created\"\n\tEventTypeArgGovernancePolicyExportRemoved                = \"governance_policy_export_removed\"\n\tEventTypeArgGovernancePolicyRemoveFolders                = \"governance_policy_remove_folders\"\n\tEventTypeArgGovernancePolicyReportCreated                = \"governance_policy_report_created\"\n\tEventTypeArgGovernancePolicyZipPartDownloaded            = \"governance_policy_zip_part_downloaded\"\n\tEventTypeArgLegalHoldsActivateAHold                      = \"legal_holds_activate_a_hold\"\n\tEventTypeArgLegalHoldsAddMembers                         = \"legal_holds_add_members\"\n\tEventTypeArgLegalHoldsChangeHoldDetails                  = \"legal_holds_change_hold_details\"\n\tEventTypeArgLegalHoldsChangeHoldName                     = \"legal_holds_change_hold_name\"\n\tEventTypeArgLegalHoldsExportAHold                        = \"legal_holds_export_a_hold\"\n\tEventTypeArgLegalHoldsExportCancelled                    = \"legal_holds_export_cancelled\"\n\tEventTypeArgLegalHoldsExportDownloaded                   = \"legal_holds_export_downloaded\"\n\tEventTypeArgLegalHoldsExportRemoved                      = \"legal_holds_export_removed\"\n\tEventTypeArgLegalHoldsReleaseAHold                       = \"legal_holds_release_a_hold\"\n\tEventTypeArgLegalHoldsRemoveMembers                      = \"legal_holds_remove_members\"\n\tEventTypeArgLegalHoldsReportAHold                        = \"legal_holds_report_a_hold\"\n\tEventTypeArgDeviceChangeIpDesktop                        = \"device_change_ip_desktop\"\n\tEventTypeArgDeviceChangeIpMobile                         = \"device_change_ip_mobile\"\n\tEventTypeArgDeviceChangeIpWeb                            = \"device_change_ip_web\"\n\tEventTypeArgDeviceDeleteOnUnlinkFail                     = \"device_delete_on_unlink_fail\"\n\tEventTypeArgDeviceDeleteOnUnlinkSuccess                  = \"device_delete_on_unlink_success\"\n\tEventTypeArgDeviceLinkFail                               = \"device_link_fail\"\n\tEventTypeArgDeviceLinkSuccess                            = \"device_link_success\"\n\tEventTypeArgDeviceManagementDisabled                     = \"device_management_disabled\"\n\tEventTypeArgDeviceManagementEnabled                      = \"device_management_enabled\"\n\tEventTypeArgDeviceSyncBackupStatusChanged                = \"device_sync_backup_status_changed\"\n\tEventTypeArgDeviceUnlink                                 = \"device_unlink\"\n\tEventTypeArgDropboxPasswordsExported                     = \"dropbox_passwords_exported\"\n\tEventTypeArgDropboxPasswordsNewDeviceEnrolled            = \"dropbox_passwords_new_device_enrolled\"\n\tEventTypeArgEmmRefreshAuthToken                          = \"emm_refresh_auth_token\"\n\tEventTypeArgExternalDriveBackupEligibilityStatusChecked  = \"external_drive_backup_eligibility_status_checked\"\n\tEventTypeArgExternalDriveBackupStatusChanged             = \"external_drive_backup_status_changed\"\n\tEventTypeArgAccountCaptureChangeAvailability             = \"account_capture_change_availability\"\n\tEventTypeArgAccountCaptureMigrateAccount                 = \"account_capture_migrate_account\"\n\tEventTypeArgAccountCaptureNotificationEmailsSent         = \"account_capture_notification_emails_sent\"\n\tEventTypeArgAccountCaptureRelinquishAccount              = \"account_capture_relinquish_account\"\n\tEventTypeArgDisabledDomainInvites                        = \"disabled_domain_invites\"\n\tEventTypeArgDomainInvitesApproveRequestToJoinTeam        = \"domain_invites_approve_request_to_join_team\"\n\tEventTypeArgDomainInvitesDeclineRequestToJoinTeam        = \"domain_invites_decline_request_to_join_team\"\n\tEventTypeArgDomainInvitesEmailExistingUsers              = \"domain_invites_email_existing_users\"\n\tEventTypeArgDomainInvitesRequestToJoinTeam               = \"domain_invites_request_to_join_team\"\n\tEventTypeArgDomainInvitesSetInviteNewUserPrefToNo        = \"domain_invites_set_invite_new_user_pref_to_no\"\n\tEventTypeArgDomainInvitesSetInviteNewUserPrefToYes       = \"domain_invites_set_invite_new_user_pref_to_yes\"\n\tEventTypeArgDomainVerificationAddDomainFail              = \"domain_verification_add_domain_fail\"\n\tEventTypeArgDomainVerificationAddDomainSuccess           = \"domain_verification_add_domain_success\"\n\tEventTypeArgDomainVerificationRemoveDomain               = \"domain_verification_remove_domain\"\n\tEventTypeArgEnabledDomainInvites                         = \"enabled_domain_invites\"\n\tEventTypeArgApplyNamingConvention                        = \"apply_naming_convention\"\n\tEventTypeArgCreateFolder                                 = \"create_folder\"\n\tEventTypeArgFileAdd                                      = \"file_add\"\n\tEventTypeArgFileCopy                                     = \"file_copy\"\n\tEventTypeArgFileDelete                                   = \"file_delete\"\n\tEventTypeArgFileDownload                                 = \"file_download\"\n\tEventTypeArgFileEdit                                     = \"file_edit\"\n\tEventTypeArgFileGetCopyReference                         = \"file_get_copy_reference\"\n\tEventTypeArgFileLockingLockStatusChanged                 = \"file_locking_lock_status_changed\"\n\tEventTypeArgFileMove                                     = \"file_move\"\n\tEventTypeArgFilePermanentlyDelete                        = \"file_permanently_delete\"\n\tEventTypeArgFilePreview                                  = \"file_preview\"\n\tEventTypeArgFileRename                                   = \"file_rename\"\n\tEventTypeArgFileRestore                                  = \"file_restore\"\n\tEventTypeArgFileRevert                                   = \"file_revert\"\n\tEventTypeArgFileRollbackChanges                          = \"file_rollback_changes\"\n\tEventTypeArgFileSaveCopyReference                        = \"file_save_copy_reference\"\n\tEventTypeArgFolderOverviewDescriptionChanged             = \"folder_overview_description_changed\"\n\tEventTypeArgFolderOverviewItemPinned                     = \"folder_overview_item_pinned\"\n\tEventTypeArgFolderOverviewItemUnpinned                   = \"folder_overview_item_unpinned\"\n\tEventTypeArgObjectLabelAdded                             = \"object_label_added\"\n\tEventTypeArgObjectLabelRemoved                           = \"object_label_removed\"\n\tEventTypeArgObjectLabelUpdatedValue                      = \"object_label_updated_value\"\n\tEventTypeArgOrganizeFolderWithTidy                       = \"organize_folder_with_tidy\"\n\tEventTypeArgRewindFolder                                 = \"rewind_folder\"\n\tEventTypeArgUndoNamingConvention                         = \"undo_naming_convention\"\n\tEventTypeArgUndoOrganizeFolderWithTidy                   = \"undo_organize_folder_with_tidy\"\n\tEventTypeArgUserTagsAdded                                = \"user_tags_added\"\n\tEventTypeArgUserTagsRemoved                              = \"user_tags_removed\"\n\tEventTypeArgEmailIngestReceiveFile                       = \"email_ingest_receive_file\"\n\tEventTypeArgFileRequestChange                            = \"file_request_change\"\n\tEventTypeArgFileRequestClose                             = \"file_request_close\"\n\tEventTypeArgFileRequestCreate                            = \"file_request_create\"\n\tEventTypeArgFileRequestDelete                            = \"file_request_delete\"\n\tEventTypeArgFileRequestReceiveFile                       = \"file_request_receive_file\"\n\tEventTypeArgGroupAddExternalId                           = \"group_add_external_id\"\n\tEventTypeArgGroupAddMember                               = \"group_add_member\"\n\tEventTypeArgGroupChangeExternalId                        = \"group_change_external_id\"\n\tEventTypeArgGroupChangeManagementType                    = \"group_change_management_type\"\n\tEventTypeArgGroupChangeMemberRole                        = \"group_change_member_role\"\n\tEventTypeArgGroupCreate                                  = \"group_create\"\n\tEventTypeArgGroupDelete                                  = \"group_delete\"\n\tEventTypeArgGroupDescriptionUpdated                      = \"group_description_updated\"\n\tEventTypeArgGroupJoinPolicyUpdated                       = \"group_join_policy_updated\"\n\tEventTypeArgGroupMoved                                   = \"group_moved\"\n\tEventTypeArgGroupRemoveExternalId                        = \"group_remove_external_id\"\n\tEventTypeArgGroupRemoveMember                            = \"group_remove_member\"\n\tEventTypeArgGroupRename                                  = \"group_rename\"\n\tEventTypeArgAccountLockOrUnlocked                        = \"account_lock_or_unlocked\"\n\tEventTypeArgEmmError                                     = \"emm_error\"\n\tEventTypeArgGuestAdminSignedInViaTrustedTeams            = \"guest_admin_signed_in_via_trusted_teams\"\n\tEventTypeArgGuestAdminSignedOutViaTrustedTeams           = \"guest_admin_signed_out_via_trusted_teams\"\n\tEventTypeArgLoginFail                                    = \"login_fail\"\n\tEventTypeArgLoginSuccess                                 = \"login_success\"\n\tEventTypeArgLogout                                       = \"logout\"\n\tEventTypeArgResellerSupportSessionEnd                    = \"reseller_support_session_end\"\n\tEventTypeArgResellerSupportSessionStart                  = \"reseller_support_session_start\"\n\tEventTypeArgSignInAsSessionEnd                           = \"sign_in_as_session_end\"\n\tEventTypeArgSignInAsSessionStart                         = \"sign_in_as_session_start\"\n\tEventTypeArgSsoError                                     = \"sso_error\"\n\tEventTypeArgCreateTeamInviteLink                         = \"create_team_invite_link\"\n\tEventTypeArgDeleteTeamInviteLink                         = \"delete_team_invite_link\"\n\tEventTypeArgMemberAddExternalId                          = \"member_add_external_id\"\n\tEventTypeArgMemberAddName                                = \"member_add_name\"\n\tEventTypeArgMemberChangeAdminRole                        = \"member_change_admin_role\"\n\tEventTypeArgMemberChangeEmail                            = \"member_change_email\"\n\tEventTypeArgMemberChangeExternalId                       = \"member_change_external_id\"\n\tEventTypeArgMemberChangeMembershipType                   = \"member_change_membership_type\"\n\tEventTypeArgMemberChangeName                             = \"member_change_name\"\n\tEventTypeArgMemberChangeResellerRole                     = \"member_change_reseller_role\"\n\tEventTypeArgMemberChangeStatus                           = \"member_change_status\"\n\tEventTypeArgMemberDeleteManualContacts                   = \"member_delete_manual_contacts\"\n\tEventTypeArgMemberDeleteProfilePhoto                     = \"member_delete_profile_photo\"\n\tEventTypeArgMemberPermanentlyDeleteAccountContents       = \"member_permanently_delete_account_contents\"\n\tEventTypeArgMemberRemoveExternalId                       = \"member_remove_external_id\"\n\tEventTypeArgMemberSetProfilePhoto                        = \"member_set_profile_photo\"\n\tEventTypeArgMemberSpaceLimitsAddCustomQuota              = \"member_space_limits_add_custom_quota\"\n\tEventTypeArgMemberSpaceLimitsChangeCustomQuota           = \"member_space_limits_change_custom_quota\"\n\tEventTypeArgMemberSpaceLimitsChangeStatus                = \"member_space_limits_change_status\"\n\tEventTypeArgMemberSpaceLimitsRemoveCustomQuota           = \"member_space_limits_remove_custom_quota\"\n\tEventTypeArgMemberSuggest                                = \"member_suggest\"\n\tEventTypeArgMemberTransferAccountContents                = \"member_transfer_account_contents\"\n\tEventTypeArgPendingSecondaryEmailAdded                   = \"pending_secondary_email_added\"\n\tEventTypeArgSecondaryEmailDeleted                        = \"secondary_email_deleted\"\n\tEventTypeArgSecondaryEmailVerified                       = \"secondary_email_verified\"\n\tEventTypeArgSecondaryMailsPolicyChanged                  = \"secondary_mails_policy_changed\"\n\tEventTypeArgBinderAddPage                                = \"binder_add_page\"\n\tEventTypeArgBinderAddSection                             = \"binder_add_section\"\n\tEventTypeArgBinderRemovePage                             = \"binder_remove_page\"\n\tEventTypeArgBinderRemoveSection                          = \"binder_remove_section\"\n\tEventTypeArgBinderRenamePage                             = \"binder_rename_page\"\n\tEventTypeArgBinderRenameSection                          = \"binder_rename_section\"\n\tEventTypeArgBinderReorderPage                            = \"binder_reorder_page\"\n\tEventTypeArgBinderReorderSection                         = \"binder_reorder_section\"\n\tEventTypeArgPaperContentAddMember                        = \"paper_content_add_member\"\n\tEventTypeArgPaperContentAddToFolder                      = \"paper_content_add_to_folder\"\n\tEventTypeArgPaperContentArchive                          = \"paper_content_archive\"\n\tEventTypeArgPaperContentCreate                           = \"paper_content_create\"\n\tEventTypeArgPaperContentPermanentlyDelete                = \"paper_content_permanently_delete\"\n\tEventTypeArgPaperContentRemoveFromFolder                 = \"paper_content_remove_from_folder\"\n\tEventTypeArgPaperContentRemoveMember                     = \"paper_content_remove_member\"\n\tEventTypeArgPaperContentRename                           = \"paper_content_rename\"\n\tEventTypeArgPaperContentRestore                          = \"paper_content_restore\"\n\tEventTypeArgPaperDocAddComment                           = \"paper_doc_add_comment\"\n\tEventTypeArgPaperDocChangeMemberRole                     = \"paper_doc_change_member_role\"\n\tEventTypeArgPaperDocChangeSharingPolicy                  = \"paper_doc_change_sharing_policy\"\n\tEventTypeArgPaperDocChangeSubscription                   = \"paper_doc_change_subscription\"\n\tEventTypeArgPaperDocDeleted                              = \"paper_doc_deleted\"\n\tEventTypeArgPaperDocDeleteComment                        = \"paper_doc_delete_comment\"\n\tEventTypeArgPaperDocDownload                             = \"paper_doc_download\"\n\tEventTypeArgPaperDocEdit                                 = \"paper_doc_edit\"\n\tEventTypeArgPaperDocEditComment                          = \"paper_doc_edit_comment\"\n\tEventTypeArgPaperDocFollowed                             = \"paper_doc_followed\"\n\tEventTypeArgPaperDocMention                              = \"paper_doc_mention\"\n\tEventTypeArgPaperDocOwnershipChanged                     = \"paper_doc_ownership_changed\"\n\tEventTypeArgPaperDocRequestAccess                        = \"paper_doc_request_access\"\n\tEventTypeArgPaperDocResolveComment                       = \"paper_doc_resolve_comment\"\n\tEventTypeArgPaperDocRevert                               = \"paper_doc_revert\"\n\tEventTypeArgPaperDocSlackShare                           = \"paper_doc_slack_share\"\n\tEventTypeArgPaperDocTeamInvite                           = \"paper_doc_team_invite\"\n\tEventTypeArgPaperDocTrashed                              = \"paper_doc_trashed\"\n\tEventTypeArgPaperDocUnresolveComment                     = \"paper_doc_unresolve_comment\"\n\tEventTypeArgPaperDocUntrashed                            = \"paper_doc_untrashed\"\n\tEventTypeArgPaperDocView                                 = \"paper_doc_view\"\n\tEventTypeArgPaperExternalViewAllow                       = \"paper_external_view_allow\"\n\tEventTypeArgPaperExternalViewDefaultTeam                 = \"paper_external_view_default_team\"\n\tEventTypeArgPaperExternalViewForbid                      = \"paper_external_view_forbid\"\n\tEventTypeArgPaperFolderChangeSubscription                = \"paper_folder_change_subscription\"\n\tEventTypeArgPaperFolderDeleted                           = \"paper_folder_deleted\"\n\tEventTypeArgPaperFolderFollowed                          = \"paper_folder_followed\"\n\tEventTypeArgPaperFolderTeamInvite                        = \"paper_folder_team_invite\"\n\tEventTypeArgPaperPublishedLinkChangePermission           = \"paper_published_link_change_permission\"\n\tEventTypeArgPaperPublishedLinkCreate                     = \"paper_published_link_create\"\n\tEventTypeArgPaperPublishedLinkDisabled                   = \"paper_published_link_disabled\"\n\tEventTypeArgPaperPublishedLinkView                       = \"paper_published_link_view\"\n\tEventTypeArgPasswordChange                               = \"password_change\"\n\tEventTypeArgPasswordReset                                = \"password_reset\"\n\tEventTypeArgPasswordResetAll                             = \"password_reset_all\"\n\tEventTypeArgClassificationCreateReport                   = \"classification_create_report\"\n\tEventTypeArgClassificationCreateReportFail               = \"classification_create_report_fail\"\n\tEventTypeArgEmmCreateExceptionsReport                    = \"emm_create_exceptions_report\"\n\tEventTypeArgEmmCreateUsageReport                         = \"emm_create_usage_report\"\n\tEventTypeArgExportMembersReport                          = \"export_members_report\"\n\tEventTypeArgExportMembersReportFail                      = \"export_members_report_fail\"\n\tEventTypeArgExternalSharingCreateReport                  = \"external_sharing_create_report\"\n\tEventTypeArgExternalSharingReportFailed                  = \"external_sharing_report_failed\"\n\tEventTypeArgNoExpirationLinkGenCreateReport              = \"no_expiration_link_gen_create_report\"\n\tEventTypeArgNoExpirationLinkGenReportFailed              = \"no_expiration_link_gen_report_failed\"\n\tEventTypeArgNoPasswordLinkGenCreateReport                = \"no_password_link_gen_create_report\"\n\tEventTypeArgNoPasswordLinkGenReportFailed                = \"no_password_link_gen_report_failed\"\n\tEventTypeArgNoPasswordLinkViewCreateReport               = \"no_password_link_view_create_report\"\n\tEventTypeArgNoPasswordLinkViewReportFailed               = \"no_password_link_view_report_failed\"\n\tEventTypeArgOutdatedLinkViewCreateReport                 = \"outdated_link_view_create_report\"\n\tEventTypeArgOutdatedLinkViewReportFailed                 = \"outdated_link_view_report_failed\"\n\tEventTypeArgPaperAdminExportStart                        = \"paper_admin_export_start\"\n\tEventTypeArgSmartSyncCreateAdminPrivilegeReport          = \"smart_sync_create_admin_privilege_report\"\n\tEventTypeArgTeamActivityCreateReport                     = \"team_activity_create_report\"\n\tEventTypeArgTeamActivityCreateReportFail                 = \"team_activity_create_report_fail\"\n\tEventTypeArgCollectionShare                              = \"collection_share\"\n\tEventTypeArgFileTransfersFileAdd                         = \"file_transfers_file_add\"\n\tEventTypeArgFileTransfersTransferDelete                  = \"file_transfers_transfer_delete\"\n\tEventTypeArgFileTransfersTransferDownload                = \"file_transfers_transfer_download\"\n\tEventTypeArgFileTransfersTransferSend                    = \"file_transfers_transfer_send\"\n\tEventTypeArgFileTransfersTransferView                    = \"file_transfers_transfer_view\"\n\tEventTypeArgNoteAclInviteOnly                            = \"note_acl_invite_only\"\n\tEventTypeArgNoteAclLink                                  = \"note_acl_link\"\n\tEventTypeArgNoteAclTeamLink                              = \"note_acl_team_link\"\n\tEventTypeArgNoteShared                                   = \"note_shared\"\n\tEventTypeArgNoteShareReceive                             = \"note_share_receive\"\n\tEventTypeArgOpenNoteShared                               = \"open_note_shared\"\n\tEventTypeArgSfAddGroup                                   = \"sf_add_group\"\n\tEventTypeArgSfAllowNonMembersToViewSharedLinks           = \"sf_allow_non_members_to_view_shared_links\"\n\tEventTypeArgSfExternalInviteWarn                         = \"sf_external_invite_warn\"\n\tEventTypeArgSfFbInvite                                   = \"sf_fb_invite\"\n\tEventTypeArgSfFbInviteChangeRole                         = \"sf_fb_invite_change_role\"\n\tEventTypeArgSfFbUninvite                                 = \"sf_fb_uninvite\"\n\tEventTypeArgSfInviteGroup                                = \"sf_invite_group\"\n\tEventTypeArgSfTeamGrantAccess                            = \"sf_team_grant_access\"\n\tEventTypeArgSfTeamInvite                                 = \"sf_team_invite\"\n\tEventTypeArgSfTeamInviteChangeRole                       = \"sf_team_invite_change_role\"\n\tEventTypeArgSfTeamJoin                                   = \"sf_team_join\"\n\tEventTypeArgSfTeamJoinFromOobLink                        = \"sf_team_join_from_oob_link\"\n\tEventTypeArgSfTeamUninvite                               = \"sf_team_uninvite\"\n\tEventTypeArgSharedContentAddInvitees                     = \"shared_content_add_invitees\"\n\tEventTypeArgSharedContentAddLinkExpiry                   = \"shared_content_add_link_expiry\"\n\tEventTypeArgSharedContentAddLinkPassword                 = \"shared_content_add_link_password\"\n\tEventTypeArgSharedContentAddMember                       = \"shared_content_add_member\"\n\tEventTypeArgSharedContentChangeDownloadsPolicy           = \"shared_content_change_downloads_policy\"\n\tEventTypeArgSharedContentChangeInviteeRole               = \"shared_content_change_invitee_role\"\n\tEventTypeArgSharedContentChangeLinkAudience              = \"shared_content_change_link_audience\"\n\tEventTypeArgSharedContentChangeLinkExpiry                = \"shared_content_change_link_expiry\"\n\tEventTypeArgSharedContentChangeLinkPassword              = \"shared_content_change_link_password\"\n\tEventTypeArgSharedContentChangeMemberRole                = \"shared_content_change_member_role\"\n\tEventTypeArgSharedContentChangeViewerInfoPolicy          = \"shared_content_change_viewer_info_policy\"\n\tEventTypeArgSharedContentClaimInvitation                 = \"shared_content_claim_invitation\"\n\tEventTypeArgSharedContentCopy                            = \"shared_content_copy\"\n\tEventTypeArgSharedContentDownload                        = \"shared_content_download\"\n\tEventTypeArgSharedContentRelinquishMembership            = \"shared_content_relinquish_membership\"\n\tEventTypeArgSharedContentRemoveInvitees                  = \"shared_content_remove_invitees\"\n\tEventTypeArgSharedContentRemoveLinkExpiry                = \"shared_content_remove_link_expiry\"\n\tEventTypeArgSharedContentRemoveLinkPassword              = \"shared_content_remove_link_password\"\n\tEventTypeArgSharedContentRemoveMember                    = \"shared_content_remove_member\"\n\tEventTypeArgSharedContentRequestAccess                   = \"shared_content_request_access\"\n\tEventTypeArgSharedContentRestoreInvitees                 = \"shared_content_restore_invitees\"\n\tEventTypeArgSharedContentRestoreMember                   = \"shared_content_restore_member\"\n\tEventTypeArgSharedContentUnshare                         = \"shared_content_unshare\"\n\tEventTypeArgSharedContentView                            = \"shared_content_view\"\n\tEventTypeArgSharedFolderChangeLinkPolicy                 = \"shared_folder_change_link_policy\"\n\tEventTypeArgSharedFolderChangeMembersInheritancePolicy   = \"shared_folder_change_members_inheritance_policy\"\n\tEventTypeArgSharedFolderChangeMembersManagementPolicy    = \"shared_folder_change_members_management_policy\"\n\tEventTypeArgSharedFolderChangeMembersPolicy              = \"shared_folder_change_members_policy\"\n\tEventTypeArgSharedFolderCreate                           = \"shared_folder_create\"\n\tEventTypeArgSharedFolderDeclineInvitation                = \"shared_folder_decline_invitation\"\n\tEventTypeArgSharedFolderMount                            = \"shared_folder_mount\"\n\tEventTypeArgSharedFolderNest                             = \"shared_folder_nest\"\n\tEventTypeArgSharedFolderTransferOwnership                = \"shared_folder_transfer_ownership\"\n\tEventTypeArgSharedFolderUnmount                          = \"shared_folder_unmount\"\n\tEventTypeArgSharedLinkAddExpiry                          = \"shared_link_add_expiry\"\n\tEventTypeArgSharedLinkChangeExpiry                       = \"shared_link_change_expiry\"\n\tEventTypeArgSharedLinkChangeVisibility                   = \"shared_link_change_visibility\"\n\tEventTypeArgSharedLinkCopy                               = \"shared_link_copy\"\n\tEventTypeArgSharedLinkCreate                             = \"shared_link_create\"\n\tEventTypeArgSharedLinkDisable                            = \"shared_link_disable\"\n\tEventTypeArgSharedLinkDownload                           = \"shared_link_download\"\n\tEventTypeArgSharedLinkRemoveExpiry                       = \"shared_link_remove_expiry\"\n\tEventTypeArgSharedLinkSettingsAddExpiration              = \"shared_link_settings_add_expiration\"\n\tEventTypeArgSharedLinkSettingsAddPassword                = \"shared_link_settings_add_password\"\n\tEventTypeArgSharedLinkSettingsAllowDownloadDisabled      = \"shared_link_settings_allow_download_disabled\"\n\tEventTypeArgSharedLinkSettingsAllowDownloadEnabled       = \"shared_link_settings_allow_download_enabled\"\n\tEventTypeArgSharedLinkSettingsChangeAudience             = \"shared_link_settings_change_audience\"\n\tEventTypeArgSharedLinkSettingsChangeExpiration           = \"shared_link_settings_change_expiration\"\n\tEventTypeArgSharedLinkSettingsChangePassword             = \"shared_link_settings_change_password\"\n\tEventTypeArgSharedLinkSettingsRemoveExpiration           = \"shared_link_settings_remove_expiration\"\n\tEventTypeArgSharedLinkSettingsRemovePassword             = \"shared_link_settings_remove_password\"\n\tEventTypeArgSharedLinkShare                              = \"shared_link_share\"\n\tEventTypeArgSharedLinkView                               = \"shared_link_view\"\n\tEventTypeArgSharedNoteOpened                             = \"shared_note_opened\"\n\tEventTypeArgShmodelDisableDownloads                      = \"shmodel_disable_downloads\"\n\tEventTypeArgShmodelEnableDownloads                       = \"shmodel_enable_downloads\"\n\tEventTypeArgShmodelGroupShare                            = \"shmodel_group_share\"\n\tEventTypeArgShowcaseAccessGranted                        = \"showcase_access_granted\"\n\tEventTypeArgShowcaseAddMember                            = \"showcase_add_member\"\n\tEventTypeArgShowcaseArchived                             = \"showcase_archived\"\n\tEventTypeArgShowcaseCreated                              = \"showcase_created\"\n\tEventTypeArgShowcaseDeleteComment                        = \"showcase_delete_comment\"\n\tEventTypeArgShowcaseEdited                               = \"showcase_edited\"\n\tEventTypeArgShowcaseEditComment                          = \"showcase_edit_comment\"\n\tEventTypeArgShowcaseFileAdded                            = \"showcase_file_added\"\n\tEventTypeArgShowcaseFileDownload                         = \"showcase_file_download\"\n\tEventTypeArgShowcaseFileRemoved                          = \"showcase_file_removed\"\n\tEventTypeArgShowcaseFileView                             = \"showcase_file_view\"\n\tEventTypeArgShowcasePermanentlyDeleted                   = \"showcase_permanently_deleted\"\n\tEventTypeArgShowcasePostComment                          = \"showcase_post_comment\"\n\tEventTypeArgShowcaseRemoveMember                         = \"showcase_remove_member\"\n\tEventTypeArgShowcaseRenamed                              = \"showcase_renamed\"\n\tEventTypeArgShowcaseRequestAccess                        = \"showcase_request_access\"\n\tEventTypeArgShowcaseResolveComment                       = \"showcase_resolve_comment\"\n\tEventTypeArgShowcaseRestored                             = \"showcase_restored\"\n\tEventTypeArgShowcaseTrashed                              = \"showcase_trashed\"\n\tEventTypeArgShowcaseTrashedDeprecated                    = \"showcase_trashed_deprecated\"\n\tEventTypeArgShowcaseUnresolveComment                     = \"showcase_unresolve_comment\"\n\tEventTypeArgShowcaseUntrashed                            = \"showcase_untrashed\"\n\tEventTypeArgShowcaseUntrashedDeprecated                  = \"showcase_untrashed_deprecated\"\n\tEventTypeArgShowcaseView                                 = \"showcase_view\"\n\tEventTypeArgSsoAddCert                                   = \"sso_add_cert\"\n\tEventTypeArgSsoAddLoginUrl                               = \"sso_add_login_url\"\n\tEventTypeArgSsoAddLogoutUrl                              = \"sso_add_logout_url\"\n\tEventTypeArgSsoChangeCert                                = \"sso_change_cert\"\n\tEventTypeArgSsoChangeLoginUrl                            = \"sso_change_login_url\"\n\tEventTypeArgSsoChangeLogoutUrl                           = \"sso_change_logout_url\"\n\tEventTypeArgSsoChangeSamlIdentityMode                    = \"sso_change_saml_identity_mode\"\n\tEventTypeArgSsoRemoveCert                                = \"sso_remove_cert\"\n\tEventTypeArgSsoRemoveLoginUrl                            = \"sso_remove_login_url\"\n\tEventTypeArgSsoRemoveLogoutUrl                           = \"sso_remove_logout_url\"\n\tEventTypeArgTeamFolderChangeStatus                       = \"team_folder_change_status\"\n\tEventTypeArgTeamFolderCreate                             = \"team_folder_create\"\n\tEventTypeArgTeamFolderDowngrade                          = \"team_folder_downgrade\"\n\tEventTypeArgTeamFolderPermanentlyDelete                  = \"team_folder_permanently_delete\"\n\tEventTypeArgTeamFolderRename                             = \"team_folder_rename\"\n\tEventTypeArgTeamSelectiveSyncSettingsChanged             = \"team_selective_sync_settings_changed\"\n\tEventTypeArgAccountCaptureChangePolicy                   = \"account_capture_change_policy\"\n\tEventTypeArgAdminEmailRemindersChanged                   = \"admin_email_reminders_changed\"\n\tEventTypeArgAllowDownloadDisabled                        = \"allow_download_disabled\"\n\tEventTypeArgAllowDownloadEnabled                         = \"allow_download_enabled\"\n\tEventTypeArgAppPermissionsChanged                        = \"app_permissions_changed\"\n\tEventTypeArgCameraUploadsPolicyChanged                   = \"camera_uploads_policy_changed\"\n\tEventTypeArgCaptureTranscriptPolicyChanged               = \"capture_transcript_policy_changed\"\n\tEventTypeArgClassificationChangePolicy                   = \"classification_change_policy\"\n\tEventTypeArgComputerBackupPolicyChanged                  = \"computer_backup_policy_changed\"\n\tEventTypeArgContentAdministrationPolicyChanged           = \"content_administration_policy_changed\"\n\tEventTypeArgDataPlacementRestrictionChangePolicy         = \"data_placement_restriction_change_policy\"\n\tEventTypeArgDataPlacementRestrictionSatisfyPolicy        = \"data_placement_restriction_satisfy_policy\"\n\tEventTypeArgDeviceApprovalsAddException                  = \"device_approvals_add_exception\"\n\tEventTypeArgDeviceApprovalsChangeDesktopPolicy           = \"device_approvals_change_desktop_policy\"\n\tEventTypeArgDeviceApprovalsChangeMobilePolicy            = \"device_approvals_change_mobile_policy\"\n\tEventTypeArgDeviceApprovalsChangeOverageAction           = \"device_approvals_change_overage_action\"\n\tEventTypeArgDeviceApprovalsChangeUnlinkAction            = \"device_approvals_change_unlink_action\"\n\tEventTypeArgDeviceApprovalsRemoveException               = \"device_approvals_remove_exception\"\n\tEventTypeArgDirectoryRestrictionsAddMembers              = \"directory_restrictions_add_members\"\n\tEventTypeArgDirectoryRestrictionsRemoveMembers           = \"directory_restrictions_remove_members\"\n\tEventTypeArgDropboxPasswordsPolicyChanged                = \"dropbox_passwords_policy_changed\"\n\tEventTypeArgEmailIngestPolicyChanged                     = \"email_ingest_policy_changed\"\n\tEventTypeArgEmmAddException                              = \"emm_add_exception\"\n\tEventTypeArgEmmChangePolicy                              = \"emm_change_policy\"\n\tEventTypeArgEmmRemoveException                           = \"emm_remove_exception\"\n\tEventTypeArgExtendedVersionHistoryChangePolicy           = \"extended_version_history_change_policy\"\n\tEventTypeArgExternalDriveBackupPolicyChanged             = \"external_drive_backup_policy_changed\"\n\tEventTypeArgFileCommentsChangePolicy                     = \"file_comments_change_policy\"\n\tEventTypeArgFileLockingPolicyChanged                     = \"file_locking_policy_changed\"\n\tEventTypeArgFileProviderMigrationPolicyChanged           = \"file_provider_migration_policy_changed\"\n\tEventTypeArgFileRequestsChangePolicy                     = \"file_requests_change_policy\"\n\tEventTypeArgFileRequestsEmailsEnabled                    = \"file_requests_emails_enabled\"\n\tEventTypeArgFileRequestsEmailsRestrictedToTeamOnly       = \"file_requests_emails_restricted_to_team_only\"\n\tEventTypeArgFileTransfersPolicyChanged                   = \"file_transfers_policy_changed\"\n\tEventTypeArgGoogleSsoChangePolicy                        = \"google_sso_change_policy\"\n\tEventTypeArgGroupUserManagementChangePolicy              = \"group_user_management_change_policy\"\n\tEventTypeArgIntegrationPolicyChanged                     = \"integration_policy_changed\"\n\tEventTypeArgInviteAcceptanceEmailPolicyChanged           = \"invite_acceptance_email_policy_changed\"\n\tEventTypeArgMemberRequestsChangePolicy                   = \"member_requests_change_policy\"\n\tEventTypeArgMemberSendInvitePolicyChanged                = \"member_send_invite_policy_changed\"\n\tEventTypeArgMemberSpaceLimitsAddException                = \"member_space_limits_add_exception\"\n\tEventTypeArgMemberSpaceLimitsChangeCapsTypePolicy        = \"member_space_limits_change_caps_type_policy\"\n\tEventTypeArgMemberSpaceLimitsChangePolicy                = \"member_space_limits_change_policy\"\n\tEventTypeArgMemberSpaceLimitsRemoveException             = \"member_space_limits_remove_exception\"\n\tEventTypeArgMemberSuggestionsChangePolicy                = \"member_suggestions_change_policy\"\n\tEventTypeArgMicrosoftOfficeAddinChangePolicy             = \"microsoft_office_addin_change_policy\"\n\tEventTypeArgNetworkControlChangePolicy                   = \"network_control_change_policy\"\n\tEventTypeArgPaperChangeDeploymentPolicy                  = \"paper_change_deployment_policy\"\n\tEventTypeArgPaperChangeMemberLinkPolicy                  = \"paper_change_member_link_policy\"\n\tEventTypeArgPaperChangeMemberPolicy                      = \"paper_change_member_policy\"\n\tEventTypeArgPaperChangePolicy                            = \"paper_change_policy\"\n\tEventTypeArgPaperDefaultFolderPolicyChanged              = \"paper_default_folder_policy_changed\"\n\tEventTypeArgPaperDesktopPolicyChanged                    = \"paper_desktop_policy_changed\"\n\tEventTypeArgPaperEnabledUsersGroupAddition               = \"paper_enabled_users_group_addition\"\n\tEventTypeArgPaperEnabledUsersGroupRemoval                = \"paper_enabled_users_group_removal\"\n\tEventTypeArgPasswordStrengthRequirementsChangePolicy     = \"password_strength_requirements_change_policy\"\n\tEventTypeArgPermanentDeleteChangePolicy                  = \"permanent_delete_change_policy\"\n\tEventTypeArgResellerSupportChangePolicy                  = \"reseller_support_change_policy\"\n\tEventTypeArgRewindPolicyChanged                          = \"rewind_policy_changed\"\n\tEventTypeArgSendForSignaturePolicyChanged                = \"send_for_signature_policy_changed\"\n\tEventTypeArgSharingChangeFolderJoinPolicy                = \"sharing_change_folder_join_policy\"\n\tEventTypeArgSharingChangeLinkAllowChangeExpirationPolicy = \"sharing_change_link_allow_change_expiration_policy\"\n\tEventTypeArgSharingChangeLinkDefaultExpirationPolicy     = \"sharing_change_link_default_expiration_policy\"\n\tEventTypeArgSharingChangeLinkEnforcePasswordPolicy       = \"sharing_change_link_enforce_password_policy\"\n\tEventTypeArgSharingChangeLinkPolicy                      = \"sharing_change_link_policy\"\n\tEventTypeArgSharingChangeMemberPolicy                    = \"sharing_change_member_policy\"\n\tEventTypeArgShowcaseChangeDownloadPolicy                 = \"showcase_change_download_policy\"\n\tEventTypeArgShowcaseChangeEnabledPolicy                  = \"showcase_change_enabled_policy\"\n\tEventTypeArgShowcaseChangeExternalSharingPolicy          = \"showcase_change_external_sharing_policy\"\n\tEventTypeArgSmarterSmartSyncPolicyChanged                = \"smarter_smart_sync_policy_changed\"\n\tEventTypeArgSmartSyncChangePolicy                        = \"smart_sync_change_policy\"\n\tEventTypeArgSmartSyncNotOptOut                           = \"smart_sync_not_opt_out\"\n\tEventTypeArgSmartSyncOptOut                              = \"smart_sync_opt_out\"\n\tEventTypeArgSsoChangePolicy                              = \"sso_change_policy\"\n\tEventTypeArgTeamBrandingPolicyChanged                    = \"team_branding_policy_changed\"\n\tEventTypeArgTeamExtensionsPolicyChanged                  = \"team_extensions_policy_changed\"\n\tEventTypeArgTeamSelectiveSyncPolicyChanged               = \"team_selective_sync_policy_changed\"\n\tEventTypeArgTeamSharingWhitelistSubjectsChanged          = \"team_sharing_whitelist_subjects_changed\"\n\tEventTypeArgTfaAddException                              = \"tfa_add_exception\"\n\tEventTypeArgTfaChangePolicy                              = \"tfa_change_policy\"\n\tEventTypeArgTfaRemoveException                           = \"tfa_remove_exception\"\n\tEventTypeArgTwoAccountChangePolicy                       = \"two_account_change_policy\"\n\tEventTypeArgViewerInfoPolicyChanged                      = \"viewer_info_policy_changed\"\n\tEventTypeArgWatermarkingPolicyChanged                    = \"watermarking_policy_changed\"\n\tEventTypeArgWebSessionsChangeActiveSessionLimit          = \"web_sessions_change_active_session_limit\"\n\tEventTypeArgWebSessionsChangeFixedLengthPolicy           = \"web_sessions_change_fixed_length_policy\"\n\tEventTypeArgWebSessionsChangeIdleLengthPolicy            = \"web_sessions_change_idle_length_policy\"\n\tEventTypeArgDataResidencyMigrationRequestSuccessful      = \"data_residency_migration_request_successful\"\n\tEventTypeArgDataResidencyMigrationRequestUnsuccessful    = \"data_residency_migration_request_unsuccessful\"\n\tEventTypeArgTeamMergeFrom                                = \"team_merge_from\"\n\tEventTypeArgTeamMergeTo                                  = \"team_merge_to\"\n\tEventTypeArgTeamProfileAddBackground                     = \"team_profile_add_background\"\n\tEventTypeArgTeamProfileAddLogo                           = \"team_profile_add_logo\"\n\tEventTypeArgTeamProfileChangeBackground                  = \"team_profile_change_background\"\n\tEventTypeArgTeamProfileChangeDefaultLanguage             = \"team_profile_change_default_language\"\n\tEventTypeArgTeamProfileChangeLogo                        = \"team_profile_change_logo\"\n\tEventTypeArgTeamProfileChangeName                        = \"team_profile_change_name\"\n\tEventTypeArgTeamProfileRemoveBackground                  = \"team_profile_remove_background\"\n\tEventTypeArgTeamProfileRemoveLogo                        = \"team_profile_remove_logo\"\n\tEventTypeArgTfaAddBackupPhone                            = \"tfa_add_backup_phone\"\n\tEventTypeArgTfaAddSecurityKey                            = \"tfa_add_security_key\"\n\tEventTypeArgTfaChangeBackupPhone                         = \"tfa_change_backup_phone\"\n\tEventTypeArgTfaChangeStatus                              = \"tfa_change_status\"\n\tEventTypeArgTfaRemoveBackupPhone                         = \"tfa_remove_backup_phone\"\n\tEventTypeArgTfaRemoveSecurityKey                         = \"tfa_remove_security_key\"\n\tEventTypeArgTfaReset                                     = \"tfa_reset\"\n\tEventTypeArgChangedEnterpriseAdminRole                   = \"changed_enterprise_admin_role\"\n\tEventTypeArgChangedEnterpriseConnectedTeamStatus         = \"changed_enterprise_connected_team_status\"\n\tEventTypeArgEndedEnterpriseAdminSession                  = \"ended_enterprise_admin_session\"\n\tEventTypeArgEndedEnterpriseAdminSessionDeprecated        = \"ended_enterprise_admin_session_deprecated\"\n\tEventTypeArgEnterpriseSettingsLocking                    = \"enterprise_settings_locking\"\n\tEventTypeArgGuestAdminChangeStatus                       = \"guest_admin_change_status\"\n\tEventTypeArgStartedEnterpriseAdminSession                = \"started_enterprise_admin_session\"\n\tEventTypeArgTeamMergeRequestAccepted                     = \"team_merge_request_accepted\"\n\tEventTypeArgTeamMergeRequestAcceptedShownToPrimaryTeam   = \"team_merge_request_accepted_shown_to_primary_team\"\n\tEventTypeArgTeamMergeRequestAcceptedShownToSecondaryTeam = \"team_merge_request_accepted_shown_to_secondary_team\"\n\tEventTypeArgTeamMergeRequestAutoCanceled                 = \"team_merge_request_auto_canceled\"\n\tEventTypeArgTeamMergeRequestCanceled                     = \"team_merge_request_canceled\"\n\tEventTypeArgTeamMergeRequestCanceledShownToPrimaryTeam   = \"team_merge_request_canceled_shown_to_primary_team\"\n\tEventTypeArgTeamMergeRequestCanceledShownToSecondaryTeam = \"team_merge_request_canceled_shown_to_secondary_team\"\n\tEventTypeArgTeamMergeRequestExpired                      = \"team_merge_request_expired\"\n\tEventTypeArgTeamMergeRequestExpiredShownToPrimaryTeam    = \"team_merge_request_expired_shown_to_primary_team\"\n\tEventTypeArgTeamMergeRequestExpiredShownToSecondaryTeam  = \"team_merge_request_expired_shown_to_secondary_team\"\n\tEventTypeArgTeamMergeRequestRejectedShownToPrimaryTeam   = \"team_merge_request_rejected_shown_to_primary_team\"\n\tEventTypeArgTeamMergeRequestRejectedShownToSecondaryTeam = \"team_merge_request_rejected_shown_to_secondary_team\"\n\tEventTypeArgTeamMergeRequestReminder                     = \"team_merge_request_reminder\"\n\tEventTypeArgTeamMergeRequestReminderShownToPrimaryTeam   = \"team_merge_request_reminder_shown_to_primary_team\"\n\tEventTypeArgTeamMergeRequestReminderShownToSecondaryTeam = \"team_merge_request_reminder_shown_to_secondary_team\"\n\tEventTypeArgTeamMergeRequestRevoked                      = \"team_merge_request_revoked\"\n\tEventTypeArgTeamMergeRequestSentShownToPrimaryTeam       = \"team_merge_request_sent_shown_to_primary_team\"\n\tEventTypeArgTeamMergeRequestSentShownToSecondaryTeam     = \"team_merge_request_sent_shown_to_secondary_team\"\n\tEventTypeArgOther                                        = \"other\"\n)\n\n// ExportMembersReportDetails : Created member data report.\ntype ExportMembersReportDetails struct {\n}\n\n// NewExportMembersReportDetails returns a new ExportMembersReportDetails instance\nfunc NewExportMembersReportDetails() *ExportMembersReportDetails {\n\ts := new(ExportMembersReportDetails)\n\treturn s\n}\n\n// ExportMembersReportFailDetails : Failed to create members data report.\ntype ExportMembersReportFailDetails struct {\n\t// FailureReason : Failure reason.\n\tFailureReason *team.TeamReportFailureReason `json:\"failure_reason\"`\n}\n\n// NewExportMembersReportFailDetails returns a new ExportMembersReportFailDetails instance\nfunc NewExportMembersReportFailDetails(FailureReason *team.TeamReportFailureReason) *ExportMembersReportFailDetails {\n\ts := new(ExportMembersReportFailDetails)\n\ts.FailureReason = FailureReason\n\treturn s\n}\n\n// ExportMembersReportFailType : has no documentation (yet)\ntype ExportMembersReportFailType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewExportMembersReportFailType returns a new ExportMembersReportFailType instance\nfunc NewExportMembersReportFailType(Description string) *ExportMembersReportFailType {\n\ts := new(ExportMembersReportFailType)\n\ts.Description = Description\n\treturn s\n}\n\n// ExportMembersReportType : has no documentation (yet)\ntype ExportMembersReportType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewExportMembersReportType returns a new ExportMembersReportType instance\nfunc NewExportMembersReportType(Description string) *ExportMembersReportType {\n\ts := new(ExportMembersReportType)\n\ts.Description = Description\n\treturn s\n}\n\n// ExtendedVersionHistoryChangePolicyDetails : Accepted/opted out of extended\n// version history.\ntype ExtendedVersionHistoryChangePolicyDetails struct {\n\t// NewValue : New extended version history policy.\n\tNewValue *ExtendedVersionHistoryPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous extended version history policy. Might be\n\t// missing due to historical data gap.\n\tPreviousValue *ExtendedVersionHistoryPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewExtendedVersionHistoryChangePolicyDetails returns a new ExtendedVersionHistoryChangePolicyDetails instance\nfunc NewExtendedVersionHistoryChangePolicyDetails(NewValue *ExtendedVersionHistoryPolicy) *ExtendedVersionHistoryChangePolicyDetails {\n\ts := new(ExtendedVersionHistoryChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// ExtendedVersionHistoryChangePolicyType : has no documentation (yet)\ntype ExtendedVersionHistoryChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewExtendedVersionHistoryChangePolicyType returns a new ExtendedVersionHistoryChangePolicyType instance\nfunc NewExtendedVersionHistoryChangePolicyType(Description string) *ExtendedVersionHistoryChangePolicyType {\n\ts := new(ExtendedVersionHistoryChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// ExtendedVersionHistoryPolicy : has no documentation (yet)\ntype ExtendedVersionHistoryPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ExtendedVersionHistoryPolicy\nconst (\n\tExtendedVersionHistoryPolicyExplicitlyLimited   = \"explicitly_limited\"\n\tExtendedVersionHistoryPolicyExplicitlyUnlimited = \"explicitly_unlimited\"\n\tExtendedVersionHistoryPolicyImplicitlyLimited   = \"implicitly_limited\"\n\tExtendedVersionHistoryPolicyImplicitlyUnlimited = \"implicitly_unlimited\"\n\tExtendedVersionHistoryPolicyOther               = \"other\"\n)\n\n// ExternalDriveBackupEligibilityStatus : External Drive Backup eligibility\n// status\ntype ExternalDriveBackupEligibilityStatus struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ExternalDriveBackupEligibilityStatus\nconst (\n\tExternalDriveBackupEligibilityStatusExceedLicenseCap = \"exceed_license_cap\"\n\tExternalDriveBackupEligibilityStatusSuccess          = \"success\"\n\tExternalDriveBackupEligibilityStatusOther            = \"other\"\n)\n\n// ExternalDriveBackupEligibilityStatusCheckedDetails : Checked external drive\n// backup eligibility status.\ntype ExternalDriveBackupEligibilityStatusCheckedDetails struct {\n\t// DesktopDeviceSessionInfo : Device's session logged information.\n\tDesktopDeviceSessionInfo *DesktopDeviceSessionLogInfo `json:\"desktop_device_session_info\"`\n\t// Status : Current eligibility status of external drive backup.\n\tStatus *ExternalDriveBackupEligibilityStatus `json:\"status\"`\n\t// NumberOfExternalDriveBackup : Total number of valid external drive backup\n\t// for all the team members.\n\tNumberOfExternalDriveBackup uint64 `json:\"number_of_external_drive_backup\"`\n}\n\n// NewExternalDriveBackupEligibilityStatusCheckedDetails returns a new ExternalDriveBackupEligibilityStatusCheckedDetails instance\nfunc NewExternalDriveBackupEligibilityStatusCheckedDetails(DesktopDeviceSessionInfo *DesktopDeviceSessionLogInfo, Status *ExternalDriveBackupEligibilityStatus, NumberOfExternalDriveBackup uint64) *ExternalDriveBackupEligibilityStatusCheckedDetails {\n\ts := new(ExternalDriveBackupEligibilityStatusCheckedDetails)\n\ts.DesktopDeviceSessionInfo = DesktopDeviceSessionInfo\n\ts.Status = Status\n\ts.NumberOfExternalDriveBackup = NumberOfExternalDriveBackup\n\treturn s\n}\n\n// ExternalDriveBackupEligibilityStatusCheckedType : has no documentation (yet)\ntype ExternalDriveBackupEligibilityStatusCheckedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewExternalDriveBackupEligibilityStatusCheckedType returns a new ExternalDriveBackupEligibilityStatusCheckedType instance\nfunc NewExternalDriveBackupEligibilityStatusCheckedType(Description string) *ExternalDriveBackupEligibilityStatusCheckedType {\n\ts := new(ExternalDriveBackupEligibilityStatusCheckedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ExternalDriveBackupPolicy : Policy for controlling team access to external\n// drive backup feature\ntype ExternalDriveBackupPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ExternalDriveBackupPolicy\nconst (\n\tExternalDriveBackupPolicyDefault  = \"default\"\n\tExternalDriveBackupPolicyDisabled = \"disabled\"\n\tExternalDriveBackupPolicyEnabled  = \"enabled\"\n\tExternalDriveBackupPolicyOther    = \"other\"\n)\n\n// ExternalDriveBackupPolicyChangedDetails : Changed external drive backup\n// policy for team.\ntype ExternalDriveBackupPolicyChangedDetails struct {\n\t// NewValue : New external drive backup policy.\n\tNewValue *ExternalDriveBackupPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous external drive backup policy.\n\tPreviousValue *ExternalDriveBackupPolicy `json:\"previous_value\"`\n}\n\n// NewExternalDriveBackupPolicyChangedDetails returns a new ExternalDriveBackupPolicyChangedDetails instance\nfunc NewExternalDriveBackupPolicyChangedDetails(NewValue *ExternalDriveBackupPolicy, PreviousValue *ExternalDriveBackupPolicy) *ExternalDriveBackupPolicyChangedDetails {\n\ts := new(ExternalDriveBackupPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// ExternalDriveBackupPolicyChangedType : has no documentation (yet)\ntype ExternalDriveBackupPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewExternalDriveBackupPolicyChangedType returns a new ExternalDriveBackupPolicyChangedType instance\nfunc NewExternalDriveBackupPolicyChangedType(Description string) *ExternalDriveBackupPolicyChangedType {\n\ts := new(ExternalDriveBackupPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ExternalDriveBackupStatus : External Drive Backup status\ntype ExternalDriveBackupStatus struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ExternalDriveBackupStatus\nconst (\n\tExternalDriveBackupStatusBroken          = \"broken\"\n\tExternalDriveBackupStatusCreated         = \"created\"\n\tExternalDriveBackupStatusCreatedOrBroken = \"created_or_broken\"\n\tExternalDriveBackupStatusDeleted         = \"deleted\"\n\tExternalDriveBackupStatusEmpty           = \"empty\"\n\tExternalDriveBackupStatusUnknown         = \"unknown\"\n\tExternalDriveBackupStatusOther           = \"other\"\n)\n\n// ExternalDriveBackupStatusChangedDetails : Modified external drive backup.\ntype ExternalDriveBackupStatusChangedDetails struct {\n\t// DesktopDeviceSessionInfo : Device's session logged information.\n\tDesktopDeviceSessionInfo *DesktopDeviceSessionLogInfo `json:\"desktop_device_session_info\"`\n\t// PreviousValue : Previous status of this external drive backup.\n\tPreviousValue *ExternalDriveBackupStatus `json:\"previous_value\"`\n\t// NewValue : Next status of this external drive backup.\n\tNewValue *ExternalDriveBackupStatus `json:\"new_value\"`\n}\n\n// NewExternalDriveBackupStatusChangedDetails returns a new ExternalDriveBackupStatusChangedDetails instance\nfunc NewExternalDriveBackupStatusChangedDetails(DesktopDeviceSessionInfo *DesktopDeviceSessionLogInfo, PreviousValue *ExternalDriveBackupStatus, NewValue *ExternalDriveBackupStatus) *ExternalDriveBackupStatusChangedDetails {\n\ts := new(ExternalDriveBackupStatusChangedDetails)\n\ts.DesktopDeviceSessionInfo = DesktopDeviceSessionInfo\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// ExternalDriveBackupStatusChangedType : has no documentation (yet)\ntype ExternalDriveBackupStatusChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewExternalDriveBackupStatusChangedType returns a new ExternalDriveBackupStatusChangedType instance\nfunc NewExternalDriveBackupStatusChangedType(Description string) *ExternalDriveBackupStatusChangedType {\n\ts := new(ExternalDriveBackupStatusChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ExternalSharingCreateReportDetails : Created External sharing report.\ntype ExternalSharingCreateReportDetails struct {\n}\n\n// NewExternalSharingCreateReportDetails returns a new ExternalSharingCreateReportDetails instance\nfunc NewExternalSharingCreateReportDetails() *ExternalSharingCreateReportDetails {\n\ts := new(ExternalSharingCreateReportDetails)\n\treturn s\n}\n\n// ExternalSharingCreateReportType : has no documentation (yet)\ntype ExternalSharingCreateReportType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewExternalSharingCreateReportType returns a new ExternalSharingCreateReportType instance\nfunc NewExternalSharingCreateReportType(Description string) *ExternalSharingCreateReportType {\n\ts := new(ExternalSharingCreateReportType)\n\ts.Description = Description\n\treturn s\n}\n\n// ExternalSharingReportFailedDetails : Couldn't create External sharing report.\ntype ExternalSharingReportFailedDetails struct {\n\t// FailureReason : Failure reason.\n\tFailureReason *team.TeamReportFailureReason `json:\"failure_reason\"`\n}\n\n// NewExternalSharingReportFailedDetails returns a new ExternalSharingReportFailedDetails instance\nfunc NewExternalSharingReportFailedDetails(FailureReason *team.TeamReportFailureReason) *ExternalSharingReportFailedDetails {\n\ts := new(ExternalSharingReportFailedDetails)\n\ts.FailureReason = FailureReason\n\treturn s\n}\n\n// ExternalSharingReportFailedType : has no documentation (yet)\ntype ExternalSharingReportFailedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewExternalSharingReportFailedType returns a new ExternalSharingReportFailedType instance\nfunc NewExternalSharingReportFailedType(Description string) *ExternalSharingReportFailedType {\n\ts := new(ExternalSharingReportFailedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ExternalUserLogInfo : A user without a Dropbox account.\ntype ExternalUserLogInfo struct {\n\t// UserIdentifier : An external user identifier.\n\tUserIdentifier string `json:\"user_identifier\"`\n\t// IdentifierType : Identifier type.\n\tIdentifierType *IdentifierType `json:\"identifier_type\"`\n}\n\n// NewExternalUserLogInfo returns a new ExternalUserLogInfo instance\nfunc NewExternalUserLogInfo(UserIdentifier string, IdentifierType *IdentifierType) *ExternalUserLogInfo {\n\ts := new(ExternalUserLogInfo)\n\ts.UserIdentifier = UserIdentifier\n\ts.IdentifierType = IdentifierType\n\treturn s\n}\n\n// FailureDetailsLogInfo : Provides details about a failure\ntype FailureDetailsLogInfo struct {\n\t// UserFriendlyMessage : A user friendly explanation of the error.\n\tUserFriendlyMessage string `json:\"user_friendly_message,omitempty\"`\n\t// TechnicalErrorMessage : A technical explanation of the error. This is\n\t// relevant for some errors.\n\tTechnicalErrorMessage string `json:\"technical_error_message,omitempty\"`\n}\n\n// NewFailureDetailsLogInfo returns a new FailureDetailsLogInfo instance\nfunc NewFailureDetailsLogInfo() *FailureDetailsLogInfo {\n\ts := new(FailureDetailsLogInfo)\n\treturn s\n}\n\n// FedAdminRole : has no documentation (yet)\ntype FedAdminRole struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FedAdminRole\nconst (\n\tFedAdminRoleEnterpriseAdmin    = \"enterprise_admin\"\n\tFedAdminRoleNotEnterpriseAdmin = \"not_enterprise_admin\"\n\tFedAdminRoleOther              = \"other\"\n)\n\n// FedExtraDetails : More details about the organization or team.\ntype FedExtraDetails struct {\n\tdropbox.Tagged\n\t// Organization : More details about the organization.\n\tOrganization *OrganizationDetails `json:\"organization,omitempty\"`\n\t// Team : More details about the team.\n\tTeam *TeamDetails `json:\"team,omitempty\"`\n}\n\n// Valid tag values for FedExtraDetails\nconst (\n\tFedExtraDetailsOrganization = \"organization\"\n\tFedExtraDetailsTeam         = \"team\"\n\tFedExtraDetailsOther        = \"other\"\n)\n\n// UnmarshalJSON deserializes into a FedExtraDetails instance\nfunc (u *FedExtraDetails) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"organization\":\n\t\tif err = json.Unmarshal(body, &u.Organization); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team\":\n\t\tif err = json.Unmarshal(body, &u.Team); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// FedHandshakeAction : has no documentation (yet)\ntype FedHandshakeAction struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FedHandshakeAction\nconst (\n\tFedHandshakeActionAcceptedInvite = \"accepted_invite\"\n\tFedHandshakeActionCanceledInvite = \"canceled_invite\"\n\tFedHandshakeActionInviteExpired  = \"invite_expired\"\n\tFedHandshakeActionInvited        = \"invited\"\n\tFedHandshakeActionRejectedInvite = \"rejected_invite\"\n\tFedHandshakeActionRemovedTeam    = \"removed_team\"\n\tFedHandshakeActionOther          = \"other\"\n)\n\n// FederationStatusChangeAdditionalInfo : Additional information about the\n// organization or connected team\ntype FederationStatusChangeAdditionalInfo struct {\n\tdropbox.Tagged\n\t// ConnectedTeamName : The name of the team.\n\tConnectedTeamName *ConnectedTeamName `json:\"connected_team_name,omitempty\"`\n\t// NonTrustedTeamDetails : The email to which the request was sent.\n\tNonTrustedTeamDetails *NonTrustedTeamDetails `json:\"non_trusted_team_details,omitempty\"`\n\t// OrganizationName : The name of the organization.\n\tOrganizationName *OrganizationName `json:\"organization_name,omitempty\"`\n}\n\n// Valid tag values for FederationStatusChangeAdditionalInfo\nconst (\n\tFederationStatusChangeAdditionalInfoConnectedTeamName     = \"connected_team_name\"\n\tFederationStatusChangeAdditionalInfoNonTrustedTeamDetails = \"non_trusted_team_details\"\n\tFederationStatusChangeAdditionalInfoOrganizationName      = \"organization_name\"\n\tFederationStatusChangeAdditionalInfoOther                 = \"other\"\n)\n\n// UnmarshalJSON deserializes into a FederationStatusChangeAdditionalInfo instance\nfunc (u *FederationStatusChangeAdditionalInfo) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"connected_team_name\":\n\t\tif err = json.Unmarshal(body, &u.ConnectedTeamName); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"non_trusted_team_details\":\n\t\tif err = json.Unmarshal(body, &u.NonTrustedTeamDetails); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"organization_name\":\n\t\tif err = json.Unmarshal(body, &u.OrganizationName); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// FileAddCommentDetails : Added file comment.\ntype FileAddCommentDetails struct {\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewFileAddCommentDetails returns a new FileAddCommentDetails instance\nfunc NewFileAddCommentDetails() *FileAddCommentDetails {\n\ts := new(FileAddCommentDetails)\n\treturn s\n}\n\n// FileAddCommentType : has no documentation (yet)\ntype FileAddCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileAddCommentType returns a new FileAddCommentType instance\nfunc NewFileAddCommentType(Description string) *FileAddCommentType {\n\ts := new(FileAddCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileAddDetails : Added files and/or folders.\ntype FileAddDetails struct {\n}\n\n// NewFileAddDetails returns a new FileAddDetails instance\nfunc NewFileAddDetails() *FileAddDetails {\n\ts := new(FileAddDetails)\n\treturn s\n}\n\n// FileAddType : has no documentation (yet)\ntype FileAddType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileAddType returns a new FileAddType instance\nfunc NewFileAddType(Description string) *FileAddType {\n\ts := new(FileAddType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileChangeCommentSubscriptionDetails : Subscribed to or unsubscribed from\n// comment notifications for file.\ntype FileChangeCommentSubscriptionDetails struct {\n\t// NewValue : New file comment subscription.\n\tNewValue *FileCommentNotificationPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous file comment subscription. Might be missing due\n\t// to historical data gap.\n\tPreviousValue *FileCommentNotificationPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewFileChangeCommentSubscriptionDetails returns a new FileChangeCommentSubscriptionDetails instance\nfunc NewFileChangeCommentSubscriptionDetails(NewValue *FileCommentNotificationPolicy) *FileChangeCommentSubscriptionDetails {\n\ts := new(FileChangeCommentSubscriptionDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// FileChangeCommentSubscriptionType : has no documentation (yet)\ntype FileChangeCommentSubscriptionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileChangeCommentSubscriptionType returns a new FileChangeCommentSubscriptionType instance\nfunc NewFileChangeCommentSubscriptionType(Description string) *FileChangeCommentSubscriptionType {\n\ts := new(FileChangeCommentSubscriptionType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileCommentNotificationPolicy : Enable or disable file comments notifications\ntype FileCommentNotificationPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FileCommentNotificationPolicy\nconst (\n\tFileCommentNotificationPolicyDisabled = \"disabled\"\n\tFileCommentNotificationPolicyEnabled  = \"enabled\"\n\tFileCommentNotificationPolicyOther    = \"other\"\n)\n\n// FileCommentsChangePolicyDetails : Enabled/disabled commenting on team files.\ntype FileCommentsChangePolicyDetails struct {\n\t// NewValue : New commenting on team files policy.\n\tNewValue *FileCommentsPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous commenting on team files policy. Might be\n\t// missing due to historical data gap.\n\tPreviousValue *FileCommentsPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewFileCommentsChangePolicyDetails returns a new FileCommentsChangePolicyDetails instance\nfunc NewFileCommentsChangePolicyDetails(NewValue *FileCommentsPolicy) *FileCommentsChangePolicyDetails {\n\ts := new(FileCommentsChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// FileCommentsChangePolicyType : has no documentation (yet)\ntype FileCommentsChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileCommentsChangePolicyType returns a new FileCommentsChangePolicyType instance\nfunc NewFileCommentsChangePolicyType(Description string) *FileCommentsChangePolicyType {\n\ts := new(FileCommentsChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileCommentsPolicy : File comments policy\ntype FileCommentsPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FileCommentsPolicy\nconst (\n\tFileCommentsPolicyDisabled = \"disabled\"\n\tFileCommentsPolicyEnabled  = \"enabled\"\n\tFileCommentsPolicyOther    = \"other\"\n)\n\n// FileCopyDetails : Copied files and/or folders.\ntype FileCopyDetails struct {\n\t// RelocateActionDetails : Relocate action details.\n\tRelocateActionDetails []*RelocateAssetReferencesLogInfo `json:\"relocate_action_details\"`\n}\n\n// NewFileCopyDetails returns a new FileCopyDetails instance\nfunc NewFileCopyDetails(RelocateActionDetails []*RelocateAssetReferencesLogInfo) *FileCopyDetails {\n\ts := new(FileCopyDetails)\n\ts.RelocateActionDetails = RelocateActionDetails\n\treturn s\n}\n\n// FileCopyType : has no documentation (yet)\ntype FileCopyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileCopyType returns a new FileCopyType instance\nfunc NewFileCopyType(Description string) *FileCopyType {\n\ts := new(FileCopyType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileDeleteCommentDetails : Deleted file comment.\ntype FileDeleteCommentDetails struct {\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewFileDeleteCommentDetails returns a new FileDeleteCommentDetails instance\nfunc NewFileDeleteCommentDetails() *FileDeleteCommentDetails {\n\ts := new(FileDeleteCommentDetails)\n\treturn s\n}\n\n// FileDeleteCommentType : has no documentation (yet)\ntype FileDeleteCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileDeleteCommentType returns a new FileDeleteCommentType instance\nfunc NewFileDeleteCommentType(Description string) *FileDeleteCommentType {\n\ts := new(FileDeleteCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileDeleteDetails : Deleted files and/or folders.\ntype FileDeleteDetails struct {\n}\n\n// NewFileDeleteDetails returns a new FileDeleteDetails instance\nfunc NewFileDeleteDetails() *FileDeleteDetails {\n\ts := new(FileDeleteDetails)\n\treturn s\n}\n\n// FileDeleteType : has no documentation (yet)\ntype FileDeleteType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileDeleteType returns a new FileDeleteType instance\nfunc NewFileDeleteType(Description string) *FileDeleteType {\n\ts := new(FileDeleteType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileDownloadDetails : Downloaded files and/or folders.\ntype FileDownloadDetails struct {\n}\n\n// NewFileDownloadDetails returns a new FileDownloadDetails instance\nfunc NewFileDownloadDetails() *FileDownloadDetails {\n\ts := new(FileDownloadDetails)\n\treturn s\n}\n\n// FileDownloadType : has no documentation (yet)\ntype FileDownloadType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileDownloadType returns a new FileDownloadType instance\nfunc NewFileDownloadType(Description string) *FileDownloadType {\n\ts := new(FileDownloadType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileEditCommentDetails : Edited file comment.\ntype FileEditCommentDetails struct {\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n\t// PreviousCommentText : Previous comment text.\n\tPreviousCommentText string `json:\"previous_comment_text\"`\n}\n\n// NewFileEditCommentDetails returns a new FileEditCommentDetails instance\nfunc NewFileEditCommentDetails(PreviousCommentText string) *FileEditCommentDetails {\n\ts := new(FileEditCommentDetails)\n\ts.PreviousCommentText = PreviousCommentText\n\treturn s\n}\n\n// FileEditCommentType : has no documentation (yet)\ntype FileEditCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileEditCommentType returns a new FileEditCommentType instance\nfunc NewFileEditCommentType(Description string) *FileEditCommentType {\n\ts := new(FileEditCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileEditDetails : Edited files.\ntype FileEditDetails struct {\n}\n\n// NewFileEditDetails returns a new FileEditDetails instance\nfunc NewFileEditDetails() *FileEditDetails {\n\ts := new(FileEditDetails)\n\treturn s\n}\n\n// FileEditType : has no documentation (yet)\ntype FileEditType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileEditType returns a new FileEditType instance\nfunc NewFileEditType(Description string) *FileEditType {\n\ts := new(FileEditType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileGetCopyReferenceDetails : Created copy reference to file/folder.\ntype FileGetCopyReferenceDetails struct {\n}\n\n// NewFileGetCopyReferenceDetails returns a new FileGetCopyReferenceDetails instance\nfunc NewFileGetCopyReferenceDetails() *FileGetCopyReferenceDetails {\n\ts := new(FileGetCopyReferenceDetails)\n\treturn s\n}\n\n// FileGetCopyReferenceType : has no documentation (yet)\ntype FileGetCopyReferenceType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileGetCopyReferenceType returns a new FileGetCopyReferenceType instance\nfunc NewFileGetCopyReferenceType(Description string) *FileGetCopyReferenceType {\n\ts := new(FileGetCopyReferenceType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileLikeCommentDetails : Liked file comment.\ntype FileLikeCommentDetails struct {\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewFileLikeCommentDetails returns a new FileLikeCommentDetails instance\nfunc NewFileLikeCommentDetails() *FileLikeCommentDetails {\n\ts := new(FileLikeCommentDetails)\n\treturn s\n}\n\n// FileLikeCommentType : has no documentation (yet)\ntype FileLikeCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileLikeCommentType returns a new FileLikeCommentType instance\nfunc NewFileLikeCommentType(Description string) *FileLikeCommentType {\n\ts := new(FileLikeCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileLockingLockStatusChangedDetails : Locked/unlocked editing for a file.\ntype FileLockingLockStatusChangedDetails struct {\n\t// PreviousValue : Previous lock status of the file.\n\tPreviousValue *LockStatus `json:\"previous_value\"`\n\t// NewValue : New lock status of the file.\n\tNewValue *LockStatus `json:\"new_value\"`\n}\n\n// NewFileLockingLockStatusChangedDetails returns a new FileLockingLockStatusChangedDetails instance\nfunc NewFileLockingLockStatusChangedDetails(PreviousValue *LockStatus, NewValue *LockStatus) *FileLockingLockStatusChangedDetails {\n\ts := new(FileLockingLockStatusChangedDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// FileLockingLockStatusChangedType : has no documentation (yet)\ntype FileLockingLockStatusChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileLockingLockStatusChangedType returns a new FileLockingLockStatusChangedType instance\nfunc NewFileLockingLockStatusChangedType(Description string) *FileLockingLockStatusChangedType {\n\ts := new(FileLockingLockStatusChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileLockingPolicyChangedDetails : Changed file locking policy for team.\ntype FileLockingPolicyChangedDetails struct {\n\t// NewValue : New file locking policy.\n\tNewValue *team_policies.FileLockingPolicyState `json:\"new_value\"`\n\t// PreviousValue : Previous file locking policy.\n\tPreviousValue *team_policies.FileLockingPolicyState `json:\"previous_value\"`\n}\n\n// NewFileLockingPolicyChangedDetails returns a new FileLockingPolicyChangedDetails instance\nfunc NewFileLockingPolicyChangedDetails(NewValue *team_policies.FileLockingPolicyState, PreviousValue *team_policies.FileLockingPolicyState) *FileLockingPolicyChangedDetails {\n\ts := new(FileLockingPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// FileLockingPolicyChangedType : has no documentation (yet)\ntype FileLockingPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileLockingPolicyChangedType returns a new FileLockingPolicyChangedType instance\nfunc NewFileLockingPolicyChangedType(Description string) *FileLockingPolicyChangedType {\n\ts := new(FileLockingPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileOrFolderLogInfo : Generic information relevant both for files and folders\ntype FileOrFolderLogInfo struct {\n\t// Path : Path relative to event context.\n\tPath *PathLogInfo `json:\"path\"`\n\t// DisplayName : Display name.\n\tDisplayName string `json:\"display_name,omitempty\"`\n\t// FileId : Unique ID.\n\tFileId string `json:\"file_id,omitempty\"`\n\t// FileSize : File or folder size in bytes.\n\tFileSize uint64 `json:\"file_size,omitempty\"`\n}\n\n// NewFileOrFolderLogInfo returns a new FileOrFolderLogInfo instance\nfunc NewFileOrFolderLogInfo(Path *PathLogInfo) *FileOrFolderLogInfo {\n\ts := new(FileOrFolderLogInfo)\n\ts.Path = Path\n\treturn s\n}\n\n// FileLogInfo : File's logged information.\ntype FileLogInfo struct {\n\tFileOrFolderLogInfo\n}\n\n// NewFileLogInfo returns a new FileLogInfo instance\nfunc NewFileLogInfo(Path *PathLogInfo) *FileLogInfo {\n\ts := new(FileLogInfo)\n\ts.Path = Path\n\treturn s\n}\n\n// FileMoveDetails : Moved files and/or folders.\ntype FileMoveDetails struct {\n\t// RelocateActionDetails : Relocate action details.\n\tRelocateActionDetails []*RelocateAssetReferencesLogInfo `json:\"relocate_action_details\"`\n}\n\n// NewFileMoveDetails returns a new FileMoveDetails instance\nfunc NewFileMoveDetails(RelocateActionDetails []*RelocateAssetReferencesLogInfo) *FileMoveDetails {\n\ts := new(FileMoveDetails)\n\ts.RelocateActionDetails = RelocateActionDetails\n\treturn s\n}\n\n// FileMoveType : has no documentation (yet)\ntype FileMoveType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileMoveType returns a new FileMoveType instance\nfunc NewFileMoveType(Description string) *FileMoveType {\n\ts := new(FileMoveType)\n\ts.Description = Description\n\treturn s\n}\n\n// FilePermanentlyDeleteDetails : Permanently deleted files and/or folders.\ntype FilePermanentlyDeleteDetails struct {\n}\n\n// NewFilePermanentlyDeleteDetails returns a new FilePermanentlyDeleteDetails instance\nfunc NewFilePermanentlyDeleteDetails() *FilePermanentlyDeleteDetails {\n\ts := new(FilePermanentlyDeleteDetails)\n\treturn s\n}\n\n// FilePermanentlyDeleteType : has no documentation (yet)\ntype FilePermanentlyDeleteType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFilePermanentlyDeleteType returns a new FilePermanentlyDeleteType instance\nfunc NewFilePermanentlyDeleteType(Description string) *FilePermanentlyDeleteType {\n\ts := new(FilePermanentlyDeleteType)\n\ts.Description = Description\n\treturn s\n}\n\n// FilePreviewDetails : Previewed files and/or folders.\ntype FilePreviewDetails struct {\n}\n\n// NewFilePreviewDetails returns a new FilePreviewDetails instance\nfunc NewFilePreviewDetails() *FilePreviewDetails {\n\ts := new(FilePreviewDetails)\n\treturn s\n}\n\n// FilePreviewType : has no documentation (yet)\ntype FilePreviewType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFilePreviewType returns a new FilePreviewType instance\nfunc NewFilePreviewType(Description string) *FilePreviewType {\n\ts := new(FilePreviewType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileProviderMigrationPolicyChangedDetails : Changed File Provider Migration\n// policy for team.\ntype FileProviderMigrationPolicyChangedDetails struct {\n\t// NewValue : To.\n\tNewValue *team_policies.FileProviderMigrationPolicyState `json:\"new_value\"`\n\t// PreviousValue : From.\n\tPreviousValue *team_policies.FileProviderMigrationPolicyState `json:\"previous_value\"`\n}\n\n// NewFileProviderMigrationPolicyChangedDetails returns a new FileProviderMigrationPolicyChangedDetails instance\nfunc NewFileProviderMigrationPolicyChangedDetails(NewValue *team_policies.FileProviderMigrationPolicyState, PreviousValue *team_policies.FileProviderMigrationPolicyState) *FileProviderMigrationPolicyChangedDetails {\n\ts := new(FileProviderMigrationPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// FileProviderMigrationPolicyChangedType : has no documentation (yet)\ntype FileProviderMigrationPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileProviderMigrationPolicyChangedType returns a new FileProviderMigrationPolicyChangedType instance\nfunc NewFileProviderMigrationPolicyChangedType(Description string) *FileProviderMigrationPolicyChangedType {\n\ts := new(FileProviderMigrationPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileRenameDetails : Renamed files and/or folders.\ntype FileRenameDetails struct {\n\t// RelocateActionDetails : Relocate action details.\n\tRelocateActionDetails []*RelocateAssetReferencesLogInfo `json:\"relocate_action_details\"`\n}\n\n// NewFileRenameDetails returns a new FileRenameDetails instance\nfunc NewFileRenameDetails(RelocateActionDetails []*RelocateAssetReferencesLogInfo) *FileRenameDetails {\n\ts := new(FileRenameDetails)\n\ts.RelocateActionDetails = RelocateActionDetails\n\treturn s\n}\n\n// FileRenameType : has no documentation (yet)\ntype FileRenameType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileRenameType returns a new FileRenameType instance\nfunc NewFileRenameType(Description string) *FileRenameType {\n\ts := new(FileRenameType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileRequestChangeDetails : Changed file request.\ntype FileRequestChangeDetails struct {\n\t// FileRequestId : File request id. Might be missing due to historical data\n\t// gap.\n\tFileRequestId string `json:\"file_request_id,omitempty\"`\n\t// PreviousDetails : Previous file request details. Might be missing due to\n\t// historical data gap.\n\tPreviousDetails *FileRequestDetails `json:\"previous_details,omitempty\"`\n\t// NewDetails : New file request details.\n\tNewDetails *FileRequestDetails `json:\"new_details\"`\n}\n\n// NewFileRequestChangeDetails returns a new FileRequestChangeDetails instance\nfunc NewFileRequestChangeDetails(NewDetails *FileRequestDetails) *FileRequestChangeDetails {\n\ts := new(FileRequestChangeDetails)\n\ts.NewDetails = NewDetails\n\treturn s\n}\n\n// FileRequestChangeType : has no documentation (yet)\ntype FileRequestChangeType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileRequestChangeType returns a new FileRequestChangeType instance\nfunc NewFileRequestChangeType(Description string) *FileRequestChangeType {\n\ts := new(FileRequestChangeType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileRequestCloseDetails : Closed file request.\ntype FileRequestCloseDetails struct {\n\t// FileRequestId : File request id. Might be missing due to historical data\n\t// gap.\n\tFileRequestId string `json:\"file_request_id,omitempty\"`\n\t// PreviousDetails : Previous file request details. Might be missing due to\n\t// historical data gap.\n\tPreviousDetails *FileRequestDetails `json:\"previous_details,omitempty\"`\n}\n\n// NewFileRequestCloseDetails returns a new FileRequestCloseDetails instance\nfunc NewFileRequestCloseDetails() *FileRequestCloseDetails {\n\ts := new(FileRequestCloseDetails)\n\treturn s\n}\n\n// FileRequestCloseType : has no documentation (yet)\ntype FileRequestCloseType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileRequestCloseType returns a new FileRequestCloseType instance\nfunc NewFileRequestCloseType(Description string) *FileRequestCloseType {\n\ts := new(FileRequestCloseType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileRequestCreateDetails : Created file request.\ntype FileRequestCreateDetails struct {\n\t// FileRequestId : File request id. Might be missing due to historical data\n\t// gap.\n\tFileRequestId string `json:\"file_request_id,omitempty\"`\n\t// RequestDetails : File request details. Might be missing due to historical\n\t// data gap.\n\tRequestDetails *FileRequestDetails `json:\"request_details,omitempty\"`\n}\n\n// NewFileRequestCreateDetails returns a new FileRequestCreateDetails instance\nfunc NewFileRequestCreateDetails() *FileRequestCreateDetails {\n\ts := new(FileRequestCreateDetails)\n\treturn s\n}\n\n// FileRequestCreateType : has no documentation (yet)\ntype FileRequestCreateType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileRequestCreateType returns a new FileRequestCreateType instance\nfunc NewFileRequestCreateType(Description string) *FileRequestCreateType {\n\ts := new(FileRequestCreateType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileRequestDeadline : File request deadline\ntype FileRequestDeadline struct {\n\t// Deadline : The deadline for this file request. Might be missing due to\n\t// historical data gap.\n\tDeadline *time.Time `json:\"deadline,omitempty\"`\n\t// AllowLateUploads : If set, allow uploads after the deadline has passed.\n\tAllowLateUploads string `json:\"allow_late_uploads,omitempty\"`\n}\n\n// NewFileRequestDeadline returns a new FileRequestDeadline instance\nfunc NewFileRequestDeadline() *FileRequestDeadline {\n\ts := new(FileRequestDeadline)\n\treturn s\n}\n\n// FileRequestDeleteDetails : Delete file request.\ntype FileRequestDeleteDetails struct {\n\t// FileRequestId : File request id. Might be missing due to historical data\n\t// gap.\n\tFileRequestId string `json:\"file_request_id,omitempty\"`\n\t// PreviousDetails : Previous file request details. Might be missing due to\n\t// historical data gap.\n\tPreviousDetails *FileRequestDetails `json:\"previous_details,omitempty\"`\n}\n\n// NewFileRequestDeleteDetails returns a new FileRequestDeleteDetails instance\nfunc NewFileRequestDeleteDetails() *FileRequestDeleteDetails {\n\ts := new(FileRequestDeleteDetails)\n\treturn s\n}\n\n// FileRequestDeleteType : has no documentation (yet)\ntype FileRequestDeleteType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileRequestDeleteType returns a new FileRequestDeleteType instance\nfunc NewFileRequestDeleteType(Description string) *FileRequestDeleteType {\n\ts := new(FileRequestDeleteType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileRequestDetails : File request details\ntype FileRequestDetails struct {\n\t// AssetIndex : Asset position in the Assets list.\n\tAssetIndex uint64 `json:\"asset_index\"`\n\t// Deadline : File request deadline.\n\tDeadline *FileRequestDeadline `json:\"deadline,omitempty\"`\n}\n\n// NewFileRequestDetails returns a new FileRequestDetails instance\nfunc NewFileRequestDetails(AssetIndex uint64) *FileRequestDetails {\n\ts := new(FileRequestDetails)\n\ts.AssetIndex = AssetIndex\n\treturn s\n}\n\n// FileRequestReceiveFileDetails : Received files for file request.\ntype FileRequestReceiveFileDetails struct {\n\t// FileRequestId : File request id. Might be missing due to historical data\n\t// gap.\n\tFileRequestId string `json:\"file_request_id,omitempty\"`\n\t// FileRequestDetails : File request details. Might be missing due to\n\t// historical data gap.\n\tFileRequestDetails *FileRequestDetails `json:\"file_request_details,omitempty\"`\n\t// SubmittedFileNames : Submitted file names.\n\tSubmittedFileNames []string `json:\"submitted_file_names\"`\n\t// SubmitterName : The name as provided by the submitter.\n\tSubmitterName string `json:\"submitter_name,omitempty\"`\n\t// SubmitterEmail : The email as provided by the submitter.\n\tSubmitterEmail string `json:\"submitter_email,omitempty\"`\n}\n\n// NewFileRequestReceiveFileDetails returns a new FileRequestReceiveFileDetails instance\nfunc NewFileRequestReceiveFileDetails(SubmittedFileNames []string) *FileRequestReceiveFileDetails {\n\ts := new(FileRequestReceiveFileDetails)\n\ts.SubmittedFileNames = SubmittedFileNames\n\treturn s\n}\n\n// FileRequestReceiveFileType : has no documentation (yet)\ntype FileRequestReceiveFileType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileRequestReceiveFileType returns a new FileRequestReceiveFileType instance\nfunc NewFileRequestReceiveFileType(Description string) *FileRequestReceiveFileType {\n\ts := new(FileRequestReceiveFileType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileRequestsChangePolicyDetails : Enabled/disabled file requests.\ntype FileRequestsChangePolicyDetails struct {\n\t// NewValue : New file requests policy.\n\tNewValue *FileRequestsPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous file requests policy. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *FileRequestsPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewFileRequestsChangePolicyDetails returns a new FileRequestsChangePolicyDetails instance\nfunc NewFileRequestsChangePolicyDetails(NewValue *FileRequestsPolicy) *FileRequestsChangePolicyDetails {\n\ts := new(FileRequestsChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// FileRequestsChangePolicyType : has no documentation (yet)\ntype FileRequestsChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileRequestsChangePolicyType returns a new FileRequestsChangePolicyType instance\nfunc NewFileRequestsChangePolicyType(Description string) *FileRequestsChangePolicyType {\n\ts := new(FileRequestsChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileRequestsEmailsEnabledDetails : Enabled file request emails for everyone.\ntype FileRequestsEmailsEnabledDetails struct {\n}\n\n// NewFileRequestsEmailsEnabledDetails returns a new FileRequestsEmailsEnabledDetails instance\nfunc NewFileRequestsEmailsEnabledDetails() *FileRequestsEmailsEnabledDetails {\n\ts := new(FileRequestsEmailsEnabledDetails)\n\treturn s\n}\n\n// FileRequestsEmailsEnabledType : has no documentation (yet)\ntype FileRequestsEmailsEnabledType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileRequestsEmailsEnabledType returns a new FileRequestsEmailsEnabledType instance\nfunc NewFileRequestsEmailsEnabledType(Description string) *FileRequestsEmailsEnabledType {\n\ts := new(FileRequestsEmailsEnabledType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileRequestsEmailsRestrictedToTeamOnlyDetails : Enabled file request emails\n// for team.\ntype FileRequestsEmailsRestrictedToTeamOnlyDetails struct {\n}\n\n// NewFileRequestsEmailsRestrictedToTeamOnlyDetails returns a new FileRequestsEmailsRestrictedToTeamOnlyDetails instance\nfunc NewFileRequestsEmailsRestrictedToTeamOnlyDetails() *FileRequestsEmailsRestrictedToTeamOnlyDetails {\n\ts := new(FileRequestsEmailsRestrictedToTeamOnlyDetails)\n\treturn s\n}\n\n// FileRequestsEmailsRestrictedToTeamOnlyType : has no documentation (yet)\ntype FileRequestsEmailsRestrictedToTeamOnlyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileRequestsEmailsRestrictedToTeamOnlyType returns a new FileRequestsEmailsRestrictedToTeamOnlyType instance\nfunc NewFileRequestsEmailsRestrictedToTeamOnlyType(Description string) *FileRequestsEmailsRestrictedToTeamOnlyType {\n\ts := new(FileRequestsEmailsRestrictedToTeamOnlyType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileRequestsPolicy : File requests policy\ntype FileRequestsPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FileRequestsPolicy\nconst (\n\tFileRequestsPolicyDisabled = \"disabled\"\n\tFileRequestsPolicyEnabled  = \"enabled\"\n\tFileRequestsPolicyOther    = \"other\"\n)\n\n// FileResolveCommentDetails : Resolved file comment.\ntype FileResolveCommentDetails struct {\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewFileResolveCommentDetails returns a new FileResolveCommentDetails instance\nfunc NewFileResolveCommentDetails() *FileResolveCommentDetails {\n\ts := new(FileResolveCommentDetails)\n\treturn s\n}\n\n// FileResolveCommentType : has no documentation (yet)\ntype FileResolveCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileResolveCommentType returns a new FileResolveCommentType instance\nfunc NewFileResolveCommentType(Description string) *FileResolveCommentType {\n\ts := new(FileResolveCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileRestoreDetails : Restored deleted files and/or folders.\ntype FileRestoreDetails struct {\n}\n\n// NewFileRestoreDetails returns a new FileRestoreDetails instance\nfunc NewFileRestoreDetails() *FileRestoreDetails {\n\ts := new(FileRestoreDetails)\n\treturn s\n}\n\n// FileRestoreType : has no documentation (yet)\ntype FileRestoreType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileRestoreType returns a new FileRestoreType instance\nfunc NewFileRestoreType(Description string) *FileRestoreType {\n\ts := new(FileRestoreType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileRevertDetails : Reverted files to previous version.\ntype FileRevertDetails struct {\n}\n\n// NewFileRevertDetails returns a new FileRevertDetails instance\nfunc NewFileRevertDetails() *FileRevertDetails {\n\ts := new(FileRevertDetails)\n\treturn s\n}\n\n// FileRevertType : has no documentation (yet)\ntype FileRevertType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileRevertType returns a new FileRevertType instance\nfunc NewFileRevertType(Description string) *FileRevertType {\n\ts := new(FileRevertType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileRollbackChangesDetails : Rolled back file actions.\ntype FileRollbackChangesDetails struct {\n}\n\n// NewFileRollbackChangesDetails returns a new FileRollbackChangesDetails instance\nfunc NewFileRollbackChangesDetails() *FileRollbackChangesDetails {\n\ts := new(FileRollbackChangesDetails)\n\treturn s\n}\n\n// FileRollbackChangesType : has no documentation (yet)\ntype FileRollbackChangesType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileRollbackChangesType returns a new FileRollbackChangesType instance\nfunc NewFileRollbackChangesType(Description string) *FileRollbackChangesType {\n\ts := new(FileRollbackChangesType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileSaveCopyReferenceDetails : Saved file/folder using copy reference.\ntype FileSaveCopyReferenceDetails struct {\n\t// RelocateActionDetails : Relocate action details.\n\tRelocateActionDetails []*RelocateAssetReferencesLogInfo `json:\"relocate_action_details\"`\n}\n\n// NewFileSaveCopyReferenceDetails returns a new FileSaveCopyReferenceDetails instance\nfunc NewFileSaveCopyReferenceDetails(RelocateActionDetails []*RelocateAssetReferencesLogInfo) *FileSaveCopyReferenceDetails {\n\ts := new(FileSaveCopyReferenceDetails)\n\ts.RelocateActionDetails = RelocateActionDetails\n\treturn s\n}\n\n// FileSaveCopyReferenceType : has no documentation (yet)\ntype FileSaveCopyReferenceType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileSaveCopyReferenceType returns a new FileSaveCopyReferenceType instance\nfunc NewFileSaveCopyReferenceType(Description string) *FileSaveCopyReferenceType {\n\ts := new(FileSaveCopyReferenceType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileTransfersFileAddDetails : Transfer files added.\ntype FileTransfersFileAddDetails struct {\n\t// FileTransferId : Transfer id.\n\tFileTransferId string `json:\"file_transfer_id\"`\n}\n\n// NewFileTransfersFileAddDetails returns a new FileTransfersFileAddDetails instance\nfunc NewFileTransfersFileAddDetails(FileTransferId string) *FileTransfersFileAddDetails {\n\ts := new(FileTransfersFileAddDetails)\n\ts.FileTransferId = FileTransferId\n\treturn s\n}\n\n// FileTransfersFileAddType : has no documentation (yet)\ntype FileTransfersFileAddType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileTransfersFileAddType returns a new FileTransfersFileAddType instance\nfunc NewFileTransfersFileAddType(Description string) *FileTransfersFileAddType {\n\ts := new(FileTransfersFileAddType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileTransfersPolicy : File transfers policy\ntype FileTransfersPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FileTransfersPolicy\nconst (\n\tFileTransfersPolicyDisabled = \"disabled\"\n\tFileTransfersPolicyEnabled  = \"enabled\"\n\tFileTransfersPolicyOther    = \"other\"\n)\n\n// FileTransfersPolicyChangedDetails : Changed file transfers policy for team.\ntype FileTransfersPolicyChangedDetails struct {\n\t// NewValue : New file transfers policy.\n\tNewValue *FileTransfersPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous file transfers policy.\n\tPreviousValue *FileTransfersPolicy `json:\"previous_value\"`\n}\n\n// NewFileTransfersPolicyChangedDetails returns a new FileTransfersPolicyChangedDetails instance\nfunc NewFileTransfersPolicyChangedDetails(NewValue *FileTransfersPolicy, PreviousValue *FileTransfersPolicy) *FileTransfersPolicyChangedDetails {\n\ts := new(FileTransfersPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// FileTransfersPolicyChangedType : has no documentation (yet)\ntype FileTransfersPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileTransfersPolicyChangedType returns a new FileTransfersPolicyChangedType instance\nfunc NewFileTransfersPolicyChangedType(Description string) *FileTransfersPolicyChangedType {\n\ts := new(FileTransfersPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileTransfersTransferDeleteDetails : Deleted transfer.\ntype FileTransfersTransferDeleteDetails struct {\n\t// FileTransferId : Transfer id.\n\tFileTransferId string `json:\"file_transfer_id\"`\n}\n\n// NewFileTransfersTransferDeleteDetails returns a new FileTransfersTransferDeleteDetails instance\nfunc NewFileTransfersTransferDeleteDetails(FileTransferId string) *FileTransfersTransferDeleteDetails {\n\ts := new(FileTransfersTransferDeleteDetails)\n\ts.FileTransferId = FileTransferId\n\treturn s\n}\n\n// FileTransfersTransferDeleteType : has no documentation (yet)\ntype FileTransfersTransferDeleteType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileTransfersTransferDeleteType returns a new FileTransfersTransferDeleteType instance\nfunc NewFileTransfersTransferDeleteType(Description string) *FileTransfersTransferDeleteType {\n\ts := new(FileTransfersTransferDeleteType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileTransfersTransferDownloadDetails : Transfer downloaded.\ntype FileTransfersTransferDownloadDetails struct {\n\t// FileTransferId : Transfer id.\n\tFileTransferId string `json:\"file_transfer_id\"`\n}\n\n// NewFileTransfersTransferDownloadDetails returns a new FileTransfersTransferDownloadDetails instance\nfunc NewFileTransfersTransferDownloadDetails(FileTransferId string) *FileTransfersTransferDownloadDetails {\n\ts := new(FileTransfersTransferDownloadDetails)\n\ts.FileTransferId = FileTransferId\n\treturn s\n}\n\n// FileTransfersTransferDownloadType : has no documentation (yet)\ntype FileTransfersTransferDownloadType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileTransfersTransferDownloadType returns a new FileTransfersTransferDownloadType instance\nfunc NewFileTransfersTransferDownloadType(Description string) *FileTransfersTransferDownloadType {\n\ts := new(FileTransfersTransferDownloadType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileTransfersTransferSendDetails : Sent transfer.\ntype FileTransfersTransferSendDetails struct {\n\t// FileTransferId : Transfer id.\n\tFileTransferId string `json:\"file_transfer_id\"`\n}\n\n// NewFileTransfersTransferSendDetails returns a new FileTransfersTransferSendDetails instance\nfunc NewFileTransfersTransferSendDetails(FileTransferId string) *FileTransfersTransferSendDetails {\n\ts := new(FileTransfersTransferSendDetails)\n\ts.FileTransferId = FileTransferId\n\treturn s\n}\n\n// FileTransfersTransferSendType : has no documentation (yet)\ntype FileTransfersTransferSendType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileTransfersTransferSendType returns a new FileTransfersTransferSendType instance\nfunc NewFileTransfersTransferSendType(Description string) *FileTransfersTransferSendType {\n\ts := new(FileTransfersTransferSendType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileTransfersTransferViewDetails : Viewed transfer.\ntype FileTransfersTransferViewDetails struct {\n\t// FileTransferId : Transfer id.\n\tFileTransferId string `json:\"file_transfer_id\"`\n}\n\n// NewFileTransfersTransferViewDetails returns a new FileTransfersTransferViewDetails instance\nfunc NewFileTransfersTransferViewDetails(FileTransferId string) *FileTransfersTransferViewDetails {\n\ts := new(FileTransfersTransferViewDetails)\n\ts.FileTransferId = FileTransferId\n\treturn s\n}\n\n// FileTransfersTransferViewType : has no documentation (yet)\ntype FileTransfersTransferViewType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileTransfersTransferViewType returns a new FileTransfersTransferViewType instance\nfunc NewFileTransfersTransferViewType(Description string) *FileTransfersTransferViewType {\n\ts := new(FileTransfersTransferViewType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileUnlikeCommentDetails : Unliked file comment.\ntype FileUnlikeCommentDetails struct {\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewFileUnlikeCommentDetails returns a new FileUnlikeCommentDetails instance\nfunc NewFileUnlikeCommentDetails() *FileUnlikeCommentDetails {\n\ts := new(FileUnlikeCommentDetails)\n\treturn s\n}\n\n// FileUnlikeCommentType : has no documentation (yet)\ntype FileUnlikeCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileUnlikeCommentType returns a new FileUnlikeCommentType instance\nfunc NewFileUnlikeCommentType(Description string) *FileUnlikeCommentType {\n\ts := new(FileUnlikeCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// FileUnresolveCommentDetails : Unresolved file comment.\ntype FileUnresolveCommentDetails struct {\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewFileUnresolveCommentDetails returns a new FileUnresolveCommentDetails instance\nfunc NewFileUnresolveCommentDetails() *FileUnresolveCommentDetails {\n\ts := new(FileUnresolveCommentDetails)\n\treturn s\n}\n\n// FileUnresolveCommentType : has no documentation (yet)\ntype FileUnresolveCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFileUnresolveCommentType returns a new FileUnresolveCommentType instance\nfunc NewFileUnresolveCommentType(Description string) *FileUnresolveCommentType {\n\ts := new(FileUnresolveCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// FolderLogInfo : Folder's logged information.\ntype FolderLogInfo struct {\n\tFileOrFolderLogInfo\n\t// FileCount : Number of files within the folder.\n\tFileCount uint64 `json:\"file_count,omitempty\"`\n}\n\n// NewFolderLogInfo returns a new FolderLogInfo instance\nfunc NewFolderLogInfo(Path *PathLogInfo) *FolderLogInfo {\n\ts := new(FolderLogInfo)\n\ts.Path = Path\n\treturn s\n}\n\n// FolderOverviewDescriptionChangedDetails : Updated folder overview.\ntype FolderOverviewDescriptionChangedDetails struct {\n\t// FolderOverviewLocationAsset : Folder Overview location position in the\n\t// Assets list.\n\tFolderOverviewLocationAsset uint64 `json:\"folder_overview_location_asset\"`\n}\n\n// NewFolderOverviewDescriptionChangedDetails returns a new FolderOverviewDescriptionChangedDetails instance\nfunc NewFolderOverviewDescriptionChangedDetails(FolderOverviewLocationAsset uint64) *FolderOverviewDescriptionChangedDetails {\n\ts := new(FolderOverviewDescriptionChangedDetails)\n\ts.FolderOverviewLocationAsset = FolderOverviewLocationAsset\n\treturn s\n}\n\n// FolderOverviewDescriptionChangedType : has no documentation (yet)\ntype FolderOverviewDescriptionChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFolderOverviewDescriptionChangedType returns a new FolderOverviewDescriptionChangedType instance\nfunc NewFolderOverviewDescriptionChangedType(Description string) *FolderOverviewDescriptionChangedType {\n\ts := new(FolderOverviewDescriptionChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// FolderOverviewItemPinnedDetails : Pinned item to folder overview.\ntype FolderOverviewItemPinnedDetails struct {\n\t// FolderOverviewLocationAsset : Folder Overview location position in the\n\t// Assets list.\n\tFolderOverviewLocationAsset uint64 `json:\"folder_overview_location_asset\"`\n\t// PinnedItemsAssetIndices : Pinned items positions in the Assets list.\n\tPinnedItemsAssetIndices []uint64 `json:\"pinned_items_asset_indices\"`\n}\n\n// NewFolderOverviewItemPinnedDetails returns a new FolderOverviewItemPinnedDetails instance\nfunc NewFolderOverviewItemPinnedDetails(FolderOverviewLocationAsset uint64, PinnedItemsAssetIndices []uint64) *FolderOverviewItemPinnedDetails {\n\ts := new(FolderOverviewItemPinnedDetails)\n\ts.FolderOverviewLocationAsset = FolderOverviewLocationAsset\n\ts.PinnedItemsAssetIndices = PinnedItemsAssetIndices\n\treturn s\n}\n\n// FolderOverviewItemPinnedType : has no documentation (yet)\ntype FolderOverviewItemPinnedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFolderOverviewItemPinnedType returns a new FolderOverviewItemPinnedType instance\nfunc NewFolderOverviewItemPinnedType(Description string) *FolderOverviewItemPinnedType {\n\ts := new(FolderOverviewItemPinnedType)\n\ts.Description = Description\n\treturn s\n}\n\n// FolderOverviewItemUnpinnedDetails : Unpinned item from folder overview.\ntype FolderOverviewItemUnpinnedDetails struct {\n\t// FolderOverviewLocationAsset : Folder Overview location position in the\n\t// Assets list.\n\tFolderOverviewLocationAsset uint64 `json:\"folder_overview_location_asset\"`\n\t// PinnedItemsAssetIndices : Pinned items positions in the Assets list.\n\tPinnedItemsAssetIndices []uint64 `json:\"pinned_items_asset_indices\"`\n}\n\n// NewFolderOverviewItemUnpinnedDetails returns a new FolderOverviewItemUnpinnedDetails instance\nfunc NewFolderOverviewItemUnpinnedDetails(FolderOverviewLocationAsset uint64, PinnedItemsAssetIndices []uint64) *FolderOverviewItemUnpinnedDetails {\n\ts := new(FolderOverviewItemUnpinnedDetails)\n\ts.FolderOverviewLocationAsset = FolderOverviewLocationAsset\n\ts.PinnedItemsAssetIndices = PinnedItemsAssetIndices\n\treturn s\n}\n\n// FolderOverviewItemUnpinnedType : has no documentation (yet)\ntype FolderOverviewItemUnpinnedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewFolderOverviewItemUnpinnedType returns a new FolderOverviewItemUnpinnedType instance\nfunc NewFolderOverviewItemUnpinnedType(Description string) *FolderOverviewItemUnpinnedType {\n\ts := new(FolderOverviewItemUnpinnedType)\n\ts.Description = Description\n\treturn s\n}\n\n// GeoLocationLogInfo : Geographic location details.\ntype GeoLocationLogInfo struct {\n\t// City : City name.\n\tCity string `json:\"city,omitempty\"`\n\t// Region : Region name.\n\tRegion string `json:\"region,omitempty\"`\n\t// Country : Country code.\n\tCountry string `json:\"country,omitempty\"`\n\t// IpAddress : IP address.\n\tIpAddress string `json:\"ip_address\"`\n}\n\n// NewGeoLocationLogInfo returns a new GeoLocationLogInfo instance\nfunc NewGeoLocationLogInfo(IpAddress string) *GeoLocationLogInfo {\n\ts := new(GeoLocationLogInfo)\n\ts.IpAddress = IpAddress\n\treturn s\n}\n\n// GetTeamEventsArg : has no documentation (yet)\ntype GetTeamEventsArg struct {\n\t// Limit : The maximal number of results to return per call. Note that some\n\t// calls may not return `limit` number of events, and may even return no\n\t// events, even with `has_more` set to true. In this case, callers should\n\t// fetch again using `getEventsContinue`.\n\tLimit uint32 `json:\"limit\"`\n\t// AccountId : Filter the events by account ID. Return only events with this\n\t// account_id as either Actor, Context, or Participants.\n\tAccountId string `json:\"account_id,omitempty\"`\n\t// Time : Filter by time range.\n\tTime *team_common.TimeRange `json:\"time,omitempty\"`\n\t// Category : Filter the returned events to a single category. Note that\n\t// category shouldn't be provided together with event_type.\n\tCategory *EventCategory `json:\"category,omitempty\"`\n\t// EventType : Filter the returned events to a single event type. Note that\n\t// event_type shouldn't be provided together with category.\n\tEventType *EventTypeArg `json:\"event_type,omitempty\"`\n}\n\n// NewGetTeamEventsArg returns a new GetTeamEventsArg instance\nfunc NewGetTeamEventsArg() *GetTeamEventsArg {\n\ts := new(GetTeamEventsArg)\n\ts.Limit = 1000\n\treturn s\n}\n\n// GetTeamEventsContinueArg : has no documentation (yet)\ntype GetTeamEventsContinueArg struct {\n\t// Cursor : Indicates from what point to get the next set of events.\n\tCursor string `json:\"cursor\"`\n}\n\n// NewGetTeamEventsContinueArg returns a new GetTeamEventsContinueArg instance\nfunc NewGetTeamEventsContinueArg(Cursor string) *GetTeamEventsContinueArg {\n\ts := new(GetTeamEventsContinueArg)\n\ts.Cursor = Cursor\n\treturn s\n}\n\n// GetTeamEventsContinueError : Errors that can be raised when calling\n// `getEventsContinue`.\ntype GetTeamEventsContinueError struct {\n\tdropbox.Tagged\n\t// Reset : Cursors are intended to be used quickly. Individual cursor values\n\t// are normally valid for days, but in rare cases may be reset sooner.\n\t// Cursor reset errors should be handled by fetching a new cursor from\n\t// `getEvents`. The associated value is the approximate timestamp of the\n\t// most recent event returned by the cursor. This should be used as a\n\t// resumption point when calling `getEvents` to obtain a new cursor.\n\tReset time.Time `json:\"reset,omitempty\"`\n}\n\n// Valid tag values for GetTeamEventsContinueError\nconst (\n\tGetTeamEventsContinueErrorBadCursor = \"bad_cursor\"\n\tGetTeamEventsContinueErrorReset     = \"reset\"\n\tGetTeamEventsContinueErrorOther     = \"other\"\n)\n\n// UnmarshalJSON deserializes into a GetTeamEventsContinueError instance\nfunc (u *GetTeamEventsContinueError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Reset : Cursors are intended to be used quickly. Individual cursor\n\t\t// values are normally valid for days, but in rare cases may be reset\n\t\t// sooner. Cursor reset errors should be handled by fetching a new\n\t\t// cursor from `getEvents`. The associated value is the approximate\n\t\t// timestamp of the most recent event returned by the cursor. This\n\t\t// should be used as a resumption point when calling `getEvents` to\n\t\t// obtain a new cursor.\n\t\tReset time.Time `json:\"reset,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"reset\":\n\t\tu.Reset = w.Reset\n\n\t}\n\treturn nil\n}\n\n// GetTeamEventsError : Errors that can be raised when calling `getEvents`.\ntype GetTeamEventsError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GetTeamEventsError\nconst (\n\tGetTeamEventsErrorAccountIdNotFound = \"account_id_not_found\"\n\tGetTeamEventsErrorInvalidTimeRange  = \"invalid_time_range\"\n\tGetTeamEventsErrorInvalidFilters    = \"invalid_filters\"\n\tGetTeamEventsErrorOther             = \"other\"\n)\n\n// GetTeamEventsResult : has no documentation (yet)\ntype GetTeamEventsResult struct {\n\t// Events : List of events. Note that events are not guaranteed to be sorted\n\t// by their timestamp value.\n\tEvents []*TeamEvent `json:\"events\"`\n\t// Cursor : Pass the cursor into `getEventsContinue` to obtain additional\n\t// events. The value of `cursor` may change for each response from\n\t// `getEventsContinue`, regardless of the value of `has_more`; older cursor\n\t// strings may expire. Thus, callers should ensure that they update their\n\t// cursor based on the latest value of `cursor` after each call, and poll\n\t// regularly if they wish to poll for new events. Callers should handle\n\t// reset exceptions for expired cursors.\n\tCursor string `json:\"cursor\"`\n\t// HasMore : Is true if there may be additional events that have not been\n\t// returned yet. An additional call to `getEventsContinue` can retrieve\n\t// them. Note that `has_more` may be true, even if `events` is empty.\n\tHasMore bool `json:\"has_more\"`\n}\n\n// NewGetTeamEventsResult returns a new GetTeamEventsResult instance\nfunc NewGetTeamEventsResult(Events []*TeamEvent, Cursor string, HasMore bool) *GetTeamEventsResult {\n\ts := new(GetTeamEventsResult)\n\ts.Events = Events\n\ts.Cursor = Cursor\n\ts.HasMore = HasMore\n\treturn s\n}\n\n// GoogleSsoChangePolicyDetails : Enabled/disabled Google single sign-on for\n// team.\ntype GoogleSsoChangePolicyDetails struct {\n\t// NewValue : New Google single sign-on policy.\n\tNewValue *GoogleSsoPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous Google single sign-on policy. Might be missing\n\t// due to historical data gap.\n\tPreviousValue *GoogleSsoPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewGoogleSsoChangePolicyDetails returns a new GoogleSsoChangePolicyDetails instance\nfunc NewGoogleSsoChangePolicyDetails(NewValue *GoogleSsoPolicy) *GoogleSsoChangePolicyDetails {\n\ts := new(GoogleSsoChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// GoogleSsoChangePolicyType : has no documentation (yet)\ntype GoogleSsoChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGoogleSsoChangePolicyType returns a new GoogleSsoChangePolicyType instance\nfunc NewGoogleSsoChangePolicyType(Description string) *GoogleSsoChangePolicyType {\n\ts := new(GoogleSsoChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// GoogleSsoPolicy : Google SSO policy\ntype GoogleSsoPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GoogleSsoPolicy\nconst (\n\tGoogleSsoPolicyDisabled = \"disabled\"\n\tGoogleSsoPolicyEnabled  = \"enabled\"\n\tGoogleSsoPolicyOther    = \"other\"\n)\n\n// GovernancePolicyAddFolderFailedDetails : Couldn't add a folder to a policy.\ntype GovernancePolicyAddFolderFailedDetails struct {\n\t// GovernancePolicyId : Policy ID.\n\tGovernancePolicyId string `json:\"governance_policy_id\"`\n\t// Name : Policy name.\n\tName string `json:\"name\"`\n\t// PolicyType : Policy type.\n\tPolicyType *PolicyType `json:\"policy_type,omitempty\"`\n\t// Folder : Folder.\n\tFolder string `json:\"folder\"`\n\t// Reason : Reason.\n\tReason string `json:\"reason,omitempty\"`\n}\n\n// NewGovernancePolicyAddFolderFailedDetails returns a new GovernancePolicyAddFolderFailedDetails instance\nfunc NewGovernancePolicyAddFolderFailedDetails(GovernancePolicyId string, Name string, Folder string) *GovernancePolicyAddFolderFailedDetails {\n\ts := new(GovernancePolicyAddFolderFailedDetails)\n\ts.GovernancePolicyId = GovernancePolicyId\n\ts.Name = Name\n\ts.Folder = Folder\n\treturn s\n}\n\n// GovernancePolicyAddFolderFailedType : has no documentation (yet)\ntype GovernancePolicyAddFolderFailedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGovernancePolicyAddFolderFailedType returns a new GovernancePolicyAddFolderFailedType instance\nfunc NewGovernancePolicyAddFolderFailedType(Description string) *GovernancePolicyAddFolderFailedType {\n\ts := new(GovernancePolicyAddFolderFailedType)\n\ts.Description = Description\n\treturn s\n}\n\n// GovernancePolicyAddFoldersDetails : Added folders to policy.\ntype GovernancePolicyAddFoldersDetails struct {\n\t// GovernancePolicyId : Policy ID.\n\tGovernancePolicyId string `json:\"governance_policy_id\"`\n\t// Name : Policy name.\n\tName string `json:\"name\"`\n\t// PolicyType : Policy type.\n\tPolicyType *PolicyType `json:\"policy_type,omitempty\"`\n\t// Folders : Folders.\n\tFolders []string `json:\"folders,omitempty\"`\n}\n\n// NewGovernancePolicyAddFoldersDetails returns a new GovernancePolicyAddFoldersDetails instance\nfunc NewGovernancePolicyAddFoldersDetails(GovernancePolicyId string, Name string) *GovernancePolicyAddFoldersDetails {\n\ts := new(GovernancePolicyAddFoldersDetails)\n\ts.GovernancePolicyId = GovernancePolicyId\n\ts.Name = Name\n\treturn s\n}\n\n// GovernancePolicyAddFoldersType : has no documentation (yet)\ntype GovernancePolicyAddFoldersType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGovernancePolicyAddFoldersType returns a new GovernancePolicyAddFoldersType instance\nfunc NewGovernancePolicyAddFoldersType(Description string) *GovernancePolicyAddFoldersType {\n\ts := new(GovernancePolicyAddFoldersType)\n\ts.Description = Description\n\treturn s\n}\n\n// GovernancePolicyContentDisposedDetails : Content disposed.\ntype GovernancePolicyContentDisposedDetails struct {\n\t// GovernancePolicyId : Policy ID.\n\tGovernancePolicyId string `json:\"governance_policy_id\"`\n\t// Name : Policy name.\n\tName string `json:\"name\"`\n\t// PolicyType : Policy type.\n\tPolicyType *PolicyType `json:\"policy_type,omitempty\"`\n\t// DispositionType : Disposition type.\n\tDispositionType *DispositionActionType `json:\"disposition_type\"`\n}\n\n// NewGovernancePolicyContentDisposedDetails returns a new GovernancePolicyContentDisposedDetails instance\nfunc NewGovernancePolicyContentDisposedDetails(GovernancePolicyId string, Name string, DispositionType *DispositionActionType) *GovernancePolicyContentDisposedDetails {\n\ts := new(GovernancePolicyContentDisposedDetails)\n\ts.GovernancePolicyId = GovernancePolicyId\n\ts.Name = Name\n\ts.DispositionType = DispositionType\n\treturn s\n}\n\n// GovernancePolicyContentDisposedType : has no documentation (yet)\ntype GovernancePolicyContentDisposedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGovernancePolicyContentDisposedType returns a new GovernancePolicyContentDisposedType instance\nfunc NewGovernancePolicyContentDisposedType(Description string) *GovernancePolicyContentDisposedType {\n\ts := new(GovernancePolicyContentDisposedType)\n\ts.Description = Description\n\treturn s\n}\n\n// GovernancePolicyCreateDetails : Activated a new policy.\ntype GovernancePolicyCreateDetails struct {\n\t// GovernancePolicyId : Policy ID.\n\tGovernancePolicyId string `json:\"governance_policy_id\"`\n\t// Name : Policy name.\n\tName string `json:\"name\"`\n\t// PolicyType : Policy type.\n\tPolicyType *PolicyType `json:\"policy_type,omitempty\"`\n\t// Duration : Duration in days.\n\tDuration *DurationLogInfo `json:\"duration\"`\n\t// Folders : Folders.\n\tFolders []string `json:\"folders,omitempty\"`\n}\n\n// NewGovernancePolicyCreateDetails returns a new GovernancePolicyCreateDetails instance\nfunc NewGovernancePolicyCreateDetails(GovernancePolicyId string, Name string, Duration *DurationLogInfo) *GovernancePolicyCreateDetails {\n\ts := new(GovernancePolicyCreateDetails)\n\ts.GovernancePolicyId = GovernancePolicyId\n\ts.Name = Name\n\ts.Duration = Duration\n\treturn s\n}\n\n// GovernancePolicyCreateType : has no documentation (yet)\ntype GovernancePolicyCreateType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGovernancePolicyCreateType returns a new GovernancePolicyCreateType instance\nfunc NewGovernancePolicyCreateType(Description string) *GovernancePolicyCreateType {\n\ts := new(GovernancePolicyCreateType)\n\ts.Description = Description\n\treturn s\n}\n\n// GovernancePolicyDeleteDetails : Deleted a policy.\ntype GovernancePolicyDeleteDetails struct {\n\t// GovernancePolicyId : Policy ID.\n\tGovernancePolicyId string `json:\"governance_policy_id\"`\n\t// Name : Policy name.\n\tName string `json:\"name\"`\n\t// PolicyType : Policy type.\n\tPolicyType *PolicyType `json:\"policy_type,omitempty\"`\n}\n\n// NewGovernancePolicyDeleteDetails returns a new GovernancePolicyDeleteDetails instance\nfunc NewGovernancePolicyDeleteDetails(GovernancePolicyId string, Name string) *GovernancePolicyDeleteDetails {\n\ts := new(GovernancePolicyDeleteDetails)\n\ts.GovernancePolicyId = GovernancePolicyId\n\ts.Name = Name\n\treturn s\n}\n\n// GovernancePolicyDeleteType : has no documentation (yet)\ntype GovernancePolicyDeleteType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGovernancePolicyDeleteType returns a new GovernancePolicyDeleteType instance\nfunc NewGovernancePolicyDeleteType(Description string) *GovernancePolicyDeleteType {\n\ts := new(GovernancePolicyDeleteType)\n\ts.Description = Description\n\treturn s\n}\n\n// GovernancePolicyEditDetailsDetails : Edited policy.\ntype GovernancePolicyEditDetailsDetails struct {\n\t// GovernancePolicyId : Policy ID.\n\tGovernancePolicyId string `json:\"governance_policy_id\"`\n\t// Name : Policy name.\n\tName string `json:\"name\"`\n\t// PolicyType : Policy type.\n\tPolicyType *PolicyType `json:\"policy_type,omitempty\"`\n\t// Attribute : Attribute.\n\tAttribute string `json:\"attribute\"`\n\t// PreviousValue : From.\n\tPreviousValue string `json:\"previous_value\"`\n\t// NewValue : To.\n\tNewValue string `json:\"new_value\"`\n}\n\n// NewGovernancePolicyEditDetailsDetails returns a new GovernancePolicyEditDetailsDetails instance\nfunc NewGovernancePolicyEditDetailsDetails(GovernancePolicyId string, Name string, Attribute string, PreviousValue string, NewValue string) *GovernancePolicyEditDetailsDetails {\n\ts := new(GovernancePolicyEditDetailsDetails)\n\ts.GovernancePolicyId = GovernancePolicyId\n\ts.Name = Name\n\ts.Attribute = Attribute\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// GovernancePolicyEditDetailsType : has no documentation (yet)\ntype GovernancePolicyEditDetailsType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGovernancePolicyEditDetailsType returns a new GovernancePolicyEditDetailsType instance\nfunc NewGovernancePolicyEditDetailsType(Description string) *GovernancePolicyEditDetailsType {\n\ts := new(GovernancePolicyEditDetailsType)\n\ts.Description = Description\n\treturn s\n}\n\n// GovernancePolicyEditDurationDetails : Changed policy duration.\ntype GovernancePolicyEditDurationDetails struct {\n\t// GovernancePolicyId : Policy ID.\n\tGovernancePolicyId string `json:\"governance_policy_id\"`\n\t// Name : Policy name.\n\tName string `json:\"name\"`\n\t// PolicyType : Policy type.\n\tPolicyType *PolicyType `json:\"policy_type,omitempty\"`\n\t// PreviousValue : From.\n\tPreviousValue *DurationLogInfo `json:\"previous_value\"`\n\t// NewValue : To.\n\tNewValue *DurationLogInfo `json:\"new_value\"`\n}\n\n// NewGovernancePolicyEditDurationDetails returns a new GovernancePolicyEditDurationDetails instance\nfunc NewGovernancePolicyEditDurationDetails(GovernancePolicyId string, Name string, PreviousValue *DurationLogInfo, NewValue *DurationLogInfo) *GovernancePolicyEditDurationDetails {\n\ts := new(GovernancePolicyEditDurationDetails)\n\ts.GovernancePolicyId = GovernancePolicyId\n\ts.Name = Name\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// GovernancePolicyEditDurationType : has no documentation (yet)\ntype GovernancePolicyEditDurationType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGovernancePolicyEditDurationType returns a new GovernancePolicyEditDurationType instance\nfunc NewGovernancePolicyEditDurationType(Description string) *GovernancePolicyEditDurationType {\n\ts := new(GovernancePolicyEditDurationType)\n\ts.Description = Description\n\treturn s\n}\n\n// GovernancePolicyExportCreatedDetails : Created a policy download.\ntype GovernancePolicyExportCreatedDetails struct {\n\t// GovernancePolicyId : Policy ID.\n\tGovernancePolicyId string `json:\"governance_policy_id\"`\n\t// Name : Policy name.\n\tName string `json:\"name\"`\n\t// PolicyType : Policy type.\n\tPolicyType *PolicyType `json:\"policy_type,omitempty\"`\n\t// ExportName : Export name.\n\tExportName string `json:\"export_name\"`\n}\n\n// NewGovernancePolicyExportCreatedDetails returns a new GovernancePolicyExportCreatedDetails instance\nfunc NewGovernancePolicyExportCreatedDetails(GovernancePolicyId string, Name string, ExportName string) *GovernancePolicyExportCreatedDetails {\n\ts := new(GovernancePolicyExportCreatedDetails)\n\ts.GovernancePolicyId = GovernancePolicyId\n\ts.Name = Name\n\ts.ExportName = ExportName\n\treturn s\n}\n\n// GovernancePolicyExportCreatedType : has no documentation (yet)\ntype GovernancePolicyExportCreatedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGovernancePolicyExportCreatedType returns a new GovernancePolicyExportCreatedType instance\nfunc NewGovernancePolicyExportCreatedType(Description string) *GovernancePolicyExportCreatedType {\n\ts := new(GovernancePolicyExportCreatedType)\n\ts.Description = Description\n\treturn s\n}\n\n// GovernancePolicyExportRemovedDetails : Removed a policy download.\ntype GovernancePolicyExportRemovedDetails struct {\n\t// GovernancePolicyId : Policy ID.\n\tGovernancePolicyId string `json:\"governance_policy_id\"`\n\t// Name : Policy name.\n\tName string `json:\"name\"`\n\t// PolicyType : Policy type.\n\tPolicyType *PolicyType `json:\"policy_type,omitempty\"`\n\t// ExportName : Export name.\n\tExportName string `json:\"export_name\"`\n}\n\n// NewGovernancePolicyExportRemovedDetails returns a new GovernancePolicyExportRemovedDetails instance\nfunc NewGovernancePolicyExportRemovedDetails(GovernancePolicyId string, Name string, ExportName string) *GovernancePolicyExportRemovedDetails {\n\ts := new(GovernancePolicyExportRemovedDetails)\n\ts.GovernancePolicyId = GovernancePolicyId\n\ts.Name = Name\n\ts.ExportName = ExportName\n\treturn s\n}\n\n// GovernancePolicyExportRemovedType : has no documentation (yet)\ntype GovernancePolicyExportRemovedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGovernancePolicyExportRemovedType returns a new GovernancePolicyExportRemovedType instance\nfunc NewGovernancePolicyExportRemovedType(Description string) *GovernancePolicyExportRemovedType {\n\ts := new(GovernancePolicyExportRemovedType)\n\ts.Description = Description\n\treturn s\n}\n\n// GovernancePolicyRemoveFoldersDetails : Removed folders from policy.\ntype GovernancePolicyRemoveFoldersDetails struct {\n\t// GovernancePolicyId : Policy ID.\n\tGovernancePolicyId string `json:\"governance_policy_id\"`\n\t// Name : Policy name.\n\tName string `json:\"name\"`\n\t// PolicyType : Policy type.\n\tPolicyType *PolicyType `json:\"policy_type,omitempty\"`\n\t// Folders : Folders.\n\tFolders []string `json:\"folders,omitempty\"`\n\t// Reason : Reason.\n\tReason string `json:\"reason,omitempty\"`\n}\n\n// NewGovernancePolicyRemoveFoldersDetails returns a new GovernancePolicyRemoveFoldersDetails instance\nfunc NewGovernancePolicyRemoveFoldersDetails(GovernancePolicyId string, Name string) *GovernancePolicyRemoveFoldersDetails {\n\ts := new(GovernancePolicyRemoveFoldersDetails)\n\ts.GovernancePolicyId = GovernancePolicyId\n\ts.Name = Name\n\treturn s\n}\n\n// GovernancePolicyRemoveFoldersType : has no documentation (yet)\ntype GovernancePolicyRemoveFoldersType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGovernancePolicyRemoveFoldersType returns a new GovernancePolicyRemoveFoldersType instance\nfunc NewGovernancePolicyRemoveFoldersType(Description string) *GovernancePolicyRemoveFoldersType {\n\ts := new(GovernancePolicyRemoveFoldersType)\n\ts.Description = Description\n\treturn s\n}\n\n// GovernancePolicyReportCreatedDetails : Created a summary report for a policy.\ntype GovernancePolicyReportCreatedDetails struct {\n\t// GovernancePolicyId : Policy ID.\n\tGovernancePolicyId string `json:\"governance_policy_id\"`\n\t// Name : Policy name.\n\tName string `json:\"name\"`\n\t// PolicyType : Policy type.\n\tPolicyType *PolicyType `json:\"policy_type,omitempty\"`\n}\n\n// NewGovernancePolicyReportCreatedDetails returns a new GovernancePolicyReportCreatedDetails instance\nfunc NewGovernancePolicyReportCreatedDetails(GovernancePolicyId string, Name string) *GovernancePolicyReportCreatedDetails {\n\ts := new(GovernancePolicyReportCreatedDetails)\n\ts.GovernancePolicyId = GovernancePolicyId\n\ts.Name = Name\n\treturn s\n}\n\n// GovernancePolicyReportCreatedType : has no documentation (yet)\ntype GovernancePolicyReportCreatedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGovernancePolicyReportCreatedType returns a new GovernancePolicyReportCreatedType instance\nfunc NewGovernancePolicyReportCreatedType(Description string) *GovernancePolicyReportCreatedType {\n\ts := new(GovernancePolicyReportCreatedType)\n\ts.Description = Description\n\treturn s\n}\n\n// GovernancePolicyZipPartDownloadedDetails : Downloaded content from a policy.\ntype GovernancePolicyZipPartDownloadedDetails struct {\n\t// GovernancePolicyId : Policy ID.\n\tGovernancePolicyId string `json:\"governance_policy_id\"`\n\t// Name : Policy name.\n\tName string `json:\"name\"`\n\t// PolicyType : Policy type.\n\tPolicyType *PolicyType `json:\"policy_type,omitempty\"`\n\t// ExportName : Export name.\n\tExportName string `json:\"export_name\"`\n\t// Part : Part.\n\tPart string `json:\"part,omitempty\"`\n}\n\n// NewGovernancePolicyZipPartDownloadedDetails returns a new GovernancePolicyZipPartDownloadedDetails instance\nfunc NewGovernancePolicyZipPartDownloadedDetails(GovernancePolicyId string, Name string, ExportName string) *GovernancePolicyZipPartDownloadedDetails {\n\ts := new(GovernancePolicyZipPartDownloadedDetails)\n\ts.GovernancePolicyId = GovernancePolicyId\n\ts.Name = Name\n\ts.ExportName = ExportName\n\treturn s\n}\n\n// GovernancePolicyZipPartDownloadedType : has no documentation (yet)\ntype GovernancePolicyZipPartDownloadedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGovernancePolicyZipPartDownloadedType returns a new GovernancePolicyZipPartDownloadedType instance\nfunc NewGovernancePolicyZipPartDownloadedType(Description string) *GovernancePolicyZipPartDownloadedType {\n\ts := new(GovernancePolicyZipPartDownloadedType)\n\ts.Description = Description\n\treturn s\n}\n\n// GroupAddExternalIdDetails : Added external ID for group.\ntype GroupAddExternalIdDetails struct {\n\t// NewValue : Current external id.\n\tNewValue string `json:\"new_value\"`\n}\n\n// NewGroupAddExternalIdDetails returns a new GroupAddExternalIdDetails instance\nfunc NewGroupAddExternalIdDetails(NewValue string) *GroupAddExternalIdDetails {\n\ts := new(GroupAddExternalIdDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// GroupAddExternalIdType : has no documentation (yet)\ntype GroupAddExternalIdType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGroupAddExternalIdType returns a new GroupAddExternalIdType instance\nfunc NewGroupAddExternalIdType(Description string) *GroupAddExternalIdType {\n\ts := new(GroupAddExternalIdType)\n\ts.Description = Description\n\treturn s\n}\n\n// GroupAddMemberDetails : Added team members to group.\ntype GroupAddMemberDetails struct {\n\t// IsGroupOwner : Is group owner.\n\tIsGroupOwner bool `json:\"is_group_owner\"`\n}\n\n// NewGroupAddMemberDetails returns a new GroupAddMemberDetails instance\nfunc NewGroupAddMemberDetails(IsGroupOwner bool) *GroupAddMemberDetails {\n\ts := new(GroupAddMemberDetails)\n\ts.IsGroupOwner = IsGroupOwner\n\treturn s\n}\n\n// GroupAddMemberType : has no documentation (yet)\ntype GroupAddMemberType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGroupAddMemberType returns a new GroupAddMemberType instance\nfunc NewGroupAddMemberType(Description string) *GroupAddMemberType {\n\ts := new(GroupAddMemberType)\n\ts.Description = Description\n\treturn s\n}\n\n// GroupChangeExternalIdDetails : Changed external ID for group.\ntype GroupChangeExternalIdDetails struct {\n\t// NewValue : Current external id.\n\tNewValue string `json:\"new_value\"`\n\t// PreviousValue : Old external id.\n\tPreviousValue string `json:\"previous_value\"`\n}\n\n// NewGroupChangeExternalIdDetails returns a new GroupChangeExternalIdDetails instance\nfunc NewGroupChangeExternalIdDetails(NewValue string, PreviousValue string) *GroupChangeExternalIdDetails {\n\ts := new(GroupChangeExternalIdDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// GroupChangeExternalIdType : has no documentation (yet)\ntype GroupChangeExternalIdType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGroupChangeExternalIdType returns a new GroupChangeExternalIdType instance\nfunc NewGroupChangeExternalIdType(Description string) *GroupChangeExternalIdType {\n\ts := new(GroupChangeExternalIdType)\n\ts.Description = Description\n\treturn s\n}\n\n// GroupChangeManagementTypeDetails : Changed group management type.\ntype GroupChangeManagementTypeDetails struct {\n\t// NewValue : New group management type.\n\tNewValue *team_common.GroupManagementType `json:\"new_value\"`\n\t// PreviousValue : Previous group management type. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *team_common.GroupManagementType `json:\"previous_value,omitempty\"`\n}\n\n// NewGroupChangeManagementTypeDetails returns a new GroupChangeManagementTypeDetails instance\nfunc NewGroupChangeManagementTypeDetails(NewValue *team_common.GroupManagementType) *GroupChangeManagementTypeDetails {\n\ts := new(GroupChangeManagementTypeDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// GroupChangeManagementTypeType : has no documentation (yet)\ntype GroupChangeManagementTypeType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGroupChangeManagementTypeType returns a new GroupChangeManagementTypeType instance\nfunc NewGroupChangeManagementTypeType(Description string) *GroupChangeManagementTypeType {\n\ts := new(GroupChangeManagementTypeType)\n\ts.Description = Description\n\treturn s\n}\n\n// GroupChangeMemberRoleDetails : Changed manager permissions of group member.\ntype GroupChangeMemberRoleDetails struct {\n\t// IsGroupOwner : Is group owner.\n\tIsGroupOwner bool `json:\"is_group_owner\"`\n}\n\n// NewGroupChangeMemberRoleDetails returns a new GroupChangeMemberRoleDetails instance\nfunc NewGroupChangeMemberRoleDetails(IsGroupOwner bool) *GroupChangeMemberRoleDetails {\n\ts := new(GroupChangeMemberRoleDetails)\n\ts.IsGroupOwner = IsGroupOwner\n\treturn s\n}\n\n// GroupChangeMemberRoleType : has no documentation (yet)\ntype GroupChangeMemberRoleType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGroupChangeMemberRoleType returns a new GroupChangeMemberRoleType instance\nfunc NewGroupChangeMemberRoleType(Description string) *GroupChangeMemberRoleType {\n\ts := new(GroupChangeMemberRoleType)\n\ts.Description = Description\n\treturn s\n}\n\n// GroupCreateDetails : Created group.\ntype GroupCreateDetails struct {\n\t// IsCompanyManaged : Is company managed group.\n\tIsCompanyManaged bool `json:\"is_company_managed,omitempty\"`\n\t// JoinPolicy : Group join policy.\n\tJoinPolicy *GroupJoinPolicy `json:\"join_policy,omitempty\"`\n}\n\n// NewGroupCreateDetails returns a new GroupCreateDetails instance\nfunc NewGroupCreateDetails() *GroupCreateDetails {\n\ts := new(GroupCreateDetails)\n\treturn s\n}\n\n// GroupCreateType : has no documentation (yet)\ntype GroupCreateType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGroupCreateType returns a new GroupCreateType instance\nfunc NewGroupCreateType(Description string) *GroupCreateType {\n\ts := new(GroupCreateType)\n\ts.Description = Description\n\treturn s\n}\n\n// GroupDeleteDetails : Deleted group.\ntype GroupDeleteDetails struct {\n\t// IsCompanyManaged : Is company managed group.\n\tIsCompanyManaged bool `json:\"is_company_managed,omitempty\"`\n}\n\n// NewGroupDeleteDetails returns a new GroupDeleteDetails instance\nfunc NewGroupDeleteDetails() *GroupDeleteDetails {\n\ts := new(GroupDeleteDetails)\n\treturn s\n}\n\n// GroupDeleteType : has no documentation (yet)\ntype GroupDeleteType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGroupDeleteType returns a new GroupDeleteType instance\nfunc NewGroupDeleteType(Description string) *GroupDeleteType {\n\ts := new(GroupDeleteType)\n\ts.Description = Description\n\treturn s\n}\n\n// GroupDescriptionUpdatedDetails : Updated group.\ntype GroupDescriptionUpdatedDetails struct {\n}\n\n// NewGroupDescriptionUpdatedDetails returns a new GroupDescriptionUpdatedDetails instance\nfunc NewGroupDescriptionUpdatedDetails() *GroupDescriptionUpdatedDetails {\n\ts := new(GroupDescriptionUpdatedDetails)\n\treturn s\n}\n\n// GroupDescriptionUpdatedType : has no documentation (yet)\ntype GroupDescriptionUpdatedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGroupDescriptionUpdatedType returns a new GroupDescriptionUpdatedType instance\nfunc NewGroupDescriptionUpdatedType(Description string) *GroupDescriptionUpdatedType {\n\ts := new(GroupDescriptionUpdatedType)\n\ts.Description = Description\n\treturn s\n}\n\n// GroupJoinPolicy : has no documentation (yet)\ntype GroupJoinPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupJoinPolicy\nconst (\n\tGroupJoinPolicyOpen          = \"open\"\n\tGroupJoinPolicyRequestToJoin = \"request_to_join\"\n\tGroupJoinPolicyOther         = \"other\"\n)\n\n// GroupJoinPolicyUpdatedDetails : Updated group join policy.\ntype GroupJoinPolicyUpdatedDetails struct {\n\t// IsCompanyManaged : Is company managed group.\n\tIsCompanyManaged bool `json:\"is_company_managed,omitempty\"`\n\t// JoinPolicy : Group join policy.\n\tJoinPolicy *GroupJoinPolicy `json:\"join_policy,omitempty\"`\n}\n\n// NewGroupJoinPolicyUpdatedDetails returns a new GroupJoinPolicyUpdatedDetails instance\nfunc NewGroupJoinPolicyUpdatedDetails() *GroupJoinPolicyUpdatedDetails {\n\ts := new(GroupJoinPolicyUpdatedDetails)\n\treturn s\n}\n\n// GroupJoinPolicyUpdatedType : has no documentation (yet)\ntype GroupJoinPolicyUpdatedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGroupJoinPolicyUpdatedType returns a new GroupJoinPolicyUpdatedType instance\nfunc NewGroupJoinPolicyUpdatedType(Description string) *GroupJoinPolicyUpdatedType {\n\ts := new(GroupJoinPolicyUpdatedType)\n\ts.Description = Description\n\treturn s\n}\n\n// GroupLogInfo : Group's logged information.\ntype GroupLogInfo struct {\n\t// GroupId : The unique id of this group.\n\tGroupId string `json:\"group_id,omitempty\"`\n\t// DisplayName : The name of this group.\n\tDisplayName string `json:\"display_name\"`\n\t// ExternalId : External group ID.\n\tExternalId string `json:\"external_id,omitempty\"`\n}\n\n// NewGroupLogInfo returns a new GroupLogInfo instance\nfunc NewGroupLogInfo(DisplayName string) *GroupLogInfo {\n\ts := new(GroupLogInfo)\n\ts.DisplayName = DisplayName\n\treturn s\n}\n\n// GroupMovedDetails : Moved group.\ntype GroupMovedDetails struct {\n}\n\n// NewGroupMovedDetails returns a new GroupMovedDetails instance\nfunc NewGroupMovedDetails() *GroupMovedDetails {\n\ts := new(GroupMovedDetails)\n\treturn s\n}\n\n// GroupMovedType : has no documentation (yet)\ntype GroupMovedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGroupMovedType returns a new GroupMovedType instance\nfunc NewGroupMovedType(Description string) *GroupMovedType {\n\ts := new(GroupMovedType)\n\ts.Description = Description\n\treturn s\n}\n\n// GroupRemoveExternalIdDetails : Removed external ID for group.\ntype GroupRemoveExternalIdDetails struct {\n\t// PreviousValue : Old external id.\n\tPreviousValue string `json:\"previous_value\"`\n}\n\n// NewGroupRemoveExternalIdDetails returns a new GroupRemoveExternalIdDetails instance\nfunc NewGroupRemoveExternalIdDetails(PreviousValue string) *GroupRemoveExternalIdDetails {\n\ts := new(GroupRemoveExternalIdDetails)\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// GroupRemoveExternalIdType : has no documentation (yet)\ntype GroupRemoveExternalIdType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGroupRemoveExternalIdType returns a new GroupRemoveExternalIdType instance\nfunc NewGroupRemoveExternalIdType(Description string) *GroupRemoveExternalIdType {\n\ts := new(GroupRemoveExternalIdType)\n\ts.Description = Description\n\treturn s\n}\n\n// GroupRemoveMemberDetails : Removed team members from group.\ntype GroupRemoveMemberDetails struct {\n}\n\n// NewGroupRemoveMemberDetails returns a new GroupRemoveMemberDetails instance\nfunc NewGroupRemoveMemberDetails() *GroupRemoveMemberDetails {\n\ts := new(GroupRemoveMemberDetails)\n\treturn s\n}\n\n// GroupRemoveMemberType : has no documentation (yet)\ntype GroupRemoveMemberType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGroupRemoveMemberType returns a new GroupRemoveMemberType instance\nfunc NewGroupRemoveMemberType(Description string) *GroupRemoveMemberType {\n\ts := new(GroupRemoveMemberType)\n\ts.Description = Description\n\treturn s\n}\n\n// GroupRenameDetails : Renamed group.\ntype GroupRenameDetails struct {\n\t// PreviousValue : Previous display name.\n\tPreviousValue string `json:\"previous_value\"`\n\t// NewValue : New display name.\n\tNewValue string `json:\"new_value\"`\n}\n\n// NewGroupRenameDetails returns a new GroupRenameDetails instance\nfunc NewGroupRenameDetails(PreviousValue string, NewValue string) *GroupRenameDetails {\n\ts := new(GroupRenameDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// GroupRenameType : has no documentation (yet)\ntype GroupRenameType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGroupRenameType returns a new GroupRenameType instance\nfunc NewGroupRenameType(Description string) *GroupRenameType {\n\ts := new(GroupRenameType)\n\ts.Description = Description\n\treturn s\n}\n\n// GroupUserManagementChangePolicyDetails : Changed who can create groups.\ntype GroupUserManagementChangePolicyDetails struct {\n\t// NewValue : New group users management policy.\n\tNewValue *team_policies.GroupCreation `json:\"new_value\"`\n\t// PreviousValue : Previous group users management policy. Might be missing\n\t// due to historical data gap.\n\tPreviousValue *team_policies.GroupCreation `json:\"previous_value,omitempty\"`\n}\n\n// NewGroupUserManagementChangePolicyDetails returns a new GroupUserManagementChangePolicyDetails instance\nfunc NewGroupUserManagementChangePolicyDetails(NewValue *team_policies.GroupCreation) *GroupUserManagementChangePolicyDetails {\n\ts := new(GroupUserManagementChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// GroupUserManagementChangePolicyType : has no documentation (yet)\ntype GroupUserManagementChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGroupUserManagementChangePolicyType returns a new GroupUserManagementChangePolicyType instance\nfunc NewGroupUserManagementChangePolicyType(Description string) *GroupUserManagementChangePolicyType {\n\ts := new(GroupUserManagementChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// GuestAdminChangeStatusDetails : Changed guest team admin status.\ntype GuestAdminChangeStatusDetails struct {\n\t// IsGuest : True for guest, false for host.\n\tIsGuest bool `json:\"is_guest\"`\n\t// GuestTeamName : The name of the guest team.\n\tGuestTeamName string `json:\"guest_team_name,omitempty\"`\n\t// HostTeamName : The name of the host team.\n\tHostTeamName string `json:\"host_team_name,omitempty\"`\n\t// PreviousValue : Previous request state.\n\tPreviousValue *TrustedTeamsRequestState `json:\"previous_value\"`\n\t// NewValue : New request state.\n\tNewValue *TrustedTeamsRequestState `json:\"new_value\"`\n\t// ActionDetails : Action details.\n\tActionDetails *TrustedTeamsRequestAction `json:\"action_details\"`\n}\n\n// NewGuestAdminChangeStatusDetails returns a new GuestAdminChangeStatusDetails instance\nfunc NewGuestAdminChangeStatusDetails(IsGuest bool, PreviousValue *TrustedTeamsRequestState, NewValue *TrustedTeamsRequestState, ActionDetails *TrustedTeamsRequestAction) *GuestAdminChangeStatusDetails {\n\ts := new(GuestAdminChangeStatusDetails)\n\ts.IsGuest = IsGuest\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\ts.ActionDetails = ActionDetails\n\treturn s\n}\n\n// GuestAdminChangeStatusType : has no documentation (yet)\ntype GuestAdminChangeStatusType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGuestAdminChangeStatusType returns a new GuestAdminChangeStatusType instance\nfunc NewGuestAdminChangeStatusType(Description string) *GuestAdminChangeStatusType {\n\ts := new(GuestAdminChangeStatusType)\n\ts.Description = Description\n\treturn s\n}\n\n// GuestAdminSignedInViaTrustedTeamsDetails : Started trusted team admin\n// session.\ntype GuestAdminSignedInViaTrustedTeamsDetails struct {\n\t// TeamName : Host team name.\n\tTeamName string `json:\"team_name,omitempty\"`\n\t// TrustedTeamName : Trusted team name.\n\tTrustedTeamName string `json:\"trusted_team_name,omitempty\"`\n}\n\n// NewGuestAdminSignedInViaTrustedTeamsDetails returns a new GuestAdminSignedInViaTrustedTeamsDetails instance\nfunc NewGuestAdminSignedInViaTrustedTeamsDetails() *GuestAdminSignedInViaTrustedTeamsDetails {\n\ts := new(GuestAdminSignedInViaTrustedTeamsDetails)\n\treturn s\n}\n\n// GuestAdminSignedInViaTrustedTeamsType : has no documentation (yet)\ntype GuestAdminSignedInViaTrustedTeamsType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGuestAdminSignedInViaTrustedTeamsType returns a new GuestAdminSignedInViaTrustedTeamsType instance\nfunc NewGuestAdminSignedInViaTrustedTeamsType(Description string) *GuestAdminSignedInViaTrustedTeamsType {\n\ts := new(GuestAdminSignedInViaTrustedTeamsType)\n\ts.Description = Description\n\treturn s\n}\n\n// GuestAdminSignedOutViaTrustedTeamsDetails : Ended trusted team admin session.\ntype GuestAdminSignedOutViaTrustedTeamsDetails struct {\n\t// TeamName : Host team name.\n\tTeamName string `json:\"team_name,omitempty\"`\n\t// TrustedTeamName : Trusted team name.\n\tTrustedTeamName string `json:\"trusted_team_name,omitempty\"`\n}\n\n// NewGuestAdminSignedOutViaTrustedTeamsDetails returns a new GuestAdminSignedOutViaTrustedTeamsDetails instance\nfunc NewGuestAdminSignedOutViaTrustedTeamsDetails() *GuestAdminSignedOutViaTrustedTeamsDetails {\n\ts := new(GuestAdminSignedOutViaTrustedTeamsDetails)\n\treturn s\n}\n\n// GuestAdminSignedOutViaTrustedTeamsType : has no documentation (yet)\ntype GuestAdminSignedOutViaTrustedTeamsType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewGuestAdminSignedOutViaTrustedTeamsType returns a new GuestAdminSignedOutViaTrustedTeamsType instance\nfunc NewGuestAdminSignedOutViaTrustedTeamsType(Description string) *GuestAdminSignedOutViaTrustedTeamsType {\n\ts := new(GuestAdminSignedOutViaTrustedTeamsType)\n\ts.Description = Description\n\treturn s\n}\n\n// IdentifierType : has no documentation (yet)\ntype IdentifierType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for IdentifierType\nconst (\n\tIdentifierTypeEmail               = \"email\"\n\tIdentifierTypeFacebookProfileName = \"facebook_profile_name\"\n\tIdentifierTypeOther               = \"other\"\n)\n\n// IntegrationConnectedDetails : Connected integration for member.\ntype IntegrationConnectedDetails struct {\n\t// IntegrationName : Name of the third-party integration.\n\tIntegrationName string `json:\"integration_name\"`\n}\n\n// NewIntegrationConnectedDetails returns a new IntegrationConnectedDetails instance\nfunc NewIntegrationConnectedDetails(IntegrationName string) *IntegrationConnectedDetails {\n\ts := new(IntegrationConnectedDetails)\n\ts.IntegrationName = IntegrationName\n\treturn s\n}\n\n// IntegrationConnectedType : has no documentation (yet)\ntype IntegrationConnectedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewIntegrationConnectedType returns a new IntegrationConnectedType instance\nfunc NewIntegrationConnectedType(Description string) *IntegrationConnectedType {\n\ts := new(IntegrationConnectedType)\n\ts.Description = Description\n\treturn s\n}\n\n// IntegrationDisconnectedDetails : Disconnected integration for member.\ntype IntegrationDisconnectedDetails struct {\n\t// IntegrationName : Name of the third-party integration.\n\tIntegrationName string `json:\"integration_name\"`\n}\n\n// NewIntegrationDisconnectedDetails returns a new IntegrationDisconnectedDetails instance\nfunc NewIntegrationDisconnectedDetails(IntegrationName string) *IntegrationDisconnectedDetails {\n\ts := new(IntegrationDisconnectedDetails)\n\ts.IntegrationName = IntegrationName\n\treturn s\n}\n\n// IntegrationDisconnectedType : has no documentation (yet)\ntype IntegrationDisconnectedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewIntegrationDisconnectedType returns a new IntegrationDisconnectedType instance\nfunc NewIntegrationDisconnectedType(Description string) *IntegrationDisconnectedType {\n\ts := new(IntegrationDisconnectedType)\n\ts.Description = Description\n\treturn s\n}\n\n// IntegrationPolicy : Policy for controlling whether a service integration is\n// enabled for the team.\ntype IntegrationPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for IntegrationPolicy\nconst (\n\tIntegrationPolicyDisabled = \"disabled\"\n\tIntegrationPolicyEnabled  = \"enabled\"\n\tIntegrationPolicyOther    = \"other\"\n)\n\n// IntegrationPolicyChangedDetails : Changed integration policy for team.\ntype IntegrationPolicyChangedDetails struct {\n\t// IntegrationName : Name of the third-party integration.\n\tIntegrationName string `json:\"integration_name\"`\n\t// NewValue : New integration policy.\n\tNewValue *IntegrationPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous integration policy.\n\tPreviousValue *IntegrationPolicy `json:\"previous_value\"`\n}\n\n// NewIntegrationPolicyChangedDetails returns a new IntegrationPolicyChangedDetails instance\nfunc NewIntegrationPolicyChangedDetails(IntegrationName string, NewValue *IntegrationPolicy, PreviousValue *IntegrationPolicy) *IntegrationPolicyChangedDetails {\n\ts := new(IntegrationPolicyChangedDetails)\n\ts.IntegrationName = IntegrationName\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// IntegrationPolicyChangedType : has no documentation (yet)\ntype IntegrationPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewIntegrationPolicyChangedType returns a new IntegrationPolicyChangedType instance\nfunc NewIntegrationPolicyChangedType(Description string) *IntegrationPolicyChangedType {\n\ts := new(IntegrationPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// InviteAcceptanceEmailPolicy : Policy for deciding whether team admins receive\n// email when an invitation to join the team is accepted\ntype InviteAcceptanceEmailPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for InviteAcceptanceEmailPolicy\nconst (\n\tInviteAcceptanceEmailPolicyDisabled = \"disabled\"\n\tInviteAcceptanceEmailPolicyEnabled  = \"enabled\"\n\tInviteAcceptanceEmailPolicyOther    = \"other\"\n)\n\n// InviteAcceptanceEmailPolicyChangedDetails : Changed invite accept email\n// policy for team.\ntype InviteAcceptanceEmailPolicyChangedDetails struct {\n\t// NewValue : To.\n\tNewValue *InviteAcceptanceEmailPolicy `json:\"new_value\"`\n\t// PreviousValue : From.\n\tPreviousValue *InviteAcceptanceEmailPolicy `json:\"previous_value\"`\n}\n\n// NewInviteAcceptanceEmailPolicyChangedDetails returns a new InviteAcceptanceEmailPolicyChangedDetails instance\nfunc NewInviteAcceptanceEmailPolicyChangedDetails(NewValue *InviteAcceptanceEmailPolicy, PreviousValue *InviteAcceptanceEmailPolicy) *InviteAcceptanceEmailPolicyChangedDetails {\n\ts := new(InviteAcceptanceEmailPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// InviteAcceptanceEmailPolicyChangedType : has no documentation (yet)\ntype InviteAcceptanceEmailPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewInviteAcceptanceEmailPolicyChangedType returns a new InviteAcceptanceEmailPolicyChangedType instance\nfunc NewInviteAcceptanceEmailPolicyChangedType(Description string) *InviteAcceptanceEmailPolicyChangedType {\n\ts := new(InviteAcceptanceEmailPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// InviteMethod : has no documentation (yet)\ntype InviteMethod struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for InviteMethod\nconst (\n\tInviteMethodAutoApprove          = \"auto_approve\"\n\tInviteMethodInviteLink           = \"invite_link\"\n\tInviteMethodMemberInvite         = \"member_invite\"\n\tInviteMethodMovedFromAnotherTeam = \"moved_from_another_team\"\n\tInviteMethodOther                = \"other\"\n)\n\n// JoinTeamDetails : Additional information relevant when a new member joins the\n// team.\ntype JoinTeamDetails struct {\n\t// LinkedApps : Linked applications. (Deprecated) Please use has_linked_apps\n\t// boolean field instead.\n\tLinkedApps []*UserLinkedAppLogInfo `json:\"linked_apps\"`\n\t// LinkedDevices : Linked devices. (Deprecated) Please use\n\t// has_linked_devices boolean field instead.\n\tLinkedDevices []*LinkedDeviceLogInfo `json:\"linked_devices\"`\n\t// LinkedSharedFolders : Linked shared folders. (Deprecated) Please use\n\t// has_linked_shared_folders boolean field instead.\n\tLinkedSharedFolders []*FolderLogInfo `json:\"linked_shared_folders\"`\n\t// WasLinkedAppsTruncated : (Deprecated) True if the linked_apps list was\n\t// truncated to the maximum supported length (50).\n\tWasLinkedAppsTruncated bool `json:\"was_linked_apps_truncated,omitempty\"`\n\t// WasLinkedDevicesTruncated : (Deprecated) True if the linked_devices list\n\t// was truncated to the maximum supported length (50).\n\tWasLinkedDevicesTruncated bool `json:\"was_linked_devices_truncated,omitempty\"`\n\t// WasLinkedSharedFoldersTruncated : (Deprecated) True if the\n\t// linked_shared_folders list was truncated to the maximum supported length\n\t// (50).\n\tWasLinkedSharedFoldersTruncated bool `json:\"was_linked_shared_folders_truncated,omitempty\"`\n\t// HasLinkedApps : True if the user had linked apps at event time.\n\tHasLinkedApps bool `json:\"has_linked_apps,omitempty\"`\n\t// HasLinkedDevices : True if the user had linked apps at event time.\n\tHasLinkedDevices bool `json:\"has_linked_devices,omitempty\"`\n\t// HasLinkedSharedFolders : True if the user had linked shared folders at\n\t// event time.\n\tHasLinkedSharedFolders bool `json:\"has_linked_shared_folders,omitempty\"`\n}\n\n// NewJoinTeamDetails returns a new JoinTeamDetails instance\nfunc NewJoinTeamDetails(LinkedApps []*UserLinkedAppLogInfo, LinkedDevices []*LinkedDeviceLogInfo, LinkedSharedFolders []*FolderLogInfo) *JoinTeamDetails {\n\ts := new(JoinTeamDetails)\n\ts.LinkedApps = LinkedApps\n\ts.LinkedDevices = LinkedDevices\n\ts.LinkedSharedFolders = LinkedSharedFolders\n\treturn s\n}\n\n// LabelType : Label type\ntype LabelType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LabelType\nconst (\n\tLabelTypePersonalInformation = \"personal_information\"\n\tLabelTypeTestOnly            = \"test_only\"\n\tLabelTypeUserDefinedTag      = \"user_defined_tag\"\n\tLabelTypeOther               = \"other\"\n)\n\n// LegacyDeviceSessionLogInfo : Information on sessions, in legacy format\ntype LegacyDeviceSessionLogInfo struct {\n\tDeviceSessionLogInfo\n\t// SessionInfo : Session unique id.\n\tSessionInfo IsSessionLogInfo `json:\"session_info,omitempty\"`\n\t// DisplayName : The device name. Might be missing due to historical data\n\t// gap.\n\tDisplayName string `json:\"display_name,omitempty\"`\n\t// IsEmmManaged : Is device managed by emm. Might be missing due to\n\t// historical data gap.\n\tIsEmmManaged bool `json:\"is_emm_managed,omitempty\"`\n\t// Platform : Information on the hosting platform. Might be missing due to\n\t// historical data gap.\n\tPlatform string `json:\"platform,omitempty\"`\n\t// MacAddress : The mac address of the last activity from this session.\n\t// Might be missing due to historical data gap.\n\tMacAddress string `json:\"mac_address,omitempty\"`\n\t// OsVersion : The hosting OS version. Might be missing due to historical\n\t// data gap.\n\tOsVersion string `json:\"os_version,omitempty\"`\n\t// DeviceType : Information on the hosting device type. Might be missing due\n\t// to historical data gap.\n\tDeviceType string `json:\"device_type,omitempty\"`\n\t// ClientVersion : The Dropbox client version. Might be missing due to\n\t// historical data gap.\n\tClientVersion string `json:\"client_version,omitempty\"`\n\t// LegacyUniqId : Alternative unique device session id, instead of session\n\t// id field. Might be missing due to historical data gap.\n\tLegacyUniqId string `json:\"legacy_uniq_id,omitempty\"`\n}\n\n// NewLegacyDeviceSessionLogInfo returns a new LegacyDeviceSessionLogInfo instance\nfunc NewLegacyDeviceSessionLogInfo() *LegacyDeviceSessionLogInfo {\n\ts := new(LegacyDeviceSessionLogInfo)\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a LegacyDeviceSessionLogInfo instance\nfunc (u *LegacyDeviceSessionLogInfo) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// IpAddress : The IP address of the last activity from this session.\n\t\tIpAddress string `json:\"ip_address,omitempty\"`\n\t\t// Created : The time this session was created.\n\t\tCreated *time.Time `json:\"created,omitempty\"`\n\t\t// Updated : The time of the last activity from this session.\n\t\tUpdated *time.Time `json:\"updated,omitempty\"`\n\t\t// SessionInfo : Session unique id.\n\t\tSessionInfo json.RawMessage `json:\"session_info,omitempty\"`\n\t\t// DisplayName : The device name. Might be missing due to historical\n\t\t// data gap.\n\t\tDisplayName string `json:\"display_name,omitempty\"`\n\t\t// IsEmmManaged : Is device managed by emm. Might be missing due to\n\t\t// historical data gap.\n\t\tIsEmmManaged bool `json:\"is_emm_managed,omitempty\"`\n\t\t// Platform : Information on the hosting platform. Might be missing due\n\t\t// to historical data gap.\n\t\tPlatform string `json:\"platform,omitempty\"`\n\t\t// MacAddress : The mac address of the last activity from this session.\n\t\t// Might be missing due to historical data gap.\n\t\tMacAddress string `json:\"mac_address,omitempty\"`\n\t\t// OsVersion : The hosting OS version. Might be missing due to\n\t\t// historical data gap.\n\t\tOsVersion string `json:\"os_version,omitempty\"`\n\t\t// DeviceType : Information on the hosting device type. Might be missing\n\t\t// due to historical data gap.\n\t\tDeviceType string `json:\"device_type,omitempty\"`\n\t\t// ClientVersion : The Dropbox client version. Might be missing due to\n\t\t// historical data gap.\n\t\tClientVersion string `json:\"client_version,omitempty\"`\n\t\t// LegacyUniqId : Alternative unique device session id, instead of\n\t\t// session id field. Might be missing due to historical data gap.\n\t\tLegacyUniqId string `json:\"legacy_uniq_id,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tu.IpAddress = w.IpAddress\n\tu.Created = w.Created\n\tu.Updated = w.Updated\n\tSessionInfo, err := IsSessionLogInfoFromJSON(w.SessionInfo)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.SessionInfo = SessionInfo\n\tu.DisplayName = w.DisplayName\n\tu.IsEmmManaged = w.IsEmmManaged\n\tu.Platform = w.Platform\n\tu.MacAddress = w.MacAddress\n\tu.OsVersion = w.OsVersion\n\tu.DeviceType = w.DeviceType\n\tu.ClientVersion = w.ClientVersion\n\tu.LegacyUniqId = w.LegacyUniqId\n\treturn nil\n}\n\n// LegalHoldsActivateAHoldDetails : Activated a hold.\ntype LegalHoldsActivateAHoldDetails struct {\n\t// LegalHoldId : Hold ID.\n\tLegalHoldId string `json:\"legal_hold_id\"`\n\t// Name : Hold name.\n\tName string `json:\"name\"`\n\t// StartDate : Hold start date.\n\tStartDate time.Time `json:\"start_date\"`\n\t// EndDate : Hold end date.\n\tEndDate *time.Time `json:\"end_date,omitempty\"`\n}\n\n// NewLegalHoldsActivateAHoldDetails returns a new LegalHoldsActivateAHoldDetails instance\nfunc NewLegalHoldsActivateAHoldDetails(LegalHoldId string, Name string, StartDate time.Time) *LegalHoldsActivateAHoldDetails {\n\ts := new(LegalHoldsActivateAHoldDetails)\n\ts.LegalHoldId = LegalHoldId\n\ts.Name = Name\n\ts.StartDate = StartDate\n\treturn s\n}\n\n// LegalHoldsActivateAHoldType : has no documentation (yet)\ntype LegalHoldsActivateAHoldType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewLegalHoldsActivateAHoldType returns a new LegalHoldsActivateAHoldType instance\nfunc NewLegalHoldsActivateAHoldType(Description string) *LegalHoldsActivateAHoldType {\n\ts := new(LegalHoldsActivateAHoldType)\n\ts.Description = Description\n\treturn s\n}\n\n// LegalHoldsAddMembersDetails : Added members to a hold.\ntype LegalHoldsAddMembersDetails struct {\n\t// LegalHoldId : Hold ID.\n\tLegalHoldId string `json:\"legal_hold_id\"`\n\t// Name : Hold name.\n\tName string `json:\"name\"`\n}\n\n// NewLegalHoldsAddMembersDetails returns a new LegalHoldsAddMembersDetails instance\nfunc NewLegalHoldsAddMembersDetails(LegalHoldId string, Name string) *LegalHoldsAddMembersDetails {\n\ts := new(LegalHoldsAddMembersDetails)\n\ts.LegalHoldId = LegalHoldId\n\ts.Name = Name\n\treturn s\n}\n\n// LegalHoldsAddMembersType : has no documentation (yet)\ntype LegalHoldsAddMembersType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewLegalHoldsAddMembersType returns a new LegalHoldsAddMembersType instance\nfunc NewLegalHoldsAddMembersType(Description string) *LegalHoldsAddMembersType {\n\ts := new(LegalHoldsAddMembersType)\n\ts.Description = Description\n\treturn s\n}\n\n// LegalHoldsChangeHoldDetailsDetails : Edited details for a hold.\ntype LegalHoldsChangeHoldDetailsDetails struct {\n\t// LegalHoldId : Hold ID.\n\tLegalHoldId string `json:\"legal_hold_id\"`\n\t// Name : Hold name.\n\tName string `json:\"name\"`\n\t// PreviousValue : Previous details.\n\tPreviousValue string `json:\"previous_value\"`\n\t// NewValue : New details.\n\tNewValue string `json:\"new_value\"`\n}\n\n// NewLegalHoldsChangeHoldDetailsDetails returns a new LegalHoldsChangeHoldDetailsDetails instance\nfunc NewLegalHoldsChangeHoldDetailsDetails(LegalHoldId string, Name string, PreviousValue string, NewValue string) *LegalHoldsChangeHoldDetailsDetails {\n\ts := new(LegalHoldsChangeHoldDetailsDetails)\n\ts.LegalHoldId = LegalHoldId\n\ts.Name = Name\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// LegalHoldsChangeHoldDetailsType : has no documentation (yet)\ntype LegalHoldsChangeHoldDetailsType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewLegalHoldsChangeHoldDetailsType returns a new LegalHoldsChangeHoldDetailsType instance\nfunc NewLegalHoldsChangeHoldDetailsType(Description string) *LegalHoldsChangeHoldDetailsType {\n\ts := new(LegalHoldsChangeHoldDetailsType)\n\ts.Description = Description\n\treturn s\n}\n\n// LegalHoldsChangeHoldNameDetails : Renamed a hold.\ntype LegalHoldsChangeHoldNameDetails struct {\n\t// LegalHoldId : Hold ID.\n\tLegalHoldId string `json:\"legal_hold_id\"`\n\t// PreviousValue : Previous Name.\n\tPreviousValue string `json:\"previous_value\"`\n\t// NewValue : New Name.\n\tNewValue string `json:\"new_value\"`\n}\n\n// NewLegalHoldsChangeHoldNameDetails returns a new LegalHoldsChangeHoldNameDetails instance\nfunc NewLegalHoldsChangeHoldNameDetails(LegalHoldId string, PreviousValue string, NewValue string) *LegalHoldsChangeHoldNameDetails {\n\ts := new(LegalHoldsChangeHoldNameDetails)\n\ts.LegalHoldId = LegalHoldId\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// LegalHoldsChangeHoldNameType : has no documentation (yet)\ntype LegalHoldsChangeHoldNameType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewLegalHoldsChangeHoldNameType returns a new LegalHoldsChangeHoldNameType instance\nfunc NewLegalHoldsChangeHoldNameType(Description string) *LegalHoldsChangeHoldNameType {\n\ts := new(LegalHoldsChangeHoldNameType)\n\ts.Description = Description\n\treturn s\n}\n\n// LegalHoldsExportAHoldDetails : Exported hold.\ntype LegalHoldsExportAHoldDetails struct {\n\t// LegalHoldId : Hold ID.\n\tLegalHoldId string `json:\"legal_hold_id\"`\n\t// Name : Hold name.\n\tName string `json:\"name\"`\n\t// ExportName : Export name.\n\tExportName string `json:\"export_name,omitempty\"`\n}\n\n// NewLegalHoldsExportAHoldDetails returns a new LegalHoldsExportAHoldDetails instance\nfunc NewLegalHoldsExportAHoldDetails(LegalHoldId string, Name string) *LegalHoldsExportAHoldDetails {\n\ts := new(LegalHoldsExportAHoldDetails)\n\ts.LegalHoldId = LegalHoldId\n\ts.Name = Name\n\treturn s\n}\n\n// LegalHoldsExportAHoldType : has no documentation (yet)\ntype LegalHoldsExportAHoldType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewLegalHoldsExportAHoldType returns a new LegalHoldsExportAHoldType instance\nfunc NewLegalHoldsExportAHoldType(Description string) *LegalHoldsExportAHoldType {\n\ts := new(LegalHoldsExportAHoldType)\n\ts.Description = Description\n\treturn s\n}\n\n// LegalHoldsExportCancelledDetails : Canceled export for a hold.\ntype LegalHoldsExportCancelledDetails struct {\n\t// LegalHoldId : Hold ID.\n\tLegalHoldId string `json:\"legal_hold_id\"`\n\t// Name : Hold name.\n\tName string `json:\"name\"`\n\t// ExportName : Export name.\n\tExportName string `json:\"export_name\"`\n}\n\n// NewLegalHoldsExportCancelledDetails returns a new LegalHoldsExportCancelledDetails instance\nfunc NewLegalHoldsExportCancelledDetails(LegalHoldId string, Name string, ExportName string) *LegalHoldsExportCancelledDetails {\n\ts := new(LegalHoldsExportCancelledDetails)\n\ts.LegalHoldId = LegalHoldId\n\ts.Name = Name\n\ts.ExportName = ExportName\n\treturn s\n}\n\n// LegalHoldsExportCancelledType : has no documentation (yet)\ntype LegalHoldsExportCancelledType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewLegalHoldsExportCancelledType returns a new LegalHoldsExportCancelledType instance\nfunc NewLegalHoldsExportCancelledType(Description string) *LegalHoldsExportCancelledType {\n\ts := new(LegalHoldsExportCancelledType)\n\ts.Description = Description\n\treturn s\n}\n\n// LegalHoldsExportDownloadedDetails : Downloaded export for a hold.\ntype LegalHoldsExportDownloadedDetails struct {\n\t// LegalHoldId : Hold ID.\n\tLegalHoldId string `json:\"legal_hold_id\"`\n\t// Name : Hold name.\n\tName string `json:\"name\"`\n\t// ExportName : Export name.\n\tExportName string `json:\"export_name\"`\n\t// Part : Part.\n\tPart string `json:\"part,omitempty\"`\n\t// FileName : Filename.\n\tFileName string `json:\"file_name,omitempty\"`\n}\n\n// NewLegalHoldsExportDownloadedDetails returns a new LegalHoldsExportDownloadedDetails instance\nfunc NewLegalHoldsExportDownloadedDetails(LegalHoldId string, Name string, ExportName string) *LegalHoldsExportDownloadedDetails {\n\ts := new(LegalHoldsExportDownloadedDetails)\n\ts.LegalHoldId = LegalHoldId\n\ts.Name = Name\n\ts.ExportName = ExportName\n\treturn s\n}\n\n// LegalHoldsExportDownloadedType : has no documentation (yet)\ntype LegalHoldsExportDownloadedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewLegalHoldsExportDownloadedType returns a new LegalHoldsExportDownloadedType instance\nfunc NewLegalHoldsExportDownloadedType(Description string) *LegalHoldsExportDownloadedType {\n\ts := new(LegalHoldsExportDownloadedType)\n\ts.Description = Description\n\treturn s\n}\n\n// LegalHoldsExportRemovedDetails : Removed export for a hold.\ntype LegalHoldsExportRemovedDetails struct {\n\t// LegalHoldId : Hold ID.\n\tLegalHoldId string `json:\"legal_hold_id\"`\n\t// Name : Hold name.\n\tName string `json:\"name\"`\n\t// ExportName : Export name.\n\tExportName string `json:\"export_name\"`\n}\n\n// NewLegalHoldsExportRemovedDetails returns a new LegalHoldsExportRemovedDetails instance\nfunc NewLegalHoldsExportRemovedDetails(LegalHoldId string, Name string, ExportName string) *LegalHoldsExportRemovedDetails {\n\ts := new(LegalHoldsExportRemovedDetails)\n\ts.LegalHoldId = LegalHoldId\n\ts.Name = Name\n\ts.ExportName = ExportName\n\treturn s\n}\n\n// LegalHoldsExportRemovedType : has no documentation (yet)\ntype LegalHoldsExportRemovedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewLegalHoldsExportRemovedType returns a new LegalHoldsExportRemovedType instance\nfunc NewLegalHoldsExportRemovedType(Description string) *LegalHoldsExportRemovedType {\n\ts := new(LegalHoldsExportRemovedType)\n\ts.Description = Description\n\treturn s\n}\n\n// LegalHoldsReleaseAHoldDetails : Released a hold.\ntype LegalHoldsReleaseAHoldDetails struct {\n\t// LegalHoldId : Hold ID.\n\tLegalHoldId string `json:\"legal_hold_id\"`\n\t// Name : Hold name.\n\tName string `json:\"name\"`\n}\n\n// NewLegalHoldsReleaseAHoldDetails returns a new LegalHoldsReleaseAHoldDetails instance\nfunc NewLegalHoldsReleaseAHoldDetails(LegalHoldId string, Name string) *LegalHoldsReleaseAHoldDetails {\n\ts := new(LegalHoldsReleaseAHoldDetails)\n\ts.LegalHoldId = LegalHoldId\n\ts.Name = Name\n\treturn s\n}\n\n// LegalHoldsReleaseAHoldType : has no documentation (yet)\ntype LegalHoldsReleaseAHoldType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewLegalHoldsReleaseAHoldType returns a new LegalHoldsReleaseAHoldType instance\nfunc NewLegalHoldsReleaseAHoldType(Description string) *LegalHoldsReleaseAHoldType {\n\ts := new(LegalHoldsReleaseAHoldType)\n\ts.Description = Description\n\treturn s\n}\n\n// LegalHoldsRemoveMembersDetails : Removed members from a hold.\ntype LegalHoldsRemoveMembersDetails struct {\n\t// LegalHoldId : Hold ID.\n\tLegalHoldId string `json:\"legal_hold_id\"`\n\t// Name : Hold name.\n\tName string `json:\"name\"`\n}\n\n// NewLegalHoldsRemoveMembersDetails returns a new LegalHoldsRemoveMembersDetails instance\nfunc NewLegalHoldsRemoveMembersDetails(LegalHoldId string, Name string) *LegalHoldsRemoveMembersDetails {\n\ts := new(LegalHoldsRemoveMembersDetails)\n\ts.LegalHoldId = LegalHoldId\n\ts.Name = Name\n\treturn s\n}\n\n// LegalHoldsRemoveMembersType : has no documentation (yet)\ntype LegalHoldsRemoveMembersType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewLegalHoldsRemoveMembersType returns a new LegalHoldsRemoveMembersType instance\nfunc NewLegalHoldsRemoveMembersType(Description string) *LegalHoldsRemoveMembersType {\n\ts := new(LegalHoldsRemoveMembersType)\n\ts.Description = Description\n\treturn s\n}\n\n// LegalHoldsReportAHoldDetails : Created a summary report for a hold.\ntype LegalHoldsReportAHoldDetails struct {\n\t// LegalHoldId : Hold ID.\n\tLegalHoldId string `json:\"legal_hold_id\"`\n\t// Name : Hold name.\n\tName string `json:\"name\"`\n}\n\n// NewLegalHoldsReportAHoldDetails returns a new LegalHoldsReportAHoldDetails instance\nfunc NewLegalHoldsReportAHoldDetails(LegalHoldId string, Name string) *LegalHoldsReportAHoldDetails {\n\ts := new(LegalHoldsReportAHoldDetails)\n\ts.LegalHoldId = LegalHoldId\n\ts.Name = Name\n\treturn s\n}\n\n// LegalHoldsReportAHoldType : has no documentation (yet)\ntype LegalHoldsReportAHoldType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewLegalHoldsReportAHoldType returns a new LegalHoldsReportAHoldType instance\nfunc NewLegalHoldsReportAHoldType(Description string) *LegalHoldsReportAHoldType {\n\ts := new(LegalHoldsReportAHoldType)\n\ts.Description = Description\n\treturn s\n}\n\n// LinkedDeviceLogInfo : The device sessions that user is linked to.\ntype LinkedDeviceLogInfo struct {\n\tdropbox.Tagged\n\t// DesktopDeviceSession : desktop device session's details.\n\tDesktopDeviceSession *DesktopDeviceSessionLogInfo `json:\"desktop_device_session,omitempty\"`\n\t// LegacyDeviceSession : legacy device session's details.\n\tLegacyDeviceSession *LegacyDeviceSessionLogInfo `json:\"legacy_device_session,omitempty\"`\n\t// MobileDeviceSession : mobile device session's details.\n\tMobileDeviceSession *MobileDeviceSessionLogInfo `json:\"mobile_device_session,omitempty\"`\n\t// WebDeviceSession : web device session's details.\n\tWebDeviceSession *WebDeviceSessionLogInfo `json:\"web_device_session,omitempty\"`\n}\n\n// Valid tag values for LinkedDeviceLogInfo\nconst (\n\tLinkedDeviceLogInfoDesktopDeviceSession = \"desktop_device_session\"\n\tLinkedDeviceLogInfoLegacyDeviceSession  = \"legacy_device_session\"\n\tLinkedDeviceLogInfoMobileDeviceSession  = \"mobile_device_session\"\n\tLinkedDeviceLogInfoWebDeviceSession     = \"web_device_session\"\n\tLinkedDeviceLogInfoOther                = \"other\"\n)\n\n// UnmarshalJSON deserializes into a LinkedDeviceLogInfo instance\nfunc (u *LinkedDeviceLogInfo) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"desktop_device_session\":\n\t\tif err = json.Unmarshal(body, &u.DesktopDeviceSession); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"legacy_device_session\":\n\t\tif err = json.Unmarshal(body, &u.LegacyDeviceSession); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"mobile_device_session\":\n\t\tif err = json.Unmarshal(body, &u.MobileDeviceSession); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"web_device_session\":\n\t\tif err = json.Unmarshal(body, &u.WebDeviceSession); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// LockStatus : File lock status\ntype LockStatus struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LockStatus\nconst (\n\tLockStatusLocked   = \"locked\"\n\tLockStatusUnlocked = \"unlocked\"\n\tLockStatusOther    = \"other\"\n)\n\n// LoginFailDetails : Failed to sign in.\ntype LoginFailDetails struct {\n\t// IsEmmManaged : Tells if the login device is EMM managed. Might be missing\n\t// due to historical data gap.\n\tIsEmmManaged bool `json:\"is_emm_managed,omitempty\"`\n\t// LoginMethod : Login method.\n\tLoginMethod *LoginMethod `json:\"login_method\"`\n\t// ErrorDetails : Error details.\n\tErrorDetails *FailureDetailsLogInfo `json:\"error_details\"`\n}\n\n// NewLoginFailDetails returns a new LoginFailDetails instance\nfunc NewLoginFailDetails(LoginMethod *LoginMethod, ErrorDetails *FailureDetailsLogInfo) *LoginFailDetails {\n\ts := new(LoginFailDetails)\n\ts.LoginMethod = LoginMethod\n\ts.ErrorDetails = ErrorDetails\n\treturn s\n}\n\n// LoginFailType : has no documentation (yet)\ntype LoginFailType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewLoginFailType returns a new LoginFailType instance\nfunc NewLoginFailType(Description string) *LoginFailType {\n\ts := new(LoginFailType)\n\ts.Description = Description\n\treturn s\n}\n\n// LoginMethod : has no documentation (yet)\ntype LoginMethod struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for LoginMethod\nconst (\n\tLoginMethodAppleOauth              = \"apple_oauth\"\n\tLoginMethodFirstPartyTokenExchange = \"first_party_token_exchange\"\n\tLoginMethodGoogleOauth             = \"google_oauth\"\n\tLoginMethodPassword                = \"password\"\n\tLoginMethodQrCode                  = \"qr_code\"\n\tLoginMethodSaml                    = \"saml\"\n\tLoginMethodTwoFactorAuthentication = \"two_factor_authentication\"\n\tLoginMethodWebSession              = \"web_session\"\n\tLoginMethodOther                   = \"other\"\n)\n\n// LoginSuccessDetails : Signed in.\ntype LoginSuccessDetails struct {\n\t// IsEmmManaged : Tells if the login device is EMM managed. Might be missing\n\t// due to historical data gap.\n\tIsEmmManaged bool `json:\"is_emm_managed,omitempty\"`\n\t// LoginMethod : Login method.\n\tLoginMethod *LoginMethod `json:\"login_method\"`\n}\n\n// NewLoginSuccessDetails returns a new LoginSuccessDetails instance\nfunc NewLoginSuccessDetails(LoginMethod *LoginMethod) *LoginSuccessDetails {\n\ts := new(LoginSuccessDetails)\n\ts.LoginMethod = LoginMethod\n\treturn s\n}\n\n// LoginSuccessType : has no documentation (yet)\ntype LoginSuccessType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewLoginSuccessType returns a new LoginSuccessType instance\nfunc NewLoginSuccessType(Description string) *LoginSuccessType {\n\ts := new(LoginSuccessType)\n\ts.Description = Description\n\treturn s\n}\n\n// LogoutDetails : Signed out.\ntype LogoutDetails struct {\n\t// LoginId : Login session id.\n\tLoginId string `json:\"login_id,omitempty\"`\n}\n\n// NewLogoutDetails returns a new LogoutDetails instance\nfunc NewLogoutDetails() *LogoutDetails {\n\ts := new(LogoutDetails)\n\treturn s\n}\n\n// LogoutType : has no documentation (yet)\ntype LogoutType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewLogoutType returns a new LogoutType instance\nfunc NewLogoutType(Description string) *LogoutType {\n\ts := new(LogoutType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberAddExternalIdDetails : Added an external ID for team member.\ntype MemberAddExternalIdDetails struct {\n\t// NewValue : Current external id.\n\tNewValue string `json:\"new_value\"`\n}\n\n// NewMemberAddExternalIdDetails returns a new MemberAddExternalIdDetails instance\nfunc NewMemberAddExternalIdDetails(NewValue string) *MemberAddExternalIdDetails {\n\ts := new(MemberAddExternalIdDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// MemberAddExternalIdType : has no documentation (yet)\ntype MemberAddExternalIdType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberAddExternalIdType returns a new MemberAddExternalIdType instance\nfunc NewMemberAddExternalIdType(Description string) *MemberAddExternalIdType {\n\ts := new(MemberAddExternalIdType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberAddNameDetails : Added team member name.\ntype MemberAddNameDetails struct {\n\t// NewValue : New user's name.\n\tNewValue *UserNameLogInfo `json:\"new_value\"`\n}\n\n// NewMemberAddNameDetails returns a new MemberAddNameDetails instance\nfunc NewMemberAddNameDetails(NewValue *UserNameLogInfo) *MemberAddNameDetails {\n\ts := new(MemberAddNameDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// MemberAddNameType : has no documentation (yet)\ntype MemberAddNameType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberAddNameType returns a new MemberAddNameType instance\nfunc NewMemberAddNameType(Description string) *MemberAddNameType {\n\ts := new(MemberAddNameType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberChangeAdminRoleDetails : Changed team member admin role.\ntype MemberChangeAdminRoleDetails struct {\n\t// NewValue : New admin role. This field is relevant when the admin role is\n\t// changed or whenthe user role changes from no admin rights to with admin\n\t// rights.\n\tNewValue *AdminRole `json:\"new_value,omitempty\"`\n\t// PreviousValue : Previous admin role. This field is relevant when the\n\t// admin role is changed or when the admin role is removed.\n\tPreviousValue *AdminRole `json:\"previous_value,omitempty\"`\n}\n\n// NewMemberChangeAdminRoleDetails returns a new MemberChangeAdminRoleDetails instance\nfunc NewMemberChangeAdminRoleDetails() *MemberChangeAdminRoleDetails {\n\ts := new(MemberChangeAdminRoleDetails)\n\treturn s\n}\n\n// MemberChangeAdminRoleType : has no documentation (yet)\ntype MemberChangeAdminRoleType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberChangeAdminRoleType returns a new MemberChangeAdminRoleType instance\nfunc NewMemberChangeAdminRoleType(Description string) *MemberChangeAdminRoleType {\n\ts := new(MemberChangeAdminRoleType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberChangeEmailDetails : Changed team member email.\ntype MemberChangeEmailDetails struct {\n\t// NewValue : New email.\n\tNewValue string `json:\"new_value\"`\n\t// PreviousValue : Previous email. Might be missing due to historical data\n\t// gap.\n\tPreviousValue string `json:\"previous_value,omitempty\"`\n}\n\n// NewMemberChangeEmailDetails returns a new MemberChangeEmailDetails instance\nfunc NewMemberChangeEmailDetails(NewValue string) *MemberChangeEmailDetails {\n\ts := new(MemberChangeEmailDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// MemberChangeEmailType : has no documentation (yet)\ntype MemberChangeEmailType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberChangeEmailType returns a new MemberChangeEmailType instance\nfunc NewMemberChangeEmailType(Description string) *MemberChangeEmailType {\n\ts := new(MemberChangeEmailType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberChangeExternalIdDetails : Changed the external ID for team member.\ntype MemberChangeExternalIdDetails struct {\n\t// NewValue : Current external id.\n\tNewValue string `json:\"new_value\"`\n\t// PreviousValue : Old external id.\n\tPreviousValue string `json:\"previous_value\"`\n}\n\n// NewMemberChangeExternalIdDetails returns a new MemberChangeExternalIdDetails instance\nfunc NewMemberChangeExternalIdDetails(NewValue string, PreviousValue string) *MemberChangeExternalIdDetails {\n\ts := new(MemberChangeExternalIdDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// MemberChangeExternalIdType : has no documentation (yet)\ntype MemberChangeExternalIdType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberChangeExternalIdType returns a new MemberChangeExternalIdType instance\nfunc NewMemberChangeExternalIdType(Description string) *MemberChangeExternalIdType {\n\ts := new(MemberChangeExternalIdType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberChangeMembershipTypeDetails : Changed membership type (limited/full) of\n// member.\ntype MemberChangeMembershipTypeDetails struct {\n\t// PrevValue : Previous membership type.\n\tPrevValue *TeamMembershipType `json:\"prev_value\"`\n\t// NewValue : New membership type.\n\tNewValue *TeamMembershipType `json:\"new_value\"`\n}\n\n// NewMemberChangeMembershipTypeDetails returns a new MemberChangeMembershipTypeDetails instance\nfunc NewMemberChangeMembershipTypeDetails(PrevValue *TeamMembershipType, NewValue *TeamMembershipType) *MemberChangeMembershipTypeDetails {\n\ts := new(MemberChangeMembershipTypeDetails)\n\ts.PrevValue = PrevValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// MemberChangeMembershipTypeType : has no documentation (yet)\ntype MemberChangeMembershipTypeType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberChangeMembershipTypeType returns a new MemberChangeMembershipTypeType instance\nfunc NewMemberChangeMembershipTypeType(Description string) *MemberChangeMembershipTypeType {\n\ts := new(MemberChangeMembershipTypeType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberChangeNameDetails : Changed team member name.\ntype MemberChangeNameDetails struct {\n\t// NewValue : New user's name.\n\tNewValue *UserNameLogInfo `json:\"new_value\"`\n\t// PreviousValue : Previous user's name. Might be missing due to historical\n\t// data gap.\n\tPreviousValue *UserNameLogInfo `json:\"previous_value,omitempty\"`\n}\n\n// NewMemberChangeNameDetails returns a new MemberChangeNameDetails instance\nfunc NewMemberChangeNameDetails(NewValue *UserNameLogInfo) *MemberChangeNameDetails {\n\ts := new(MemberChangeNameDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// MemberChangeNameType : has no documentation (yet)\ntype MemberChangeNameType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberChangeNameType returns a new MemberChangeNameType instance\nfunc NewMemberChangeNameType(Description string) *MemberChangeNameType {\n\ts := new(MemberChangeNameType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberChangeResellerRoleDetails : Changed team member reseller role.\ntype MemberChangeResellerRoleDetails struct {\n\t// NewValue : New reseller role. This field is relevant when the reseller\n\t// role is changed.\n\tNewValue *ResellerRole `json:\"new_value\"`\n\t// PreviousValue : Previous reseller role. This field is relevant when the\n\t// reseller role is changed or when the reseller role is removed.\n\tPreviousValue *ResellerRole `json:\"previous_value\"`\n}\n\n// NewMemberChangeResellerRoleDetails returns a new MemberChangeResellerRoleDetails instance\nfunc NewMemberChangeResellerRoleDetails(NewValue *ResellerRole, PreviousValue *ResellerRole) *MemberChangeResellerRoleDetails {\n\ts := new(MemberChangeResellerRoleDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// MemberChangeResellerRoleType : has no documentation (yet)\ntype MemberChangeResellerRoleType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberChangeResellerRoleType returns a new MemberChangeResellerRoleType instance\nfunc NewMemberChangeResellerRoleType(Description string) *MemberChangeResellerRoleType {\n\ts := new(MemberChangeResellerRoleType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberChangeStatusDetails : Changed member status (invited, joined,\n// suspended, etc.).\ntype MemberChangeStatusDetails struct {\n\t// PreviousValue : Previous member status. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *MemberStatus `json:\"previous_value,omitempty\"`\n\t// NewValue : New member status.\n\tNewValue *MemberStatus `json:\"new_value\"`\n\t// Action : Additional information indicating the action taken that caused\n\t// status change.\n\tAction *ActionDetails `json:\"action,omitempty\"`\n\t// NewTeam : The user's new team name. This field is relevant when the user\n\t// is transferred off the team.\n\tNewTeam string `json:\"new_team,omitempty\"`\n\t// PreviousTeam : The user's previous team name. This field is relevant when\n\t// the user is transferred onto the team.\n\tPreviousTeam string `json:\"previous_team,omitempty\"`\n}\n\n// NewMemberChangeStatusDetails returns a new MemberChangeStatusDetails instance\nfunc NewMemberChangeStatusDetails(NewValue *MemberStatus) *MemberChangeStatusDetails {\n\ts := new(MemberChangeStatusDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// MemberChangeStatusType : has no documentation (yet)\ntype MemberChangeStatusType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberChangeStatusType returns a new MemberChangeStatusType instance\nfunc NewMemberChangeStatusType(Description string) *MemberChangeStatusType {\n\ts := new(MemberChangeStatusType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberDeleteManualContactsDetails : Cleared manually added contacts.\ntype MemberDeleteManualContactsDetails struct {\n}\n\n// NewMemberDeleteManualContactsDetails returns a new MemberDeleteManualContactsDetails instance\nfunc NewMemberDeleteManualContactsDetails() *MemberDeleteManualContactsDetails {\n\ts := new(MemberDeleteManualContactsDetails)\n\treturn s\n}\n\n// MemberDeleteManualContactsType : has no documentation (yet)\ntype MemberDeleteManualContactsType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberDeleteManualContactsType returns a new MemberDeleteManualContactsType instance\nfunc NewMemberDeleteManualContactsType(Description string) *MemberDeleteManualContactsType {\n\ts := new(MemberDeleteManualContactsType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberDeleteProfilePhotoDetails : Deleted team member profile photo.\ntype MemberDeleteProfilePhotoDetails struct {\n}\n\n// NewMemberDeleteProfilePhotoDetails returns a new MemberDeleteProfilePhotoDetails instance\nfunc NewMemberDeleteProfilePhotoDetails() *MemberDeleteProfilePhotoDetails {\n\ts := new(MemberDeleteProfilePhotoDetails)\n\treturn s\n}\n\n// MemberDeleteProfilePhotoType : has no documentation (yet)\ntype MemberDeleteProfilePhotoType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberDeleteProfilePhotoType returns a new MemberDeleteProfilePhotoType instance\nfunc NewMemberDeleteProfilePhotoType(Description string) *MemberDeleteProfilePhotoType {\n\ts := new(MemberDeleteProfilePhotoType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberPermanentlyDeleteAccountContentsDetails : Permanently deleted contents\n// of deleted team member account.\ntype MemberPermanentlyDeleteAccountContentsDetails struct {\n}\n\n// NewMemberPermanentlyDeleteAccountContentsDetails returns a new MemberPermanentlyDeleteAccountContentsDetails instance\nfunc NewMemberPermanentlyDeleteAccountContentsDetails() *MemberPermanentlyDeleteAccountContentsDetails {\n\ts := new(MemberPermanentlyDeleteAccountContentsDetails)\n\treturn s\n}\n\n// MemberPermanentlyDeleteAccountContentsType : has no documentation (yet)\ntype MemberPermanentlyDeleteAccountContentsType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberPermanentlyDeleteAccountContentsType returns a new MemberPermanentlyDeleteAccountContentsType instance\nfunc NewMemberPermanentlyDeleteAccountContentsType(Description string) *MemberPermanentlyDeleteAccountContentsType {\n\ts := new(MemberPermanentlyDeleteAccountContentsType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberRemoveActionType : has no documentation (yet)\ntype MemberRemoveActionType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MemberRemoveActionType\nconst (\n\tMemberRemoveActionTypeDelete                       = \"delete\"\n\tMemberRemoveActionTypeLeave                        = \"leave\"\n\tMemberRemoveActionTypeOffboard                     = \"offboard\"\n\tMemberRemoveActionTypeOffboardAndRetainTeamFolders = \"offboard_and_retain_team_folders\"\n\tMemberRemoveActionTypeOther                        = \"other\"\n)\n\n// MemberRemoveExternalIdDetails : Removed the external ID for team member.\ntype MemberRemoveExternalIdDetails struct {\n\t// PreviousValue : Old external id.\n\tPreviousValue string `json:\"previous_value\"`\n}\n\n// NewMemberRemoveExternalIdDetails returns a new MemberRemoveExternalIdDetails instance\nfunc NewMemberRemoveExternalIdDetails(PreviousValue string) *MemberRemoveExternalIdDetails {\n\ts := new(MemberRemoveExternalIdDetails)\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// MemberRemoveExternalIdType : has no documentation (yet)\ntype MemberRemoveExternalIdType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberRemoveExternalIdType returns a new MemberRemoveExternalIdType instance\nfunc NewMemberRemoveExternalIdType(Description string) *MemberRemoveExternalIdType {\n\ts := new(MemberRemoveExternalIdType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberRequestsChangePolicyDetails : Changed whether users can find team when\n// not invited.\ntype MemberRequestsChangePolicyDetails struct {\n\t// NewValue : New member change requests policy.\n\tNewValue *MemberRequestsPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous member change requests policy. Might be missing\n\t// due to historical data gap.\n\tPreviousValue *MemberRequestsPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewMemberRequestsChangePolicyDetails returns a new MemberRequestsChangePolicyDetails instance\nfunc NewMemberRequestsChangePolicyDetails(NewValue *MemberRequestsPolicy) *MemberRequestsChangePolicyDetails {\n\ts := new(MemberRequestsChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// MemberRequestsChangePolicyType : has no documentation (yet)\ntype MemberRequestsChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberRequestsChangePolicyType returns a new MemberRequestsChangePolicyType instance\nfunc NewMemberRequestsChangePolicyType(Description string) *MemberRequestsChangePolicyType {\n\ts := new(MemberRequestsChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberRequestsPolicy : has no documentation (yet)\ntype MemberRequestsPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MemberRequestsPolicy\nconst (\n\tMemberRequestsPolicyAutoAccept      = \"auto_accept\"\n\tMemberRequestsPolicyDisabled        = \"disabled\"\n\tMemberRequestsPolicyRequireApproval = \"require_approval\"\n\tMemberRequestsPolicyOther           = \"other\"\n)\n\n// MemberSendInvitePolicy : Policy for controlling whether team members can send\n// team invites\ntype MemberSendInvitePolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MemberSendInvitePolicy\nconst (\n\tMemberSendInvitePolicyDisabled        = \"disabled\"\n\tMemberSendInvitePolicyEveryone        = \"everyone\"\n\tMemberSendInvitePolicySpecificMembers = \"specific_members\"\n\tMemberSendInvitePolicyOther           = \"other\"\n)\n\n// MemberSendInvitePolicyChangedDetails : Changed member send invite policy for\n// team.\ntype MemberSendInvitePolicyChangedDetails struct {\n\t// NewValue : New team member send invite policy.\n\tNewValue *MemberSendInvitePolicy `json:\"new_value\"`\n\t// PreviousValue : Previous team member send invite policy.\n\tPreviousValue *MemberSendInvitePolicy `json:\"previous_value\"`\n}\n\n// NewMemberSendInvitePolicyChangedDetails returns a new MemberSendInvitePolicyChangedDetails instance\nfunc NewMemberSendInvitePolicyChangedDetails(NewValue *MemberSendInvitePolicy, PreviousValue *MemberSendInvitePolicy) *MemberSendInvitePolicyChangedDetails {\n\ts := new(MemberSendInvitePolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// MemberSendInvitePolicyChangedType : has no documentation (yet)\ntype MemberSendInvitePolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberSendInvitePolicyChangedType returns a new MemberSendInvitePolicyChangedType instance\nfunc NewMemberSendInvitePolicyChangedType(Description string) *MemberSendInvitePolicyChangedType {\n\ts := new(MemberSendInvitePolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberSetProfilePhotoDetails : Set team member profile photo.\ntype MemberSetProfilePhotoDetails struct {\n}\n\n// NewMemberSetProfilePhotoDetails returns a new MemberSetProfilePhotoDetails instance\nfunc NewMemberSetProfilePhotoDetails() *MemberSetProfilePhotoDetails {\n\ts := new(MemberSetProfilePhotoDetails)\n\treturn s\n}\n\n// MemberSetProfilePhotoType : has no documentation (yet)\ntype MemberSetProfilePhotoType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberSetProfilePhotoType returns a new MemberSetProfilePhotoType instance\nfunc NewMemberSetProfilePhotoType(Description string) *MemberSetProfilePhotoType {\n\ts := new(MemberSetProfilePhotoType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberSpaceLimitsAddCustomQuotaDetails : Set custom member space limit.\ntype MemberSpaceLimitsAddCustomQuotaDetails struct {\n\t// NewValue : New custom quota value in bytes.\n\tNewValue uint64 `json:\"new_value\"`\n}\n\n// NewMemberSpaceLimitsAddCustomQuotaDetails returns a new MemberSpaceLimitsAddCustomQuotaDetails instance\nfunc NewMemberSpaceLimitsAddCustomQuotaDetails(NewValue uint64) *MemberSpaceLimitsAddCustomQuotaDetails {\n\ts := new(MemberSpaceLimitsAddCustomQuotaDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// MemberSpaceLimitsAddCustomQuotaType : has no documentation (yet)\ntype MemberSpaceLimitsAddCustomQuotaType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberSpaceLimitsAddCustomQuotaType returns a new MemberSpaceLimitsAddCustomQuotaType instance\nfunc NewMemberSpaceLimitsAddCustomQuotaType(Description string) *MemberSpaceLimitsAddCustomQuotaType {\n\ts := new(MemberSpaceLimitsAddCustomQuotaType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberSpaceLimitsAddExceptionDetails : Added members to member space limit\n// exception list.\ntype MemberSpaceLimitsAddExceptionDetails struct {\n}\n\n// NewMemberSpaceLimitsAddExceptionDetails returns a new MemberSpaceLimitsAddExceptionDetails instance\nfunc NewMemberSpaceLimitsAddExceptionDetails() *MemberSpaceLimitsAddExceptionDetails {\n\ts := new(MemberSpaceLimitsAddExceptionDetails)\n\treturn s\n}\n\n// MemberSpaceLimitsAddExceptionType : has no documentation (yet)\ntype MemberSpaceLimitsAddExceptionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberSpaceLimitsAddExceptionType returns a new MemberSpaceLimitsAddExceptionType instance\nfunc NewMemberSpaceLimitsAddExceptionType(Description string) *MemberSpaceLimitsAddExceptionType {\n\ts := new(MemberSpaceLimitsAddExceptionType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberSpaceLimitsChangeCapsTypePolicyDetails : Changed member space limit\n// type for team.\ntype MemberSpaceLimitsChangeCapsTypePolicyDetails struct {\n\t// PreviousValue : Previous space limit type.\n\tPreviousValue *SpaceCapsType `json:\"previous_value\"`\n\t// NewValue : New space limit type.\n\tNewValue *SpaceCapsType `json:\"new_value\"`\n}\n\n// NewMemberSpaceLimitsChangeCapsTypePolicyDetails returns a new MemberSpaceLimitsChangeCapsTypePolicyDetails instance\nfunc NewMemberSpaceLimitsChangeCapsTypePolicyDetails(PreviousValue *SpaceCapsType, NewValue *SpaceCapsType) *MemberSpaceLimitsChangeCapsTypePolicyDetails {\n\ts := new(MemberSpaceLimitsChangeCapsTypePolicyDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// MemberSpaceLimitsChangeCapsTypePolicyType : has no documentation (yet)\ntype MemberSpaceLimitsChangeCapsTypePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberSpaceLimitsChangeCapsTypePolicyType returns a new MemberSpaceLimitsChangeCapsTypePolicyType instance\nfunc NewMemberSpaceLimitsChangeCapsTypePolicyType(Description string) *MemberSpaceLimitsChangeCapsTypePolicyType {\n\ts := new(MemberSpaceLimitsChangeCapsTypePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberSpaceLimitsChangeCustomQuotaDetails : Changed custom member space\n// limit.\ntype MemberSpaceLimitsChangeCustomQuotaDetails struct {\n\t// PreviousValue : Previous custom quota value in bytes.\n\tPreviousValue uint64 `json:\"previous_value\"`\n\t// NewValue : New custom quota value in bytes.\n\tNewValue uint64 `json:\"new_value\"`\n}\n\n// NewMemberSpaceLimitsChangeCustomQuotaDetails returns a new MemberSpaceLimitsChangeCustomQuotaDetails instance\nfunc NewMemberSpaceLimitsChangeCustomQuotaDetails(PreviousValue uint64, NewValue uint64) *MemberSpaceLimitsChangeCustomQuotaDetails {\n\ts := new(MemberSpaceLimitsChangeCustomQuotaDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// MemberSpaceLimitsChangeCustomQuotaType : has no documentation (yet)\ntype MemberSpaceLimitsChangeCustomQuotaType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberSpaceLimitsChangeCustomQuotaType returns a new MemberSpaceLimitsChangeCustomQuotaType instance\nfunc NewMemberSpaceLimitsChangeCustomQuotaType(Description string) *MemberSpaceLimitsChangeCustomQuotaType {\n\ts := new(MemberSpaceLimitsChangeCustomQuotaType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberSpaceLimitsChangePolicyDetails : Changed team default member space\n// limit.\ntype MemberSpaceLimitsChangePolicyDetails struct {\n\t// PreviousValue : Previous team default limit value in bytes. Might be\n\t// missing due to historical data gap.\n\tPreviousValue uint64 `json:\"previous_value,omitempty\"`\n\t// NewValue : New team default limit value in bytes. Might be missing due to\n\t// historical data gap.\n\tNewValue uint64 `json:\"new_value,omitempty\"`\n}\n\n// NewMemberSpaceLimitsChangePolicyDetails returns a new MemberSpaceLimitsChangePolicyDetails instance\nfunc NewMemberSpaceLimitsChangePolicyDetails() *MemberSpaceLimitsChangePolicyDetails {\n\ts := new(MemberSpaceLimitsChangePolicyDetails)\n\treturn s\n}\n\n// MemberSpaceLimitsChangePolicyType : has no documentation (yet)\ntype MemberSpaceLimitsChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberSpaceLimitsChangePolicyType returns a new MemberSpaceLimitsChangePolicyType instance\nfunc NewMemberSpaceLimitsChangePolicyType(Description string) *MemberSpaceLimitsChangePolicyType {\n\ts := new(MemberSpaceLimitsChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberSpaceLimitsChangeStatusDetails : Changed space limit status.\ntype MemberSpaceLimitsChangeStatusDetails struct {\n\t// PreviousValue : Previous storage quota status.\n\tPreviousValue *SpaceLimitsStatus `json:\"previous_value\"`\n\t// NewValue : New storage quota status.\n\tNewValue *SpaceLimitsStatus `json:\"new_value\"`\n}\n\n// NewMemberSpaceLimitsChangeStatusDetails returns a new MemberSpaceLimitsChangeStatusDetails instance\nfunc NewMemberSpaceLimitsChangeStatusDetails(PreviousValue *SpaceLimitsStatus, NewValue *SpaceLimitsStatus) *MemberSpaceLimitsChangeStatusDetails {\n\ts := new(MemberSpaceLimitsChangeStatusDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// MemberSpaceLimitsChangeStatusType : has no documentation (yet)\ntype MemberSpaceLimitsChangeStatusType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberSpaceLimitsChangeStatusType returns a new MemberSpaceLimitsChangeStatusType instance\nfunc NewMemberSpaceLimitsChangeStatusType(Description string) *MemberSpaceLimitsChangeStatusType {\n\ts := new(MemberSpaceLimitsChangeStatusType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberSpaceLimitsRemoveCustomQuotaDetails : Removed custom member space\n// limit.\ntype MemberSpaceLimitsRemoveCustomQuotaDetails struct {\n}\n\n// NewMemberSpaceLimitsRemoveCustomQuotaDetails returns a new MemberSpaceLimitsRemoveCustomQuotaDetails instance\nfunc NewMemberSpaceLimitsRemoveCustomQuotaDetails() *MemberSpaceLimitsRemoveCustomQuotaDetails {\n\ts := new(MemberSpaceLimitsRemoveCustomQuotaDetails)\n\treturn s\n}\n\n// MemberSpaceLimitsRemoveCustomQuotaType : has no documentation (yet)\ntype MemberSpaceLimitsRemoveCustomQuotaType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberSpaceLimitsRemoveCustomQuotaType returns a new MemberSpaceLimitsRemoveCustomQuotaType instance\nfunc NewMemberSpaceLimitsRemoveCustomQuotaType(Description string) *MemberSpaceLimitsRemoveCustomQuotaType {\n\ts := new(MemberSpaceLimitsRemoveCustomQuotaType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberSpaceLimitsRemoveExceptionDetails : Removed members from member space\n// limit exception list.\ntype MemberSpaceLimitsRemoveExceptionDetails struct {\n}\n\n// NewMemberSpaceLimitsRemoveExceptionDetails returns a new MemberSpaceLimitsRemoveExceptionDetails instance\nfunc NewMemberSpaceLimitsRemoveExceptionDetails() *MemberSpaceLimitsRemoveExceptionDetails {\n\ts := new(MemberSpaceLimitsRemoveExceptionDetails)\n\treturn s\n}\n\n// MemberSpaceLimitsRemoveExceptionType : has no documentation (yet)\ntype MemberSpaceLimitsRemoveExceptionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberSpaceLimitsRemoveExceptionType returns a new MemberSpaceLimitsRemoveExceptionType instance\nfunc NewMemberSpaceLimitsRemoveExceptionType(Description string) *MemberSpaceLimitsRemoveExceptionType {\n\ts := new(MemberSpaceLimitsRemoveExceptionType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberStatus : has no documentation (yet)\ntype MemberStatus struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MemberStatus\nconst (\n\tMemberStatusActive             = \"active\"\n\tMemberStatusInvited            = \"invited\"\n\tMemberStatusMovedToAnotherTeam = \"moved_to_another_team\"\n\tMemberStatusNotJoined          = \"not_joined\"\n\tMemberStatusRemoved            = \"removed\"\n\tMemberStatusSuspended          = \"suspended\"\n\tMemberStatusOther              = \"other\"\n)\n\n// MemberSuggestDetails : Suggested person to add to team.\ntype MemberSuggestDetails struct {\n\t// SuggestedMembers : suggested users emails.\n\tSuggestedMembers []string `json:\"suggested_members\"`\n}\n\n// NewMemberSuggestDetails returns a new MemberSuggestDetails instance\nfunc NewMemberSuggestDetails(SuggestedMembers []string) *MemberSuggestDetails {\n\ts := new(MemberSuggestDetails)\n\ts.SuggestedMembers = SuggestedMembers\n\treturn s\n}\n\n// MemberSuggestType : has no documentation (yet)\ntype MemberSuggestType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberSuggestType returns a new MemberSuggestType instance\nfunc NewMemberSuggestType(Description string) *MemberSuggestType {\n\ts := new(MemberSuggestType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberSuggestionsChangePolicyDetails : Enabled/disabled option for team\n// members to suggest people to add to team.\ntype MemberSuggestionsChangePolicyDetails struct {\n\t// NewValue : New team member suggestions policy.\n\tNewValue *MemberSuggestionsPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous team member suggestions policy. Might be missing\n\t// due to historical data gap.\n\tPreviousValue *MemberSuggestionsPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewMemberSuggestionsChangePolicyDetails returns a new MemberSuggestionsChangePolicyDetails instance\nfunc NewMemberSuggestionsChangePolicyDetails(NewValue *MemberSuggestionsPolicy) *MemberSuggestionsChangePolicyDetails {\n\ts := new(MemberSuggestionsChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// MemberSuggestionsChangePolicyType : has no documentation (yet)\ntype MemberSuggestionsChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberSuggestionsChangePolicyType returns a new MemberSuggestionsChangePolicyType instance\nfunc NewMemberSuggestionsChangePolicyType(Description string) *MemberSuggestionsChangePolicyType {\n\ts := new(MemberSuggestionsChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberSuggestionsPolicy : Member suggestions policy\ntype MemberSuggestionsPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MemberSuggestionsPolicy\nconst (\n\tMemberSuggestionsPolicyDisabled = \"disabled\"\n\tMemberSuggestionsPolicyEnabled  = \"enabled\"\n\tMemberSuggestionsPolicyOther    = \"other\"\n)\n\n// MemberTransferAccountContentsDetails : Transferred contents of deleted member\n// account to another member.\ntype MemberTransferAccountContentsDetails struct {\n}\n\n// NewMemberTransferAccountContentsDetails returns a new MemberTransferAccountContentsDetails instance\nfunc NewMemberTransferAccountContentsDetails() *MemberTransferAccountContentsDetails {\n\ts := new(MemberTransferAccountContentsDetails)\n\treturn s\n}\n\n// MemberTransferAccountContentsType : has no documentation (yet)\ntype MemberTransferAccountContentsType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMemberTransferAccountContentsType returns a new MemberTransferAccountContentsType instance\nfunc NewMemberTransferAccountContentsType(Description string) *MemberTransferAccountContentsType {\n\ts := new(MemberTransferAccountContentsType)\n\ts.Description = Description\n\treturn s\n}\n\n// MemberTransferredInternalFields : Internal only - fields for target team\n// computations\ntype MemberTransferredInternalFields struct {\n\t// SourceTeamId : Internal only - team user was moved from.\n\tSourceTeamId string `json:\"source_team_id\"`\n\t// TargetTeamId : Internal only - team user was moved to.\n\tTargetTeamId string `json:\"target_team_id\"`\n}\n\n// NewMemberTransferredInternalFields returns a new MemberTransferredInternalFields instance\nfunc NewMemberTransferredInternalFields(SourceTeamId string, TargetTeamId string) *MemberTransferredInternalFields {\n\ts := new(MemberTransferredInternalFields)\n\ts.SourceTeamId = SourceTeamId\n\ts.TargetTeamId = TargetTeamId\n\treturn s\n}\n\n// MicrosoftOfficeAddinChangePolicyDetails : Enabled/disabled Microsoft Office\n// add-in.\ntype MicrosoftOfficeAddinChangePolicyDetails struct {\n\t// NewValue : New Microsoft Office addin policy.\n\tNewValue *MicrosoftOfficeAddinPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous Microsoft Office addin policy. Might be missing\n\t// due to historical data gap.\n\tPreviousValue *MicrosoftOfficeAddinPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewMicrosoftOfficeAddinChangePolicyDetails returns a new MicrosoftOfficeAddinChangePolicyDetails instance\nfunc NewMicrosoftOfficeAddinChangePolicyDetails(NewValue *MicrosoftOfficeAddinPolicy) *MicrosoftOfficeAddinChangePolicyDetails {\n\ts := new(MicrosoftOfficeAddinChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// MicrosoftOfficeAddinChangePolicyType : has no documentation (yet)\ntype MicrosoftOfficeAddinChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewMicrosoftOfficeAddinChangePolicyType returns a new MicrosoftOfficeAddinChangePolicyType instance\nfunc NewMicrosoftOfficeAddinChangePolicyType(Description string) *MicrosoftOfficeAddinChangePolicyType {\n\ts := new(MicrosoftOfficeAddinChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// MicrosoftOfficeAddinPolicy : Microsoft Office addin policy\ntype MicrosoftOfficeAddinPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for MicrosoftOfficeAddinPolicy\nconst (\n\tMicrosoftOfficeAddinPolicyDisabled = \"disabled\"\n\tMicrosoftOfficeAddinPolicyEnabled  = \"enabled\"\n\tMicrosoftOfficeAddinPolicyOther    = \"other\"\n)\n\n// MissingDetails : An indication that an error occurred while retrieving the\n// event. Some attributes of the event may be omitted as a result.\ntype MissingDetails struct {\n\t// SourceEventFields : All the data that could be retrieved and converted\n\t// from the source event.\n\tSourceEventFields string `json:\"source_event_fields,omitempty\"`\n}\n\n// NewMissingDetails returns a new MissingDetails instance\nfunc NewMissingDetails() *MissingDetails {\n\ts := new(MissingDetails)\n\treturn s\n}\n\n// MobileDeviceSessionLogInfo : Information about linked Dropbox mobile client\n// sessions\ntype MobileDeviceSessionLogInfo struct {\n\tDeviceSessionLogInfo\n\t// SessionInfo : Mobile session unique id.\n\tSessionInfo *MobileSessionLogInfo `json:\"session_info,omitempty\"`\n\t// DeviceName : The device name.\n\tDeviceName string `json:\"device_name\"`\n\t// ClientType : The mobile application type.\n\tClientType *team.MobileClientPlatform `json:\"client_type\"`\n\t// ClientVersion : The Dropbox client version.\n\tClientVersion string `json:\"client_version,omitempty\"`\n\t// OsVersion : The hosting OS version.\n\tOsVersion string `json:\"os_version,omitempty\"`\n\t// LastCarrier : last carrier used by the device.\n\tLastCarrier string `json:\"last_carrier,omitempty\"`\n}\n\n// NewMobileDeviceSessionLogInfo returns a new MobileDeviceSessionLogInfo instance\nfunc NewMobileDeviceSessionLogInfo(DeviceName string, ClientType *team.MobileClientPlatform) *MobileDeviceSessionLogInfo {\n\ts := new(MobileDeviceSessionLogInfo)\n\ts.DeviceName = DeviceName\n\ts.ClientType = ClientType\n\treturn s\n}\n\n// MobileSessionLogInfo : Mobile session.\ntype MobileSessionLogInfo struct {\n\tSessionLogInfo\n}\n\n// NewMobileSessionLogInfo returns a new MobileSessionLogInfo instance\nfunc NewMobileSessionLogInfo() *MobileSessionLogInfo {\n\ts := new(MobileSessionLogInfo)\n\treturn s\n}\n\n// NamespaceRelativePathLogInfo : Namespace relative path details.\ntype NamespaceRelativePathLogInfo struct {\n\t// NsId : Namespace ID.\n\tNsId string `json:\"ns_id,omitempty\"`\n\t// RelativePath : A path relative to the specified namespace ID.\n\tRelativePath string `json:\"relative_path,omitempty\"`\n\t// IsSharedNamespace : True if the namespace is shared.\n\tIsSharedNamespace bool `json:\"is_shared_namespace,omitempty\"`\n}\n\n// NewNamespaceRelativePathLogInfo returns a new NamespaceRelativePathLogInfo instance\nfunc NewNamespaceRelativePathLogInfo() *NamespaceRelativePathLogInfo {\n\ts := new(NamespaceRelativePathLogInfo)\n\treturn s\n}\n\n// NetworkControlChangePolicyDetails : Enabled/disabled network control.\ntype NetworkControlChangePolicyDetails struct {\n\t// NewValue : New network control policy.\n\tNewValue *NetworkControlPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous network control policy. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *NetworkControlPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewNetworkControlChangePolicyDetails returns a new NetworkControlChangePolicyDetails instance\nfunc NewNetworkControlChangePolicyDetails(NewValue *NetworkControlPolicy) *NetworkControlChangePolicyDetails {\n\ts := new(NetworkControlChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// NetworkControlChangePolicyType : has no documentation (yet)\ntype NetworkControlChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewNetworkControlChangePolicyType returns a new NetworkControlChangePolicyType instance\nfunc NewNetworkControlChangePolicyType(Description string) *NetworkControlChangePolicyType {\n\ts := new(NetworkControlChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// NetworkControlPolicy : Network control policy\ntype NetworkControlPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for NetworkControlPolicy\nconst (\n\tNetworkControlPolicyDisabled = \"disabled\"\n\tNetworkControlPolicyEnabled  = \"enabled\"\n\tNetworkControlPolicyOther    = \"other\"\n)\n\n// NoExpirationLinkGenCreateReportDetails : Report created: Links created with\n// no expiration.\ntype NoExpirationLinkGenCreateReportDetails struct {\n\t// StartDate : Report start date.\n\tStartDate time.Time `json:\"start_date\"`\n\t// EndDate : Report end date.\n\tEndDate time.Time `json:\"end_date\"`\n}\n\n// NewNoExpirationLinkGenCreateReportDetails returns a new NoExpirationLinkGenCreateReportDetails instance\nfunc NewNoExpirationLinkGenCreateReportDetails(StartDate time.Time, EndDate time.Time) *NoExpirationLinkGenCreateReportDetails {\n\ts := new(NoExpirationLinkGenCreateReportDetails)\n\ts.StartDate = StartDate\n\ts.EndDate = EndDate\n\treturn s\n}\n\n// NoExpirationLinkGenCreateReportType : has no documentation (yet)\ntype NoExpirationLinkGenCreateReportType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewNoExpirationLinkGenCreateReportType returns a new NoExpirationLinkGenCreateReportType instance\nfunc NewNoExpirationLinkGenCreateReportType(Description string) *NoExpirationLinkGenCreateReportType {\n\ts := new(NoExpirationLinkGenCreateReportType)\n\ts.Description = Description\n\treturn s\n}\n\n// NoExpirationLinkGenReportFailedDetails : Couldn't create report: Links\n// created with no expiration.\ntype NoExpirationLinkGenReportFailedDetails struct {\n\t// FailureReason : Failure reason.\n\tFailureReason *team.TeamReportFailureReason `json:\"failure_reason\"`\n}\n\n// NewNoExpirationLinkGenReportFailedDetails returns a new NoExpirationLinkGenReportFailedDetails instance\nfunc NewNoExpirationLinkGenReportFailedDetails(FailureReason *team.TeamReportFailureReason) *NoExpirationLinkGenReportFailedDetails {\n\ts := new(NoExpirationLinkGenReportFailedDetails)\n\ts.FailureReason = FailureReason\n\treturn s\n}\n\n// NoExpirationLinkGenReportFailedType : has no documentation (yet)\ntype NoExpirationLinkGenReportFailedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewNoExpirationLinkGenReportFailedType returns a new NoExpirationLinkGenReportFailedType instance\nfunc NewNoExpirationLinkGenReportFailedType(Description string) *NoExpirationLinkGenReportFailedType {\n\ts := new(NoExpirationLinkGenReportFailedType)\n\ts.Description = Description\n\treturn s\n}\n\n// NoPasswordLinkGenCreateReportDetails : Report created: Links created without\n// passwords.\ntype NoPasswordLinkGenCreateReportDetails struct {\n\t// StartDate : Report start date.\n\tStartDate time.Time `json:\"start_date\"`\n\t// EndDate : Report end date.\n\tEndDate time.Time `json:\"end_date\"`\n}\n\n// NewNoPasswordLinkGenCreateReportDetails returns a new NoPasswordLinkGenCreateReportDetails instance\nfunc NewNoPasswordLinkGenCreateReportDetails(StartDate time.Time, EndDate time.Time) *NoPasswordLinkGenCreateReportDetails {\n\ts := new(NoPasswordLinkGenCreateReportDetails)\n\ts.StartDate = StartDate\n\ts.EndDate = EndDate\n\treturn s\n}\n\n// NoPasswordLinkGenCreateReportType : has no documentation (yet)\ntype NoPasswordLinkGenCreateReportType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewNoPasswordLinkGenCreateReportType returns a new NoPasswordLinkGenCreateReportType instance\nfunc NewNoPasswordLinkGenCreateReportType(Description string) *NoPasswordLinkGenCreateReportType {\n\ts := new(NoPasswordLinkGenCreateReportType)\n\ts.Description = Description\n\treturn s\n}\n\n// NoPasswordLinkGenReportFailedDetails : Couldn't create report: Links created\n// without passwords.\ntype NoPasswordLinkGenReportFailedDetails struct {\n\t// FailureReason : Failure reason.\n\tFailureReason *team.TeamReportFailureReason `json:\"failure_reason\"`\n}\n\n// NewNoPasswordLinkGenReportFailedDetails returns a new NoPasswordLinkGenReportFailedDetails instance\nfunc NewNoPasswordLinkGenReportFailedDetails(FailureReason *team.TeamReportFailureReason) *NoPasswordLinkGenReportFailedDetails {\n\ts := new(NoPasswordLinkGenReportFailedDetails)\n\ts.FailureReason = FailureReason\n\treturn s\n}\n\n// NoPasswordLinkGenReportFailedType : has no documentation (yet)\ntype NoPasswordLinkGenReportFailedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewNoPasswordLinkGenReportFailedType returns a new NoPasswordLinkGenReportFailedType instance\nfunc NewNoPasswordLinkGenReportFailedType(Description string) *NoPasswordLinkGenReportFailedType {\n\ts := new(NoPasswordLinkGenReportFailedType)\n\ts.Description = Description\n\treturn s\n}\n\n// NoPasswordLinkViewCreateReportDetails : Report created: Views of links\n// without passwords.\ntype NoPasswordLinkViewCreateReportDetails struct {\n\t// StartDate : Report start date.\n\tStartDate time.Time `json:\"start_date\"`\n\t// EndDate : Report end date.\n\tEndDate time.Time `json:\"end_date\"`\n}\n\n// NewNoPasswordLinkViewCreateReportDetails returns a new NoPasswordLinkViewCreateReportDetails instance\nfunc NewNoPasswordLinkViewCreateReportDetails(StartDate time.Time, EndDate time.Time) *NoPasswordLinkViewCreateReportDetails {\n\ts := new(NoPasswordLinkViewCreateReportDetails)\n\ts.StartDate = StartDate\n\ts.EndDate = EndDate\n\treturn s\n}\n\n// NoPasswordLinkViewCreateReportType : has no documentation (yet)\ntype NoPasswordLinkViewCreateReportType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewNoPasswordLinkViewCreateReportType returns a new NoPasswordLinkViewCreateReportType instance\nfunc NewNoPasswordLinkViewCreateReportType(Description string) *NoPasswordLinkViewCreateReportType {\n\ts := new(NoPasswordLinkViewCreateReportType)\n\ts.Description = Description\n\treturn s\n}\n\n// NoPasswordLinkViewReportFailedDetails : Couldn't create report: Views of\n// links without passwords.\ntype NoPasswordLinkViewReportFailedDetails struct {\n\t// FailureReason : Failure reason.\n\tFailureReason *team.TeamReportFailureReason `json:\"failure_reason\"`\n}\n\n// NewNoPasswordLinkViewReportFailedDetails returns a new NoPasswordLinkViewReportFailedDetails instance\nfunc NewNoPasswordLinkViewReportFailedDetails(FailureReason *team.TeamReportFailureReason) *NoPasswordLinkViewReportFailedDetails {\n\ts := new(NoPasswordLinkViewReportFailedDetails)\n\ts.FailureReason = FailureReason\n\treturn s\n}\n\n// NoPasswordLinkViewReportFailedType : has no documentation (yet)\ntype NoPasswordLinkViewReportFailedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewNoPasswordLinkViewReportFailedType returns a new NoPasswordLinkViewReportFailedType instance\nfunc NewNoPasswordLinkViewReportFailedType(Description string) *NoPasswordLinkViewReportFailedType {\n\ts := new(NoPasswordLinkViewReportFailedType)\n\ts.Description = Description\n\treturn s\n}\n\n// UserLogInfo : User's logged information.\ntype UserLogInfo struct {\n\t// AccountId : User unique ID.\n\tAccountId string `json:\"account_id,omitempty\"`\n\t// DisplayName : User display name.\n\tDisplayName string `json:\"display_name,omitempty\"`\n\t// Email : User email address.\n\tEmail string `json:\"email,omitempty\"`\n}\n\n// NewUserLogInfo returns a new UserLogInfo instance\nfunc NewUserLogInfo() *UserLogInfo {\n\ts := new(UserLogInfo)\n\treturn s\n}\n\n// IsUserLogInfo is the interface type for UserLogInfo and its subtypes\ntype IsUserLogInfo interface {\n\tIsUserLogInfo()\n}\n\n// IsUserLogInfo implements the IsUserLogInfo interface\nfunc (u *UserLogInfo) IsUserLogInfo() {}\n\ntype userLogInfoUnion struct {\n\tdropbox.Tagged\n\t// TeamMember : has no documentation (yet)\n\tTeamMember *TeamMemberLogInfo `json:\"team_member,omitempty\"`\n\t// TrustedNonTeamMember : has no documentation (yet)\n\tTrustedNonTeamMember *TrustedNonTeamMemberLogInfo `json:\"trusted_non_team_member,omitempty\"`\n\t// NonTeamMember : has no documentation (yet)\n\tNonTeamMember *NonTeamMemberLogInfo `json:\"non_team_member,omitempty\"`\n}\n\n// Valid tag values for UserLogInfo\nconst (\n\tUserLogInfoTeamMember           = \"team_member\"\n\tUserLogInfoTrustedNonTeamMember = \"trusted_non_team_member\"\n\tUserLogInfoNonTeamMember        = \"non_team_member\"\n)\n\n// UnmarshalJSON deserializes into a userLogInfoUnion instance\nfunc (u *userLogInfoUnion) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"team_member\":\n\t\tif err = json.Unmarshal(body, &u.TeamMember); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"trusted_non_team_member\":\n\t\tif err = json.Unmarshal(body, &u.TrustedNonTeamMember); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"non_team_member\":\n\t\tif err = json.Unmarshal(body, &u.NonTeamMember); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// IsUserLogInfoFromJSON converts JSON to a concrete IsUserLogInfo instance\nfunc IsUserLogInfoFromJSON(data []byte) (IsUserLogInfo, error) {\n\tvar t userLogInfoUnion\n\tif err := json.Unmarshal(data, &t); err != nil {\n\t\treturn nil, err\n\t}\n\tswitch t.Tag {\n\tcase \"team_member\":\n\t\treturn t.TeamMember, nil\n\n\tcase \"trusted_non_team_member\":\n\t\treturn t.TrustedNonTeamMember, nil\n\n\tcase \"non_team_member\":\n\t\treturn t.NonTeamMember, nil\n\n\t}\n\treturn nil, nil\n}\n\n// NonTeamMemberLogInfo : Non team member's logged information.\ntype NonTeamMemberLogInfo struct {\n\tUserLogInfo\n}\n\n// NewNonTeamMemberLogInfo returns a new NonTeamMemberLogInfo instance\nfunc NewNonTeamMemberLogInfo() *NonTeamMemberLogInfo {\n\ts := new(NonTeamMemberLogInfo)\n\treturn s\n}\n\n// NonTrustedTeamDetails : The email to which the request was sent\ntype NonTrustedTeamDetails struct {\n\t// Team : The email to which the request was sent.\n\tTeam string `json:\"team\"`\n}\n\n// NewNonTrustedTeamDetails returns a new NonTrustedTeamDetails instance\nfunc NewNonTrustedTeamDetails(Team string) *NonTrustedTeamDetails {\n\ts := new(NonTrustedTeamDetails)\n\ts.Team = Team\n\treturn s\n}\n\n// NoteAclInviteOnlyDetails : Changed Paper doc to invite-only.\ntype NoteAclInviteOnlyDetails struct {\n}\n\n// NewNoteAclInviteOnlyDetails returns a new NoteAclInviteOnlyDetails instance\nfunc NewNoteAclInviteOnlyDetails() *NoteAclInviteOnlyDetails {\n\ts := new(NoteAclInviteOnlyDetails)\n\treturn s\n}\n\n// NoteAclInviteOnlyType : has no documentation (yet)\ntype NoteAclInviteOnlyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewNoteAclInviteOnlyType returns a new NoteAclInviteOnlyType instance\nfunc NewNoteAclInviteOnlyType(Description string) *NoteAclInviteOnlyType {\n\ts := new(NoteAclInviteOnlyType)\n\ts.Description = Description\n\treturn s\n}\n\n// NoteAclLinkDetails : Changed Paper doc to link-accessible.\ntype NoteAclLinkDetails struct {\n}\n\n// NewNoteAclLinkDetails returns a new NoteAclLinkDetails instance\nfunc NewNoteAclLinkDetails() *NoteAclLinkDetails {\n\ts := new(NoteAclLinkDetails)\n\treturn s\n}\n\n// NoteAclLinkType : has no documentation (yet)\ntype NoteAclLinkType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewNoteAclLinkType returns a new NoteAclLinkType instance\nfunc NewNoteAclLinkType(Description string) *NoteAclLinkType {\n\ts := new(NoteAclLinkType)\n\ts.Description = Description\n\treturn s\n}\n\n// NoteAclTeamLinkDetails : Changed Paper doc to link-accessible for team.\ntype NoteAclTeamLinkDetails struct {\n}\n\n// NewNoteAclTeamLinkDetails returns a new NoteAclTeamLinkDetails instance\nfunc NewNoteAclTeamLinkDetails() *NoteAclTeamLinkDetails {\n\ts := new(NoteAclTeamLinkDetails)\n\treturn s\n}\n\n// NoteAclTeamLinkType : has no documentation (yet)\ntype NoteAclTeamLinkType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewNoteAclTeamLinkType returns a new NoteAclTeamLinkType instance\nfunc NewNoteAclTeamLinkType(Description string) *NoteAclTeamLinkType {\n\ts := new(NoteAclTeamLinkType)\n\ts.Description = Description\n\treturn s\n}\n\n// NoteShareReceiveDetails : Shared received Paper doc.\ntype NoteShareReceiveDetails struct {\n}\n\n// NewNoteShareReceiveDetails returns a new NoteShareReceiveDetails instance\nfunc NewNoteShareReceiveDetails() *NoteShareReceiveDetails {\n\ts := new(NoteShareReceiveDetails)\n\treturn s\n}\n\n// NoteShareReceiveType : has no documentation (yet)\ntype NoteShareReceiveType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewNoteShareReceiveType returns a new NoteShareReceiveType instance\nfunc NewNoteShareReceiveType(Description string) *NoteShareReceiveType {\n\ts := new(NoteShareReceiveType)\n\ts.Description = Description\n\treturn s\n}\n\n// NoteSharedDetails : Shared Paper doc.\ntype NoteSharedDetails struct {\n}\n\n// NewNoteSharedDetails returns a new NoteSharedDetails instance\nfunc NewNoteSharedDetails() *NoteSharedDetails {\n\ts := new(NoteSharedDetails)\n\treturn s\n}\n\n// NoteSharedType : has no documentation (yet)\ntype NoteSharedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewNoteSharedType returns a new NoteSharedType instance\nfunc NewNoteSharedType(Description string) *NoteSharedType {\n\ts := new(NoteSharedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ObjectLabelAddedDetails : Added a label.\ntype ObjectLabelAddedDetails struct {\n\t// LabelType : Labels mark a file or folder.\n\tLabelType *LabelType `json:\"label_type\"`\n}\n\n// NewObjectLabelAddedDetails returns a new ObjectLabelAddedDetails instance\nfunc NewObjectLabelAddedDetails(LabelType *LabelType) *ObjectLabelAddedDetails {\n\ts := new(ObjectLabelAddedDetails)\n\ts.LabelType = LabelType\n\treturn s\n}\n\n// ObjectLabelAddedType : has no documentation (yet)\ntype ObjectLabelAddedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewObjectLabelAddedType returns a new ObjectLabelAddedType instance\nfunc NewObjectLabelAddedType(Description string) *ObjectLabelAddedType {\n\ts := new(ObjectLabelAddedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ObjectLabelRemovedDetails : Removed a label.\ntype ObjectLabelRemovedDetails struct {\n\t// LabelType : Labels mark a file or folder.\n\tLabelType *LabelType `json:\"label_type\"`\n}\n\n// NewObjectLabelRemovedDetails returns a new ObjectLabelRemovedDetails instance\nfunc NewObjectLabelRemovedDetails(LabelType *LabelType) *ObjectLabelRemovedDetails {\n\ts := new(ObjectLabelRemovedDetails)\n\ts.LabelType = LabelType\n\treturn s\n}\n\n// ObjectLabelRemovedType : has no documentation (yet)\ntype ObjectLabelRemovedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewObjectLabelRemovedType returns a new ObjectLabelRemovedType instance\nfunc NewObjectLabelRemovedType(Description string) *ObjectLabelRemovedType {\n\ts := new(ObjectLabelRemovedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ObjectLabelUpdatedValueDetails : Updated a label's value.\ntype ObjectLabelUpdatedValueDetails struct {\n\t// LabelType : Labels mark a file or folder.\n\tLabelType *LabelType `json:\"label_type\"`\n}\n\n// NewObjectLabelUpdatedValueDetails returns a new ObjectLabelUpdatedValueDetails instance\nfunc NewObjectLabelUpdatedValueDetails(LabelType *LabelType) *ObjectLabelUpdatedValueDetails {\n\ts := new(ObjectLabelUpdatedValueDetails)\n\ts.LabelType = LabelType\n\treturn s\n}\n\n// ObjectLabelUpdatedValueType : has no documentation (yet)\ntype ObjectLabelUpdatedValueType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewObjectLabelUpdatedValueType returns a new ObjectLabelUpdatedValueType instance\nfunc NewObjectLabelUpdatedValueType(Description string) *ObjectLabelUpdatedValueType {\n\ts := new(ObjectLabelUpdatedValueType)\n\ts.Description = Description\n\treturn s\n}\n\n// OpenNoteSharedDetails : Opened shared Paper doc.\ntype OpenNoteSharedDetails struct {\n}\n\n// NewOpenNoteSharedDetails returns a new OpenNoteSharedDetails instance\nfunc NewOpenNoteSharedDetails() *OpenNoteSharedDetails {\n\ts := new(OpenNoteSharedDetails)\n\treturn s\n}\n\n// OpenNoteSharedType : has no documentation (yet)\ntype OpenNoteSharedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewOpenNoteSharedType returns a new OpenNoteSharedType instance\nfunc NewOpenNoteSharedType(Description string) *OpenNoteSharedType {\n\ts := new(OpenNoteSharedType)\n\ts.Description = Description\n\treturn s\n}\n\n// OrganizationDetails : More details about the organization.\ntype OrganizationDetails struct {\n\t// Organization : The name of the organization.\n\tOrganization string `json:\"organization\"`\n}\n\n// NewOrganizationDetails returns a new OrganizationDetails instance\nfunc NewOrganizationDetails(Organization string) *OrganizationDetails {\n\ts := new(OrganizationDetails)\n\ts.Organization = Organization\n\treturn s\n}\n\n// OrganizationName : The name of the organization\ntype OrganizationName struct {\n\t// Organization : The name of the organization.\n\tOrganization string `json:\"organization\"`\n}\n\n// NewOrganizationName returns a new OrganizationName instance\nfunc NewOrganizationName(Organization string) *OrganizationName {\n\ts := new(OrganizationName)\n\ts.Organization = Organization\n\treturn s\n}\n\n// OrganizeFolderWithTidyDetails : Organized a folder with multi-file organize.\ntype OrganizeFolderWithTidyDetails struct {\n}\n\n// NewOrganizeFolderWithTidyDetails returns a new OrganizeFolderWithTidyDetails instance\nfunc NewOrganizeFolderWithTidyDetails() *OrganizeFolderWithTidyDetails {\n\ts := new(OrganizeFolderWithTidyDetails)\n\treturn s\n}\n\n// OrganizeFolderWithTidyType : has no documentation (yet)\ntype OrganizeFolderWithTidyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewOrganizeFolderWithTidyType returns a new OrganizeFolderWithTidyType instance\nfunc NewOrganizeFolderWithTidyType(Description string) *OrganizeFolderWithTidyType {\n\ts := new(OrganizeFolderWithTidyType)\n\ts.Description = Description\n\treturn s\n}\n\n// OriginLogInfo : The origin from which the actor performed the action.\ntype OriginLogInfo struct {\n\t// GeoLocation : Geographic location details.\n\tGeoLocation *GeoLocationLogInfo `json:\"geo_location,omitempty\"`\n\t// AccessMethod : The method that was used to perform the action.\n\tAccessMethod *AccessMethodLogInfo `json:\"access_method\"`\n}\n\n// NewOriginLogInfo returns a new OriginLogInfo instance\nfunc NewOriginLogInfo(AccessMethod *AccessMethodLogInfo) *OriginLogInfo {\n\ts := new(OriginLogInfo)\n\ts.AccessMethod = AccessMethod\n\treturn s\n}\n\n// OutdatedLinkViewCreateReportDetails : Report created: Views of old links.\ntype OutdatedLinkViewCreateReportDetails struct {\n\t// StartDate : Report start date.\n\tStartDate time.Time `json:\"start_date\"`\n\t// EndDate : Report end date.\n\tEndDate time.Time `json:\"end_date\"`\n}\n\n// NewOutdatedLinkViewCreateReportDetails returns a new OutdatedLinkViewCreateReportDetails instance\nfunc NewOutdatedLinkViewCreateReportDetails(StartDate time.Time, EndDate time.Time) *OutdatedLinkViewCreateReportDetails {\n\ts := new(OutdatedLinkViewCreateReportDetails)\n\ts.StartDate = StartDate\n\ts.EndDate = EndDate\n\treturn s\n}\n\n// OutdatedLinkViewCreateReportType : has no documentation (yet)\ntype OutdatedLinkViewCreateReportType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewOutdatedLinkViewCreateReportType returns a new OutdatedLinkViewCreateReportType instance\nfunc NewOutdatedLinkViewCreateReportType(Description string) *OutdatedLinkViewCreateReportType {\n\ts := new(OutdatedLinkViewCreateReportType)\n\ts.Description = Description\n\treturn s\n}\n\n// OutdatedLinkViewReportFailedDetails : Couldn't create report: Views of old\n// links.\ntype OutdatedLinkViewReportFailedDetails struct {\n\t// FailureReason : Failure reason.\n\tFailureReason *team.TeamReportFailureReason `json:\"failure_reason\"`\n}\n\n// NewOutdatedLinkViewReportFailedDetails returns a new OutdatedLinkViewReportFailedDetails instance\nfunc NewOutdatedLinkViewReportFailedDetails(FailureReason *team.TeamReportFailureReason) *OutdatedLinkViewReportFailedDetails {\n\ts := new(OutdatedLinkViewReportFailedDetails)\n\ts.FailureReason = FailureReason\n\treturn s\n}\n\n// OutdatedLinkViewReportFailedType : has no documentation (yet)\ntype OutdatedLinkViewReportFailedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewOutdatedLinkViewReportFailedType returns a new OutdatedLinkViewReportFailedType instance\nfunc NewOutdatedLinkViewReportFailedType(Description string) *OutdatedLinkViewReportFailedType {\n\ts := new(OutdatedLinkViewReportFailedType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperAccessType : has no documentation (yet)\ntype PaperAccessType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperAccessType\nconst (\n\tPaperAccessTypeCommenter = \"commenter\"\n\tPaperAccessTypeEditor    = \"editor\"\n\tPaperAccessTypeViewer    = \"viewer\"\n\tPaperAccessTypeOther     = \"other\"\n)\n\n// PaperAdminExportStartDetails : Exported all team Paper docs.\ntype PaperAdminExportStartDetails struct {\n}\n\n// NewPaperAdminExportStartDetails returns a new PaperAdminExportStartDetails instance\nfunc NewPaperAdminExportStartDetails() *PaperAdminExportStartDetails {\n\ts := new(PaperAdminExportStartDetails)\n\treturn s\n}\n\n// PaperAdminExportStartType : has no documentation (yet)\ntype PaperAdminExportStartType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperAdminExportStartType returns a new PaperAdminExportStartType instance\nfunc NewPaperAdminExportStartType(Description string) *PaperAdminExportStartType {\n\ts := new(PaperAdminExportStartType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperChangeDeploymentPolicyDetails : Changed whether Dropbox Paper, when\n// enabled, is deployed to all members or to specific members.\ntype PaperChangeDeploymentPolicyDetails struct {\n\t// NewValue : New Dropbox Paper deployment policy.\n\tNewValue *team_policies.PaperDeploymentPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous Dropbox Paper deployment policy. Might be\n\t// missing due to historical data gap.\n\tPreviousValue *team_policies.PaperDeploymentPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewPaperChangeDeploymentPolicyDetails returns a new PaperChangeDeploymentPolicyDetails instance\nfunc NewPaperChangeDeploymentPolicyDetails(NewValue *team_policies.PaperDeploymentPolicy) *PaperChangeDeploymentPolicyDetails {\n\ts := new(PaperChangeDeploymentPolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// PaperChangeDeploymentPolicyType : has no documentation (yet)\ntype PaperChangeDeploymentPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperChangeDeploymentPolicyType returns a new PaperChangeDeploymentPolicyType instance\nfunc NewPaperChangeDeploymentPolicyType(Description string) *PaperChangeDeploymentPolicyType {\n\ts := new(PaperChangeDeploymentPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperChangeMemberLinkPolicyDetails : Changed whether non-members can view\n// Paper docs with link.\ntype PaperChangeMemberLinkPolicyDetails struct {\n\t// NewValue : New paper external link accessibility policy.\n\tNewValue *PaperMemberPolicy `json:\"new_value\"`\n}\n\n// NewPaperChangeMemberLinkPolicyDetails returns a new PaperChangeMemberLinkPolicyDetails instance\nfunc NewPaperChangeMemberLinkPolicyDetails(NewValue *PaperMemberPolicy) *PaperChangeMemberLinkPolicyDetails {\n\ts := new(PaperChangeMemberLinkPolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// PaperChangeMemberLinkPolicyType : has no documentation (yet)\ntype PaperChangeMemberLinkPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperChangeMemberLinkPolicyType returns a new PaperChangeMemberLinkPolicyType instance\nfunc NewPaperChangeMemberLinkPolicyType(Description string) *PaperChangeMemberLinkPolicyType {\n\ts := new(PaperChangeMemberLinkPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperChangeMemberPolicyDetails : Changed whether members can share Paper docs\n// outside team, and if docs are accessible only by team members or anyone by\n// default.\ntype PaperChangeMemberPolicyDetails struct {\n\t// NewValue : New paper external accessibility policy.\n\tNewValue *PaperMemberPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous paper external accessibility policy. Might be\n\t// missing due to historical data gap.\n\tPreviousValue *PaperMemberPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewPaperChangeMemberPolicyDetails returns a new PaperChangeMemberPolicyDetails instance\nfunc NewPaperChangeMemberPolicyDetails(NewValue *PaperMemberPolicy) *PaperChangeMemberPolicyDetails {\n\ts := new(PaperChangeMemberPolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// PaperChangeMemberPolicyType : has no documentation (yet)\ntype PaperChangeMemberPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperChangeMemberPolicyType returns a new PaperChangeMemberPolicyType instance\nfunc NewPaperChangeMemberPolicyType(Description string) *PaperChangeMemberPolicyType {\n\ts := new(PaperChangeMemberPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperChangePolicyDetails : Enabled/disabled Dropbox Paper for team.\ntype PaperChangePolicyDetails struct {\n\t// NewValue : New Dropbox Paper policy.\n\tNewValue *team_policies.PaperEnabledPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous Dropbox Paper policy. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *team_policies.PaperEnabledPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewPaperChangePolicyDetails returns a new PaperChangePolicyDetails instance\nfunc NewPaperChangePolicyDetails(NewValue *team_policies.PaperEnabledPolicy) *PaperChangePolicyDetails {\n\ts := new(PaperChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// PaperChangePolicyType : has no documentation (yet)\ntype PaperChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperChangePolicyType returns a new PaperChangePolicyType instance\nfunc NewPaperChangePolicyType(Description string) *PaperChangePolicyType {\n\ts := new(PaperChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperContentAddMemberDetails : Added users and/or groups to Paper doc/folder.\ntype PaperContentAddMemberDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperContentAddMemberDetails returns a new PaperContentAddMemberDetails instance\nfunc NewPaperContentAddMemberDetails(EventUuid string) *PaperContentAddMemberDetails {\n\ts := new(PaperContentAddMemberDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperContentAddMemberType : has no documentation (yet)\ntype PaperContentAddMemberType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperContentAddMemberType returns a new PaperContentAddMemberType instance\nfunc NewPaperContentAddMemberType(Description string) *PaperContentAddMemberType {\n\ts := new(PaperContentAddMemberType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperContentAddToFolderDetails : Added Paper doc/folder to folder.\ntype PaperContentAddToFolderDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index\"`\n\t// ParentAssetIndex : Parent asset position in the Assets list.\n\tParentAssetIndex uint64 `json:\"parent_asset_index\"`\n}\n\n// NewPaperContentAddToFolderDetails returns a new PaperContentAddToFolderDetails instance\nfunc NewPaperContentAddToFolderDetails(EventUuid string, TargetAssetIndex uint64, ParentAssetIndex uint64) *PaperContentAddToFolderDetails {\n\ts := new(PaperContentAddToFolderDetails)\n\ts.EventUuid = EventUuid\n\ts.TargetAssetIndex = TargetAssetIndex\n\ts.ParentAssetIndex = ParentAssetIndex\n\treturn s\n}\n\n// PaperContentAddToFolderType : has no documentation (yet)\ntype PaperContentAddToFolderType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperContentAddToFolderType returns a new PaperContentAddToFolderType instance\nfunc NewPaperContentAddToFolderType(Description string) *PaperContentAddToFolderType {\n\ts := new(PaperContentAddToFolderType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperContentArchiveDetails : Archived Paper doc/folder.\ntype PaperContentArchiveDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperContentArchiveDetails returns a new PaperContentArchiveDetails instance\nfunc NewPaperContentArchiveDetails(EventUuid string) *PaperContentArchiveDetails {\n\ts := new(PaperContentArchiveDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperContentArchiveType : has no documentation (yet)\ntype PaperContentArchiveType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperContentArchiveType returns a new PaperContentArchiveType instance\nfunc NewPaperContentArchiveType(Description string) *PaperContentArchiveType {\n\ts := new(PaperContentArchiveType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperContentCreateDetails : Created Paper doc/folder.\ntype PaperContentCreateDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperContentCreateDetails returns a new PaperContentCreateDetails instance\nfunc NewPaperContentCreateDetails(EventUuid string) *PaperContentCreateDetails {\n\ts := new(PaperContentCreateDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperContentCreateType : has no documentation (yet)\ntype PaperContentCreateType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperContentCreateType returns a new PaperContentCreateType instance\nfunc NewPaperContentCreateType(Description string) *PaperContentCreateType {\n\ts := new(PaperContentCreateType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperContentPermanentlyDeleteDetails : Permanently deleted Paper doc/folder.\ntype PaperContentPermanentlyDeleteDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperContentPermanentlyDeleteDetails returns a new PaperContentPermanentlyDeleteDetails instance\nfunc NewPaperContentPermanentlyDeleteDetails(EventUuid string) *PaperContentPermanentlyDeleteDetails {\n\ts := new(PaperContentPermanentlyDeleteDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperContentPermanentlyDeleteType : has no documentation (yet)\ntype PaperContentPermanentlyDeleteType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperContentPermanentlyDeleteType returns a new PaperContentPermanentlyDeleteType instance\nfunc NewPaperContentPermanentlyDeleteType(Description string) *PaperContentPermanentlyDeleteType {\n\ts := new(PaperContentPermanentlyDeleteType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperContentRemoveFromFolderDetails : Removed Paper doc/folder from folder.\ntype PaperContentRemoveFromFolderDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index,omitempty\"`\n\t// ParentAssetIndex : Parent asset position in the Assets list.\n\tParentAssetIndex uint64 `json:\"parent_asset_index,omitempty\"`\n}\n\n// NewPaperContentRemoveFromFolderDetails returns a new PaperContentRemoveFromFolderDetails instance\nfunc NewPaperContentRemoveFromFolderDetails(EventUuid string) *PaperContentRemoveFromFolderDetails {\n\ts := new(PaperContentRemoveFromFolderDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperContentRemoveFromFolderType : has no documentation (yet)\ntype PaperContentRemoveFromFolderType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperContentRemoveFromFolderType returns a new PaperContentRemoveFromFolderType instance\nfunc NewPaperContentRemoveFromFolderType(Description string) *PaperContentRemoveFromFolderType {\n\ts := new(PaperContentRemoveFromFolderType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperContentRemoveMemberDetails : Removed users and/or groups from Paper\n// doc/folder.\ntype PaperContentRemoveMemberDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperContentRemoveMemberDetails returns a new PaperContentRemoveMemberDetails instance\nfunc NewPaperContentRemoveMemberDetails(EventUuid string) *PaperContentRemoveMemberDetails {\n\ts := new(PaperContentRemoveMemberDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperContentRemoveMemberType : has no documentation (yet)\ntype PaperContentRemoveMemberType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperContentRemoveMemberType returns a new PaperContentRemoveMemberType instance\nfunc NewPaperContentRemoveMemberType(Description string) *PaperContentRemoveMemberType {\n\ts := new(PaperContentRemoveMemberType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperContentRenameDetails : Renamed Paper doc/folder.\ntype PaperContentRenameDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperContentRenameDetails returns a new PaperContentRenameDetails instance\nfunc NewPaperContentRenameDetails(EventUuid string) *PaperContentRenameDetails {\n\ts := new(PaperContentRenameDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperContentRenameType : has no documentation (yet)\ntype PaperContentRenameType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperContentRenameType returns a new PaperContentRenameType instance\nfunc NewPaperContentRenameType(Description string) *PaperContentRenameType {\n\ts := new(PaperContentRenameType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperContentRestoreDetails : Restored archived Paper doc/folder.\ntype PaperContentRestoreDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperContentRestoreDetails returns a new PaperContentRestoreDetails instance\nfunc NewPaperContentRestoreDetails(EventUuid string) *PaperContentRestoreDetails {\n\ts := new(PaperContentRestoreDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperContentRestoreType : has no documentation (yet)\ntype PaperContentRestoreType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperContentRestoreType returns a new PaperContentRestoreType instance\nfunc NewPaperContentRestoreType(Description string) *PaperContentRestoreType {\n\ts := new(PaperContentRestoreType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDefaultFolderPolicy : Policy to set default access for newly created\n// Paper folders.\ntype PaperDefaultFolderPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperDefaultFolderPolicy\nconst (\n\tPaperDefaultFolderPolicyEveryoneInTeam = \"everyone_in_team\"\n\tPaperDefaultFolderPolicyInviteOnly     = \"invite_only\"\n\tPaperDefaultFolderPolicyOther          = \"other\"\n)\n\n// PaperDefaultFolderPolicyChangedDetails : Changed Paper Default Folder Policy\n// setting for team.\ntype PaperDefaultFolderPolicyChangedDetails struct {\n\t// NewValue : New Paper Default Folder Policy.\n\tNewValue *PaperDefaultFolderPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous Paper Default Folder Policy.\n\tPreviousValue *PaperDefaultFolderPolicy `json:\"previous_value\"`\n}\n\n// NewPaperDefaultFolderPolicyChangedDetails returns a new PaperDefaultFolderPolicyChangedDetails instance\nfunc NewPaperDefaultFolderPolicyChangedDetails(NewValue *PaperDefaultFolderPolicy, PreviousValue *PaperDefaultFolderPolicy) *PaperDefaultFolderPolicyChangedDetails {\n\ts := new(PaperDefaultFolderPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// PaperDefaultFolderPolicyChangedType : has no documentation (yet)\ntype PaperDefaultFolderPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDefaultFolderPolicyChangedType returns a new PaperDefaultFolderPolicyChangedType instance\nfunc NewPaperDefaultFolderPolicyChangedType(Description string) *PaperDefaultFolderPolicyChangedType {\n\ts := new(PaperDefaultFolderPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDesktopPolicy : Policy for controlling if team members can use Paper\n// Desktop\ntype PaperDesktopPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperDesktopPolicy\nconst (\n\tPaperDesktopPolicyDisabled = \"disabled\"\n\tPaperDesktopPolicyEnabled  = \"enabled\"\n\tPaperDesktopPolicyOther    = \"other\"\n)\n\n// PaperDesktopPolicyChangedDetails : Enabled/disabled Paper Desktop for team.\ntype PaperDesktopPolicyChangedDetails struct {\n\t// NewValue : New Paper Desktop policy.\n\tNewValue *PaperDesktopPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous Paper Desktop policy.\n\tPreviousValue *PaperDesktopPolicy `json:\"previous_value\"`\n}\n\n// NewPaperDesktopPolicyChangedDetails returns a new PaperDesktopPolicyChangedDetails instance\nfunc NewPaperDesktopPolicyChangedDetails(NewValue *PaperDesktopPolicy, PreviousValue *PaperDesktopPolicy) *PaperDesktopPolicyChangedDetails {\n\ts := new(PaperDesktopPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// PaperDesktopPolicyChangedType : has no documentation (yet)\ntype PaperDesktopPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDesktopPolicyChangedType returns a new PaperDesktopPolicyChangedType instance\nfunc NewPaperDesktopPolicyChangedType(Description string) *PaperDesktopPolicyChangedType {\n\ts := new(PaperDesktopPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocAddCommentDetails : Added Paper doc comment.\ntype PaperDocAddCommentDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewPaperDocAddCommentDetails returns a new PaperDocAddCommentDetails instance\nfunc NewPaperDocAddCommentDetails(EventUuid string) *PaperDocAddCommentDetails {\n\ts := new(PaperDocAddCommentDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocAddCommentType : has no documentation (yet)\ntype PaperDocAddCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocAddCommentType returns a new PaperDocAddCommentType instance\nfunc NewPaperDocAddCommentType(Description string) *PaperDocAddCommentType {\n\ts := new(PaperDocAddCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocChangeMemberRoleDetails : Changed member permissions for Paper doc.\ntype PaperDocChangeMemberRoleDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// AccessType : Paper doc access type.\n\tAccessType *PaperAccessType `json:\"access_type\"`\n}\n\n// NewPaperDocChangeMemberRoleDetails returns a new PaperDocChangeMemberRoleDetails instance\nfunc NewPaperDocChangeMemberRoleDetails(EventUuid string, AccessType *PaperAccessType) *PaperDocChangeMemberRoleDetails {\n\ts := new(PaperDocChangeMemberRoleDetails)\n\ts.EventUuid = EventUuid\n\ts.AccessType = AccessType\n\treturn s\n}\n\n// PaperDocChangeMemberRoleType : has no documentation (yet)\ntype PaperDocChangeMemberRoleType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocChangeMemberRoleType returns a new PaperDocChangeMemberRoleType instance\nfunc NewPaperDocChangeMemberRoleType(Description string) *PaperDocChangeMemberRoleType {\n\ts := new(PaperDocChangeMemberRoleType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocChangeSharingPolicyDetails : Changed sharing setting for Paper doc.\ntype PaperDocChangeSharingPolicyDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// PublicSharingPolicy : Sharing policy with external users.\n\tPublicSharingPolicy string `json:\"public_sharing_policy,omitempty\"`\n\t// TeamSharingPolicy : Sharing policy with team.\n\tTeamSharingPolicy string `json:\"team_sharing_policy,omitempty\"`\n}\n\n// NewPaperDocChangeSharingPolicyDetails returns a new PaperDocChangeSharingPolicyDetails instance\nfunc NewPaperDocChangeSharingPolicyDetails(EventUuid string) *PaperDocChangeSharingPolicyDetails {\n\ts := new(PaperDocChangeSharingPolicyDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocChangeSharingPolicyType : has no documentation (yet)\ntype PaperDocChangeSharingPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocChangeSharingPolicyType returns a new PaperDocChangeSharingPolicyType instance\nfunc NewPaperDocChangeSharingPolicyType(Description string) *PaperDocChangeSharingPolicyType {\n\ts := new(PaperDocChangeSharingPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocChangeSubscriptionDetails : Followed/unfollowed Paper doc.\ntype PaperDocChangeSubscriptionDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// NewSubscriptionLevel : New doc subscription level.\n\tNewSubscriptionLevel string `json:\"new_subscription_level\"`\n\t// PreviousSubscriptionLevel : Previous doc subscription level. Might be\n\t// missing due to historical data gap.\n\tPreviousSubscriptionLevel string `json:\"previous_subscription_level,omitempty\"`\n}\n\n// NewPaperDocChangeSubscriptionDetails returns a new PaperDocChangeSubscriptionDetails instance\nfunc NewPaperDocChangeSubscriptionDetails(EventUuid string, NewSubscriptionLevel string) *PaperDocChangeSubscriptionDetails {\n\ts := new(PaperDocChangeSubscriptionDetails)\n\ts.EventUuid = EventUuid\n\ts.NewSubscriptionLevel = NewSubscriptionLevel\n\treturn s\n}\n\n// PaperDocChangeSubscriptionType : has no documentation (yet)\ntype PaperDocChangeSubscriptionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocChangeSubscriptionType returns a new PaperDocChangeSubscriptionType instance\nfunc NewPaperDocChangeSubscriptionType(Description string) *PaperDocChangeSubscriptionType {\n\ts := new(PaperDocChangeSubscriptionType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocDeleteCommentDetails : Deleted Paper doc comment.\ntype PaperDocDeleteCommentDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewPaperDocDeleteCommentDetails returns a new PaperDocDeleteCommentDetails instance\nfunc NewPaperDocDeleteCommentDetails(EventUuid string) *PaperDocDeleteCommentDetails {\n\ts := new(PaperDocDeleteCommentDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocDeleteCommentType : has no documentation (yet)\ntype PaperDocDeleteCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocDeleteCommentType returns a new PaperDocDeleteCommentType instance\nfunc NewPaperDocDeleteCommentType(Description string) *PaperDocDeleteCommentType {\n\ts := new(PaperDocDeleteCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocDeletedDetails : Archived Paper doc.\ntype PaperDocDeletedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperDocDeletedDetails returns a new PaperDocDeletedDetails instance\nfunc NewPaperDocDeletedDetails(EventUuid string) *PaperDocDeletedDetails {\n\ts := new(PaperDocDeletedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocDeletedType : has no documentation (yet)\ntype PaperDocDeletedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocDeletedType returns a new PaperDocDeletedType instance\nfunc NewPaperDocDeletedType(Description string) *PaperDocDeletedType {\n\ts := new(PaperDocDeletedType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocDownloadDetails : Downloaded Paper doc in specific format.\ntype PaperDocDownloadDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// ExportFileFormat : Export file format.\n\tExportFileFormat *PaperDownloadFormat `json:\"export_file_format\"`\n}\n\n// NewPaperDocDownloadDetails returns a new PaperDocDownloadDetails instance\nfunc NewPaperDocDownloadDetails(EventUuid string, ExportFileFormat *PaperDownloadFormat) *PaperDocDownloadDetails {\n\ts := new(PaperDocDownloadDetails)\n\ts.EventUuid = EventUuid\n\ts.ExportFileFormat = ExportFileFormat\n\treturn s\n}\n\n// PaperDocDownloadType : has no documentation (yet)\ntype PaperDocDownloadType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocDownloadType returns a new PaperDocDownloadType instance\nfunc NewPaperDocDownloadType(Description string) *PaperDocDownloadType {\n\ts := new(PaperDocDownloadType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocEditCommentDetails : Edited Paper doc comment.\ntype PaperDocEditCommentDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewPaperDocEditCommentDetails returns a new PaperDocEditCommentDetails instance\nfunc NewPaperDocEditCommentDetails(EventUuid string) *PaperDocEditCommentDetails {\n\ts := new(PaperDocEditCommentDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocEditCommentType : has no documentation (yet)\ntype PaperDocEditCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocEditCommentType returns a new PaperDocEditCommentType instance\nfunc NewPaperDocEditCommentType(Description string) *PaperDocEditCommentType {\n\ts := new(PaperDocEditCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocEditDetails : Edited Paper doc.\ntype PaperDocEditDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperDocEditDetails returns a new PaperDocEditDetails instance\nfunc NewPaperDocEditDetails(EventUuid string) *PaperDocEditDetails {\n\ts := new(PaperDocEditDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocEditType : has no documentation (yet)\ntype PaperDocEditType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocEditType returns a new PaperDocEditType instance\nfunc NewPaperDocEditType(Description string) *PaperDocEditType {\n\ts := new(PaperDocEditType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocFollowedDetails : Followed Paper doc.\ntype PaperDocFollowedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperDocFollowedDetails returns a new PaperDocFollowedDetails instance\nfunc NewPaperDocFollowedDetails(EventUuid string) *PaperDocFollowedDetails {\n\ts := new(PaperDocFollowedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocFollowedType : has no documentation (yet)\ntype PaperDocFollowedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocFollowedType returns a new PaperDocFollowedType instance\nfunc NewPaperDocFollowedType(Description string) *PaperDocFollowedType {\n\ts := new(PaperDocFollowedType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocMentionDetails : Mentioned user in Paper doc.\ntype PaperDocMentionDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperDocMentionDetails returns a new PaperDocMentionDetails instance\nfunc NewPaperDocMentionDetails(EventUuid string) *PaperDocMentionDetails {\n\ts := new(PaperDocMentionDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocMentionType : has no documentation (yet)\ntype PaperDocMentionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocMentionType returns a new PaperDocMentionType instance\nfunc NewPaperDocMentionType(Description string) *PaperDocMentionType {\n\ts := new(PaperDocMentionType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocOwnershipChangedDetails : Transferred ownership of Paper doc.\ntype PaperDocOwnershipChangedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// OldOwnerUserId : Previous owner.\n\tOldOwnerUserId string `json:\"old_owner_user_id,omitempty\"`\n\t// NewOwnerUserId : New owner.\n\tNewOwnerUserId string `json:\"new_owner_user_id\"`\n}\n\n// NewPaperDocOwnershipChangedDetails returns a new PaperDocOwnershipChangedDetails instance\nfunc NewPaperDocOwnershipChangedDetails(EventUuid string, NewOwnerUserId string) *PaperDocOwnershipChangedDetails {\n\ts := new(PaperDocOwnershipChangedDetails)\n\ts.EventUuid = EventUuid\n\ts.NewOwnerUserId = NewOwnerUserId\n\treturn s\n}\n\n// PaperDocOwnershipChangedType : has no documentation (yet)\ntype PaperDocOwnershipChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocOwnershipChangedType returns a new PaperDocOwnershipChangedType instance\nfunc NewPaperDocOwnershipChangedType(Description string) *PaperDocOwnershipChangedType {\n\ts := new(PaperDocOwnershipChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocRequestAccessDetails : Requested access to Paper doc.\ntype PaperDocRequestAccessDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperDocRequestAccessDetails returns a new PaperDocRequestAccessDetails instance\nfunc NewPaperDocRequestAccessDetails(EventUuid string) *PaperDocRequestAccessDetails {\n\ts := new(PaperDocRequestAccessDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocRequestAccessType : has no documentation (yet)\ntype PaperDocRequestAccessType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocRequestAccessType returns a new PaperDocRequestAccessType instance\nfunc NewPaperDocRequestAccessType(Description string) *PaperDocRequestAccessType {\n\ts := new(PaperDocRequestAccessType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocResolveCommentDetails : Resolved Paper doc comment.\ntype PaperDocResolveCommentDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewPaperDocResolveCommentDetails returns a new PaperDocResolveCommentDetails instance\nfunc NewPaperDocResolveCommentDetails(EventUuid string) *PaperDocResolveCommentDetails {\n\ts := new(PaperDocResolveCommentDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocResolveCommentType : has no documentation (yet)\ntype PaperDocResolveCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocResolveCommentType returns a new PaperDocResolveCommentType instance\nfunc NewPaperDocResolveCommentType(Description string) *PaperDocResolveCommentType {\n\ts := new(PaperDocResolveCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocRevertDetails : Restored Paper doc to previous version.\ntype PaperDocRevertDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperDocRevertDetails returns a new PaperDocRevertDetails instance\nfunc NewPaperDocRevertDetails(EventUuid string) *PaperDocRevertDetails {\n\ts := new(PaperDocRevertDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocRevertType : has no documentation (yet)\ntype PaperDocRevertType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocRevertType returns a new PaperDocRevertType instance\nfunc NewPaperDocRevertType(Description string) *PaperDocRevertType {\n\ts := new(PaperDocRevertType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocSlackShareDetails : Shared Paper doc via Slack.\ntype PaperDocSlackShareDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperDocSlackShareDetails returns a new PaperDocSlackShareDetails instance\nfunc NewPaperDocSlackShareDetails(EventUuid string) *PaperDocSlackShareDetails {\n\ts := new(PaperDocSlackShareDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocSlackShareType : has no documentation (yet)\ntype PaperDocSlackShareType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocSlackShareType returns a new PaperDocSlackShareType instance\nfunc NewPaperDocSlackShareType(Description string) *PaperDocSlackShareType {\n\ts := new(PaperDocSlackShareType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocTeamInviteDetails : Shared Paper doc with users and/or groups.\ntype PaperDocTeamInviteDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperDocTeamInviteDetails returns a new PaperDocTeamInviteDetails instance\nfunc NewPaperDocTeamInviteDetails(EventUuid string) *PaperDocTeamInviteDetails {\n\ts := new(PaperDocTeamInviteDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocTeamInviteType : has no documentation (yet)\ntype PaperDocTeamInviteType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocTeamInviteType returns a new PaperDocTeamInviteType instance\nfunc NewPaperDocTeamInviteType(Description string) *PaperDocTeamInviteType {\n\ts := new(PaperDocTeamInviteType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocTrashedDetails : Deleted Paper doc.\ntype PaperDocTrashedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperDocTrashedDetails returns a new PaperDocTrashedDetails instance\nfunc NewPaperDocTrashedDetails(EventUuid string) *PaperDocTrashedDetails {\n\ts := new(PaperDocTrashedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocTrashedType : has no documentation (yet)\ntype PaperDocTrashedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocTrashedType returns a new PaperDocTrashedType instance\nfunc NewPaperDocTrashedType(Description string) *PaperDocTrashedType {\n\ts := new(PaperDocTrashedType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocUnresolveCommentDetails : Unresolved Paper doc comment.\ntype PaperDocUnresolveCommentDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewPaperDocUnresolveCommentDetails returns a new PaperDocUnresolveCommentDetails instance\nfunc NewPaperDocUnresolveCommentDetails(EventUuid string) *PaperDocUnresolveCommentDetails {\n\ts := new(PaperDocUnresolveCommentDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocUnresolveCommentType : has no documentation (yet)\ntype PaperDocUnresolveCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocUnresolveCommentType returns a new PaperDocUnresolveCommentType instance\nfunc NewPaperDocUnresolveCommentType(Description string) *PaperDocUnresolveCommentType {\n\ts := new(PaperDocUnresolveCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocUntrashedDetails : Restored Paper doc.\ntype PaperDocUntrashedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperDocUntrashedDetails returns a new PaperDocUntrashedDetails instance\nfunc NewPaperDocUntrashedDetails(EventUuid string) *PaperDocUntrashedDetails {\n\ts := new(PaperDocUntrashedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocUntrashedType : has no documentation (yet)\ntype PaperDocUntrashedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocUntrashedType returns a new PaperDocUntrashedType instance\nfunc NewPaperDocUntrashedType(Description string) *PaperDocUntrashedType {\n\ts := new(PaperDocUntrashedType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocViewDetails : Viewed Paper doc.\ntype PaperDocViewDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperDocViewDetails returns a new PaperDocViewDetails instance\nfunc NewPaperDocViewDetails(EventUuid string) *PaperDocViewDetails {\n\ts := new(PaperDocViewDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperDocViewType : has no documentation (yet)\ntype PaperDocViewType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperDocViewType returns a new PaperDocViewType instance\nfunc NewPaperDocViewType(Description string) *PaperDocViewType {\n\ts := new(PaperDocViewType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperDocumentLogInfo : Paper document's logged information.\ntype PaperDocumentLogInfo struct {\n\t// DocId : Papers document Id.\n\tDocId string `json:\"doc_id\"`\n\t// DocTitle : Paper document title.\n\tDocTitle string `json:\"doc_title\"`\n}\n\n// NewPaperDocumentLogInfo returns a new PaperDocumentLogInfo instance\nfunc NewPaperDocumentLogInfo(DocId string, DocTitle string) *PaperDocumentLogInfo {\n\ts := new(PaperDocumentLogInfo)\n\ts.DocId = DocId\n\ts.DocTitle = DocTitle\n\treturn s\n}\n\n// PaperDownloadFormat : has no documentation (yet)\ntype PaperDownloadFormat struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperDownloadFormat\nconst (\n\tPaperDownloadFormatDocx     = \"docx\"\n\tPaperDownloadFormatHtml     = \"html\"\n\tPaperDownloadFormatMarkdown = \"markdown\"\n\tPaperDownloadFormatPdf      = \"pdf\"\n\tPaperDownloadFormatOther    = \"other\"\n)\n\n// PaperEnabledUsersGroupAdditionDetails : Added users to Paper-enabled users\n// list.\ntype PaperEnabledUsersGroupAdditionDetails struct {\n}\n\n// NewPaperEnabledUsersGroupAdditionDetails returns a new PaperEnabledUsersGroupAdditionDetails instance\nfunc NewPaperEnabledUsersGroupAdditionDetails() *PaperEnabledUsersGroupAdditionDetails {\n\ts := new(PaperEnabledUsersGroupAdditionDetails)\n\treturn s\n}\n\n// PaperEnabledUsersGroupAdditionType : has no documentation (yet)\ntype PaperEnabledUsersGroupAdditionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperEnabledUsersGroupAdditionType returns a new PaperEnabledUsersGroupAdditionType instance\nfunc NewPaperEnabledUsersGroupAdditionType(Description string) *PaperEnabledUsersGroupAdditionType {\n\ts := new(PaperEnabledUsersGroupAdditionType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperEnabledUsersGroupRemovalDetails : Removed users from Paper-enabled users\n// list.\ntype PaperEnabledUsersGroupRemovalDetails struct {\n}\n\n// NewPaperEnabledUsersGroupRemovalDetails returns a new PaperEnabledUsersGroupRemovalDetails instance\nfunc NewPaperEnabledUsersGroupRemovalDetails() *PaperEnabledUsersGroupRemovalDetails {\n\ts := new(PaperEnabledUsersGroupRemovalDetails)\n\treturn s\n}\n\n// PaperEnabledUsersGroupRemovalType : has no documentation (yet)\ntype PaperEnabledUsersGroupRemovalType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperEnabledUsersGroupRemovalType returns a new PaperEnabledUsersGroupRemovalType instance\nfunc NewPaperEnabledUsersGroupRemovalType(Description string) *PaperEnabledUsersGroupRemovalType {\n\ts := new(PaperEnabledUsersGroupRemovalType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperExternalViewAllowDetails : Changed Paper external sharing setting to\n// anyone.\ntype PaperExternalViewAllowDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperExternalViewAllowDetails returns a new PaperExternalViewAllowDetails instance\nfunc NewPaperExternalViewAllowDetails(EventUuid string) *PaperExternalViewAllowDetails {\n\ts := new(PaperExternalViewAllowDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperExternalViewAllowType : has no documentation (yet)\ntype PaperExternalViewAllowType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperExternalViewAllowType returns a new PaperExternalViewAllowType instance\nfunc NewPaperExternalViewAllowType(Description string) *PaperExternalViewAllowType {\n\ts := new(PaperExternalViewAllowType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperExternalViewDefaultTeamDetails : Changed Paper external sharing setting\n// to default team.\ntype PaperExternalViewDefaultTeamDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperExternalViewDefaultTeamDetails returns a new PaperExternalViewDefaultTeamDetails instance\nfunc NewPaperExternalViewDefaultTeamDetails(EventUuid string) *PaperExternalViewDefaultTeamDetails {\n\ts := new(PaperExternalViewDefaultTeamDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperExternalViewDefaultTeamType : has no documentation (yet)\ntype PaperExternalViewDefaultTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperExternalViewDefaultTeamType returns a new PaperExternalViewDefaultTeamType instance\nfunc NewPaperExternalViewDefaultTeamType(Description string) *PaperExternalViewDefaultTeamType {\n\ts := new(PaperExternalViewDefaultTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperExternalViewForbidDetails : Changed Paper external sharing setting to\n// team-only.\ntype PaperExternalViewForbidDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperExternalViewForbidDetails returns a new PaperExternalViewForbidDetails instance\nfunc NewPaperExternalViewForbidDetails(EventUuid string) *PaperExternalViewForbidDetails {\n\ts := new(PaperExternalViewForbidDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperExternalViewForbidType : has no documentation (yet)\ntype PaperExternalViewForbidType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperExternalViewForbidType returns a new PaperExternalViewForbidType instance\nfunc NewPaperExternalViewForbidType(Description string) *PaperExternalViewForbidType {\n\ts := new(PaperExternalViewForbidType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperFolderChangeSubscriptionDetails : Followed/unfollowed Paper folder.\ntype PaperFolderChangeSubscriptionDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// NewSubscriptionLevel : New folder subscription level.\n\tNewSubscriptionLevel string `json:\"new_subscription_level\"`\n\t// PreviousSubscriptionLevel : Previous folder subscription level. Might be\n\t// missing due to historical data gap.\n\tPreviousSubscriptionLevel string `json:\"previous_subscription_level,omitempty\"`\n}\n\n// NewPaperFolderChangeSubscriptionDetails returns a new PaperFolderChangeSubscriptionDetails instance\nfunc NewPaperFolderChangeSubscriptionDetails(EventUuid string, NewSubscriptionLevel string) *PaperFolderChangeSubscriptionDetails {\n\ts := new(PaperFolderChangeSubscriptionDetails)\n\ts.EventUuid = EventUuid\n\ts.NewSubscriptionLevel = NewSubscriptionLevel\n\treturn s\n}\n\n// PaperFolderChangeSubscriptionType : has no documentation (yet)\ntype PaperFolderChangeSubscriptionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperFolderChangeSubscriptionType returns a new PaperFolderChangeSubscriptionType instance\nfunc NewPaperFolderChangeSubscriptionType(Description string) *PaperFolderChangeSubscriptionType {\n\ts := new(PaperFolderChangeSubscriptionType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperFolderDeletedDetails : Archived Paper folder.\ntype PaperFolderDeletedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperFolderDeletedDetails returns a new PaperFolderDeletedDetails instance\nfunc NewPaperFolderDeletedDetails(EventUuid string) *PaperFolderDeletedDetails {\n\ts := new(PaperFolderDeletedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperFolderDeletedType : has no documentation (yet)\ntype PaperFolderDeletedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperFolderDeletedType returns a new PaperFolderDeletedType instance\nfunc NewPaperFolderDeletedType(Description string) *PaperFolderDeletedType {\n\ts := new(PaperFolderDeletedType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperFolderFollowedDetails : Followed Paper folder.\ntype PaperFolderFollowedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperFolderFollowedDetails returns a new PaperFolderFollowedDetails instance\nfunc NewPaperFolderFollowedDetails(EventUuid string) *PaperFolderFollowedDetails {\n\ts := new(PaperFolderFollowedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperFolderFollowedType : has no documentation (yet)\ntype PaperFolderFollowedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperFolderFollowedType returns a new PaperFolderFollowedType instance\nfunc NewPaperFolderFollowedType(Description string) *PaperFolderFollowedType {\n\ts := new(PaperFolderFollowedType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperFolderLogInfo : Paper folder's logged information.\ntype PaperFolderLogInfo struct {\n\t// FolderId : Papers folder Id.\n\tFolderId string `json:\"folder_id\"`\n\t// FolderName : Paper folder name.\n\tFolderName string `json:\"folder_name\"`\n}\n\n// NewPaperFolderLogInfo returns a new PaperFolderLogInfo instance\nfunc NewPaperFolderLogInfo(FolderId string, FolderName string) *PaperFolderLogInfo {\n\ts := new(PaperFolderLogInfo)\n\ts.FolderId = FolderId\n\ts.FolderName = FolderName\n\treturn s\n}\n\n// PaperFolderTeamInviteDetails : Shared Paper folder with users and/or groups.\ntype PaperFolderTeamInviteDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperFolderTeamInviteDetails returns a new PaperFolderTeamInviteDetails instance\nfunc NewPaperFolderTeamInviteDetails(EventUuid string) *PaperFolderTeamInviteDetails {\n\ts := new(PaperFolderTeamInviteDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperFolderTeamInviteType : has no documentation (yet)\ntype PaperFolderTeamInviteType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperFolderTeamInviteType returns a new PaperFolderTeamInviteType instance\nfunc NewPaperFolderTeamInviteType(Description string) *PaperFolderTeamInviteType {\n\ts := new(PaperFolderTeamInviteType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperMemberPolicy : Policy for controlling if team members can share Paper\n// documents externally.\ntype PaperMemberPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperMemberPolicy\nconst (\n\tPaperMemberPolicyAnyoneWithLink          = \"anyone_with_link\"\n\tPaperMemberPolicyOnlyTeam                = \"only_team\"\n\tPaperMemberPolicyTeamAndExplicitlyShared = \"team_and_explicitly_shared\"\n\tPaperMemberPolicyOther                   = \"other\"\n)\n\n// PaperPublishedLinkChangePermissionDetails : Changed permissions for published\n// doc.\ntype PaperPublishedLinkChangePermissionDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// NewPermissionLevel : New permission level.\n\tNewPermissionLevel string `json:\"new_permission_level\"`\n\t// PreviousPermissionLevel : Previous permission level.\n\tPreviousPermissionLevel string `json:\"previous_permission_level\"`\n}\n\n// NewPaperPublishedLinkChangePermissionDetails returns a new PaperPublishedLinkChangePermissionDetails instance\nfunc NewPaperPublishedLinkChangePermissionDetails(EventUuid string, NewPermissionLevel string, PreviousPermissionLevel string) *PaperPublishedLinkChangePermissionDetails {\n\ts := new(PaperPublishedLinkChangePermissionDetails)\n\ts.EventUuid = EventUuid\n\ts.NewPermissionLevel = NewPermissionLevel\n\ts.PreviousPermissionLevel = PreviousPermissionLevel\n\treturn s\n}\n\n// PaperPublishedLinkChangePermissionType : has no documentation (yet)\ntype PaperPublishedLinkChangePermissionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperPublishedLinkChangePermissionType returns a new PaperPublishedLinkChangePermissionType instance\nfunc NewPaperPublishedLinkChangePermissionType(Description string) *PaperPublishedLinkChangePermissionType {\n\ts := new(PaperPublishedLinkChangePermissionType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperPublishedLinkCreateDetails : Published doc.\ntype PaperPublishedLinkCreateDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperPublishedLinkCreateDetails returns a new PaperPublishedLinkCreateDetails instance\nfunc NewPaperPublishedLinkCreateDetails(EventUuid string) *PaperPublishedLinkCreateDetails {\n\ts := new(PaperPublishedLinkCreateDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperPublishedLinkCreateType : has no documentation (yet)\ntype PaperPublishedLinkCreateType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperPublishedLinkCreateType returns a new PaperPublishedLinkCreateType instance\nfunc NewPaperPublishedLinkCreateType(Description string) *PaperPublishedLinkCreateType {\n\ts := new(PaperPublishedLinkCreateType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperPublishedLinkDisabledDetails : Unpublished doc.\ntype PaperPublishedLinkDisabledDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperPublishedLinkDisabledDetails returns a new PaperPublishedLinkDisabledDetails instance\nfunc NewPaperPublishedLinkDisabledDetails(EventUuid string) *PaperPublishedLinkDisabledDetails {\n\ts := new(PaperPublishedLinkDisabledDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperPublishedLinkDisabledType : has no documentation (yet)\ntype PaperPublishedLinkDisabledType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperPublishedLinkDisabledType returns a new PaperPublishedLinkDisabledType instance\nfunc NewPaperPublishedLinkDisabledType(Description string) *PaperPublishedLinkDisabledType {\n\ts := new(PaperPublishedLinkDisabledType)\n\ts.Description = Description\n\treturn s\n}\n\n// PaperPublishedLinkViewDetails : Viewed published doc.\ntype PaperPublishedLinkViewDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewPaperPublishedLinkViewDetails returns a new PaperPublishedLinkViewDetails instance\nfunc NewPaperPublishedLinkViewDetails(EventUuid string) *PaperPublishedLinkViewDetails {\n\ts := new(PaperPublishedLinkViewDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// PaperPublishedLinkViewType : has no documentation (yet)\ntype PaperPublishedLinkViewType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPaperPublishedLinkViewType returns a new PaperPublishedLinkViewType instance\nfunc NewPaperPublishedLinkViewType(Description string) *PaperPublishedLinkViewType {\n\ts := new(PaperPublishedLinkViewType)\n\ts.Description = Description\n\treturn s\n}\n\n// ParticipantLogInfo : A user or group\ntype ParticipantLogInfo struct {\n\tdropbox.Tagged\n\t// Group : Group details.\n\tGroup *GroupLogInfo `json:\"group,omitempty\"`\n\t// User : A user with a Dropbox account.\n\tUser IsUserLogInfo `json:\"user,omitempty\"`\n}\n\n// Valid tag values for ParticipantLogInfo\nconst (\n\tParticipantLogInfoGroup = \"group\"\n\tParticipantLogInfoUser  = \"user\"\n\tParticipantLogInfoOther = \"other\"\n)\n\n// UnmarshalJSON deserializes into a ParticipantLogInfo instance\nfunc (u *ParticipantLogInfo) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// User : A user with a Dropbox account.\n\t\tUser json.RawMessage `json:\"user,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"group\":\n\t\tif err = json.Unmarshal(body, &u.Group); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"user\":\n\t\tif u.User, err = IsUserLogInfoFromJSON(w.User); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// PassPolicy : has no documentation (yet)\ntype PassPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PassPolicy\nconst (\n\tPassPolicyAllow    = \"allow\"\n\tPassPolicyDisabled = \"disabled\"\n\tPassPolicyEnabled  = \"enabled\"\n\tPassPolicyOther    = \"other\"\n)\n\n// PasswordChangeDetails : Changed password.\ntype PasswordChangeDetails struct {\n}\n\n// NewPasswordChangeDetails returns a new PasswordChangeDetails instance\nfunc NewPasswordChangeDetails() *PasswordChangeDetails {\n\ts := new(PasswordChangeDetails)\n\treturn s\n}\n\n// PasswordChangeType : has no documentation (yet)\ntype PasswordChangeType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPasswordChangeType returns a new PasswordChangeType instance\nfunc NewPasswordChangeType(Description string) *PasswordChangeType {\n\ts := new(PasswordChangeType)\n\ts.Description = Description\n\treturn s\n}\n\n// PasswordResetAllDetails : Reset all team member passwords.\ntype PasswordResetAllDetails struct {\n}\n\n// NewPasswordResetAllDetails returns a new PasswordResetAllDetails instance\nfunc NewPasswordResetAllDetails() *PasswordResetAllDetails {\n\ts := new(PasswordResetAllDetails)\n\treturn s\n}\n\n// PasswordResetAllType : has no documentation (yet)\ntype PasswordResetAllType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPasswordResetAllType returns a new PasswordResetAllType instance\nfunc NewPasswordResetAllType(Description string) *PasswordResetAllType {\n\ts := new(PasswordResetAllType)\n\ts.Description = Description\n\treturn s\n}\n\n// PasswordResetDetails : Reset password.\ntype PasswordResetDetails struct {\n}\n\n// NewPasswordResetDetails returns a new PasswordResetDetails instance\nfunc NewPasswordResetDetails() *PasswordResetDetails {\n\ts := new(PasswordResetDetails)\n\treturn s\n}\n\n// PasswordResetType : has no documentation (yet)\ntype PasswordResetType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPasswordResetType returns a new PasswordResetType instance\nfunc NewPasswordResetType(Description string) *PasswordResetType {\n\ts := new(PasswordResetType)\n\ts.Description = Description\n\treturn s\n}\n\n// PasswordStrengthRequirementsChangePolicyDetails : Changed team password\n// strength requirements.\ntype PasswordStrengthRequirementsChangePolicyDetails struct {\n\t// PreviousValue : Old password strength policy.\n\tPreviousValue *team_policies.PasswordStrengthPolicy `json:\"previous_value\"`\n\t// NewValue : New password strength policy.\n\tNewValue *team_policies.PasswordStrengthPolicy `json:\"new_value\"`\n}\n\n// NewPasswordStrengthRequirementsChangePolicyDetails returns a new PasswordStrengthRequirementsChangePolicyDetails instance\nfunc NewPasswordStrengthRequirementsChangePolicyDetails(PreviousValue *team_policies.PasswordStrengthPolicy, NewValue *team_policies.PasswordStrengthPolicy) *PasswordStrengthRequirementsChangePolicyDetails {\n\ts := new(PasswordStrengthRequirementsChangePolicyDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// PasswordStrengthRequirementsChangePolicyType : has no documentation (yet)\ntype PasswordStrengthRequirementsChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPasswordStrengthRequirementsChangePolicyType returns a new PasswordStrengthRequirementsChangePolicyType instance\nfunc NewPasswordStrengthRequirementsChangePolicyType(Description string) *PasswordStrengthRequirementsChangePolicyType {\n\ts := new(PasswordStrengthRequirementsChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// PathLogInfo : Path's details.\ntype PathLogInfo struct {\n\t// Contextual : Fully qualified path relative to event's context.\n\tContextual string `json:\"contextual,omitempty\"`\n\t// NamespaceRelative : Path relative to the namespace containing the\n\t// content.\n\tNamespaceRelative *NamespaceRelativePathLogInfo `json:\"namespace_relative\"`\n}\n\n// NewPathLogInfo returns a new PathLogInfo instance\nfunc NewPathLogInfo(NamespaceRelative *NamespaceRelativePathLogInfo) *PathLogInfo {\n\ts := new(PathLogInfo)\n\ts.NamespaceRelative = NamespaceRelative\n\treturn s\n}\n\n// PendingSecondaryEmailAddedDetails : Added pending secondary email.\ntype PendingSecondaryEmailAddedDetails struct {\n\t// SecondaryEmail : New pending secondary email.\n\tSecondaryEmail string `json:\"secondary_email\"`\n}\n\n// NewPendingSecondaryEmailAddedDetails returns a new PendingSecondaryEmailAddedDetails instance\nfunc NewPendingSecondaryEmailAddedDetails(SecondaryEmail string) *PendingSecondaryEmailAddedDetails {\n\ts := new(PendingSecondaryEmailAddedDetails)\n\ts.SecondaryEmail = SecondaryEmail\n\treturn s\n}\n\n// PendingSecondaryEmailAddedType : has no documentation (yet)\ntype PendingSecondaryEmailAddedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPendingSecondaryEmailAddedType returns a new PendingSecondaryEmailAddedType instance\nfunc NewPendingSecondaryEmailAddedType(Description string) *PendingSecondaryEmailAddedType {\n\ts := new(PendingSecondaryEmailAddedType)\n\ts.Description = Description\n\treturn s\n}\n\n// PermanentDeleteChangePolicyDetails : Enabled/disabled ability of team members\n// to permanently delete content.\ntype PermanentDeleteChangePolicyDetails struct {\n\t// NewValue : New permanent delete content policy.\n\tNewValue *ContentPermanentDeletePolicy `json:\"new_value\"`\n\t// PreviousValue : Previous permanent delete content policy. Might be\n\t// missing due to historical data gap.\n\tPreviousValue *ContentPermanentDeletePolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewPermanentDeleteChangePolicyDetails returns a new PermanentDeleteChangePolicyDetails instance\nfunc NewPermanentDeleteChangePolicyDetails(NewValue *ContentPermanentDeletePolicy) *PermanentDeleteChangePolicyDetails {\n\ts := new(PermanentDeleteChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// PermanentDeleteChangePolicyType : has no documentation (yet)\ntype PermanentDeleteChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewPermanentDeleteChangePolicyType returns a new PermanentDeleteChangePolicyType instance\nfunc NewPermanentDeleteChangePolicyType(Description string) *PermanentDeleteChangePolicyType {\n\ts := new(PermanentDeleteChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// PlacementRestriction : has no documentation (yet)\ntype PlacementRestriction struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PlacementRestriction\nconst (\n\tPlacementRestrictionAustraliaOnly = \"australia_only\"\n\tPlacementRestrictionEuropeOnly    = \"europe_only\"\n\tPlacementRestrictionJapanOnly     = \"japan_only\"\n\tPlacementRestrictionNone          = \"none\"\n\tPlacementRestrictionUkOnly        = \"uk_only\"\n\tPlacementRestrictionUsS3Only      = \"us_s3_only\"\n\tPlacementRestrictionOther         = \"other\"\n)\n\n// PolicyType : has no documentation (yet)\ntype PolicyType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PolicyType\nconst (\n\tPolicyTypeDisposition = \"disposition\"\n\tPolicyTypeRetention   = \"retention\"\n\tPolicyTypeOther       = \"other\"\n)\n\n// PrimaryTeamRequestAcceptedDetails : Team merge request acceptance details\n// shown to the primary team\ntype PrimaryTeamRequestAcceptedDetails struct {\n\t// SecondaryTeam : The secondary team name.\n\tSecondaryTeam string `json:\"secondary_team\"`\n\t// SentBy : The name of the secondary team admin who sent the request\n\t// originally.\n\tSentBy string `json:\"sent_by\"`\n}\n\n// NewPrimaryTeamRequestAcceptedDetails returns a new PrimaryTeamRequestAcceptedDetails instance\nfunc NewPrimaryTeamRequestAcceptedDetails(SecondaryTeam string, SentBy string) *PrimaryTeamRequestAcceptedDetails {\n\ts := new(PrimaryTeamRequestAcceptedDetails)\n\ts.SecondaryTeam = SecondaryTeam\n\ts.SentBy = SentBy\n\treturn s\n}\n\n// PrimaryTeamRequestCanceledDetails : Team merge request cancellation details\n// shown to the primary team\ntype PrimaryTeamRequestCanceledDetails struct {\n\t// SecondaryTeam : The secondary team name.\n\tSecondaryTeam string `json:\"secondary_team\"`\n\t// SentBy : The name of the secondary team admin who sent the request\n\t// originally.\n\tSentBy string `json:\"sent_by\"`\n}\n\n// NewPrimaryTeamRequestCanceledDetails returns a new PrimaryTeamRequestCanceledDetails instance\nfunc NewPrimaryTeamRequestCanceledDetails(SecondaryTeam string, SentBy string) *PrimaryTeamRequestCanceledDetails {\n\ts := new(PrimaryTeamRequestCanceledDetails)\n\ts.SecondaryTeam = SecondaryTeam\n\ts.SentBy = SentBy\n\treturn s\n}\n\n// PrimaryTeamRequestExpiredDetails : Team merge request expiration details\n// shown to the primary team\ntype PrimaryTeamRequestExpiredDetails struct {\n\t// SecondaryTeam : The secondary team name.\n\tSecondaryTeam string `json:\"secondary_team\"`\n\t// SentBy : The name of the secondary team admin who sent the request\n\t// originally.\n\tSentBy string `json:\"sent_by\"`\n}\n\n// NewPrimaryTeamRequestExpiredDetails returns a new PrimaryTeamRequestExpiredDetails instance\nfunc NewPrimaryTeamRequestExpiredDetails(SecondaryTeam string, SentBy string) *PrimaryTeamRequestExpiredDetails {\n\ts := new(PrimaryTeamRequestExpiredDetails)\n\ts.SecondaryTeam = SecondaryTeam\n\ts.SentBy = SentBy\n\treturn s\n}\n\n// PrimaryTeamRequestReminderDetails : Team merge request reminder details shown\n// to the primary team\ntype PrimaryTeamRequestReminderDetails struct {\n\t// SecondaryTeam : The secondary team name.\n\tSecondaryTeam string `json:\"secondary_team\"`\n\t// SentTo : The name of the primary team admin the request was sent to.\n\tSentTo string `json:\"sent_to\"`\n}\n\n// NewPrimaryTeamRequestReminderDetails returns a new PrimaryTeamRequestReminderDetails instance\nfunc NewPrimaryTeamRequestReminderDetails(SecondaryTeam string, SentTo string) *PrimaryTeamRequestReminderDetails {\n\ts := new(PrimaryTeamRequestReminderDetails)\n\ts.SecondaryTeam = SecondaryTeam\n\ts.SentTo = SentTo\n\treturn s\n}\n\n// QuickActionType : Quick action type.\ntype QuickActionType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for QuickActionType\nconst (\n\tQuickActionTypeDeleteSharedLink    = \"delete_shared_link\"\n\tQuickActionTypeResetPassword       = \"reset_password\"\n\tQuickActionTypeRestoreFileOrFolder = \"restore_file_or_folder\"\n\tQuickActionTypeUnlinkApp           = \"unlink_app\"\n\tQuickActionTypeUnlinkDevice        = \"unlink_device\"\n\tQuickActionTypeUnlinkSession       = \"unlink_session\"\n\tQuickActionTypeOther               = \"other\"\n)\n\n// RecipientsConfiguration : Recipients Configuration\ntype RecipientsConfiguration struct {\n\t// RecipientSettingType : Recipients setting type.\n\tRecipientSettingType *AlertRecipientsSettingType `json:\"recipient_setting_type,omitempty\"`\n\t// Emails : A list of user emails to notify.\n\tEmails []string `json:\"emails,omitempty\"`\n\t// Groups : A list of groups to notify.\n\tGroups []string `json:\"groups,omitempty\"`\n}\n\n// NewRecipientsConfiguration returns a new RecipientsConfiguration instance\nfunc NewRecipientsConfiguration() *RecipientsConfiguration {\n\ts := new(RecipientsConfiguration)\n\treturn s\n}\n\n// RelocateAssetReferencesLogInfo : Provides the indices of the source asset and\n// the destination asset for a relocate action.\ntype RelocateAssetReferencesLogInfo struct {\n\t// SrcAssetIndex : Source asset position in the Assets list.\n\tSrcAssetIndex uint64 `json:\"src_asset_index\"`\n\t// DestAssetIndex : Destination asset position in the Assets list.\n\tDestAssetIndex uint64 `json:\"dest_asset_index\"`\n}\n\n// NewRelocateAssetReferencesLogInfo returns a new RelocateAssetReferencesLogInfo instance\nfunc NewRelocateAssetReferencesLogInfo(SrcAssetIndex uint64, DestAssetIndex uint64) *RelocateAssetReferencesLogInfo {\n\ts := new(RelocateAssetReferencesLogInfo)\n\ts.SrcAssetIndex = SrcAssetIndex\n\ts.DestAssetIndex = DestAssetIndex\n\treturn s\n}\n\n// ResellerLogInfo : Reseller information.\ntype ResellerLogInfo struct {\n\t// ResellerName : Reseller name.\n\tResellerName string `json:\"reseller_name\"`\n\t// ResellerEmail : Reseller email.\n\tResellerEmail string `json:\"reseller_email\"`\n}\n\n// NewResellerLogInfo returns a new ResellerLogInfo instance\nfunc NewResellerLogInfo(ResellerName string, ResellerEmail string) *ResellerLogInfo {\n\ts := new(ResellerLogInfo)\n\ts.ResellerName = ResellerName\n\ts.ResellerEmail = ResellerEmail\n\treturn s\n}\n\n// ResellerRole : has no documentation (yet)\ntype ResellerRole struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ResellerRole\nconst (\n\tResellerRoleNotReseller   = \"not_reseller\"\n\tResellerRoleResellerAdmin = \"reseller_admin\"\n\tResellerRoleOther         = \"other\"\n)\n\n// ResellerSupportChangePolicyDetails : Enabled/disabled reseller support.\ntype ResellerSupportChangePolicyDetails struct {\n\t// NewValue : New Reseller support policy.\n\tNewValue *ResellerSupportPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous Reseller support policy.\n\tPreviousValue *ResellerSupportPolicy `json:\"previous_value\"`\n}\n\n// NewResellerSupportChangePolicyDetails returns a new ResellerSupportChangePolicyDetails instance\nfunc NewResellerSupportChangePolicyDetails(NewValue *ResellerSupportPolicy, PreviousValue *ResellerSupportPolicy) *ResellerSupportChangePolicyDetails {\n\ts := new(ResellerSupportChangePolicyDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// ResellerSupportChangePolicyType : has no documentation (yet)\ntype ResellerSupportChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewResellerSupportChangePolicyType returns a new ResellerSupportChangePolicyType instance\nfunc NewResellerSupportChangePolicyType(Description string) *ResellerSupportChangePolicyType {\n\ts := new(ResellerSupportChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// ResellerSupportPolicy : Policy for controlling if reseller can access the\n// admin console as administrator\ntype ResellerSupportPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ResellerSupportPolicy\nconst (\n\tResellerSupportPolicyDisabled = \"disabled\"\n\tResellerSupportPolicyEnabled  = \"enabled\"\n\tResellerSupportPolicyOther    = \"other\"\n)\n\n// ResellerSupportSessionEndDetails : Ended reseller support session.\ntype ResellerSupportSessionEndDetails struct {\n}\n\n// NewResellerSupportSessionEndDetails returns a new ResellerSupportSessionEndDetails instance\nfunc NewResellerSupportSessionEndDetails() *ResellerSupportSessionEndDetails {\n\ts := new(ResellerSupportSessionEndDetails)\n\treturn s\n}\n\n// ResellerSupportSessionEndType : has no documentation (yet)\ntype ResellerSupportSessionEndType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewResellerSupportSessionEndType returns a new ResellerSupportSessionEndType instance\nfunc NewResellerSupportSessionEndType(Description string) *ResellerSupportSessionEndType {\n\ts := new(ResellerSupportSessionEndType)\n\ts.Description = Description\n\treturn s\n}\n\n// ResellerSupportSessionStartDetails : Started reseller support session.\ntype ResellerSupportSessionStartDetails struct {\n}\n\n// NewResellerSupportSessionStartDetails returns a new ResellerSupportSessionStartDetails instance\nfunc NewResellerSupportSessionStartDetails() *ResellerSupportSessionStartDetails {\n\ts := new(ResellerSupportSessionStartDetails)\n\treturn s\n}\n\n// ResellerSupportSessionStartType : has no documentation (yet)\ntype ResellerSupportSessionStartType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewResellerSupportSessionStartType returns a new ResellerSupportSessionStartType instance\nfunc NewResellerSupportSessionStartType(Description string) *ResellerSupportSessionStartType {\n\ts := new(ResellerSupportSessionStartType)\n\ts.Description = Description\n\treturn s\n}\n\n// RewindFolderDetails : Rewound a folder.\ntype RewindFolderDetails struct {\n\t// RewindFolderTargetTsMs : Folder was Rewound to this date.\n\tRewindFolderTargetTsMs time.Time `json:\"rewind_folder_target_ts_ms\"`\n}\n\n// NewRewindFolderDetails returns a new RewindFolderDetails instance\nfunc NewRewindFolderDetails(RewindFolderTargetTsMs time.Time) *RewindFolderDetails {\n\ts := new(RewindFolderDetails)\n\ts.RewindFolderTargetTsMs = RewindFolderTargetTsMs\n\treturn s\n}\n\n// RewindFolderType : has no documentation (yet)\ntype RewindFolderType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewRewindFolderType returns a new RewindFolderType instance\nfunc NewRewindFolderType(Description string) *RewindFolderType {\n\ts := new(RewindFolderType)\n\ts.Description = Description\n\treturn s\n}\n\n// RewindPolicy : Policy for controlling whether team members can rewind\ntype RewindPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for RewindPolicy\nconst (\n\tRewindPolicyAdminsOnly = \"admins_only\"\n\tRewindPolicyEveryone   = \"everyone\"\n\tRewindPolicyOther      = \"other\"\n)\n\n// RewindPolicyChangedDetails : Changed Rewind policy for team.\ntype RewindPolicyChangedDetails struct {\n\t// NewValue : New Dropbox Rewind policy.\n\tNewValue *RewindPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous Dropbox Rewind policy.\n\tPreviousValue *RewindPolicy `json:\"previous_value\"`\n}\n\n// NewRewindPolicyChangedDetails returns a new RewindPolicyChangedDetails instance\nfunc NewRewindPolicyChangedDetails(NewValue *RewindPolicy, PreviousValue *RewindPolicy) *RewindPolicyChangedDetails {\n\ts := new(RewindPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// RewindPolicyChangedType : has no documentation (yet)\ntype RewindPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewRewindPolicyChangedType returns a new RewindPolicyChangedType instance\nfunc NewRewindPolicyChangedType(Description string) *RewindPolicyChangedType {\n\ts := new(RewindPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// SecondaryEmailDeletedDetails : Deleted secondary email.\ntype SecondaryEmailDeletedDetails struct {\n\t// SecondaryEmail : Deleted secondary email.\n\tSecondaryEmail string `json:\"secondary_email\"`\n}\n\n// NewSecondaryEmailDeletedDetails returns a new SecondaryEmailDeletedDetails instance\nfunc NewSecondaryEmailDeletedDetails(SecondaryEmail string) *SecondaryEmailDeletedDetails {\n\ts := new(SecondaryEmailDeletedDetails)\n\ts.SecondaryEmail = SecondaryEmail\n\treturn s\n}\n\n// SecondaryEmailDeletedType : has no documentation (yet)\ntype SecondaryEmailDeletedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSecondaryEmailDeletedType returns a new SecondaryEmailDeletedType instance\nfunc NewSecondaryEmailDeletedType(Description string) *SecondaryEmailDeletedType {\n\ts := new(SecondaryEmailDeletedType)\n\ts.Description = Description\n\treturn s\n}\n\n// SecondaryEmailVerifiedDetails : Verified secondary email.\ntype SecondaryEmailVerifiedDetails struct {\n\t// SecondaryEmail : Verified secondary email.\n\tSecondaryEmail string `json:\"secondary_email\"`\n}\n\n// NewSecondaryEmailVerifiedDetails returns a new SecondaryEmailVerifiedDetails instance\nfunc NewSecondaryEmailVerifiedDetails(SecondaryEmail string) *SecondaryEmailVerifiedDetails {\n\ts := new(SecondaryEmailVerifiedDetails)\n\ts.SecondaryEmail = SecondaryEmail\n\treturn s\n}\n\n// SecondaryEmailVerifiedType : has no documentation (yet)\ntype SecondaryEmailVerifiedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSecondaryEmailVerifiedType returns a new SecondaryEmailVerifiedType instance\nfunc NewSecondaryEmailVerifiedType(Description string) *SecondaryEmailVerifiedType {\n\ts := new(SecondaryEmailVerifiedType)\n\ts.Description = Description\n\treturn s\n}\n\n// SecondaryMailsPolicy : has no documentation (yet)\ntype SecondaryMailsPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SecondaryMailsPolicy\nconst (\n\tSecondaryMailsPolicyDisabled = \"disabled\"\n\tSecondaryMailsPolicyEnabled  = \"enabled\"\n\tSecondaryMailsPolicyOther    = \"other\"\n)\n\n// SecondaryMailsPolicyChangedDetails : Secondary mails policy changed.\ntype SecondaryMailsPolicyChangedDetails struct {\n\t// PreviousValue : Previous secondary mails policy.\n\tPreviousValue *SecondaryMailsPolicy `json:\"previous_value\"`\n\t// NewValue : New secondary mails policy.\n\tNewValue *SecondaryMailsPolicy `json:\"new_value\"`\n}\n\n// NewSecondaryMailsPolicyChangedDetails returns a new SecondaryMailsPolicyChangedDetails instance\nfunc NewSecondaryMailsPolicyChangedDetails(PreviousValue *SecondaryMailsPolicy, NewValue *SecondaryMailsPolicy) *SecondaryMailsPolicyChangedDetails {\n\ts := new(SecondaryMailsPolicyChangedDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SecondaryMailsPolicyChangedType : has no documentation (yet)\ntype SecondaryMailsPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSecondaryMailsPolicyChangedType returns a new SecondaryMailsPolicyChangedType instance\nfunc NewSecondaryMailsPolicyChangedType(Description string) *SecondaryMailsPolicyChangedType {\n\ts := new(SecondaryMailsPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// SecondaryTeamRequestAcceptedDetails : Team merge request acceptance details\n// shown to the secondary team\ntype SecondaryTeamRequestAcceptedDetails struct {\n\t// PrimaryTeam : The primary team name.\n\tPrimaryTeam string `json:\"primary_team\"`\n\t// SentBy : The name of the secondary team admin who sent the request\n\t// originally.\n\tSentBy string `json:\"sent_by\"`\n}\n\n// NewSecondaryTeamRequestAcceptedDetails returns a new SecondaryTeamRequestAcceptedDetails instance\nfunc NewSecondaryTeamRequestAcceptedDetails(PrimaryTeam string, SentBy string) *SecondaryTeamRequestAcceptedDetails {\n\ts := new(SecondaryTeamRequestAcceptedDetails)\n\ts.PrimaryTeam = PrimaryTeam\n\ts.SentBy = SentBy\n\treturn s\n}\n\n// SecondaryTeamRequestCanceledDetails : Team merge request cancellation details\n// shown to the secondary team\ntype SecondaryTeamRequestCanceledDetails struct {\n\t// SentTo : The email of the primary team admin that the request was sent\n\t// to.\n\tSentTo string `json:\"sent_to\"`\n\t// SentBy : The name of the secondary team admin who sent the request\n\t// originally.\n\tSentBy string `json:\"sent_by\"`\n}\n\n// NewSecondaryTeamRequestCanceledDetails returns a new SecondaryTeamRequestCanceledDetails instance\nfunc NewSecondaryTeamRequestCanceledDetails(SentTo string, SentBy string) *SecondaryTeamRequestCanceledDetails {\n\ts := new(SecondaryTeamRequestCanceledDetails)\n\ts.SentTo = SentTo\n\ts.SentBy = SentBy\n\treturn s\n}\n\n// SecondaryTeamRequestExpiredDetails : Team merge request expiration details\n// shown to the secondary team\ntype SecondaryTeamRequestExpiredDetails struct {\n\t// SentTo : The email of the primary team admin the request was sent to.\n\tSentTo string `json:\"sent_to\"`\n}\n\n// NewSecondaryTeamRequestExpiredDetails returns a new SecondaryTeamRequestExpiredDetails instance\nfunc NewSecondaryTeamRequestExpiredDetails(SentTo string) *SecondaryTeamRequestExpiredDetails {\n\ts := new(SecondaryTeamRequestExpiredDetails)\n\ts.SentTo = SentTo\n\treturn s\n}\n\n// SecondaryTeamRequestReminderDetails : Team merge request reminder details\n// shown to the secondary team\ntype SecondaryTeamRequestReminderDetails struct {\n\t// SentTo : The email of the primary team admin the request was sent to.\n\tSentTo string `json:\"sent_to\"`\n}\n\n// NewSecondaryTeamRequestReminderDetails returns a new SecondaryTeamRequestReminderDetails instance\nfunc NewSecondaryTeamRequestReminderDetails(SentTo string) *SecondaryTeamRequestReminderDetails {\n\ts := new(SecondaryTeamRequestReminderDetails)\n\ts.SentTo = SentTo\n\treturn s\n}\n\n// SendForSignaturePolicy : Policy for controlling team access to send for\n// signature feature\ntype SendForSignaturePolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SendForSignaturePolicy\nconst (\n\tSendForSignaturePolicyDisabled = \"disabled\"\n\tSendForSignaturePolicyEnabled  = \"enabled\"\n\tSendForSignaturePolicyOther    = \"other\"\n)\n\n// SendForSignaturePolicyChangedDetails : Changed send for signature policy for\n// team.\ntype SendForSignaturePolicyChangedDetails struct {\n\t// NewValue : New send for signature policy.\n\tNewValue *SendForSignaturePolicy `json:\"new_value\"`\n\t// PreviousValue : Previous send for signature policy.\n\tPreviousValue *SendForSignaturePolicy `json:\"previous_value\"`\n}\n\n// NewSendForSignaturePolicyChangedDetails returns a new SendForSignaturePolicyChangedDetails instance\nfunc NewSendForSignaturePolicyChangedDetails(NewValue *SendForSignaturePolicy, PreviousValue *SendForSignaturePolicy) *SendForSignaturePolicyChangedDetails {\n\ts := new(SendForSignaturePolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// SendForSignaturePolicyChangedType : has no documentation (yet)\ntype SendForSignaturePolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSendForSignaturePolicyChangedType returns a new SendForSignaturePolicyChangedType instance\nfunc NewSendForSignaturePolicyChangedType(Description string) *SendForSignaturePolicyChangedType {\n\ts := new(SendForSignaturePolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// SfAddGroupDetails : Added team to shared folder.\ntype SfAddGroupDetails struct {\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index\"`\n\t// OriginalFolderName : Original shared folder name.\n\tOriginalFolderName string `json:\"original_folder_name\"`\n\t// SharingPermission : Sharing permission.\n\tSharingPermission string `json:\"sharing_permission,omitempty\"`\n\t// TeamName : Team name.\n\tTeamName string `json:\"team_name\"`\n}\n\n// NewSfAddGroupDetails returns a new SfAddGroupDetails instance\nfunc NewSfAddGroupDetails(TargetAssetIndex uint64, OriginalFolderName string, TeamName string) *SfAddGroupDetails {\n\ts := new(SfAddGroupDetails)\n\ts.TargetAssetIndex = TargetAssetIndex\n\ts.OriginalFolderName = OriginalFolderName\n\ts.TeamName = TeamName\n\treturn s\n}\n\n// SfAddGroupType : has no documentation (yet)\ntype SfAddGroupType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSfAddGroupType returns a new SfAddGroupType instance\nfunc NewSfAddGroupType(Description string) *SfAddGroupType {\n\ts := new(SfAddGroupType)\n\ts.Description = Description\n\treturn s\n}\n\n// SfAllowNonMembersToViewSharedLinksDetails : Allowed non-collaborators to view\n// links to files in shared folder.\ntype SfAllowNonMembersToViewSharedLinksDetails struct {\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index\"`\n\t// OriginalFolderName : Original shared folder name.\n\tOriginalFolderName string `json:\"original_folder_name\"`\n\t// SharedFolderType : Shared folder type.\n\tSharedFolderType string `json:\"shared_folder_type,omitempty\"`\n}\n\n// NewSfAllowNonMembersToViewSharedLinksDetails returns a new SfAllowNonMembersToViewSharedLinksDetails instance\nfunc NewSfAllowNonMembersToViewSharedLinksDetails(TargetAssetIndex uint64, OriginalFolderName string) *SfAllowNonMembersToViewSharedLinksDetails {\n\ts := new(SfAllowNonMembersToViewSharedLinksDetails)\n\ts.TargetAssetIndex = TargetAssetIndex\n\ts.OriginalFolderName = OriginalFolderName\n\treturn s\n}\n\n// SfAllowNonMembersToViewSharedLinksType : has no documentation (yet)\ntype SfAllowNonMembersToViewSharedLinksType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSfAllowNonMembersToViewSharedLinksType returns a new SfAllowNonMembersToViewSharedLinksType instance\nfunc NewSfAllowNonMembersToViewSharedLinksType(Description string) *SfAllowNonMembersToViewSharedLinksType {\n\ts := new(SfAllowNonMembersToViewSharedLinksType)\n\ts.Description = Description\n\treturn s\n}\n\n// SfExternalInviteWarnDetails : Set team members to see warning before sharing\n// folders outside team.\ntype SfExternalInviteWarnDetails struct {\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index\"`\n\t// OriginalFolderName : Original shared folder name.\n\tOriginalFolderName string `json:\"original_folder_name\"`\n\t// NewSharingPermission : New sharing permission.\n\tNewSharingPermission string `json:\"new_sharing_permission,omitempty\"`\n\t// PreviousSharingPermission : Previous sharing permission.\n\tPreviousSharingPermission string `json:\"previous_sharing_permission,omitempty\"`\n}\n\n// NewSfExternalInviteWarnDetails returns a new SfExternalInviteWarnDetails instance\nfunc NewSfExternalInviteWarnDetails(TargetAssetIndex uint64, OriginalFolderName string) *SfExternalInviteWarnDetails {\n\ts := new(SfExternalInviteWarnDetails)\n\ts.TargetAssetIndex = TargetAssetIndex\n\ts.OriginalFolderName = OriginalFolderName\n\treturn s\n}\n\n// SfExternalInviteWarnType : has no documentation (yet)\ntype SfExternalInviteWarnType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSfExternalInviteWarnType returns a new SfExternalInviteWarnType instance\nfunc NewSfExternalInviteWarnType(Description string) *SfExternalInviteWarnType {\n\ts := new(SfExternalInviteWarnType)\n\ts.Description = Description\n\treturn s\n}\n\n// SfFbInviteChangeRoleDetails : Changed Facebook user's role in shared folder.\ntype SfFbInviteChangeRoleDetails struct {\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index\"`\n\t// OriginalFolderName : Original shared folder name.\n\tOriginalFolderName string `json:\"original_folder_name\"`\n\t// PreviousSharingPermission : Previous sharing permission.\n\tPreviousSharingPermission string `json:\"previous_sharing_permission,omitempty\"`\n\t// NewSharingPermission : New sharing permission.\n\tNewSharingPermission string `json:\"new_sharing_permission,omitempty\"`\n}\n\n// NewSfFbInviteChangeRoleDetails returns a new SfFbInviteChangeRoleDetails instance\nfunc NewSfFbInviteChangeRoleDetails(TargetAssetIndex uint64, OriginalFolderName string) *SfFbInviteChangeRoleDetails {\n\ts := new(SfFbInviteChangeRoleDetails)\n\ts.TargetAssetIndex = TargetAssetIndex\n\ts.OriginalFolderName = OriginalFolderName\n\treturn s\n}\n\n// SfFbInviteChangeRoleType : has no documentation (yet)\ntype SfFbInviteChangeRoleType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSfFbInviteChangeRoleType returns a new SfFbInviteChangeRoleType instance\nfunc NewSfFbInviteChangeRoleType(Description string) *SfFbInviteChangeRoleType {\n\ts := new(SfFbInviteChangeRoleType)\n\ts.Description = Description\n\treturn s\n}\n\n// SfFbInviteDetails : Invited Facebook users to shared folder.\ntype SfFbInviteDetails struct {\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index\"`\n\t// OriginalFolderName : Original shared folder name.\n\tOriginalFolderName string `json:\"original_folder_name\"`\n\t// SharingPermission : Sharing permission.\n\tSharingPermission string `json:\"sharing_permission,omitempty\"`\n}\n\n// NewSfFbInviteDetails returns a new SfFbInviteDetails instance\nfunc NewSfFbInviteDetails(TargetAssetIndex uint64, OriginalFolderName string) *SfFbInviteDetails {\n\ts := new(SfFbInviteDetails)\n\ts.TargetAssetIndex = TargetAssetIndex\n\ts.OriginalFolderName = OriginalFolderName\n\treturn s\n}\n\n// SfFbInviteType : has no documentation (yet)\ntype SfFbInviteType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSfFbInviteType returns a new SfFbInviteType instance\nfunc NewSfFbInviteType(Description string) *SfFbInviteType {\n\ts := new(SfFbInviteType)\n\ts.Description = Description\n\treturn s\n}\n\n// SfFbUninviteDetails : Uninvited Facebook user from shared folder.\ntype SfFbUninviteDetails struct {\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index\"`\n\t// OriginalFolderName : Original shared folder name.\n\tOriginalFolderName string `json:\"original_folder_name\"`\n}\n\n// NewSfFbUninviteDetails returns a new SfFbUninviteDetails instance\nfunc NewSfFbUninviteDetails(TargetAssetIndex uint64, OriginalFolderName string) *SfFbUninviteDetails {\n\ts := new(SfFbUninviteDetails)\n\ts.TargetAssetIndex = TargetAssetIndex\n\ts.OriginalFolderName = OriginalFolderName\n\treturn s\n}\n\n// SfFbUninviteType : has no documentation (yet)\ntype SfFbUninviteType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSfFbUninviteType returns a new SfFbUninviteType instance\nfunc NewSfFbUninviteType(Description string) *SfFbUninviteType {\n\ts := new(SfFbUninviteType)\n\ts.Description = Description\n\treturn s\n}\n\n// SfInviteGroupDetails : Invited group to shared folder.\ntype SfInviteGroupDetails struct {\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index\"`\n}\n\n// NewSfInviteGroupDetails returns a new SfInviteGroupDetails instance\nfunc NewSfInviteGroupDetails(TargetAssetIndex uint64) *SfInviteGroupDetails {\n\ts := new(SfInviteGroupDetails)\n\ts.TargetAssetIndex = TargetAssetIndex\n\treturn s\n}\n\n// SfInviteGroupType : has no documentation (yet)\ntype SfInviteGroupType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSfInviteGroupType returns a new SfInviteGroupType instance\nfunc NewSfInviteGroupType(Description string) *SfInviteGroupType {\n\ts := new(SfInviteGroupType)\n\ts.Description = Description\n\treturn s\n}\n\n// SfTeamGrantAccessDetails : Granted access to shared folder.\ntype SfTeamGrantAccessDetails struct {\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index\"`\n\t// OriginalFolderName : Original shared folder name.\n\tOriginalFolderName string `json:\"original_folder_name\"`\n}\n\n// NewSfTeamGrantAccessDetails returns a new SfTeamGrantAccessDetails instance\nfunc NewSfTeamGrantAccessDetails(TargetAssetIndex uint64, OriginalFolderName string) *SfTeamGrantAccessDetails {\n\ts := new(SfTeamGrantAccessDetails)\n\ts.TargetAssetIndex = TargetAssetIndex\n\ts.OriginalFolderName = OriginalFolderName\n\treturn s\n}\n\n// SfTeamGrantAccessType : has no documentation (yet)\ntype SfTeamGrantAccessType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSfTeamGrantAccessType returns a new SfTeamGrantAccessType instance\nfunc NewSfTeamGrantAccessType(Description string) *SfTeamGrantAccessType {\n\ts := new(SfTeamGrantAccessType)\n\ts.Description = Description\n\treturn s\n}\n\n// SfTeamInviteChangeRoleDetails : Changed team member's role in shared folder.\ntype SfTeamInviteChangeRoleDetails struct {\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index\"`\n\t// OriginalFolderName : Original shared folder name.\n\tOriginalFolderName string `json:\"original_folder_name\"`\n\t// NewSharingPermission : New sharing permission.\n\tNewSharingPermission string `json:\"new_sharing_permission,omitempty\"`\n\t// PreviousSharingPermission : Previous sharing permission.\n\tPreviousSharingPermission string `json:\"previous_sharing_permission,omitempty\"`\n}\n\n// NewSfTeamInviteChangeRoleDetails returns a new SfTeamInviteChangeRoleDetails instance\nfunc NewSfTeamInviteChangeRoleDetails(TargetAssetIndex uint64, OriginalFolderName string) *SfTeamInviteChangeRoleDetails {\n\ts := new(SfTeamInviteChangeRoleDetails)\n\ts.TargetAssetIndex = TargetAssetIndex\n\ts.OriginalFolderName = OriginalFolderName\n\treturn s\n}\n\n// SfTeamInviteChangeRoleType : has no documentation (yet)\ntype SfTeamInviteChangeRoleType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSfTeamInviteChangeRoleType returns a new SfTeamInviteChangeRoleType instance\nfunc NewSfTeamInviteChangeRoleType(Description string) *SfTeamInviteChangeRoleType {\n\ts := new(SfTeamInviteChangeRoleType)\n\ts.Description = Description\n\treturn s\n}\n\n// SfTeamInviteDetails : Invited team members to shared folder.\ntype SfTeamInviteDetails struct {\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index\"`\n\t// OriginalFolderName : Original shared folder name.\n\tOriginalFolderName string `json:\"original_folder_name\"`\n\t// SharingPermission : Sharing permission.\n\tSharingPermission string `json:\"sharing_permission,omitempty\"`\n}\n\n// NewSfTeamInviteDetails returns a new SfTeamInviteDetails instance\nfunc NewSfTeamInviteDetails(TargetAssetIndex uint64, OriginalFolderName string) *SfTeamInviteDetails {\n\ts := new(SfTeamInviteDetails)\n\ts.TargetAssetIndex = TargetAssetIndex\n\ts.OriginalFolderName = OriginalFolderName\n\treturn s\n}\n\n// SfTeamInviteType : has no documentation (yet)\ntype SfTeamInviteType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSfTeamInviteType returns a new SfTeamInviteType instance\nfunc NewSfTeamInviteType(Description string) *SfTeamInviteType {\n\ts := new(SfTeamInviteType)\n\ts.Description = Description\n\treturn s\n}\n\n// SfTeamJoinDetails : Joined team member's shared folder.\ntype SfTeamJoinDetails struct {\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index\"`\n\t// OriginalFolderName : Original shared folder name.\n\tOriginalFolderName string `json:\"original_folder_name\"`\n}\n\n// NewSfTeamJoinDetails returns a new SfTeamJoinDetails instance\nfunc NewSfTeamJoinDetails(TargetAssetIndex uint64, OriginalFolderName string) *SfTeamJoinDetails {\n\ts := new(SfTeamJoinDetails)\n\ts.TargetAssetIndex = TargetAssetIndex\n\ts.OriginalFolderName = OriginalFolderName\n\treturn s\n}\n\n// SfTeamJoinFromOobLinkDetails : Joined team member's shared folder from link.\ntype SfTeamJoinFromOobLinkDetails struct {\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index\"`\n\t// OriginalFolderName : Original shared folder name.\n\tOriginalFolderName string `json:\"original_folder_name\"`\n\t// TokenKey : Shared link token key.\n\tTokenKey string `json:\"token_key,omitempty\"`\n\t// SharingPermission : Sharing permission.\n\tSharingPermission string `json:\"sharing_permission,omitempty\"`\n}\n\n// NewSfTeamJoinFromOobLinkDetails returns a new SfTeamJoinFromOobLinkDetails instance\nfunc NewSfTeamJoinFromOobLinkDetails(TargetAssetIndex uint64, OriginalFolderName string) *SfTeamJoinFromOobLinkDetails {\n\ts := new(SfTeamJoinFromOobLinkDetails)\n\ts.TargetAssetIndex = TargetAssetIndex\n\ts.OriginalFolderName = OriginalFolderName\n\treturn s\n}\n\n// SfTeamJoinFromOobLinkType : has no documentation (yet)\ntype SfTeamJoinFromOobLinkType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSfTeamJoinFromOobLinkType returns a new SfTeamJoinFromOobLinkType instance\nfunc NewSfTeamJoinFromOobLinkType(Description string) *SfTeamJoinFromOobLinkType {\n\ts := new(SfTeamJoinFromOobLinkType)\n\ts.Description = Description\n\treturn s\n}\n\n// SfTeamJoinType : has no documentation (yet)\ntype SfTeamJoinType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSfTeamJoinType returns a new SfTeamJoinType instance\nfunc NewSfTeamJoinType(Description string) *SfTeamJoinType {\n\ts := new(SfTeamJoinType)\n\ts.Description = Description\n\treturn s\n}\n\n// SfTeamUninviteDetails : Unshared folder with team member.\ntype SfTeamUninviteDetails struct {\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index\"`\n\t// OriginalFolderName : Original shared folder name.\n\tOriginalFolderName string `json:\"original_folder_name\"`\n}\n\n// NewSfTeamUninviteDetails returns a new SfTeamUninviteDetails instance\nfunc NewSfTeamUninviteDetails(TargetAssetIndex uint64, OriginalFolderName string) *SfTeamUninviteDetails {\n\ts := new(SfTeamUninviteDetails)\n\ts.TargetAssetIndex = TargetAssetIndex\n\ts.OriginalFolderName = OriginalFolderName\n\treturn s\n}\n\n// SfTeamUninviteType : has no documentation (yet)\ntype SfTeamUninviteType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSfTeamUninviteType returns a new SfTeamUninviteType instance\nfunc NewSfTeamUninviteType(Description string) *SfTeamUninviteType {\n\ts := new(SfTeamUninviteType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentAddInviteesDetails : Invited user to Dropbox and added them to\n// shared file/folder.\ntype SharedContentAddInviteesDetails struct {\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n\t// Invitees : A list of invitees.\n\tInvitees []string `json:\"invitees\"`\n}\n\n// NewSharedContentAddInviteesDetails returns a new SharedContentAddInviteesDetails instance\nfunc NewSharedContentAddInviteesDetails(SharedContentAccessLevel *sharing.AccessLevel, Invitees []string) *SharedContentAddInviteesDetails {\n\ts := new(SharedContentAddInviteesDetails)\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\ts.Invitees = Invitees\n\treturn s\n}\n\n// SharedContentAddInviteesType : has no documentation (yet)\ntype SharedContentAddInviteesType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentAddInviteesType returns a new SharedContentAddInviteesType instance\nfunc NewSharedContentAddInviteesType(Description string) *SharedContentAddInviteesType {\n\ts := new(SharedContentAddInviteesType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentAddLinkExpiryDetails : Added expiration date to link for shared\n// file/folder.\ntype SharedContentAddLinkExpiryDetails struct {\n\t// NewValue : New shared content link expiration date. Might be missing due\n\t// to historical data gap.\n\tNewValue *time.Time `json:\"new_value,omitempty\"`\n}\n\n// NewSharedContentAddLinkExpiryDetails returns a new SharedContentAddLinkExpiryDetails instance\nfunc NewSharedContentAddLinkExpiryDetails() *SharedContentAddLinkExpiryDetails {\n\ts := new(SharedContentAddLinkExpiryDetails)\n\treturn s\n}\n\n// SharedContentAddLinkExpiryType : has no documentation (yet)\ntype SharedContentAddLinkExpiryType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentAddLinkExpiryType returns a new SharedContentAddLinkExpiryType instance\nfunc NewSharedContentAddLinkExpiryType(Description string) *SharedContentAddLinkExpiryType {\n\ts := new(SharedContentAddLinkExpiryType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentAddLinkPasswordDetails : Added password to link for shared\n// file/folder.\ntype SharedContentAddLinkPasswordDetails struct {\n}\n\n// NewSharedContentAddLinkPasswordDetails returns a new SharedContentAddLinkPasswordDetails instance\nfunc NewSharedContentAddLinkPasswordDetails() *SharedContentAddLinkPasswordDetails {\n\ts := new(SharedContentAddLinkPasswordDetails)\n\treturn s\n}\n\n// SharedContentAddLinkPasswordType : has no documentation (yet)\ntype SharedContentAddLinkPasswordType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentAddLinkPasswordType returns a new SharedContentAddLinkPasswordType instance\nfunc NewSharedContentAddLinkPasswordType(Description string) *SharedContentAddLinkPasswordType {\n\ts := new(SharedContentAddLinkPasswordType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentAddMemberDetails : Added users and/or groups to shared\n// file/folder.\ntype SharedContentAddMemberDetails struct {\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n}\n\n// NewSharedContentAddMemberDetails returns a new SharedContentAddMemberDetails instance\nfunc NewSharedContentAddMemberDetails(SharedContentAccessLevel *sharing.AccessLevel) *SharedContentAddMemberDetails {\n\ts := new(SharedContentAddMemberDetails)\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\treturn s\n}\n\n// SharedContentAddMemberType : has no documentation (yet)\ntype SharedContentAddMemberType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentAddMemberType returns a new SharedContentAddMemberType instance\nfunc NewSharedContentAddMemberType(Description string) *SharedContentAddMemberType {\n\ts := new(SharedContentAddMemberType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentChangeDownloadsPolicyDetails : Changed whether members can\n// download shared file/folder.\ntype SharedContentChangeDownloadsPolicyDetails struct {\n\t// NewValue : New downloads policy.\n\tNewValue *DownloadPolicyType `json:\"new_value\"`\n\t// PreviousValue : Previous downloads policy. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *DownloadPolicyType `json:\"previous_value,omitempty\"`\n}\n\n// NewSharedContentChangeDownloadsPolicyDetails returns a new SharedContentChangeDownloadsPolicyDetails instance\nfunc NewSharedContentChangeDownloadsPolicyDetails(NewValue *DownloadPolicyType) *SharedContentChangeDownloadsPolicyDetails {\n\ts := new(SharedContentChangeDownloadsPolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharedContentChangeDownloadsPolicyType : has no documentation (yet)\ntype SharedContentChangeDownloadsPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentChangeDownloadsPolicyType returns a new SharedContentChangeDownloadsPolicyType instance\nfunc NewSharedContentChangeDownloadsPolicyType(Description string) *SharedContentChangeDownloadsPolicyType {\n\ts := new(SharedContentChangeDownloadsPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentChangeInviteeRoleDetails : Changed access type of invitee to\n// shared file/folder before invite was accepted.\ntype SharedContentChangeInviteeRoleDetails struct {\n\t// PreviousAccessLevel : Previous access level. Might be missing due to\n\t// historical data gap.\n\tPreviousAccessLevel *sharing.AccessLevel `json:\"previous_access_level,omitempty\"`\n\t// NewAccessLevel : New access level.\n\tNewAccessLevel *sharing.AccessLevel `json:\"new_access_level\"`\n\t// Invitee : The invitee whose role was changed.\n\tInvitee string `json:\"invitee\"`\n}\n\n// NewSharedContentChangeInviteeRoleDetails returns a new SharedContentChangeInviteeRoleDetails instance\nfunc NewSharedContentChangeInviteeRoleDetails(NewAccessLevel *sharing.AccessLevel, Invitee string) *SharedContentChangeInviteeRoleDetails {\n\ts := new(SharedContentChangeInviteeRoleDetails)\n\ts.NewAccessLevel = NewAccessLevel\n\ts.Invitee = Invitee\n\treturn s\n}\n\n// SharedContentChangeInviteeRoleType : has no documentation (yet)\ntype SharedContentChangeInviteeRoleType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentChangeInviteeRoleType returns a new SharedContentChangeInviteeRoleType instance\nfunc NewSharedContentChangeInviteeRoleType(Description string) *SharedContentChangeInviteeRoleType {\n\ts := new(SharedContentChangeInviteeRoleType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentChangeLinkAudienceDetails : Changed link audience of shared\n// file/folder.\ntype SharedContentChangeLinkAudienceDetails struct {\n\t// NewValue : New link audience value.\n\tNewValue *sharing.LinkAudience `json:\"new_value\"`\n\t// PreviousValue : Previous link audience value.\n\tPreviousValue *sharing.LinkAudience `json:\"previous_value,omitempty\"`\n}\n\n// NewSharedContentChangeLinkAudienceDetails returns a new SharedContentChangeLinkAudienceDetails instance\nfunc NewSharedContentChangeLinkAudienceDetails(NewValue *sharing.LinkAudience) *SharedContentChangeLinkAudienceDetails {\n\ts := new(SharedContentChangeLinkAudienceDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharedContentChangeLinkAudienceType : has no documentation (yet)\ntype SharedContentChangeLinkAudienceType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentChangeLinkAudienceType returns a new SharedContentChangeLinkAudienceType instance\nfunc NewSharedContentChangeLinkAudienceType(Description string) *SharedContentChangeLinkAudienceType {\n\ts := new(SharedContentChangeLinkAudienceType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentChangeLinkExpiryDetails : Changed link expiration of shared\n// file/folder.\ntype SharedContentChangeLinkExpiryDetails struct {\n\t// NewValue : New shared content link expiration date. Might be missing due\n\t// to historical data gap.\n\tNewValue *time.Time `json:\"new_value,omitempty\"`\n\t// PreviousValue : Previous shared content link expiration date. Might be\n\t// missing due to historical data gap.\n\tPreviousValue *time.Time `json:\"previous_value,omitempty\"`\n}\n\n// NewSharedContentChangeLinkExpiryDetails returns a new SharedContentChangeLinkExpiryDetails instance\nfunc NewSharedContentChangeLinkExpiryDetails() *SharedContentChangeLinkExpiryDetails {\n\ts := new(SharedContentChangeLinkExpiryDetails)\n\treturn s\n}\n\n// SharedContentChangeLinkExpiryType : has no documentation (yet)\ntype SharedContentChangeLinkExpiryType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentChangeLinkExpiryType returns a new SharedContentChangeLinkExpiryType instance\nfunc NewSharedContentChangeLinkExpiryType(Description string) *SharedContentChangeLinkExpiryType {\n\ts := new(SharedContentChangeLinkExpiryType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentChangeLinkPasswordDetails : Changed link password of shared\n// file/folder.\ntype SharedContentChangeLinkPasswordDetails struct {\n}\n\n// NewSharedContentChangeLinkPasswordDetails returns a new SharedContentChangeLinkPasswordDetails instance\nfunc NewSharedContentChangeLinkPasswordDetails() *SharedContentChangeLinkPasswordDetails {\n\ts := new(SharedContentChangeLinkPasswordDetails)\n\treturn s\n}\n\n// SharedContentChangeLinkPasswordType : has no documentation (yet)\ntype SharedContentChangeLinkPasswordType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentChangeLinkPasswordType returns a new SharedContentChangeLinkPasswordType instance\nfunc NewSharedContentChangeLinkPasswordType(Description string) *SharedContentChangeLinkPasswordType {\n\ts := new(SharedContentChangeLinkPasswordType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentChangeMemberRoleDetails : Changed access type of shared\n// file/folder member.\ntype SharedContentChangeMemberRoleDetails struct {\n\t// PreviousAccessLevel : Previous access level. Might be missing due to\n\t// historical data gap.\n\tPreviousAccessLevel *sharing.AccessLevel `json:\"previous_access_level,omitempty\"`\n\t// NewAccessLevel : New access level.\n\tNewAccessLevel *sharing.AccessLevel `json:\"new_access_level\"`\n}\n\n// NewSharedContentChangeMemberRoleDetails returns a new SharedContentChangeMemberRoleDetails instance\nfunc NewSharedContentChangeMemberRoleDetails(NewAccessLevel *sharing.AccessLevel) *SharedContentChangeMemberRoleDetails {\n\ts := new(SharedContentChangeMemberRoleDetails)\n\ts.NewAccessLevel = NewAccessLevel\n\treturn s\n}\n\n// SharedContentChangeMemberRoleType : has no documentation (yet)\ntype SharedContentChangeMemberRoleType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentChangeMemberRoleType returns a new SharedContentChangeMemberRoleType instance\nfunc NewSharedContentChangeMemberRoleType(Description string) *SharedContentChangeMemberRoleType {\n\ts := new(SharedContentChangeMemberRoleType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentChangeViewerInfoPolicyDetails : Changed whether members can see\n// who viewed shared file/folder.\ntype SharedContentChangeViewerInfoPolicyDetails struct {\n\t// NewValue : New viewer info policy.\n\tNewValue *sharing.ViewerInfoPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous view info policy.\n\tPreviousValue *sharing.ViewerInfoPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewSharedContentChangeViewerInfoPolicyDetails returns a new SharedContentChangeViewerInfoPolicyDetails instance\nfunc NewSharedContentChangeViewerInfoPolicyDetails(NewValue *sharing.ViewerInfoPolicy) *SharedContentChangeViewerInfoPolicyDetails {\n\ts := new(SharedContentChangeViewerInfoPolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharedContentChangeViewerInfoPolicyType : has no documentation (yet)\ntype SharedContentChangeViewerInfoPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentChangeViewerInfoPolicyType returns a new SharedContentChangeViewerInfoPolicyType instance\nfunc NewSharedContentChangeViewerInfoPolicyType(Description string) *SharedContentChangeViewerInfoPolicyType {\n\ts := new(SharedContentChangeViewerInfoPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentClaimInvitationDetails : Acquired membership of shared\n// file/folder by accepting invite.\ntype SharedContentClaimInvitationDetails struct {\n\t// SharedContentLink : Shared content link.\n\tSharedContentLink string `json:\"shared_content_link,omitempty\"`\n}\n\n// NewSharedContentClaimInvitationDetails returns a new SharedContentClaimInvitationDetails instance\nfunc NewSharedContentClaimInvitationDetails() *SharedContentClaimInvitationDetails {\n\ts := new(SharedContentClaimInvitationDetails)\n\treturn s\n}\n\n// SharedContentClaimInvitationType : has no documentation (yet)\ntype SharedContentClaimInvitationType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentClaimInvitationType returns a new SharedContentClaimInvitationType instance\nfunc NewSharedContentClaimInvitationType(Description string) *SharedContentClaimInvitationType {\n\ts := new(SharedContentClaimInvitationType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentCopyDetails : Copied shared file/folder to own Dropbox.\ntype SharedContentCopyDetails struct {\n\t// SharedContentLink : Shared content link.\n\tSharedContentLink string `json:\"shared_content_link\"`\n\t// SharedContentOwner : The shared content owner.\n\tSharedContentOwner IsUserLogInfo `json:\"shared_content_owner,omitempty\"`\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n\t// DestinationPath : The path where the member saved the content.\n\tDestinationPath string `json:\"destination_path\"`\n}\n\n// NewSharedContentCopyDetails returns a new SharedContentCopyDetails instance\nfunc NewSharedContentCopyDetails(SharedContentLink string, SharedContentAccessLevel *sharing.AccessLevel, DestinationPath string) *SharedContentCopyDetails {\n\ts := new(SharedContentCopyDetails)\n\ts.SharedContentLink = SharedContentLink\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\ts.DestinationPath = DestinationPath\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a SharedContentCopyDetails instance\nfunc (u *SharedContentCopyDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// SharedContentLink : Shared content link.\n\t\tSharedContentLink string `json:\"shared_content_link\"`\n\t\t// SharedContentAccessLevel : Shared content access level.\n\t\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n\t\t// DestinationPath : The path where the member saved the content.\n\t\tDestinationPath string `json:\"destination_path\"`\n\t\t// SharedContentOwner : The shared content owner.\n\t\tSharedContentOwner json.RawMessage `json:\"shared_content_owner,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tu.SharedContentLink = w.SharedContentLink\n\tu.SharedContentAccessLevel = w.SharedContentAccessLevel\n\tu.DestinationPath = w.DestinationPath\n\tSharedContentOwner, err := IsUserLogInfoFromJSON(w.SharedContentOwner)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.SharedContentOwner = SharedContentOwner\n\treturn nil\n}\n\n// SharedContentCopyType : has no documentation (yet)\ntype SharedContentCopyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentCopyType returns a new SharedContentCopyType instance\nfunc NewSharedContentCopyType(Description string) *SharedContentCopyType {\n\ts := new(SharedContentCopyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentDownloadDetails : Downloaded shared file/folder.\ntype SharedContentDownloadDetails struct {\n\t// SharedContentLink : Shared content link.\n\tSharedContentLink string `json:\"shared_content_link\"`\n\t// SharedContentOwner : The shared content owner.\n\tSharedContentOwner IsUserLogInfo `json:\"shared_content_owner,omitempty\"`\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n}\n\n// NewSharedContentDownloadDetails returns a new SharedContentDownloadDetails instance\nfunc NewSharedContentDownloadDetails(SharedContentLink string, SharedContentAccessLevel *sharing.AccessLevel) *SharedContentDownloadDetails {\n\ts := new(SharedContentDownloadDetails)\n\ts.SharedContentLink = SharedContentLink\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a SharedContentDownloadDetails instance\nfunc (u *SharedContentDownloadDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// SharedContentLink : Shared content link.\n\t\tSharedContentLink string `json:\"shared_content_link\"`\n\t\t// SharedContentAccessLevel : Shared content access level.\n\t\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n\t\t// SharedContentOwner : The shared content owner.\n\t\tSharedContentOwner json.RawMessage `json:\"shared_content_owner,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tu.SharedContentLink = w.SharedContentLink\n\tu.SharedContentAccessLevel = w.SharedContentAccessLevel\n\tSharedContentOwner, err := IsUserLogInfoFromJSON(w.SharedContentOwner)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.SharedContentOwner = SharedContentOwner\n\treturn nil\n}\n\n// SharedContentDownloadType : has no documentation (yet)\ntype SharedContentDownloadType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentDownloadType returns a new SharedContentDownloadType instance\nfunc NewSharedContentDownloadType(Description string) *SharedContentDownloadType {\n\ts := new(SharedContentDownloadType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentRelinquishMembershipDetails : Left shared file/folder.\ntype SharedContentRelinquishMembershipDetails struct {\n}\n\n// NewSharedContentRelinquishMembershipDetails returns a new SharedContentRelinquishMembershipDetails instance\nfunc NewSharedContentRelinquishMembershipDetails() *SharedContentRelinquishMembershipDetails {\n\ts := new(SharedContentRelinquishMembershipDetails)\n\treturn s\n}\n\n// SharedContentRelinquishMembershipType : has no documentation (yet)\ntype SharedContentRelinquishMembershipType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentRelinquishMembershipType returns a new SharedContentRelinquishMembershipType instance\nfunc NewSharedContentRelinquishMembershipType(Description string) *SharedContentRelinquishMembershipType {\n\ts := new(SharedContentRelinquishMembershipType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentRemoveInviteesDetails : Removed invitee from shared file/folder\n// before invite was accepted.\ntype SharedContentRemoveInviteesDetails struct {\n\t// Invitees : A list of invitees.\n\tInvitees []string `json:\"invitees\"`\n}\n\n// NewSharedContentRemoveInviteesDetails returns a new SharedContentRemoveInviteesDetails instance\nfunc NewSharedContentRemoveInviteesDetails(Invitees []string) *SharedContentRemoveInviteesDetails {\n\ts := new(SharedContentRemoveInviteesDetails)\n\ts.Invitees = Invitees\n\treturn s\n}\n\n// SharedContentRemoveInviteesType : has no documentation (yet)\ntype SharedContentRemoveInviteesType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentRemoveInviteesType returns a new SharedContentRemoveInviteesType instance\nfunc NewSharedContentRemoveInviteesType(Description string) *SharedContentRemoveInviteesType {\n\ts := new(SharedContentRemoveInviteesType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentRemoveLinkExpiryDetails : Removed link expiration date of shared\n// file/folder.\ntype SharedContentRemoveLinkExpiryDetails struct {\n\t// PreviousValue : Previous shared content link expiration date. Might be\n\t// missing due to historical data gap.\n\tPreviousValue *time.Time `json:\"previous_value,omitempty\"`\n}\n\n// NewSharedContentRemoveLinkExpiryDetails returns a new SharedContentRemoveLinkExpiryDetails instance\nfunc NewSharedContentRemoveLinkExpiryDetails() *SharedContentRemoveLinkExpiryDetails {\n\ts := new(SharedContentRemoveLinkExpiryDetails)\n\treturn s\n}\n\n// SharedContentRemoveLinkExpiryType : has no documentation (yet)\ntype SharedContentRemoveLinkExpiryType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentRemoveLinkExpiryType returns a new SharedContentRemoveLinkExpiryType instance\nfunc NewSharedContentRemoveLinkExpiryType(Description string) *SharedContentRemoveLinkExpiryType {\n\ts := new(SharedContentRemoveLinkExpiryType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentRemoveLinkPasswordDetails : Removed link password of shared\n// file/folder.\ntype SharedContentRemoveLinkPasswordDetails struct {\n}\n\n// NewSharedContentRemoveLinkPasswordDetails returns a new SharedContentRemoveLinkPasswordDetails instance\nfunc NewSharedContentRemoveLinkPasswordDetails() *SharedContentRemoveLinkPasswordDetails {\n\ts := new(SharedContentRemoveLinkPasswordDetails)\n\treturn s\n}\n\n// SharedContentRemoveLinkPasswordType : has no documentation (yet)\ntype SharedContentRemoveLinkPasswordType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentRemoveLinkPasswordType returns a new SharedContentRemoveLinkPasswordType instance\nfunc NewSharedContentRemoveLinkPasswordType(Description string) *SharedContentRemoveLinkPasswordType {\n\ts := new(SharedContentRemoveLinkPasswordType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentRemoveMemberDetails : Removed user/group from shared\n// file/folder.\ntype SharedContentRemoveMemberDetails struct {\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level,omitempty\"`\n}\n\n// NewSharedContentRemoveMemberDetails returns a new SharedContentRemoveMemberDetails instance\nfunc NewSharedContentRemoveMemberDetails() *SharedContentRemoveMemberDetails {\n\ts := new(SharedContentRemoveMemberDetails)\n\treturn s\n}\n\n// SharedContentRemoveMemberType : has no documentation (yet)\ntype SharedContentRemoveMemberType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentRemoveMemberType returns a new SharedContentRemoveMemberType instance\nfunc NewSharedContentRemoveMemberType(Description string) *SharedContentRemoveMemberType {\n\ts := new(SharedContentRemoveMemberType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentRequestAccessDetails : Requested access to shared file/folder.\ntype SharedContentRequestAccessDetails struct {\n\t// SharedContentLink : Shared content link.\n\tSharedContentLink string `json:\"shared_content_link,omitempty\"`\n}\n\n// NewSharedContentRequestAccessDetails returns a new SharedContentRequestAccessDetails instance\nfunc NewSharedContentRequestAccessDetails() *SharedContentRequestAccessDetails {\n\ts := new(SharedContentRequestAccessDetails)\n\treturn s\n}\n\n// SharedContentRequestAccessType : has no documentation (yet)\ntype SharedContentRequestAccessType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentRequestAccessType returns a new SharedContentRequestAccessType instance\nfunc NewSharedContentRequestAccessType(Description string) *SharedContentRequestAccessType {\n\ts := new(SharedContentRequestAccessType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentRestoreInviteesDetails : Restored shared file/folder invitees.\ntype SharedContentRestoreInviteesDetails struct {\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n\t// Invitees : A list of invitees.\n\tInvitees []string `json:\"invitees\"`\n}\n\n// NewSharedContentRestoreInviteesDetails returns a new SharedContentRestoreInviteesDetails instance\nfunc NewSharedContentRestoreInviteesDetails(SharedContentAccessLevel *sharing.AccessLevel, Invitees []string) *SharedContentRestoreInviteesDetails {\n\ts := new(SharedContentRestoreInviteesDetails)\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\ts.Invitees = Invitees\n\treturn s\n}\n\n// SharedContentRestoreInviteesType : has no documentation (yet)\ntype SharedContentRestoreInviteesType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentRestoreInviteesType returns a new SharedContentRestoreInviteesType instance\nfunc NewSharedContentRestoreInviteesType(Description string) *SharedContentRestoreInviteesType {\n\ts := new(SharedContentRestoreInviteesType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentRestoreMemberDetails : Restored users and/or groups to\n// membership of shared file/folder.\ntype SharedContentRestoreMemberDetails struct {\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n}\n\n// NewSharedContentRestoreMemberDetails returns a new SharedContentRestoreMemberDetails instance\nfunc NewSharedContentRestoreMemberDetails(SharedContentAccessLevel *sharing.AccessLevel) *SharedContentRestoreMemberDetails {\n\ts := new(SharedContentRestoreMemberDetails)\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\treturn s\n}\n\n// SharedContentRestoreMemberType : has no documentation (yet)\ntype SharedContentRestoreMemberType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentRestoreMemberType returns a new SharedContentRestoreMemberType instance\nfunc NewSharedContentRestoreMemberType(Description string) *SharedContentRestoreMemberType {\n\ts := new(SharedContentRestoreMemberType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentUnshareDetails : Unshared file/folder by clearing membership.\ntype SharedContentUnshareDetails struct {\n}\n\n// NewSharedContentUnshareDetails returns a new SharedContentUnshareDetails instance\nfunc NewSharedContentUnshareDetails() *SharedContentUnshareDetails {\n\ts := new(SharedContentUnshareDetails)\n\treturn s\n}\n\n// SharedContentUnshareType : has no documentation (yet)\ntype SharedContentUnshareType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentUnshareType returns a new SharedContentUnshareType instance\nfunc NewSharedContentUnshareType(Description string) *SharedContentUnshareType {\n\ts := new(SharedContentUnshareType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedContentViewDetails : Previewed shared file/folder.\ntype SharedContentViewDetails struct {\n\t// SharedContentLink : Shared content link.\n\tSharedContentLink string `json:\"shared_content_link\"`\n\t// SharedContentOwner : The shared content owner.\n\tSharedContentOwner IsUserLogInfo `json:\"shared_content_owner,omitempty\"`\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n}\n\n// NewSharedContentViewDetails returns a new SharedContentViewDetails instance\nfunc NewSharedContentViewDetails(SharedContentLink string, SharedContentAccessLevel *sharing.AccessLevel) *SharedContentViewDetails {\n\ts := new(SharedContentViewDetails)\n\ts.SharedContentLink = SharedContentLink\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a SharedContentViewDetails instance\nfunc (u *SharedContentViewDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// SharedContentLink : Shared content link.\n\t\tSharedContentLink string `json:\"shared_content_link\"`\n\t\t// SharedContentAccessLevel : Shared content access level.\n\t\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n\t\t// SharedContentOwner : The shared content owner.\n\t\tSharedContentOwner json.RawMessage `json:\"shared_content_owner,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tu.SharedContentLink = w.SharedContentLink\n\tu.SharedContentAccessLevel = w.SharedContentAccessLevel\n\tSharedContentOwner, err := IsUserLogInfoFromJSON(w.SharedContentOwner)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.SharedContentOwner = SharedContentOwner\n\treturn nil\n}\n\n// SharedContentViewType : has no documentation (yet)\ntype SharedContentViewType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedContentViewType returns a new SharedContentViewType instance\nfunc NewSharedContentViewType(Description string) *SharedContentViewType {\n\ts := new(SharedContentViewType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedFolderChangeLinkPolicyDetails : Changed who can access shared folder\n// via link.\ntype SharedFolderChangeLinkPolicyDetails struct {\n\t// NewValue : New shared folder link policy.\n\tNewValue *sharing.SharedLinkPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous shared folder link policy. Might be missing due\n\t// to historical data gap.\n\tPreviousValue *sharing.SharedLinkPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewSharedFolderChangeLinkPolicyDetails returns a new SharedFolderChangeLinkPolicyDetails instance\nfunc NewSharedFolderChangeLinkPolicyDetails(NewValue *sharing.SharedLinkPolicy) *SharedFolderChangeLinkPolicyDetails {\n\ts := new(SharedFolderChangeLinkPolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharedFolderChangeLinkPolicyType : has no documentation (yet)\ntype SharedFolderChangeLinkPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedFolderChangeLinkPolicyType returns a new SharedFolderChangeLinkPolicyType instance\nfunc NewSharedFolderChangeLinkPolicyType(Description string) *SharedFolderChangeLinkPolicyType {\n\ts := new(SharedFolderChangeLinkPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedFolderChangeMembersInheritancePolicyDetails : Changed whether shared\n// folder inherits members from parent folder.\ntype SharedFolderChangeMembersInheritancePolicyDetails struct {\n\t// NewValue : New member inheritance policy.\n\tNewValue *SharedFolderMembersInheritancePolicy `json:\"new_value\"`\n\t// PreviousValue : Previous member inheritance policy. Might be missing due\n\t// to historical data gap.\n\tPreviousValue *SharedFolderMembersInheritancePolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewSharedFolderChangeMembersInheritancePolicyDetails returns a new SharedFolderChangeMembersInheritancePolicyDetails instance\nfunc NewSharedFolderChangeMembersInheritancePolicyDetails(NewValue *SharedFolderMembersInheritancePolicy) *SharedFolderChangeMembersInheritancePolicyDetails {\n\ts := new(SharedFolderChangeMembersInheritancePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharedFolderChangeMembersInheritancePolicyType : has no documentation (yet)\ntype SharedFolderChangeMembersInheritancePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedFolderChangeMembersInheritancePolicyType returns a new SharedFolderChangeMembersInheritancePolicyType instance\nfunc NewSharedFolderChangeMembersInheritancePolicyType(Description string) *SharedFolderChangeMembersInheritancePolicyType {\n\ts := new(SharedFolderChangeMembersInheritancePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedFolderChangeMembersManagementPolicyDetails : Changed who can add/remove\n// members of shared folder.\ntype SharedFolderChangeMembersManagementPolicyDetails struct {\n\t// NewValue : New members management policy.\n\tNewValue *sharing.AclUpdatePolicy `json:\"new_value\"`\n\t// PreviousValue : Previous members management policy. Might be missing due\n\t// to historical data gap.\n\tPreviousValue *sharing.AclUpdatePolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewSharedFolderChangeMembersManagementPolicyDetails returns a new SharedFolderChangeMembersManagementPolicyDetails instance\nfunc NewSharedFolderChangeMembersManagementPolicyDetails(NewValue *sharing.AclUpdatePolicy) *SharedFolderChangeMembersManagementPolicyDetails {\n\ts := new(SharedFolderChangeMembersManagementPolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharedFolderChangeMembersManagementPolicyType : has no documentation (yet)\ntype SharedFolderChangeMembersManagementPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedFolderChangeMembersManagementPolicyType returns a new SharedFolderChangeMembersManagementPolicyType instance\nfunc NewSharedFolderChangeMembersManagementPolicyType(Description string) *SharedFolderChangeMembersManagementPolicyType {\n\ts := new(SharedFolderChangeMembersManagementPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedFolderChangeMembersPolicyDetails : Changed who can become member of\n// shared folder.\ntype SharedFolderChangeMembersPolicyDetails struct {\n\t// NewValue : New external invite policy.\n\tNewValue *sharing.MemberPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous external invite policy. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *sharing.MemberPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewSharedFolderChangeMembersPolicyDetails returns a new SharedFolderChangeMembersPolicyDetails instance\nfunc NewSharedFolderChangeMembersPolicyDetails(NewValue *sharing.MemberPolicy) *SharedFolderChangeMembersPolicyDetails {\n\ts := new(SharedFolderChangeMembersPolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharedFolderChangeMembersPolicyType : has no documentation (yet)\ntype SharedFolderChangeMembersPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedFolderChangeMembersPolicyType returns a new SharedFolderChangeMembersPolicyType instance\nfunc NewSharedFolderChangeMembersPolicyType(Description string) *SharedFolderChangeMembersPolicyType {\n\ts := new(SharedFolderChangeMembersPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedFolderCreateDetails : Created shared folder.\ntype SharedFolderCreateDetails struct {\n\t// TargetNsId : Target namespace ID.\n\tTargetNsId string `json:\"target_ns_id,omitempty\"`\n}\n\n// NewSharedFolderCreateDetails returns a new SharedFolderCreateDetails instance\nfunc NewSharedFolderCreateDetails() *SharedFolderCreateDetails {\n\ts := new(SharedFolderCreateDetails)\n\treturn s\n}\n\n// SharedFolderCreateType : has no documentation (yet)\ntype SharedFolderCreateType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedFolderCreateType returns a new SharedFolderCreateType instance\nfunc NewSharedFolderCreateType(Description string) *SharedFolderCreateType {\n\ts := new(SharedFolderCreateType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedFolderDeclineInvitationDetails : Declined team member's invite to\n// shared folder.\ntype SharedFolderDeclineInvitationDetails struct {\n}\n\n// NewSharedFolderDeclineInvitationDetails returns a new SharedFolderDeclineInvitationDetails instance\nfunc NewSharedFolderDeclineInvitationDetails() *SharedFolderDeclineInvitationDetails {\n\ts := new(SharedFolderDeclineInvitationDetails)\n\treturn s\n}\n\n// SharedFolderDeclineInvitationType : has no documentation (yet)\ntype SharedFolderDeclineInvitationType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedFolderDeclineInvitationType returns a new SharedFolderDeclineInvitationType instance\nfunc NewSharedFolderDeclineInvitationType(Description string) *SharedFolderDeclineInvitationType {\n\ts := new(SharedFolderDeclineInvitationType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedFolderMembersInheritancePolicy : Specifies if a shared folder inherits\n// its members from the parent folder.\ntype SharedFolderMembersInheritancePolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharedFolderMembersInheritancePolicy\nconst (\n\tSharedFolderMembersInheritancePolicyDontInheritMembers = \"dont_inherit_members\"\n\tSharedFolderMembersInheritancePolicyInheritMembers     = \"inherit_members\"\n\tSharedFolderMembersInheritancePolicyOther              = \"other\"\n)\n\n// SharedFolderMountDetails : Added shared folder to own Dropbox.\ntype SharedFolderMountDetails struct {\n}\n\n// NewSharedFolderMountDetails returns a new SharedFolderMountDetails instance\nfunc NewSharedFolderMountDetails() *SharedFolderMountDetails {\n\ts := new(SharedFolderMountDetails)\n\treturn s\n}\n\n// SharedFolderMountType : has no documentation (yet)\ntype SharedFolderMountType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedFolderMountType returns a new SharedFolderMountType instance\nfunc NewSharedFolderMountType(Description string) *SharedFolderMountType {\n\ts := new(SharedFolderMountType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedFolderNestDetails : Changed parent of shared folder.\ntype SharedFolderNestDetails struct {\n\t// PreviousParentNsId : Previous parent namespace ID.\n\tPreviousParentNsId string `json:\"previous_parent_ns_id,omitempty\"`\n\t// NewParentNsId : New parent namespace ID.\n\tNewParentNsId string `json:\"new_parent_ns_id,omitempty\"`\n\t// PreviousNsPath : Previous namespace path.\n\tPreviousNsPath string `json:\"previous_ns_path,omitempty\"`\n\t// NewNsPath : New namespace path.\n\tNewNsPath string `json:\"new_ns_path,omitempty\"`\n}\n\n// NewSharedFolderNestDetails returns a new SharedFolderNestDetails instance\nfunc NewSharedFolderNestDetails() *SharedFolderNestDetails {\n\ts := new(SharedFolderNestDetails)\n\treturn s\n}\n\n// SharedFolderNestType : has no documentation (yet)\ntype SharedFolderNestType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedFolderNestType returns a new SharedFolderNestType instance\nfunc NewSharedFolderNestType(Description string) *SharedFolderNestType {\n\ts := new(SharedFolderNestType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedFolderTransferOwnershipDetails : Transferred ownership of shared folder\n// to another member.\ntype SharedFolderTransferOwnershipDetails struct {\n\t// PreviousOwnerEmail : The email address of the previous shared folder\n\t// owner.\n\tPreviousOwnerEmail string `json:\"previous_owner_email,omitempty\"`\n\t// NewOwnerEmail : The email address of the new shared folder owner.\n\tNewOwnerEmail string `json:\"new_owner_email\"`\n}\n\n// NewSharedFolderTransferOwnershipDetails returns a new SharedFolderTransferOwnershipDetails instance\nfunc NewSharedFolderTransferOwnershipDetails(NewOwnerEmail string) *SharedFolderTransferOwnershipDetails {\n\ts := new(SharedFolderTransferOwnershipDetails)\n\ts.NewOwnerEmail = NewOwnerEmail\n\treturn s\n}\n\n// SharedFolderTransferOwnershipType : has no documentation (yet)\ntype SharedFolderTransferOwnershipType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedFolderTransferOwnershipType returns a new SharedFolderTransferOwnershipType instance\nfunc NewSharedFolderTransferOwnershipType(Description string) *SharedFolderTransferOwnershipType {\n\ts := new(SharedFolderTransferOwnershipType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedFolderUnmountDetails : Deleted shared folder from Dropbox.\ntype SharedFolderUnmountDetails struct {\n}\n\n// NewSharedFolderUnmountDetails returns a new SharedFolderUnmountDetails instance\nfunc NewSharedFolderUnmountDetails() *SharedFolderUnmountDetails {\n\ts := new(SharedFolderUnmountDetails)\n\treturn s\n}\n\n// SharedFolderUnmountType : has no documentation (yet)\ntype SharedFolderUnmountType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedFolderUnmountType returns a new SharedFolderUnmountType instance\nfunc NewSharedFolderUnmountType(Description string) *SharedFolderUnmountType {\n\ts := new(SharedFolderUnmountType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkAccessLevel : Shared link access level.\ntype SharedLinkAccessLevel struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharedLinkAccessLevel\nconst (\n\tSharedLinkAccessLevelNone   = \"none\"\n\tSharedLinkAccessLevelReader = \"reader\"\n\tSharedLinkAccessLevelWriter = \"writer\"\n\tSharedLinkAccessLevelOther  = \"other\"\n)\n\n// SharedLinkAddExpiryDetails : Added shared link expiration date.\ntype SharedLinkAddExpiryDetails struct {\n\t// NewValue : New shared link expiration date.\n\tNewValue time.Time `json:\"new_value\"`\n}\n\n// NewSharedLinkAddExpiryDetails returns a new SharedLinkAddExpiryDetails instance\nfunc NewSharedLinkAddExpiryDetails(NewValue time.Time) *SharedLinkAddExpiryDetails {\n\ts := new(SharedLinkAddExpiryDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharedLinkAddExpiryType : has no documentation (yet)\ntype SharedLinkAddExpiryType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkAddExpiryType returns a new SharedLinkAddExpiryType instance\nfunc NewSharedLinkAddExpiryType(Description string) *SharedLinkAddExpiryType {\n\ts := new(SharedLinkAddExpiryType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkChangeExpiryDetails : Changed shared link expiration date.\ntype SharedLinkChangeExpiryDetails struct {\n\t// NewValue : New shared link expiration date. Might be missing due to\n\t// historical data gap.\n\tNewValue *time.Time `json:\"new_value,omitempty\"`\n\t// PreviousValue : Previous shared link expiration date. Might be missing\n\t// due to historical data gap.\n\tPreviousValue *time.Time `json:\"previous_value,omitempty\"`\n}\n\n// NewSharedLinkChangeExpiryDetails returns a new SharedLinkChangeExpiryDetails instance\nfunc NewSharedLinkChangeExpiryDetails() *SharedLinkChangeExpiryDetails {\n\ts := new(SharedLinkChangeExpiryDetails)\n\treturn s\n}\n\n// SharedLinkChangeExpiryType : has no documentation (yet)\ntype SharedLinkChangeExpiryType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkChangeExpiryType returns a new SharedLinkChangeExpiryType instance\nfunc NewSharedLinkChangeExpiryType(Description string) *SharedLinkChangeExpiryType {\n\ts := new(SharedLinkChangeExpiryType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkChangeVisibilityDetails : Changed visibility of shared link.\ntype SharedLinkChangeVisibilityDetails struct {\n\t// NewValue : New shared link visibility.\n\tNewValue *SharedLinkVisibility `json:\"new_value\"`\n\t// PreviousValue : Previous shared link visibility. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *SharedLinkVisibility `json:\"previous_value,omitempty\"`\n}\n\n// NewSharedLinkChangeVisibilityDetails returns a new SharedLinkChangeVisibilityDetails instance\nfunc NewSharedLinkChangeVisibilityDetails(NewValue *SharedLinkVisibility) *SharedLinkChangeVisibilityDetails {\n\ts := new(SharedLinkChangeVisibilityDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharedLinkChangeVisibilityType : has no documentation (yet)\ntype SharedLinkChangeVisibilityType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkChangeVisibilityType returns a new SharedLinkChangeVisibilityType instance\nfunc NewSharedLinkChangeVisibilityType(Description string) *SharedLinkChangeVisibilityType {\n\ts := new(SharedLinkChangeVisibilityType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkCopyDetails : Added file/folder to Dropbox from shared link.\ntype SharedLinkCopyDetails struct {\n\t// SharedLinkOwner : Shared link owner details. Might be missing due to\n\t// historical data gap.\n\tSharedLinkOwner IsUserLogInfo `json:\"shared_link_owner,omitempty\"`\n}\n\n// NewSharedLinkCopyDetails returns a new SharedLinkCopyDetails instance\nfunc NewSharedLinkCopyDetails() *SharedLinkCopyDetails {\n\ts := new(SharedLinkCopyDetails)\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a SharedLinkCopyDetails instance\nfunc (u *SharedLinkCopyDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// SharedLinkOwner : Shared link owner details. Might be missing due to\n\t\t// historical data gap.\n\t\tSharedLinkOwner json.RawMessage `json:\"shared_link_owner,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tSharedLinkOwner, err := IsUserLogInfoFromJSON(w.SharedLinkOwner)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.SharedLinkOwner = SharedLinkOwner\n\treturn nil\n}\n\n// SharedLinkCopyType : has no documentation (yet)\ntype SharedLinkCopyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkCopyType returns a new SharedLinkCopyType instance\nfunc NewSharedLinkCopyType(Description string) *SharedLinkCopyType {\n\ts := new(SharedLinkCopyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkCreateDetails : Created shared link.\ntype SharedLinkCreateDetails struct {\n\t// SharedLinkAccessLevel : Defines who can access the shared link. Might be\n\t// missing due to historical data gap.\n\tSharedLinkAccessLevel *SharedLinkAccessLevel `json:\"shared_link_access_level,omitempty\"`\n}\n\n// NewSharedLinkCreateDetails returns a new SharedLinkCreateDetails instance\nfunc NewSharedLinkCreateDetails() *SharedLinkCreateDetails {\n\ts := new(SharedLinkCreateDetails)\n\treturn s\n}\n\n// SharedLinkCreateType : has no documentation (yet)\ntype SharedLinkCreateType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkCreateType returns a new SharedLinkCreateType instance\nfunc NewSharedLinkCreateType(Description string) *SharedLinkCreateType {\n\ts := new(SharedLinkCreateType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkDisableDetails : Removed shared link.\ntype SharedLinkDisableDetails struct {\n\t// SharedLinkOwner : Shared link owner details. Might be missing due to\n\t// historical data gap.\n\tSharedLinkOwner IsUserLogInfo `json:\"shared_link_owner,omitempty\"`\n}\n\n// NewSharedLinkDisableDetails returns a new SharedLinkDisableDetails instance\nfunc NewSharedLinkDisableDetails() *SharedLinkDisableDetails {\n\ts := new(SharedLinkDisableDetails)\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a SharedLinkDisableDetails instance\nfunc (u *SharedLinkDisableDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// SharedLinkOwner : Shared link owner details. Might be missing due to\n\t\t// historical data gap.\n\t\tSharedLinkOwner json.RawMessage `json:\"shared_link_owner,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tSharedLinkOwner, err := IsUserLogInfoFromJSON(w.SharedLinkOwner)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.SharedLinkOwner = SharedLinkOwner\n\treturn nil\n}\n\n// SharedLinkDisableType : has no documentation (yet)\ntype SharedLinkDisableType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkDisableType returns a new SharedLinkDisableType instance\nfunc NewSharedLinkDisableType(Description string) *SharedLinkDisableType {\n\ts := new(SharedLinkDisableType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkDownloadDetails : Downloaded file/folder from shared link.\ntype SharedLinkDownloadDetails struct {\n\t// SharedLinkOwner : Shared link owner details. Might be missing due to\n\t// historical data gap.\n\tSharedLinkOwner IsUserLogInfo `json:\"shared_link_owner,omitempty\"`\n}\n\n// NewSharedLinkDownloadDetails returns a new SharedLinkDownloadDetails instance\nfunc NewSharedLinkDownloadDetails() *SharedLinkDownloadDetails {\n\ts := new(SharedLinkDownloadDetails)\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a SharedLinkDownloadDetails instance\nfunc (u *SharedLinkDownloadDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// SharedLinkOwner : Shared link owner details. Might be missing due to\n\t\t// historical data gap.\n\t\tSharedLinkOwner json.RawMessage `json:\"shared_link_owner,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tSharedLinkOwner, err := IsUserLogInfoFromJSON(w.SharedLinkOwner)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.SharedLinkOwner = SharedLinkOwner\n\treturn nil\n}\n\n// SharedLinkDownloadType : has no documentation (yet)\ntype SharedLinkDownloadType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkDownloadType returns a new SharedLinkDownloadType instance\nfunc NewSharedLinkDownloadType(Description string) *SharedLinkDownloadType {\n\ts := new(SharedLinkDownloadType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkRemoveExpiryDetails : Removed shared link expiration date.\ntype SharedLinkRemoveExpiryDetails struct {\n\t// PreviousValue : Previous shared link expiration date. Might be missing\n\t// due to historical data gap.\n\tPreviousValue *time.Time `json:\"previous_value,omitempty\"`\n}\n\n// NewSharedLinkRemoveExpiryDetails returns a new SharedLinkRemoveExpiryDetails instance\nfunc NewSharedLinkRemoveExpiryDetails() *SharedLinkRemoveExpiryDetails {\n\ts := new(SharedLinkRemoveExpiryDetails)\n\treturn s\n}\n\n// SharedLinkRemoveExpiryType : has no documentation (yet)\ntype SharedLinkRemoveExpiryType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkRemoveExpiryType returns a new SharedLinkRemoveExpiryType instance\nfunc NewSharedLinkRemoveExpiryType(Description string) *SharedLinkRemoveExpiryType {\n\ts := new(SharedLinkRemoveExpiryType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkSettingsAddExpirationDetails : Added an expiration date to the\n// shared link.\ntype SharedLinkSettingsAddExpirationDetails struct {\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n\t// SharedContentLink : Shared content link.\n\tSharedContentLink string `json:\"shared_content_link,omitempty\"`\n\t// NewValue : New shared content link expiration date. Might be missing due\n\t// to historical data gap.\n\tNewValue *time.Time `json:\"new_value,omitempty\"`\n}\n\n// NewSharedLinkSettingsAddExpirationDetails returns a new SharedLinkSettingsAddExpirationDetails instance\nfunc NewSharedLinkSettingsAddExpirationDetails(SharedContentAccessLevel *sharing.AccessLevel) *SharedLinkSettingsAddExpirationDetails {\n\ts := new(SharedLinkSettingsAddExpirationDetails)\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\treturn s\n}\n\n// SharedLinkSettingsAddExpirationType : has no documentation (yet)\ntype SharedLinkSettingsAddExpirationType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkSettingsAddExpirationType returns a new SharedLinkSettingsAddExpirationType instance\nfunc NewSharedLinkSettingsAddExpirationType(Description string) *SharedLinkSettingsAddExpirationType {\n\ts := new(SharedLinkSettingsAddExpirationType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkSettingsAddPasswordDetails : Added a password to the shared link.\ntype SharedLinkSettingsAddPasswordDetails struct {\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n\t// SharedContentLink : Shared content link.\n\tSharedContentLink string `json:\"shared_content_link,omitempty\"`\n}\n\n// NewSharedLinkSettingsAddPasswordDetails returns a new SharedLinkSettingsAddPasswordDetails instance\nfunc NewSharedLinkSettingsAddPasswordDetails(SharedContentAccessLevel *sharing.AccessLevel) *SharedLinkSettingsAddPasswordDetails {\n\ts := new(SharedLinkSettingsAddPasswordDetails)\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\treturn s\n}\n\n// SharedLinkSettingsAddPasswordType : has no documentation (yet)\ntype SharedLinkSettingsAddPasswordType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkSettingsAddPasswordType returns a new SharedLinkSettingsAddPasswordType instance\nfunc NewSharedLinkSettingsAddPasswordType(Description string) *SharedLinkSettingsAddPasswordType {\n\ts := new(SharedLinkSettingsAddPasswordType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkSettingsAllowDownloadDisabledDetails : Disabled downloads.\ntype SharedLinkSettingsAllowDownloadDisabledDetails struct {\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n\t// SharedContentLink : Shared content link.\n\tSharedContentLink string `json:\"shared_content_link,omitempty\"`\n}\n\n// NewSharedLinkSettingsAllowDownloadDisabledDetails returns a new SharedLinkSettingsAllowDownloadDisabledDetails instance\nfunc NewSharedLinkSettingsAllowDownloadDisabledDetails(SharedContentAccessLevel *sharing.AccessLevel) *SharedLinkSettingsAllowDownloadDisabledDetails {\n\ts := new(SharedLinkSettingsAllowDownloadDisabledDetails)\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\treturn s\n}\n\n// SharedLinkSettingsAllowDownloadDisabledType : has no documentation (yet)\ntype SharedLinkSettingsAllowDownloadDisabledType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkSettingsAllowDownloadDisabledType returns a new SharedLinkSettingsAllowDownloadDisabledType instance\nfunc NewSharedLinkSettingsAllowDownloadDisabledType(Description string) *SharedLinkSettingsAllowDownloadDisabledType {\n\ts := new(SharedLinkSettingsAllowDownloadDisabledType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkSettingsAllowDownloadEnabledDetails : Enabled downloads.\ntype SharedLinkSettingsAllowDownloadEnabledDetails struct {\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n\t// SharedContentLink : Shared content link.\n\tSharedContentLink string `json:\"shared_content_link,omitempty\"`\n}\n\n// NewSharedLinkSettingsAllowDownloadEnabledDetails returns a new SharedLinkSettingsAllowDownloadEnabledDetails instance\nfunc NewSharedLinkSettingsAllowDownloadEnabledDetails(SharedContentAccessLevel *sharing.AccessLevel) *SharedLinkSettingsAllowDownloadEnabledDetails {\n\ts := new(SharedLinkSettingsAllowDownloadEnabledDetails)\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\treturn s\n}\n\n// SharedLinkSettingsAllowDownloadEnabledType : has no documentation (yet)\ntype SharedLinkSettingsAllowDownloadEnabledType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkSettingsAllowDownloadEnabledType returns a new SharedLinkSettingsAllowDownloadEnabledType instance\nfunc NewSharedLinkSettingsAllowDownloadEnabledType(Description string) *SharedLinkSettingsAllowDownloadEnabledType {\n\ts := new(SharedLinkSettingsAllowDownloadEnabledType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkSettingsChangeAudienceDetails : Changed the audience of the shared\n// link.\ntype SharedLinkSettingsChangeAudienceDetails struct {\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n\t// SharedContentLink : Shared content link.\n\tSharedContentLink string `json:\"shared_content_link,omitempty\"`\n\t// NewValue : New link audience value.\n\tNewValue *sharing.LinkAudience `json:\"new_value\"`\n\t// PreviousValue : Previous link audience value.\n\tPreviousValue *sharing.LinkAudience `json:\"previous_value,omitempty\"`\n}\n\n// NewSharedLinkSettingsChangeAudienceDetails returns a new SharedLinkSettingsChangeAudienceDetails instance\nfunc NewSharedLinkSettingsChangeAudienceDetails(SharedContentAccessLevel *sharing.AccessLevel, NewValue *sharing.LinkAudience) *SharedLinkSettingsChangeAudienceDetails {\n\ts := new(SharedLinkSettingsChangeAudienceDetails)\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharedLinkSettingsChangeAudienceType : has no documentation (yet)\ntype SharedLinkSettingsChangeAudienceType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkSettingsChangeAudienceType returns a new SharedLinkSettingsChangeAudienceType instance\nfunc NewSharedLinkSettingsChangeAudienceType(Description string) *SharedLinkSettingsChangeAudienceType {\n\ts := new(SharedLinkSettingsChangeAudienceType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkSettingsChangeExpirationDetails : Changed the expiration date of\n// the shared link.\ntype SharedLinkSettingsChangeExpirationDetails struct {\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n\t// SharedContentLink : Shared content link.\n\tSharedContentLink string `json:\"shared_content_link,omitempty\"`\n\t// NewValue : New shared content link expiration date. Might be missing due\n\t// to historical data gap.\n\tNewValue *time.Time `json:\"new_value,omitempty\"`\n\t// PreviousValue : Previous shared content link expiration date. Might be\n\t// missing due to historical data gap.\n\tPreviousValue *time.Time `json:\"previous_value,omitempty\"`\n}\n\n// NewSharedLinkSettingsChangeExpirationDetails returns a new SharedLinkSettingsChangeExpirationDetails instance\nfunc NewSharedLinkSettingsChangeExpirationDetails(SharedContentAccessLevel *sharing.AccessLevel) *SharedLinkSettingsChangeExpirationDetails {\n\ts := new(SharedLinkSettingsChangeExpirationDetails)\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\treturn s\n}\n\n// SharedLinkSettingsChangeExpirationType : has no documentation (yet)\ntype SharedLinkSettingsChangeExpirationType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkSettingsChangeExpirationType returns a new SharedLinkSettingsChangeExpirationType instance\nfunc NewSharedLinkSettingsChangeExpirationType(Description string) *SharedLinkSettingsChangeExpirationType {\n\ts := new(SharedLinkSettingsChangeExpirationType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkSettingsChangePasswordDetails : Changed the password of the shared\n// link.\ntype SharedLinkSettingsChangePasswordDetails struct {\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n\t// SharedContentLink : Shared content link.\n\tSharedContentLink string `json:\"shared_content_link,omitempty\"`\n}\n\n// NewSharedLinkSettingsChangePasswordDetails returns a new SharedLinkSettingsChangePasswordDetails instance\nfunc NewSharedLinkSettingsChangePasswordDetails(SharedContentAccessLevel *sharing.AccessLevel) *SharedLinkSettingsChangePasswordDetails {\n\ts := new(SharedLinkSettingsChangePasswordDetails)\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\treturn s\n}\n\n// SharedLinkSettingsChangePasswordType : has no documentation (yet)\ntype SharedLinkSettingsChangePasswordType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkSettingsChangePasswordType returns a new SharedLinkSettingsChangePasswordType instance\nfunc NewSharedLinkSettingsChangePasswordType(Description string) *SharedLinkSettingsChangePasswordType {\n\ts := new(SharedLinkSettingsChangePasswordType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkSettingsRemoveExpirationDetails : Removed the expiration date from\n// the shared link.\ntype SharedLinkSettingsRemoveExpirationDetails struct {\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n\t// SharedContentLink : Shared content link.\n\tSharedContentLink string `json:\"shared_content_link,omitempty\"`\n\t// PreviousValue : Previous shared link expiration date. Might be missing\n\t// due to historical data gap.\n\tPreviousValue *time.Time `json:\"previous_value,omitempty\"`\n}\n\n// NewSharedLinkSettingsRemoveExpirationDetails returns a new SharedLinkSettingsRemoveExpirationDetails instance\nfunc NewSharedLinkSettingsRemoveExpirationDetails(SharedContentAccessLevel *sharing.AccessLevel) *SharedLinkSettingsRemoveExpirationDetails {\n\ts := new(SharedLinkSettingsRemoveExpirationDetails)\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\treturn s\n}\n\n// SharedLinkSettingsRemoveExpirationType : has no documentation (yet)\ntype SharedLinkSettingsRemoveExpirationType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkSettingsRemoveExpirationType returns a new SharedLinkSettingsRemoveExpirationType instance\nfunc NewSharedLinkSettingsRemoveExpirationType(Description string) *SharedLinkSettingsRemoveExpirationType {\n\ts := new(SharedLinkSettingsRemoveExpirationType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkSettingsRemovePasswordDetails : Removed the password from the\n// shared link.\ntype SharedLinkSettingsRemovePasswordDetails struct {\n\t// SharedContentAccessLevel : Shared content access level.\n\tSharedContentAccessLevel *sharing.AccessLevel `json:\"shared_content_access_level\"`\n\t// SharedContentLink : Shared content link.\n\tSharedContentLink string `json:\"shared_content_link,omitempty\"`\n}\n\n// NewSharedLinkSettingsRemovePasswordDetails returns a new SharedLinkSettingsRemovePasswordDetails instance\nfunc NewSharedLinkSettingsRemovePasswordDetails(SharedContentAccessLevel *sharing.AccessLevel) *SharedLinkSettingsRemovePasswordDetails {\n\ts := new(SharedLinkSettingsRemovePasswordDetails)\n\ts.SharedContentAccessLevel = SharedContentAccessLevel\n\treturn s\n}\n\n// SharedLinkSettingsRemovePasswordType : has no documentation (yet)\ntype SharedLinkSettingsRemovePasswordType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkSettingsRemovePasswordType returns a new SharedLinkSettingsRemovePasswordType instance\nfunc NewSharedLinkSettingsRemovePasswordType(Description string) *SharedLinkSettingsRemovePasswordType {\n\ts := new(SharedLinkSettingsRemovePasswordType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkShareDetails : Added members as audience of shared link.\ntype SharedLinkShareDetails struct {\n\t// SharedLinkOwner : Shared link owner details. Might be missing due to\n\t// historical data gap.\n\tSharedLinkOwner IsUserLogInfo `json:\"shared_link_owner,omitempty\"`\n\t// ExternalUsers : Users without a Dropbox account that were added as shared\n\t// link audience.\n\tExternalUsers []*ExternalUserLogInfo `json:\"external_users,omitempty\"`\n}\n\n// NewSharedLinkShareDetails returns a new SharedLinkShareDetails instance\nfunc NewSharedLinkShareDetails() *SharedLinkShareDetails {\n\ts := new(SharedLinkShareDetails)\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a SharedLinkShareDetails instance\nfunc (u *SharedLinkShareDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// SharedLinkOwner : Shared link owner details. Might be missing due to\n\t\t// historical data gap.\n\t\tSharedLinkOwner json.RawMessage `json:\"shared_link_owner,omitempty\"`\n\t\t// ExternalUsers : Users without a Dropbox account that were added as\n\t\t// shared link audience.\n\t\tExternalUsers []*ExternalUserLogInfo `json:\"external_users,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tSharedLinkOwner, err := IsUserLogInfoFromJSON(w.SharedLinkOwner)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.SharedLinkOwner = SharedLinkOwner\n\tu.ExternalUsers = w.ExternalUsers\n\treturn nil\n}\n\n// SharedLinkShareType : has no documentation (yet)\ntype SharedLinkShareType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkShareType returns a new SharedLinkShareType instance\nfunc NewSharedLinkShareType(Description string) *SharedLinkShareType {\n\ts := new(SharedLinkShareType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkViewDetails : Opened shared link.\ntype SharedLinkViewDetails struct {\n\t// SharedLinkOwner : Shared link owner details. Might be missing due to\n\t// historical data gap.\n\tSharedLinkOwner IsUserLogInfo `json:\"shared_link_owner,omitempty\"`\n}\n\n// NewSharedLinkViewDetails returns a new SharedLinkViewDetails instance\nfunc NewSharedLinkViewDetails() *SharedLinkViewDetails {\n\ts := new(SharedLinkViewDetails)\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a SharedLinkViewDetails instance\nfunc (u *SharedLinkViewDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// SharedLinkOwner : Shared link owner details. Might be missing due to\n\t\t// historical data gap.\n\t\tSharedLinkOwner json.RawMessage `json:\"shared_link_owner,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tSharedLinkOwner, err := IsUserLogInfoFromJSON(w.SharedLinkOwner)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.SharedLinkOwner = SharedLinkOwner\n\treturn nil\n}\n\n// SharedLinkViewType : has no documentation (yet)\ntype SharedLinkViewType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedLinkViewType returns a new SharedLinkViewType instance\nfunc NewSharedLinkViewType(Description string) *SharedLinkViewType {\n\ts := new(SharedLinkViewType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharedLinkVisibility : Defines who has access to a shared link.\ntype SharedLinkVisibility struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharedLinkVisibility\nconst (\n\tSharedLinkVisibilityNoOne    = \"no_one\"\n\tSharedLinkVisibilityPassword = \"password\"\n\tSharedLinkVisibilityPublic   = \"public\"\n\tSharedLinkVisibilityTeamOnly = \"team_only\"\n\tSharedLinkVisibilityOther    = \"other\"\n)\n\n// SharedNoteOpenedDetails : Opened shared Paper doc.\ntype SharedNoteOpenedDetails struct {\n}\n\n// NewSharedNoteOpenedDetails returns a new SharedNoteOpenedDetails instance\nfunc NewSharedNoteOpenedDetails() *SharedNoteOpenedDetails {\n\ts := new(SharedNoteOpenedDetails)\n\treturn s\n}\n\n// SharedNoteOpenedType : has no documentation (yet)\ntype SharedNoteOpenedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharedNoteOpenedType returns a new SharedNoteOpenedType instance\nfunc NewSharedNoteOpenedType(Description string) *SharedNoteOpenedType {\n\ts := new(SharedNoteOpenedType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharingChangeFolderJoinPolicyDetails : Changed whether team members can join\n// shared folders owned outside team.\ntype SharingChangeFolderJoinPolicyDetails struct {\n\t// NewValue : New external join policy.\n\tNewValue *SharingFolderJoinPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous external join policy. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *SharingFolderJoinPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewSharingChangeFolderJoinPolicyDetails returns a new SharingChangeFolderJoinPolicyDetails instance\nfunc NewSharingChangeFolderJoinPolicyDetails(NewValue *SharingFolderJoinPolicy) *SharingChangeFolderJoinPolicyDetails {\n\ts := new(SharingChangeFolderJoinPolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharingChangeFolderJoinPolicyType : has no documentation (yet)\ntype SharingChangeFolderJoinPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharingChangeFolderJoinPolicyType returns a new SharingChangeFolderJoinPolicyType instance\nfunc NewSharingChangeFolderJoinPolicyType(Description string) *SharingChangeFolderJoinPolicyType {\n\ts := new(SharingChangeFolderJoinPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharingChangeLinkAllowChangeExpirationPolicyDetails : Changed the allow\n// remove or change expiration policy for the links shared outside of the team.\ntype SharingChangeLinkAllowChangeExpirationPolicyDetails struct {\n\t// NewValue : To.\n\tNewValue *EnforceLinkPasswordPolicy `json:\"new_value\"`\n\t// PreviousValue : From.\n\tPreviousValue *EnforceLinkPasswordPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewSharingChangeLinkAllowChangeExpirationPolicyDetails returns a new SharingChangeLinkAllowChangeExpirationPolicyDetails instance\nfunc NewSharingChangeLinkAllowChangeExpirationPolicyDetails(NewValue *EnforceLinkPasswordPolicy) *SharingChangeLinkAllowChangeExpirationPolicyDetails {\n\ts := new(SharingChangeLinkAllowChangeExpirationPolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharingChangeLinkAllowChangeExpirationPolicyType : has no documentation (yet)\ntype SharingChangeLinkAllowChangeExpirationPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharingChangeLinkAllowChangeExpirationPolicyType returns a new SharingChangeLinkAllowChangeExpirationPolicyType instance\nfunc NewSharingChangeLinkAllowChangeExpirationPolicyType(Description string) *SharingChangeLinkAllowChangeExpirationPolicyType {\n\ts := new(SharingChangeLinkAllowChangeExpirationPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharingChangeLinkDefaultExpirationPolicyDetails : Changed the default\n// expiration for the links shared outside of the team.\ntype SharingChangeLinkDefaultExpirationPolicyDetails struct {\n\t// NewValue : To.\n\tNewValue *DefaultLinkExpirationDaysPolicy `json:\"new_value\"`\n\t// PreviousValue : From.\n\tPreviousValue *DefaultLinkExpirationDaysPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewSharingChangeLinkDefaultExpirationPolicyDetails returns a new SharingChangeLinkDefaultExpirationPolicyDetails instance\nfunc NewSharingChangeLinkDefaultExpirationPolicyDetails(NewValue *DefaultLinkExpirationDaysPolicy) *SharingChangeLinkDefaultExpirationPolicyDetails {\n\ts := new(SharingChangeLinkDefaultExpirationPolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharingChangeLinkDefaultExpirationPolicyType : has no documentation (yet)\ntype SharingChangeLinkDefaultExpirationPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharingChangeLinkDefaultExpirationPolicyType returns a new SharingChangeLinkDefaultExpirationPolicyType instance\nfunc NewSharingChangeLinkDefaultExpirationPolicyType(Description string) *SharingChangeLinkDefaultExpirationPolicyType {\n\ts := new(SharingChangeLinkDefaultExpirationPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharingChangeLinkEnforcePasswordPolicyDetails : Changed the password\n// requirement for the links shared outside of the team.\ntype SharingChangeLinkEnforcePasswordPolicyDetails struct {\n\t// NewValue : To.\n\tNewValue *ChangeLinkExpirationPolicy `json:\"new_value\"`\n\t// PreviousValue : From.\n\tPreviousValue *ChangeLinkExpirationPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewSharingChangeLinkEnforcePasswordPolicyDetails returns a new SharingChangeLinkEnforcePasswordPolicyDetails instance\nfunc NewSharingChangeLinkEnforcePasswordPolicyDetails(NewValue *ChangeLinkExpirationPolicy) *SharingChangeLinkEnforcePasswordPolicyDetails {\n\ts := new(SharingChangeLinkEnforcePasswordPolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharingChangeLinkEnforcePasswordPolicyType : has no documentation (yet)\ntype SharingChangeLinkEnforcePasswordPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharingChangeLinkEnforcePasswordPolicyType returns a new SharingChangeLinkEnforcePasswordPolicyType instance\nfunc NewSharingChangeLinkEnforcePasswordPolicyType(Description string) *SharingChangeLinkEnforcePasswordPolicyType {\n\ts := new(SharingChangeLinkEnforcePasswordPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharingChangeLinkPolicyDetails : Changed whether members can share links\n// outside team, and if links are accessible only by team members or anyone by\n// default.\ntype SharingChangeLinkPolicyDetails struct {\n\t// NewValue : New external link accessibility policy.\n\tNewValue *SharingLinkPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous external link accessibility policy. Might be\n\t// missing due to historical data gap.\n\tPreviousValue *SharingLinkPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewSharingChangeLinkPolicyDetails returns a new SharingChangeLinkPolicyDetails instance\nfunc NewSharingChangeLinkPolicyDetails(NewValue *SharingLinkPolicy) *SharingChangeLinkPolicyDetails {\n\ts := new(SharingChangeLinkPolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharingChangeLinkPolicyType : has no documentation (yet)\ntype SharingChangeLinkPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharingChangeLinkPolicyType returns a new SharingChangeLinkPolicyType instance\nfunc NewSharingChangeLinkPolicyType(Description string) *SharingChangeLinkPolicyType {\n\ts := new(SharingChangeLinkPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharingChangeMemberPolicyDetails : Changed whether members can share\n// files/folders outside team.\ntype SharingChangeMemberPolicyDetails struct {\n\t// NewValue : New external invite policy.\n\tNewValue *SharingMemberPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous external invite policy. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *SharingMemberPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewSharingChangeMemberPolicyDetails returns a new SharingChangeMemberPolicyDetails instance\nfunc NewSharingChangeMemberPolicyDetails(NewValue *SharingMemberPolicy) *SharingChangeMemberPolicyDetails {\n\ts := new(SharingChangeMemberPolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SharingChangeMemberPolicyType : has no documentation (yet)\ntype SharingChangeMemberPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSharingChangeMemberPolicyType returns a new SharingChangeMemberPolicyType instance\nfunc NewSharingChangeMemberPolicyType(Description string) *SharingChangeMemberPolicyType {\n\ts := new(SharingChangeMemberPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SharingFolderJoinPolicy : Policy for controlling if team members can join\n// shared folders owned by non team members.\ntype SharingFolderJoinPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharingFolderJoinPolicy\nconst (\n\tSharingFolderJoinPolicyFromAnyone   = \"from_anyone\"\n\tSharingFolderJoinPolicyFromTeamOnly = \"from_team_only\"\n\tSharingFolderJoinPolicyOther        = \"other\"\n)\n\n// SharingLinkPolicy : Policy for controlling if team members can share links\n// externally\ntype SharingLinkPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharingLinkPolicy\nconst (\n\tSharingLinkPolicyDefaultNoOne   = \"default_no_one\"\n\tSharingLinkPolicyDefaultPrivate = \"default_private\"\n\tSharingLinkPolicyDefaultPublic  = \"default_public\"\n\tSharingLinkPolicyOnlyPrivate    = \"only_private\"\n\tSharingLinkPolicyOther          = \"other\"\n)\n\n// SharingMemberPolicy : External sharing policy\ntype SharingMemberPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharingMemberPolicy\nconst (\n\tSharingMemberPolicyAllow                = \"allow\"\n\tSharingMemberPolicyForbid               = \"forbid\"\n\tSharingMemberPolicyForbidWithExclusions = \"forbid_with_exclusions\"\n\tSharingMemberPolicyOther                = \"other\"\n)\n\n// ShmodelDisableDownloadsDetails : Disabled downloads for link.\ntype ShmodelDisableDownloadsDetails struct {\n\t// SharedLinkOwner : Shared link owner details. Might be missing due to\n\t// historical data gap.\n\tSharedLinkOwner IsUserLogInfo `json:\"shared_link_owner,omitempty\"`\n}\n\n// NewShmodelDisableDownloadsDetails returns a new ShmodelDisableDownloadsDetails instance\nfunc NewShmodelDisableDownloadsDetails() *ShmodelDisableDownloadsDetails {\n\ts := new(ShmodelDisableDownloadsDetails)\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a ShmodelDisableDownloadsDetails instance\nfunc (u *ShmodelDisableDownloadsDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// SharedLinkOwner : Shared link owner details. Might be missing due to\n\t\t// historical data gap.\n\t\tSharedLinkOwner json.RawMessage `json:\"shared_link_owner,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tSharedLinkOwner, err := IsUserLogInfoFromJSON(w.SharedLinkOwner)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.SharedLinkOwner = SharedLinkOwner\n\treturn nil\n}\n\n// ShmodelDisableDownloadsType : has no documentation (yet)\ntype ShmodelDisableDownloadsType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShmodelDisableDownloadsType returns a new ShmodelDisableDownloadsType instance\nfunc NewShmodelDisableDownloadsType(Description string) *ShmodelDisableDownloadsType {\n\ts := new(ShmodelDisableDownloadsType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShmodelEnableDownloadsDetails : Enabled downloads for link.\ntype ShmodelEnableDownloadsDetails struct {\n\t// SharedLinkOwner : Shared link owner details. Might be missing due to\n\t// historical data gap.\n\tSharedLinkOwner IsUserLogInfo `json:\"shared_link_owner,omitempty\"`\n}\n\n// NewShmodelEnableDownloadsDetails returns a new ShmodelEnableDownloadsDetails instance\nfunc NewShmodelEnableDownloadsDetails() *ShmodelEnableDownloadsDetails {\n\ts := new(ShmodelEnableDownloadsDetails)\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a ShmodelEnableDownloadsDetails instance\nfunc (u *ShmodelEnableDownloadsDetails) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// SharedLinkOwner : Shared link owner details. Might be missing due to\n\t\t// historical data gap.\n\t\tSharedLinkOwner json.RawMessage `json:\"shared_link_owner,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tSharedLinkOwner, err := IsUserLogInfoFromJSON(w.SharedLinkOwner)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.SharedLinkOwner = SharedLinkOwner\n\treturn nil\n}\n\n// ShmodelEnableDownloadsType : has no documentation (yet)\ntype ShmodelEnableDownloadsType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShmodelEnableDownloadsType returns a new ShmodelEnableDownloadsType instance\nfunc NewShmodelEnableDownloadsType(Description string) *ShmodelEnableDownloadsType {\n\ts := new(ShmodelEnableDownloadsType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShmodelGroupShareDetails : Shared link with group.\ntype ShmodelGroupShareDetails struct {\n}\n\n// NewShmodelGroupShareDetails returns a new ShmodelGroupShareDetails instance\nfunc NewShmodelGroupShareDetails() *ShmodelGroupShareDetails {\n\ts := new(ShmodelGroupShareDetails)\n\treturn s\n}\n\n// ShmodelGroupShareType : has no documentation (yet)\ntype ShmodelGroupShareType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShmodelGroupShareType returns a new ShmodelGroupShareType instance\nfunc NewShmodelGroupShareType(Description string) *ShmodelGroupShareType {\n\ts := new(ShmodelGroupShareType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseAccessGrantedDetails : Granted access to showcase.\ntype ShowcaseAccessGrantedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseAccessGrantedDetails returns a new ShowcaseAccessGrantedDetails instance\nfunc NewShowcaseAccessGrantedDetails(EventUuid string) *ShowcaseAccessGrantedDetails {\n\ts := new(ShowcaseAccessGrantedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseAccessGrantedType : has no documentation (yet)\ntype ShowcaseAccessGrantedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseAccessGrantedType returns a new ShowcaseAccessGrantedType instance\nfunc NewShowcaseAccessGrantedType(Description string) *ShowcaseAccessGrantedType {\n\ts := new(ShowcaseAccessGrantedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseAddMemberDetails : Added member to showcase.\ntype ShowcaseAddMemberDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseAddMemberDetails returns a new ShowcaseAddMemberDetails instance\nfunc NewShowcaseAddMemberDetails(EventUuid string) *ShowcaseAddMemberDetails {\n\ts := new(ShowcaseAddMemberDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseAddMemberType : has no documentation (yet)\ntype ShowcaseAddMemberType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseAddMemberType returns a new ShowcaseAddMemberType instance\nfunc NewShowcaseAddMemberType(Description string) *ShowcaseAddMemberType {\n\ts := new(ShowcaseAddMemberType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseArchivedDetails : Archived showcase.\ntype ShowcaseArchivedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseArchivedDetails returns a new ShowcaseArchivedDetails instance\nfunc NewShowcaseArchivedDetails(EventUuid string) *ShowcaseArchivedDetails {\n\ts := new(ShowcaseArchivedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseArchivedType : has no documentation (yet)\ntype ShowcaseArchivedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseArchivedType returns a new ShowcaseArchivedType instance\nfunc NewShowcaseArchivedType(Description string) *ShowcaseArchivedType {\n\ts := new(ShowcaseArchivedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseChangeDownloadPolicyDetails : Enabled/disabled downloading files from\n// Dropbox Showcase for team.\ntype ShowcaseChangeDownloadPolicyDetails struct {\n\t// NewValue : New Dropbox Showcase download policy.\n\tNewValue *ShowcaseDownloadPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous Dropbox Showcase download policy.\n\tPreviousValue *ShowcaseDownloadPolicy `json:\"previous_value\"`\n}\n\n// NewShowcaseChangeDownloadPolicyDetails returns a new ShowcaseChangeDownloadPolicyDetails instance\nfunc NewShowcaseChangeDownloadPolicyDetails(NewValue *ShowcaseDownloadPolicy, PreviousValue *ShowcaseDownloadPolicy) *ShowcaseChangeDownloadPolicyDetails {\n\ts := new(ShowcaseChangeDownloadPolicyDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// ShowcaseChangeDownloadPolicyType : has no documentation (yet)\ntype ShowcaseChangeDownloadPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseChangeDownloadPolicyType returns a new ShowcaseChangeDownloadPolicyType instance\nfunc NewShowcaseChangeDownloadPolicyType(Description string) *ShowcaseChangeDownloadPolicyType {\n\ts := new(ShowcaseChangeDownloadPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseChangeEnabledPolicyDetails : Enabled/disabled Dropbox Showcase for\n// team.\ntype ShowcaseChangeEnabledPolicyDetails struct {\n\t// NewValue : New Dropbox Showcase policy.\n\tNewValue *ShowcaseEnabledPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous Dropbox Showcase policy.\n\tPreviousValue *ShowcaseEnabledPolicy `json:\"previous_value\"`\n}\n\n// NewShowcaseChangeEnabledPolicyDetails returns a new ShowcaseChangeEnabledPolicyDetails instance\nfunc NewShowcaseChangeEnabledPolicyDetails(NewValue *ShowcaseEnabledPolicy, PreviousValue *ShowcaseEnabledPolicy) *ShowcaseChangeEnabledPolicyDetails {\n\ts := new(ShowcaseChangeEnabledPolicyDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// ShowcaseChangeEnabledPolicyType : has no documentation (yet)\ntype ShowcaseChangeEnabledPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseChangeEnabledPolicyType returns a new ShowcaseChangeEnabledPolicyType instance\nfunc NewShowcaseChangeEnabledPolicyType(Description string) *ShowcaseChangeEnabledPolicyType {\n\ts := new(ShowcaseChangeEnabledPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseChangeExternalSharingPolicyDetails : Enabled/disabled sharing Dropbox\n// Showcase externally for team.\ntype ShowcaseChangeExternalSharingPolicyDetails struct {\n\t// NewValue : New Dropbox Showcase external sharing policy.\n\tNewValue *ShowcaseExternalSharingPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous Dropbox Showcase external sharing policy.\n\tPreviousValue *ShowcaseExternalSharingPolicy `json:\"previous_value\"`\n}\n\n// NewShowcaseChangeExternalSharingPolicyDetails returns a new ShowcaseChangeExternalSharingPolicyDetails instance\nfunc NewShowcaseChangeExternalSharingPolicyDetails(NewValue *ShowcaseExternalSharingPolicy, PreviousValue *ShowcaseExternalSharingPolicy) *ShowcaseChangeExternalSharingPolicyDetails {\n\ts := new(ShowcaseChangeExternalSharingPolicyDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// ShowcaseChangeExternalSharingPolicyType : has no documentation (yet)\ntype ShowcaseChangeExternalSharingPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseChangeExternalSharingPolicyType returns a new ShowcaseChangeExternalSharingPolicyType instance\nfunc NewShowcaseChangeExternalSharingPolicyType(Description string) *ShowcaseChangeExternalSharingPolicyType {\n\ts := new(ShowcaseChangeExternalSharingPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseCreatedDetails : Created showcase.\ntype ShowcaseCreatedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseCreatedDetails returns a new ShowcaseCreatedDetails instance\nfunc NewShowcaseCreatedDetails(EventUuid string) *ShowcaseCreatedDetails {\n\ts := new(ShowcaseCreatedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseCreatedType : has no documentation (yet)\ntype ShowcaseCreatedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseCreatedType returns a new ShowcaseCreatedType instance\nfunc NewShowcaseCreatedType(Description string) *ShowcaseCreatedType {\n\ts := new(ShowcaseCreatedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseDeleteCommentDetails : Deleted showcase comment.\ntype ShowcaseDeleteCommentDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewShowcaseDeleteCommentDetails returns a new ShowcaseDeleteCommentDetails instance\nfunc NewShowcaseDeleteCommentDetails(EventUuid string) *ShowcaseDeleteCommentDetails {\n\ts := new(ShowcaseDeleteCommentDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseDeleteCommentType : has no documentation (yet)\ntype ShowcaseDeleteCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseDeleteCommentType returns a new ShowcaseDeleteCommentType instance\nfunc NewShowcaseDeleteCommentType(Description string) *ShowcaseDeleteCommentType {\n\ts := new(ShowcaseDeleteCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseDocumentLogInfo : Showcase document's logged information.\ntype ShowcaseDocumentLogInfo struct {\n\t// ShowcaseId : Showcase document Id.\n\tShowcaseId string `json:\"showcase_id\"`\n\t// ShowcaseTitle : Showcase document title.\n\tShowcaseTitle string `json:\"showcase_title\"`\n}\n\n// NewShowcaseDocumentLogInfo returns a new ShowcaseDocumentLogInfo instance\nfunc NewShowcaseDocumentLogInfo(ShowcaseId string, ShowcaseTitle string) *ShowcaseDocumentLogInfo {\n\ts := new(ShowcaseDocumentLogInfo)\n\ts.ShowcaseId = ShowcaseId\n\ts.ShowcaseTitle = ShowcaseTitle\n\treturn s\n}\n\n// ShowcaseDownloadPolicy : Policy for controlling if files can be downloaded\n// from Showcases by team members\ntype ShowcaseDownloadPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ShowcaseDownloadPolicy\nconst (\n\tShowcaseDownloadPolicyDisabled = \"disabled\"\n\tShowcaseDownloadPolicyEnabled  = \"enabled\"\n\tShowcaseDownloadPolicyOther    = \"other\"\n)\n\n// ShowcaseEditCommentDetails : Edited showcase comment.\ntype ShowcaseEditCommentDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewShowcaseEditCommentDetails returns a new ShowcaseEditCommentDetails instance\nfunc NewShowcaseEditCommentDetails(EventUuid string) *ShowcaseEditCommentDetails {\n\ts := new(ShowcaseEditCommentDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseEditCommentType : has no documentation (yet)\ntype ShowcaseEditCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseEditCommentType returns a new ShowcaseEditCommentType instance\nfunc NewShowcaseEditCommentType(Description string) *ShowcaseEditCommentType {\n\ts := new(ShowcaseEditCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseEditedDetails : Edited showcase.\ntype ShowcaseEditedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseEditedDetails returns a new ShowcaseEditedDetails instance\nfunc NewShowcaseEditedDetails(EventUuid string) *ShowcaseEditedDetails {\n\ts := new(ShowcaseEditedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseEditedType : has no documentation (yet)\ntype ShowcaseEditedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseEditedType returns a new ShowcaseEditedType instance\nfunc NewShowcaseEditedType(Description string) *ShowcaseEditedType {\n\ts := new(ShowcaseEditedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseEnabledPolicy : Policy for controlling whether Showcase is enabled.\ntype ShowcaseEnabledPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ShowcaseEnabledPolicy\nconst (\n\tShowcaseEnabledPolicyDisabled = \"disabled\"\n\tShowcaseEnabledPolicyEnabled  = \"enabled\"\n\tShowcaseEnabledPolicyOther    = \"other\"\n)\n\n// ShowcaseExternalSharingPolicy : Policy for controlling if team members can\n// share Showcases externally.\ntype ShowcaseExternalSharingPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ShowcaseExternalSharingPolicy\nconst (\n\tShowcaseExternalSharingPolicyDisabled = \"disabled\"\n\tShowcaseExternalSharingPolicyEnabled  = \"enabled\"\n\tShowcaseExternalSharingPolicyOther    = \"other\"\n)\n\n// ShowcaseFileAddedDetails : Added file to showcase.\ntype ShowcaseFileAddedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseFileAddedDetails returns a new ShowcaseFileAddedDetails instance\nfunc NewShowcaseFileAddedDetails(EventUuid string) *ShowcaseFileAddedDetails {\n\ts := new(ShowcaseFileAddedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseFileAddedType : has no documentation (yet)\ntype ShowcaseFileAddedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseFileAddedType returns a new ShowcaseFileAddedType instance\nfunc NewShowcaseFileAddedType(Description string) *ShowcaseFileAddedType {\n\ts := new(ShowcaseFileAddedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseFileDownloadDetails : Downloaded file from showcase.\ntype ShowcaseFileDownloadDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// DownloadType : Showcase download type.\n\tDownloadType string `json:\"download_type\"`\n}\n\n// NewShowcaseFileDownloadDetails returns a new ShowcaseFileDownloadDetails instance\nfunc NewShowcaseFileDownloadDetails(EventUuid string, DownloadType string) *ShowcaseFileDownloadDetails {\n\ts := new(ShowcaseFileDownloadDetails)\n\ts.EventUuid = EventUuid\n\ts.DownloadType = DownloadType\n\treturn s\n}\n\n// ShowcaseFileDownloadType : has no documentation (yet)\ntype ShowcaseFileDownloadType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseFileDownloadType returns a new ShowcaseFileDownloadType instance\nfunc NewShowcaseFileDownloadType(Description string) *ShowcaseFileDownloadType {\n\ts := new(ShowcaseFileDownloadType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseFileRemovedDetails : Removed file from showcase.\ntype ShowcaseFileRemovedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseFileRemovedDetails returns a new ShowcaseFileRemovedDetails instance\nfunc NewShowcaseFileRemovedDetails(EventUuid string) *ShowcaseFileRemovedDetails {\n\ts := new(ShowcaseFileRemovedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseFileRemovedType : has no documentation (yet)\ntype ShowcaseFileRemovedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseFileRemovedType returns a new ShowcaseFileRemovedType instance\nfunc NewShowcaseFileRemovedType(Description string) *ShowcaseFileRemovedType {\n\ts := new(ShowcaseFileRemovedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseFileViewDetails : Viewed file in showcase.\ntype ShowcaseFileViewDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseFileViewDetails returns a new ShowcaseFileViewDetails instance\nfunc NewShowcaseFileViewDetails(EventUuid string) *ShowcaseFileViewDetails {\n\ts := new(ShowcaseFileViewDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseFileViewType : has no documentation (yet)\ntype ShowcaseFileViewType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseFileViewType returns a new ShowcaseFileViewType instance\nfunc NewShowcaseFileViewType(Description string) *ShowcaseFileViewType {\n\ts := new(ShowcaseFileViewType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcasePermanentlyDeletedDetails : Permanently deleted showcase.\ntype ShowcasePermanentlyDeletedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcasePermanentlyDeletedDetails returns a new ShowcasePermanentlyDeletedDetails instance\nfunc NewShowcasePermanentlyDeletedDetails(EventUuid string) *ShowcasePermanentlyDeletedDetails {\n\ts := new(ShowcasePermanentlyDeletedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcasePermanentlyDeletedType : has no documentation (yet)\ntype ShowcasePermanentlyDeletedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcasePermanentlyDeletedType returns a new ShowcasePermanentlyDeletedType instance\nfunc NewShowcasePermanentlyDeletedType(Description string) *ShowcasePermanentlyDeletedType {\n\ts := new(ShowcasePermanentlyDeletedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcasePostCommentDetails : Added showcase comment.\ntype ShowcasePostCommentDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewShowcasePostCommentDetails returns a new ShowcasePostCommentDetails instance\nfunc NewShowcasePostCommentDetails(EventUuid string) *ShowcasePostCommentDetails {\n\ts := new(ShowcasePostCommentDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcasePostCommentType : has no documentation (yet)\ntype ShowcasePostCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcasePostCommentType returns a new ShowcasePostCommentType instance\nfunc NewShowcasePostCommentType(Description string) *ShowcasePostCommentType {\n\ts := new(ShowcasePostCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseRemoveMemberDetails : Removed member from showcase.\ntype ShowcaseRemoveMemberDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseRemoveMemberDetails returns a new ShowcaseRemoveMemberDetails instance\nfunc NewShowcaseRemoveMemberDetails(EventUuid string) *ShowcaseRemoveMemberDetails {\n\ts := new(ShowcaseRemoveMemberDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseRemoveMemberType : has no documentation (yet)\ntype ShowcaseRemoveMemberType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseRemoveMemberType returns a new ShowcaseRemoveMemberType instance\nfunc NewShowcaseRemoveMemberType(Description string) *ShowcaseRemoveMemberType {\n\ts := new(ShowcaseRemoveMemberType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseRenamedDetails : Renamed showcase.\ntype ShowcaseRenamedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseRenamedDetails returns a new ShowcaseRenamedDetails instance\nfunc NewShowcaseRenamedDetails(EventUuid string) *ShowcaseRenamedDetails {\n\ts := new(ShowcaseRenamedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseRenamedType : has no documentation (yet)\ntype ShowcaseRenamedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseRenamedType returns a new ShowcaseRenamedType instance\nfunc NewShowcaseRenamedType(Description string) *ShowcaseRenamedType {\n\ts := new(ShowcaseRenamedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseRequestAccessDetails : Requested access to showcase.\ntype ShowcaseRequestAccessDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseRequestAccessDetails returns a new ShowcaseRequestAccessDetails instance\nfunc NewShowcaseRequestAccessDetails(EventUuid string) *ShowcaseRequestAccessDetails {\n\ts := new(ShowcaseRequestAccessDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseRequestAccessType : has no documentation (yet)\ntype ShowcaseRequestAccessType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseRequestAccessType returns a new ShowcaseRequestAccessType instance\nfunc NewShowcaseRequestAccessType(Description string) *ShowcaseRequestAccessType {\n\ts := new(ShowcaseRequestAccessType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseResolveCommentDetails : Resolved showcase comment.\ntype ShowcaseResolveCommentDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewShowcaseResolveCommentDetails returns a new ShowcaseResolveCommentDetails instance\nfunc NewShowcaseResolveCommentDetails(EventUuid string) *ShowcaseResolveCommentDetails {\n\ts := new(ShowcaseResolveCommentDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseResolveCommentType : has no documentation (yet)\ntype ShowcaseResolveCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseResolveCommentType returns a new ShowcaseResolveCommentType instance\nfunc NewShowcaseResolveCommentType(Description string) *ShowcaseResolveCommentType {\n\ts := new(ShowcaseResolveCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseRestoredDetails : Unarchived showcase.\ntype ShowcaseRestoredDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseRestoredDetails returns a new ShowcaseRestoredDetails instance\nfunc NewShowcaseRestoredDetails(EventUuid string) *ShowcaseRestoredDetails {\n\ts := new(ShowcaseRestoredDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseRestoredType : has no documentation (yet)\ntype ShowcaseRestoredType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseRestoredType returns a new ShowcaseRestoredType instance\nfunc NewShowcaseRestoredType(Description string) *ShowcaseRestoredType {\n\ts := new(ShowcaseRestoredType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseTrashedDeprecatedDetails : Deleted showcase (old version).\ntype ShowcaseTrashedDeprecatedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseTrashedDeprecatedDetails returns a new ShowcaseTrashedDeprecatedDetails instance\nfunc NewShowcaseTrashedDeprecatedDetails(EventUuid string) *ShowcaseTrashedDeprecatedDetails {\n\ts := new(ShowcaseTrashedDeprecatedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseTrashedDeprecatedType : has no documentation (yet)\ntype ShowcaseTrashedDeprecatedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseTrashedDeprecatedType returns a new ShowcaseTrashedDeprecatedType instance\nfunc NewShowcaseTrashedDeprecatedType(Description string) *ShowcaseTrashedDeprecatedType {\n\ts := new(ShowcaseTrashedDeprecatedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseTrashedDetails : Deleted showcase.\ntype ShowcaseTrashedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseTrashedDetails returns a new ShowcaseTrashedDetails instance\nfunc NewShowcaseTrashedDetails(EventUuid string) *ShowcaseTrashedDetails {\n\ts := new(ShowcaseTrashedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseTrashedType : has no documentation (yet)\ntype ShowcaseTrashedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseTrashedType returns a new ShowcaseTrashedType instance\nfunc NewShowcaseTrashedType(Description string) *ShowcaseTrashedType {\n\ts := new(ShowcaseTrashedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseUnresolveCommentDetails : Unresolved showcase comment.\ntype ShowcaseUnresolveCommentDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n\t// CommentText : Comment text.\n\tCommentText string `json:\"comment_text,omitempty\"`\n}\n\n// NewShowcaseUnresolveCommentDetails returns a new ShowcaseUnresolveCommentDetails instance\nfunc NewShowcaseUnresolveCommentDetails(EventUuid string) *ShowcaseUnresolveCommentDetails {\n\ts := new(ShowcaseUnresolveCommentDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseUnresolveCommentType : has no documentation (yet)\ntype ShowcaseUnresolveCommentType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseUnresolveCommentType returns a new ShowcaseUnresolveCommentType instance\nfunc NewShowcaseUnresolveCommentType(Description string) *ShowcaseUnresolveCommentType {\n\ts := new(ShowcaseUnresolveCommentType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseUntrashedDeprecatedDetails : Restored showcase (old version).\ntype ShowcaseUntrashedDeprecatedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseUntrashedDeprecatedDetails returns a new ShowcaseUntrashedDeprecatedDetails instance\nfunc NewShowcaseUntrashedDeprecatedDetails(EventUuid string) *ShowcaseUntrashedDeprecatedDetails {\n\ts := new(ShowcaseUntrashedDeprecatedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseUntrashedDeprecatedType : has no documentation (yet)\ntype ShowcaseUntrashedDeprecatedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseUntrashedDeprecatedType returns a new ShowcaseUntrashedDeprecatedType instance\nfunc NewShowcaseUntrashedDeprecatedType(Description string) *ShowcaseUntrashedDeprecatedType {\n\ts := new(ShowcaseUntrashedDeprecatedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseUntrashedDetails : Restored showcase.\ntype ShowcaseUntrashedDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseUntrashedDetails returns a new ShowcaseUntrashedDetails instance\nfunc NewShowcaseUntrashedDetails(EventUuid string) *ShowcaseUntrashedDetails {\n\ts := new(ShowcaseUntrashedDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseUntrashedType : has no documentation (yet)\ntype ShowcaseUntrashedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseUntrashedType returns a new ShowcaseUntrashedType instance\nfunc NewShowcaseUntrashedType(Description string) *ShowcaseUntrashedType {\n\ts := new(ShowcaseUntrashedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ShowcaseViewDetails : Viewed showcase.\ntype ShowcaseViewDetails struct {\n\t// EventUuid : Event unique identifier.\n\tEventUuid string `json:\"event_uuid\"`\n}\n\n// NewShowcaseViewDetails returns a new ShowcaseViewDetails instance\nfunc NewShowcaseViewDetails(EventUuid string) *ShowcaseViewDetails {\n\ts := new(ShowcaseViewDetails)\n\ts.EventUuid = EventUuid\n\treturn s\n}\n\n// ShowcaseViewType : has no documentation (yet)\ntype ShowcaseViewType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewShowcaseViewType returns a new ShowcaseViewType instance\nfunc NewShowcaseViewType(Description string) *ShowcaseViewType {\n\ts := new(ShowcaseViewType)\n\ts.Description = Description\n\treturn s\n}\n\n// SignInAsSessionEndDetails : Ended admin sign-in-as session.\ntype SignInAsSessionEndDetails struct {\n}\n\n// NewSignInAsSessionEndDetails returns a new SignInAsSessionEndDetails instance\nfunc NewSignInAsSessionEndDetails() *SignInAsSessionEndDetails {\n\ts := new(SignInAsSessionEndDetails)\n\treturn s\n}\n\n// SignInAsSessionEndType : has no documentation (yet)\ntype SignInAsSessionEndType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSignInAsSessionEndType returns a new SignInAsSessionEndType instance\nfunc NewSignInAsSessionEndType(Description string) *SignInAsSessionEndType {\n\ts := new(SignInAsSessionEndType)\n\ts.Description = Description\n\treturn s\n}\n\n// SignInAsSessionStartDetails : Started admin sign-in-as session.\ntype SignInAsSessionStartDetails struct {\n}\n\n// NewSignInAsSessionStartDetails returns a new SignInAsSessionStartDetails instance\nfunc NewSignInAsSessionStartDetails() *SignInAsSessionStartDetails {\n\ts := new(SignInAsSessionStartDetails)\n\treturn s\n}\n\n// SignInAsSessionStartType : has no documentation (yet)\ntype SignInAsSessionStartType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSignInAsSessionStartType returns a new SignInAsSessionStartType instance\nfunc NewSignInAsSessionStartType(Description string) *SignInAsSessionStartType {\n\ts := new(SignInAsSessionStartType)\n\ts.Description = Description\n\treturn s\n}\n\n// SmartSyncChangePolicyDetails : Changed default Smart Sync setting for team\n// members.\ntype SmartSyncChangePolicyDetails struct {\n\t// NewValue : New smart sync policy.\n\tNewValue *team_policies.SmartSyncPolicy `json:\"new_value,omitempty\"`\n\t// PreviousValue : Previous smart sync policy.\n\tPreviousValue *team_policies.SmartSyncPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewSmartSyncChangePolicyDetails returns a new SmartSyncChangePolicyDetails instance\nfunc NewSmartSyncChangePolicyDetails() *SmartSyncChangePolicyDetails {\n\ts := new(SmartSyncChangePolicyDetails)\n\treturn s\n}\n\n// SmartSyncChangePolicyType : has no documentation (yet)\ntype SmartSyncChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSmartSyncChangePolicyType returns a new SmartSyncChangePolicyType instance\nfunc NewSmartSyncChangePolicyType(Description string) *SmartSyncChangePolicyType {\n\ts := new(SmartSyncChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SmartSyncCreateAdminPrivilegeReportDetails : Created Smart Sync non-admin\n// devices report.\ntype SmartSyncCreateAdminPrivilegeReportDetails struct {\n}\n\n// NewSmartSyncCreateAdminPrivilegeReportDetails returns a new SmartSyncCreateAdminPrivilegeReportDetails instance\nfunc NewSmartSyncCreateAdminPrivilegeReportDetails() *SmartSyncCreateAdminPrivilegeReportDetails {\n\ts := new(SmartSyncCreateAdminPrivilegeReportDetails)\n\treturn s\n}\n\n// SmartSyncCreateAdminPrivilegeReportType : has no documentation (yet)\ntype SmartSyncCreateAdminPrivilegeReportType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSmartSyncCreateAdminPrivilegeReportType returns a new SmartSyncCreateAdminPrivilegeReportType instance\nfunc NewSmartSyncCreateAdminPrivilegeReportType(Description string) *SmartSyncCreateAdminPrivilegeReportType {\n\ts := new(SmartSyncCreateAdminPrivilegeReportType)\n\ts.Description = Description\n\treturn s\n}\n\n// SmartSyncNotOptOutDetails : Opted team into Smart Sync.\ntype SmartSyncNotOptOutDetails struct {\n\t// PreviousValue : Previous Smart Sync opt out policy.\n\tPreviousValue *SmartSyncOptOutPolicy `json:\"previous_value\"`\n\t// NewValue : New Smart Sync opt out policy.\n\tNewValue *SmartSyncOptOutPolicy `json:\"new_value\"`\n}\n\n// NewSmartSyncNotOptOutDetails returns a new SmartSyncNotOptOutDetails instance\nfunc NewSmartSyncNotOptOutDetails(PreviousValue *SmartSyncOptOutPolicy, NewValue *SmartSyncOptOutPolicy) *SmartSyncNotOptOutDetails {\n\ts := new(SmartSyncNotOptOutDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SmartSyncNotOptOutType : has no documentation (yet)\ntype SmartSyncNotOptOutType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSmartSyncNotOptOutType returns a new SmartSyncNotOptOutType instance\nfunc NewSmartSyncNotOptOutType(Description string) *SmartSyncNotOptOutType {\n\ts := new(SmartSyncNotOptOutType)\n\ts.Description = Description\n\treturn s\n}\n\n// SmartSyncOptOutDetails : Opted team out of Smart Sync.\ntype SmartSyncOptOutDetails struct {\n\t// PreviousValue : Previous Smart Sync opt out policy.\n\tPreviousValue *SmartSyncOptOutPolicy `json:\"previous_value\"`\n\t// NewValue : New Smart Sync opt out policy.\n\tNewValue *SmartSyncOptOutPolicy `json:\"new_value\"`\n}\n\n// NewSmartSyncOptOutDetails returns a new SmartSyncOptOutDetails instance\nfunc NewSmartSyncOptOutDetails(PreviousValue *SmartSyncOptOutPolicy, NewValue *SmartSyncOptOutPolicy) *SmartSyncOptOutDetails {\n\ts := new(SmartSyncOptOutDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SmartSyncOptOutPolicy : has no documentation (yet)\ntype SmartSyncOptOutPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SmartSyncOptOutPolicy\nconst (\n\tSmartSyncOptOutPolicyDefault  = \"default\"\n\tSmartSyncOptOutPolicyOptedOut = \"opted_out\"\n\tSmartSyncOptOutPolicyOther    = \"other\"\n)\n\n// SmartSyncOptOutType : has no documentation (yet)\ntype SmartSyncOptOutType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSmartSyncOptOutType returns a new SmartSyncOptOutType instance\nfunc NewSmartSyncOptOutType(Description string) *SmartSyncOptOutType {\n\ts := new(SmartSyncOptOutType)\n\ts.Description = Description\n\treturn s\n}\n\n// SmarterSmartSyncPolicyChangedDetails : Changed automatic Smart Sync setting\n// for team.\ntype SmarterSmartSyncPolicyChangedDetails struct {\n\t// PreviousValue : Previous automatic Smart Sync setting.\n\tPreviousValue *team_policies.SmarterSmartSyncPolicyState `json:\"previous_value\"`\n\t// NewValue : New automatic Smart Sync setting.\n\tNewValue *team_policies.SmarterSmartSyncPolicyState `json:\"new_value\"`\n}\n\n// NewSmarterSmartSyncPolicyChangedDetails returns a new SmarterSmartSyncPolicyChangedDetails instance\nfunc NewSmarterSmartSyncPolicyChangedDetails(PreviousValue *team_policies.SmarterSmartSyncPolicyState, NewValue *team_policies.SmarterSmartSyncPolicyState) *SmarterSmartSyncPolicyChangedDetails {\n\ts := new(SmarterSmartSyncPolicyChangedDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SmarterSmartSyncPolicyChangedType : has no documentation (yet)\ntype SmarterSmartSyncPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSmarterSmartSyncPolicyChangedType returns a new SmarterSmartSyncPolicyChangedType instance\nfunc NewSmarterSmartSyncPolicyChangedType(Description string) *SmarterSmartSyncPolicyChangedType {\n\ts := new(SmarterSmartSyncPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// SpaceCapsType : Space limit alert policy\ntype SpaceCapsType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SpaceCapsType\nconst (\n\tSpaceCapsTypeHard  = \"hard\"\n\tSpaceCapsTypeOff   = \"off\"\n\tSpaceCapsTypeSoft  = \"soft\"\n\tSpaceCapsTypeOther = \"other\"\n)\n\n// SpaceLimitsStatus : has no documentation (yet)\ntype SpaceLimitsStatus struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SpaceLimitsStatus\nconst (\n\tSpaceLimitsStatusNearQuota   = \"near_quota\"\n\tSpaceLimitsStatusOverQuota   = \"over_quota\"\n\tSpaceLimitsStatusWithinQuota = \"within_quota\"\n\tSpaceLimitsStatusOther       = \"other\"\n)\n\n// SsoAddCertDetails : Added X.509 certificate for SSO.\ntype SsoAddCertDetails struct {\n\t// CertificateDetails : SSO certificate details.\n\tCertificateDetails *Certificate `json:\"certificate_details\"`\n}\n\n// NewSsoAddCertDetails returns a new SsoAddCertDetails instance\nfunc NewSsoAddCertDetails(CertificateDetails *Certificate) *SsoAddCertDetails {\n\ts := new(SsoAddCertDetails)\n\ts.CertificateDetails = CertificateDetails\n\treturn s\n}\n\n// SsoAddCertType : has no documentation (yet)\ntype SsoAddCertType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSsoAddCertType returns a new SsoAddCertType instance\nfunc NewSsoAddCertType(Description string) *SsoAddCertType {\n\ts := new(SsoAddCertType)\n\ts.Description = Description\n\treturn s\n}\n\n// SsoAddLoginUrlDetails : Added sign-in URL for SSO.\ntype SsoAddLoginUrlDetails struct {\n\t// NewValue : New single sign-on login URL.\n\tNewValue string `json:\"new_value\"`\n}\n\n// NewSsoAddLoginUrlDetails returns a new SsoAddLoginUrlDetails instance\nfunc NewSsoAddLoginUrlDetails(NewValue string) *SsoAddLoginUrlDetails {\n\ts := new(SsoAddLoginUrlDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SsoAddLoginUrlType : has no documentation (yet)\ntype SsoAddLoginUrlType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSsoAddLoginUrlType returns a new SsoAddLoginUrlType instance\nfunc NewSsoAddLoginUrlType(Description string) *SsoAddLoginUrlType {\n\ts := new(SsoAddLoginUrlType)\n\ts.Description = Description\n\treturn s\n}\n\n// SsoAddLogoutUrlDetails : Added sign-out URL for SSO.\ntype SsoAddLogoutUrlDetails struct {\n\t// NewValue : New single sign-on logout URL.\n\tNewValue string `json:\"new_value,omitempty\"`\n}\n\n// NewSsoAddLogoutUrlDetails returns a new SsoAddLogoutUrlDetails instance\nfunc NewSsoAddLogoutUrlDetails() *SsoAddLogoutUrlDetails {\n\ts := new(SsoAddLogoutUrlDetails)\n\treturn s\n}\n\n// SsoAddLogoutUrlType : has no documentation (yet)\ntype SsoAddLogoutUrlType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSsoAddLogoutUrlType returns a new SsoAddLogoutUrlType instance\nfunc NewSsoAddLogoutUrlType(Description string) *SsoAddLogoutUrlType {\n\ts := new(SsoAddLogoutUrlType)\n\ts.Description = Description\n\treturn s\n}\n\n// SsoChangeCertDetails : Changed X.509 certificate for SSO.\ntype SsoChangeCertDetails struct {\n\t// PreviousCertificateDetails : Previous SSO certificate details. Might be\n\t// missing due to historical data gap.\n\tPreviousCertificateDetails *Certificate `json:\"previous_certificate_details,omitempty\"`\n\t// NewCertificateDetails : New SSO certificate details.\n\tNewCertificateDetails *Certificate `json:\"new_certificate_details\"`\n}\n\n// NewSsoChangeCertDetails returns a new SsoChangeCertDetails instance\nfunc NewSsoChangeCertDetails(NewCertificateDetails *Certificate) *SsoChangeCertDetails {\n\ts := new(SsoChangeCertDetails)\n\ts.NewCertificateDetails = NewCertificateDetails\n\treturn s\n}\n\n// SsoChangeCertType : has no documentation (yet)\ntype SsoChangeCertType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSsoChangeCertType returns a new SsoChangeCertType instance\nfunc NewSsoChangeCertType(Description string) *SsoChangeCertType {\n\ts := new(SsoChangeCertType)\n\ts.Description = Description\n\treturn s\n}\n\n// SsoChangeLoginUrlDetails : Changed sign-in URL for SSO.\ntype SsoChangeLoginUrlDetails struct {\n\t// PreviousValue : Previous single sign-on login URL.\n\tPreviousValue string `json:\"previous_value\"`\n\t// NewValue : New single sign-on login URL.\n\tNewValue string `json:\"new_value\"`\n}\n\n// NewSsoChangeLoginUrlDetails returns a new SsoChangeLoginUrlDetails instance\nfunc NewSsoChangeLoginUrlDetails(PreviousValue string, NewValue string) *SsoChangeLoginUrlDetails {\n\ts := new(SsoChangeLoginUrlDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SsoChangeLoginUrlType : has no documentation (yet)\ntype SsoChangeLoginUrlType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSsoChangeLoginUrlType returns a new SsoChangeLoginUrlType instance\nfunc NewSsoChangeLoginUrlType(Description string) *SsoChangeLoginUrlType {\n\ts := new(SsoChangeLoginUrlType)\n\ts.Description = Description\n\treturn s\n}\n\n// SsoChangeLogoutUrlDetails : Changed sign-out URL for SSO.\ntype SsoChangeLogoutUrlDetails struct {\n\t// PreviousValue : Previous single sign-on logout URL. Might be missing due\n\t// to historical data gap.\n\tPreviousValue string `json:\"previous_value,omitempty\"`\n\t// NewValue : New single sign-on logout URL.\n\tNewValue string `json:\"new_value,omitempty\"`\n}\n\n// NewSsoChangeLogoutUrlDetails returns a new SsoChangeLogoutUrlDetails instance\nfunc NewSsoChangeLogoutUrlDetails() *SsoChangeLogoutUrlDetails {\n\ts := new(SsoChangeLogoutUrlDetails)\n\treturn s\n}\n\n// SsoChangeLogoutUrlType : has no documentation (yet)\ntype SsoChangeLogoutUrlType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSsoChangeLogoutUrlType returns a new SsoChangeLogoutUrlType instance\nfunc NewSsoChangeLogoutUrlType(Description string) *SsoChangeLogoutUrlType {\n\ts := new(SsoChangeLogoutUrlType)\n\ts.Description = Description\n\treturn s\n}\n\n// SsoChangePolicyDetails : Changed single sign-on setting for team.\ntype SsoChangePolicyDetails struct {\n\t// NewValue : New single sign-on policy.\n\tNewValue *team_policies.SsoPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous single sign-on policy. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *team_policies.SsoPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewSsoChangePolicyDetails returns a new SsoChangePolicyDetails instance\nfunc NewSsoChangePolicyDetails(NewValue *team_policies.SsoPolicy) *SsoChangePolicyDetails {\n\ts := new(SsoChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SsoChangePolicyType : has no documentation (yet)\ntype SsoChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSsoChangePolicyType returns a new SsoChangePolicyType instance\nfunc NewSsoChangePolicyType(Description string) *SsoChangePolicyType {\n\ts := new(SsoChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// SsoChangeSamlIdentityModeDetails : Changed SAML identity mode for SSO.\ntype SsoChangeSamlIdentityModeDetails struct {\n\t// PreviousValue : Previous single sign-on identity mode.\n\tPreviousValue int64 `json:\"previous_value\"`\n\t// NewValue : New single sign-on identity mode.\n\tNewValue int64 `json:\"new_value\"`\n}\n\n// NewSsoChangeSamlIdentityModeDetails returns a new SsoChangeSamlIdentityModeDetails instance\nfunc NewSsoChangeSamlIdentityModeDetails(PreviousValue int64, NewValue int64) *SsoChangeSamlIdentityModeDetails {\n\ts := new(SsoChangeSamlIdentityModeDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// SsoChangeSamlIdentityModeType : has no documentation (yet)\ntype SsoChangeSamlIdentityModeType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSsoChangeSamlIdentityModeType returns a new SsoChangeSamlIdentityModeType instance\nfunc NewSsoChangeSamlIdentityModeType(Description string) *SsoChangeSamlIdentityModeType {\n\ts := new(SsoChangeSamlIdentityModeType)\n\ts.Description = Description\n\treturn s\n}\n\n// SsoErrorDetails : Failed to sign in via SSO.\ntype SsoErrorDetails struct {\n\t// ErrorDetails : Error details.\n\tErrorDetails *FailureDetailsLogInfo `json:\"error_details\"`\n}\n\n// NewSsoErrorDetails returns a new SsoErrorDetails instance\nfunc NewSsoErrorDetails(ErrorDetails *FailureDetailsLogInfo) *SsoErrorDetails {\n\ts := new(SsoErrorDetails)\n\ts.ErrorDetails = ErrorDetails\n\treturn s\n}\n\n// SsoErrorType : has no documentation (yet)\ntype SsoErrorType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSsoErrorType returns a new SsoErrorType instance\nfunc NewSsoErrorType(Description string) *SsoErrorType {\n\ts := new(SsoErrorType)\n\ts.Description = Description\n\treturn s\n}\n\n// SsoRemoveCertDetails : Removed X.509 certificate for SSO.\ntype SsoRemoveCertDetails struct {\n}\n\n// NewSsoRemoveCertDetails returns a new SsoRemoveCertDetails instance\nfunc NewSsoRemoveCertDetails() *SsoRemoveCertDetails {\n\ts := new(SsoRemoveCertDetails)\n\treturn s\n}\n\n// SsoRemoveCertType : has no documentation (yet)\ntype SsoRemoveCertType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSsoRemoveCertType returns a new SsoRemoveCertType instance\nfunc NewSsoRemoveCertType(Description string) *SsoRemoveCertType {\n\ts := new(SsoRemoveCertType)\n\ts.Description = Description\n\treturn s\n}\n\n// SsoRemoveLoginUrlDetails : Removed sign-in URL for SSO.\ntype SsoRemoveLoginUrlDetails struct {\n\t// PreviousValue : Previous single sign-on login URL.\n\tPreviousValue string `json:\"previous_value\"`\n}\n\n// NewSsoRemoveLoginUrlDetails returns a new SsoRemoveLoginUrlDetails instance\nfunc NewSsoRemoveLoginUrlDetails(PreviousValue string) *SsoRemoveLoginUrlDetails {\n\ts := new(SsoRemoveLoginUrlDetails)\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// SsoRemoveLoginUrlType : has no documentation (yet)\ntype SsoRemoveLoginUrlType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSsoRemoveLoginUrlType returns a new SsoRemoveLoginUrlType instance\nfunc NewSsoRemoveLoginUrlType(Description string) *SsoRemoveLoginUrlType {\n\ts := new(SsoRemoveLoginUrlType)\n\ts.Description = Description\n\treturn s\n}\n\n// SsoRemoveLogoutUrlDetails : Removed sign-out URL for SSO.\ntype SsoRemoveLogoutUrlDetails struct {\n\t// PreviousValue : Previous single sign-on logout URL.\n\tPreviousValue string `json:\"previous_value\"`\n}\n\n// NewSsoRemoveLogoutUrlDetails returns a new SsoRemoveLogoutUrlDetails instance\nfunc NewSsoRemoveLogoutUrlDetails(PreviousValue string) *SsoRemoveLogoutUrlDetails {\n\ts := new(SsoRemoveLogoutUrlDetails)\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// SsoRemoveLogoutUrlType : has no documentation (yet)\ntype SsoRemoveLogoutUrlType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewSsoRemoveLogoutUrlType returns a new SsoRemoveLogoutUrlType instance\nfunc NewSsoRemoveLogoutUrlType(Description string) *SsoRemoveLogoutUrlType {\n\ts := new(SsoRemoveLogoutUrlType)\n\ts.Description = Description\n\treturn s\n}\n\n// StartedEnterpriseAdminSessionDetails : Started enterprise admin session.\ntype StartedEnterpriseAdminSessionDetails struct {\n\t// FederationExtraDetails : More information about the organization or team.\n\tFederationExtraDetails *FedExtraDetails `json:\"federation_extra_details\"`\n}\n\n// NewStartedEnterpriseAdminSessionDetails returns a new StartedEnterpriseAdminSessionDetails instance\nfunc NewStartedEnterpriseAdminSessionDetails(FederationExtraDetails *FedExtraDetails) *StartedEnterpriseAdminSessionDetails {\n\ts := new(StartedEnterpriseAdminSessionDetails)\n\ts.FederationExtraDetails = FederationExtraDetails\n\treturn s\n}\n\n// StartedEnterpriseAdminSessionType : has no documentation (yet)\ntype StartedEnterpriseAdminSessionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewStartedEnterpriseAdminSessionType returns a new StartedEnterpriseAdminSessionType instance\nfunc NewStartedEnterpriseAdminSessionType(Description string) *StartedEnterpriseAdminSessionType {\n\ts := new(StartedEnterpriseAdminSessionType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamActivityCreateReportDetails : Created team activity report.\ntype TeamActivityCreateReportDetails struct {\n\t// StartDate : Report start date.\n\tStartDate time.Time `json:\"start_date\"`\n\t// EndDate : Report end date.\n\tEndDate time.Time `json:\"end_date\"`\n}\n\n// NewTeamActivityCreateReportDetails returns a new TeamActivityCreateReportDetails instance\nfunc NewTeamActivityCreateReportDetails(StartDate time.Time, EndDate time.Time) *TeamActivityCreateReportDetails {\n\ts := new(TeamActivityCreateReportDetails)\n\ts.StartDate = StartDate\n\ts.EndDate = EndDate\n\treturn s\n}\n\n// TeamActivityCreateReportFailDetails : Couldn't generate team activity report.\ntype TeamActivityCreateReportFailDetails struct {\n\t// FailureReason : Failure reason.\n\tFailureReason *team.TeamReportFailureReason `json:\"failure_reason\"`\n}\n\n// NewTeamActivityCreateReportFailDetails returns a new TeamActivityCreateReportFailDetails instance\nfunc NewTeamActivityCreateReportFailDetails(FailureReason *team.TeamReportFailureReason) *TeamActivityCreateReportFailDetails {\n\ts := new(TeamActivityCreateReportFailDetails)\n\ts.FailureReason = FailureReason\n\treturn s\n}\n\n// TeamActivityCreateReportFailType : has no documentation (yet)\ntype TeamActivityCreateReportFailType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamActivityCreateReportFailType returns a new TeamActivityCreateReportFailType instance\nfunc NewTeamActivityCreateReportFailType(Description string) *TeamActivityCreateReportFailType {\n\ts := new(TeamActivityCreateReportFailType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamActivityCreateReportType : has no documentation (yet)\ntype TeamActivityCreateReportType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamActivityCreateReportType returns a new TeamActivityCreateReportType instance\nfunc NewTeamActivityCreateReportType(Description string) *TeamActivityCreateReportType {\n\ts := new(TeamActivityCreateReportType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamBrandingPolicy : Policy for controlling team access to setting up\n// branding feature\ntype TeamBrandingPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TeamBrandingPolicy\nconst (\n\tTeamBrandingPolicyDisabled = \"disabled\"\n\tTeamBrandingPolicyEnabled  = \"enabled\"\n\tTeamBrandingPolicyOther    = \"other\"\n)\n\n// TeamBrandingPolicyChangedDetails : Changed team branding policy for team.\ntype TeamBrandingPolicyChangedDetails struct {\n\t// NewValue : New team branding policy.\n\tNewValue *TeamBrandingPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous team branding policy.\n\tPreviousValue *TeamBrandingPolicy `json:\"previous_value\"`\n}\n\n// NewTeamBrandingPolicyChangedDetails returns a new TeamBrandingPolicyChangedDetails instance\nfunc NewTeamBrandingPolicyChangedDetails(NewValue *TeamBrandingPolicy, PreviousValue *TeamBrandingPolicy) *TeamBrandingPolicyChangedDetails {\n\ts := new(TeamBrandingPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// TeamBrandingPolicyChangedType : has no documentation (yet)\ntype TeamBrandingPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamBrandingPolicyChangedType returns a new TeamBrandingPolicyChangedType instance\nfunc NewTeamBrandingPolicyChangedType(Description string) *TeamBrandingPolicyChangedType {\n\ts := new(TeamBrandingPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamDetails : More details about the team.\ntype TeamDetails struct {\n\t// Team : The name of the team.\n\tTeam string `json:\"team\"`\n}\n\n// NewTeamDetails returns a new TeamDetails instance\nfunc NewTeamDetails(Team string) *TeamDetails {\n\ts := new(TeamDetails)\n\ts.Team = Team\n\treturn s\n}\n\n// TeamEvent : An audit log event.\ntype TeamEvent struct {\n\t// Timestamp : The Dropbox timestamp representing when the action was taken.\n\tTimestamp time.Time `json:\"timestamp\"`\n\t// EventCategory : The category that this type of action belongs to.\n\tEventCategory *EventCategory `json:\"event_category\"`\n\t// Actor : The entity who actually performed the action. Might be missing\n\t// due to historical data gap.\n\tActor *ActorLogInfo `json:\"actor,omitempty\"`\n\t// Origin : The origin from which the actor performed the action including\n\t// information about host, ip address, location, session, etc. If the action\n\t// was performed programmatically via the API the origin represents the API\n\t// client.\n\tOrigin *OriginLogInfo `json:\"origin,omitempty\"`\n\t// InvolveNonTeamMember : True if the action involved a non team member\n\t// either as the actor or as one of the affected users. Might be missing due\n\t// to historical data gap.\n\tInvolveNonTeamMember bool `json:\"involve_non_team_member,omitempty\"`\n\t// Context : The user or team on whose behalf the actor performed the\n\t// action. Might be missing due to historical data gap.\n\tContext *ContextLogInfo `json:\"context,omitempty\"`\n\t// Participants : Zero or more users and/or groups that are affected by the\n\t// action. Note that this list doesn't include any actors or users in\n\t// context.\n\tParticipants []*ParticipantLogInfo `json:\"participants,omitempty\"`\n\t// Assets : Zero or more content assets involved in the action. Currently\n\t// these include Dropbox files and folders but in the future we might add\n\t// other asset types such as Paper documents, folders, projects, etc.\n\tAssets []*AssetLogInfo `json:\"assets,omitempty\"`\n\t// EventType : The particular type of action taken.\n\tEventType *EventType `json:\"event_type\"`\n\t// Details : The variable event schema applicable to this type of action,\n\t// instantiated with respect to this particular action.\n\tDetails *EventDetails `json:\"details\"`\n}\n\n// NewTeamEvent returns a new TeamEvent instance\nfunc NewTeamEvent(Timestamp time.Time, EventCategory *EventCategory, EventType *EventType, Details *EventDetails) *TeamEvent {\n\ts := new(TeamEvent)\n\ts.Timestamp = Timestamp\n\ts.EventCategory = EventCategory\n\ts.EventType = EventType\n\ts.Details = Details\n\treturn s\n}\n\n// TeamExtensionsPolicy : Policy for controlling whether App Integrations are\n// enabled for the team.\ntype TeamExtensionsPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TeamExtensionsPolicy\nconst (\n\tTeamExtensionsPolicyDisabled = \"disabled\"\n\tTeamExtensionsPolicyEnabled  = \"enabled\"\n\tTeamExtensionsPolicyOther    = \"other\"\n)\n\n// TeamExtensionsPolicyChangedDetails : Changed App Integrations setting for\n// team.\ntype TeamExtensionsPolicyChangedDetails struct {\n\t// NewValue : New Extensions policy.\n\tNewValue *TeamExtensionsPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous Extensions policy.\n\tPreviousValue *TeamExtensionsPolicy `json:\"previous_value\"`\n}\n\n// NewTeamExtensionsPolicyChangedDetails returns a new TeamExtensionsPolicyChangedDetails instance\nfunc NewTeamExtensionsPolicyChangedDetails(NewValue *TeamExtensionsPolicy, PreviousValue *TeamExtensionsPolicy) *TeamExtensionsPolicyChangedDetails {\n\ts := new(TeamExtensionsPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// TeamExtensionsPolicyChangedType : has no documentation (yet)\ntype TeamExtensionsPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamExtensionsPolicyChangedType returns a new TeamExtensionsPolicyChangedType instance\nfunc NewTeamExtensionsPolicyChangedType(Description string) *TeamExtensionsPolicyChangedType {\n\ts := new(TeamExtensionsPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamFolderChangeStatusDetails : Changed archival status of team folder.\ntype TeamFolderChangeStatusDetails struct {\n\t// NewValue : New team folder status.\n\tNewValue *team.TeamFolderStatus `json:\"new_value\"`\n\t// PreviousValue : Previous team folder status. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *team.TeamFolderStatus `json:\"previous_value,omitempty\"`\n}\n\n// NewTeamFolderChangeStatusDetails returns a new TeamFolderChangeStatusDetails instance\nfunc NewTeamFolderChangeStatusDetails(NewValue *team.TeamFolderStatus) *TeamFolderChangeStatusDetails {\n\ts := new(TeamFolderChangeStatusDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// TeamFolderChangeStatusType : has no documentation (yet)\ntype TeamFolderChangeStatusType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamFolderChangeStatusType returns a new TeamFolderChangeStatusType instance\nfunc NewTeamFolderChangeStatusType(Description string) *TeamFolderChangeStatusType {\n\ts := new(TeamFolderChangeStatusType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamFolderCreateDetails : Created team folder in active status.\ntype TeamFolderCreateDetails struct {\n}\n\n// NewTeamFolderCreateDetails returns a new TeamFolderCreateDetails instance\nfunc NewTeamFolderCreateDetails() *TeamFolderCreateDetails {\n\ts := new(TeamFolderCreateDetails)\n\treturn s\n}\n\n// TeamFolderCreateType : has no documentation (yet)\ntype TeamFolderCreateType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamFolderCreateType returns a new TeamFolderCreateType instance\nfunc NewTeamFolderCreateType(Description string) *TeamFolderCreateType {\n\ts := new(TeamFolderCreateType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamFolderDowngradeDetails : Downgraded team folder to regular shared folder.\ntype TeamFolderDowngradeDetails struct {\n\t// TargetAssetIndex : Target asset position in the Assets list.\n\tTargetAssetIndex uint64 `json:\"target_asset_index\"`\n}\n\n// NewTeamFolderDowngradeDetails returns a new TeamFolderDowngradeDetails instance\nfunc NewTeamFolderDowngradeDetails(TargetAssetIndex uint64) *TeamFolderDowngradeDetails {\n\ts := new(TeamFolderDowngradeDetails)\n\ts.TargetAssetIndex = TargetAssetIndex\n\treturn s\n}\n\n// TeamFolderDowngradeType : has no documentation (yet)\ntype TeamFolderDowngradeType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamFolderDowngradeType returns a new TeamFolderDowngradeType instance\nfunc NewTeamFolderDowngradeType(Description string) *TeamFolderDowngradeType {\n\ts := new(TeamFolderDowngradeType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamFolderPermanentlyDeleteDetails : Permanently deleted archived team\n// folder.\ntype TeamFolderPermanentlyDeleteDetails struct {\n}\n\n// NewTeamFolderPermanentlyDeleteDetails returns a new TeamFolderPermanentlyDeleteDetails instance\nfunc NewTeamFolderPermanentlyDeleteDetails() *TeamFolderPermanentlyDeleteDetails {\n\ts := new(TeamFolderPermanentlyDeleteDetails)\n\treturn s\n}\n\n// TeamFolderPermanentlyDeleteType : has no documentation (yet)\ntype TeamFolderPermanentlyDeleteType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamFolderPermanentlyDeleteType returns a new TeamFolderPermanentlyDeleteType instance\nfunc NewTeamFolderPermanentlyDeleteType(Description string) *TeamFolderPermanentlyDeleteType {\n\ts := new(TeamFolderPermanentlyDeleteType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamFolderRenameDetails : Renamed active/archived team folder.\ntype TeamFolderRenameDetails struct {\n\t// PreviousFolderName : Previous folder name.\n\tPreviousFolderName string `json:\"previous_folder_name\"`\n\t// NewFolderName : New folder name.\n\tNewFolderName string `json:\"new_folder_name\"`\n}\n\n// NewTeamFolderRenameDetails returns a new TeamFolderRenameDetails instance\nfunc NewTeamFolderRenameDetails(PreviousFolderName string, NewFolderName string) *TeamFolderRenameDetails {\n\ts := new(TeamFolderRenameDetails)\n\ts.PreviousFolderName = PreviousFolderName\n\ts.NewFolderName = NewFolderName\n\treturn s\n}\n\n// TeamFolderRenameType : has no documentation (yet)\ntype TeamFolderRenameType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamFolderRenameType returns a new TeamFolderRenameType instance\nfunc NewTeamFolderRenameType(Description string) *TeamFolderRenameType {\n\ts := new(TeamFolderRenameType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamInviteDetails : Details about team invites\ntype TeamInviteDetails struct {\n\t// InviteMethod : How the user was invited to the team.\n\tInviteMethod *InviteMethod `json:\"invite_method\"`\n\t// AdditionalLicensePurchase : True if the invitation incurred an additional\n\t// license purchase.\n\tAdditionalLicensePurchase bool `json:\"additional_license_purchase,omitempty\"`\n}\n\n// NewTeamInviteDetails returns a new TeamInviteDetails instance\nfunc NewTeamInviteDetails(InviteMethod *InviteMethod) *TeamInviteDetails {\n\ts := new(TeamInviteDetails)\n\ts.InviteMethod = InviteMethod\n\treturn s\n}\n\n// TeamLinkedAppLogInfo : Team linked app\ntype TeamLinkedAppLogInfo struct {\n\tAppLogInfo\n}\n\n// NewTeamLinkedAppLogInfo returns a new TeamLinkedAppLogInfo instance\nfunc NewTeamLinkedAppLogInfo() *TeamLinkedAppLogInfo {\n\ts := new(TeamLinkedAppLogInfo)\n\treturn s\n}\n\n// TeamLogInfo : Team's logged information.\ntype TeamLogInfo struct {\n\t// DisplayName : Team display name.\n\tDisplayName string `json:\"display_name\"`\n}\n\n// NewTeamLogInfo returns a new TeamLogInfo instance\nfunc NewTeamLogInfo(DisplayName string) *TeamLogInfo {\n\ts := new(TeamLogInfo)\n\ts.DisplayName = DisplayName\n\treturn s\n}\n\n// TeamMemberLogInfo : Team member's logged information.\ntype TeamMemberLogInfo struct {\n\tUserLogInfo\n\t// TeamMemberId : Team member ID.\n\tTeamMemberId string `json:\"team_member_id,omitempty\"`\n\t// MemberExternalId : Team member external ID.\n\tMemberExternalId string `json:\"member_external_id,omitempty\"`\n\t// Team : Details about this user&#x2019s team for enterprise event.\n\tTeam *TeamLogInfo `json:\"team,omitempty\"`\n}\n\n// NewTeamMemberLogInfo returns a new TeamMemberLogInfo instance\nfunc NewTeamMemberLogInfo() *TeamMemberLogInfo {\n\ts := new(TeamMemberLogInfo)\n\treturn s\n}\n\n// TeamMembershipType : has no documentation (yet)\ntype TeamMembershipType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TeamMembershipType\nconst (\n\tTeamMembershipTypeFree  = \"free\"\n\tTeamMembershipTypeFull  = \"full\"\n\tTeamMembershipTypeGuest = \"guest\"\n\tTeamMembershipTypeOther = \"other\"\n)\n\n// TeamMergeFromDetails : Merged another team into this team.\ntype TeamMergeFromDetails struct {\n\t// TeamName : The name of the team that was merged into this team.\n\tTeamName string `json:\"team_name\"`\n}\n\n// NewTeamMergeFromDetails returns a new TeamMergeFromDetails instance\nfunc NewTeamMergeFromDetails(TeamName string) *TeamMergeFromDetails {\n\ts := new(TeamMergeFromDetails)\n\ts.TeamName = TeamName\n\treturn s\n}\n\n// TeamMergeFromType : has no documentation (yet)\ntype TeamMergeFromType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeFromType returns a new TeamMergeFromType instance\nfunc NewTeamMergeFromType(Description string) *TeamMergeFromType {\n\ts := new(TeamMergeFromType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestAcceptedDetails : Accepted a team merge request.\ntype TeamMergeRequestAcceptedDetails struct {\n\t// RequestAcceptedDetails : Team merge request acceptance details.\n\tRequestAcceptedDetails *TeamMergeRequestAcceptedExtraDetails `json:\"request_accepted_details\"`\n}\n\n// NewTeamMergeRequestAcceptedDetails returns a new TeamMergeRequestAcceptedDetails instance\nfunc NewTeamMergeRequestAcceptedDetails(RequestAcceptedDetails *TeamMergeRequestAcceptedExtraDetails) *TeamMergeRequestAcceptedDetails {\n\ts := new(TeamMergeRequestAcceptedDetails)\n\ts.RequestAcceptedDetails = RequestAcceptedDetails\n\treturn s\n}\n\n// TeamMergeRequestAcceptedExtraDetails : Team merge request acceptance details\ntype TeamMergeRequestAcceptedExtraDetails struct {\n\tdropbox.Tagged\n\t// PrimaryTeam : Team merge request accepted details shown to the primary\n\t// team.\n\tPrimaryTeam *PrimaryTeamRequestAcceptedDetails `json:\"primary_team,omitempty\"`\n\t// SecondaryTeam : Team merge request accepted details shown to the\n\t// secondary team.\n\tSecondaryTeam *SecondaryTeamRequestAcceptedDetails `json:\"secondary_team,omitempty\"`\n}\n\n// Valid tag values for TeamMergeRequestAcceptedExtraDetails\nconst (\n\tTeamMergeRequestAcceptedExtraDetailsPrimaryTeam   = \"primary_team\"\n\tTeamMergeRequestAcceptedExtraDetailsSecondaryTeam = \"secondary_team\"\n\tTeamMergeRequestAcceptedExtraDetailsOther         = \"other\"\n)\n\n// UnmarshalJSON deserializes into a TeamMergeRequestAcceptedExtraDetails instance\nfunc (u *TeamMergeRequestAcceptedExtraDetails) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"primary_team\":\n\t\tif err = json.Unmarshal(body, &u.PrimaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"secondary_team\":\n\t\tif err = json.Unmarshal(body, &u.SecondaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// TeamMergeRequestAcceptedShownToPrimaryTeamDetails : Accepted a team merge\n// request.\ntype TeamMergeRequestAcceptedShownToPrimaryTeamDetails struct {\n\t// SecondaryTeam : The secondary team name.\n\tSecondaryTeam string `json:\"secondary_team\"`\n\t// SentBy : The name of the secondary team admin who sent the request\n\t// originally.\n\tSentBy string `json:\"sent_by\"`\n}\n\n// NewTeamMergeRequestAcceptedShownToPrimaryTeamDetails returns a new TeamMergeRequestAcceptedShownToPrimaryTeamDetails instance\nfunc NewTeamMergeRequestAcceptedShownToPrimaryTeamDetails(SecondaryTeam string, SentBy string) *TeamMergeRequestAcceptedShownToPrimaryTeamDetails {\n\ts := new(TeamMergeRequestAcceptedShownToPrimaryTeamDetails)\n\ts.SecondaryTeam = SecondaryTeam\n\ts.SentBy = SentBy\n\treturn s\n}\n\n// TeamMergeRequestAcceptedShownToPrimaryTeamType : has no documentation (yet)\ntype TeamMergeRequestAcceptedShownToPrimaryTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestAcceptedShownToPrimaryTeamType returns a new TeamMergeRequestAcceptedShownToPrimaryTeamType instance\nfunc NewTeamMergeRequestAcceptedShownToPrimaryTeamType(Description string) *TeamMergeRequestAcceptedShownToPrimaryTeamType {\n\ts := new(TeamMergeRequestAcceptedShownToPrimaryTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestAcceptedShownToSecondaryTeamDetails : Accepted a team merge\n// request.\ntype TeamMergeRequestAcceptedShownToSecondaryTeamDetails struct {\n\t// PrimaryTeam : The primary team name.\n\tPrimaryTeam string `json:\"primary_team\"`\n\t// SentBy : The name of the secondary team admin who sent the request\n\t// originally.\n\tSentBy string `json:\"sent_by\"`\n}\n\n// NewTeamMergeRequestAcceptedShownToSecondaryTeamDetails returns a new TeamMergeRequestAcceptedShownToSecondaryTeamDetails instance\nfunc NewTeamMergeRequestAcceptedShownToSecondaryTeamDetails(PrimaryTeam string, SentBy string) *TeamMergeRequestAcceptedShownToSecondaryTeamDetails {\n\ts := new(TeamMergeRequestAcceptedShownToSecondaryTeamDetails)\n\ts.PrimaryTeam = PrimaryTeam\n\ts.SentBy = SentBy\n\treturn s\n}\n\n// TeamMergeRequestAcceptedShownToSecondaryTeamType : has no documentation (yet)\ntype TeamMergeRequestAcceptedShownToSecondaryTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestAcceptedShownToSecondaryTeamType returns a new TeamMergeRequestAcceptedShownToSecondaryTeamType instance\nfunc NewTeamMergeRequestAcceptedShownToSecondaryTeamType(Description string) *TeamMergeRequestAcceptedShownToSecondaryTeamType {\n\ts := new(TeamMergeRequestAcceptedShownToSecondaryTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestAcceptedType : has no documentation (yet)\ntype TeamMergeRequestAcceptedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestAcceptedType returns a new TeamMergeRequestAcceptedType instance\nfunc NewTeamMergeRequestAcceptedType(Description string) *TeamMergeRequestAcceptedType {\n\ts := new(TeamMergeRequestAcceptedType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestAutoCanceledDetails : Automatically canceled team merge\n// request.\ntype TeamMergeRequestAutoCanceledDetails struct {\n\t// Details : The cancellation reason.\n\tDetails string `json:\"details,omitempty\"`\n}\n\n// NewTeamMergeRequestAutoCanceledDetails returns a new TeamMergeRequestAutoCanceledDetails instance\nfunc NewTeamMergeRequestAutoCanceledDetails() *TeamMergeRequestAutoCanceledDetails {\n\ts := new(TeamMergeRequestAutoCanceledDetails)\n\treturn s\n}\n\n// TeamMergeRequestAutoCanceledType : has no documentation (yet)\ntype TeamMergeRequestAutoCanceledType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestAutoCanceledType returns a new TeamMergeRequestAutoCanceledType instance\nfunc NewTeamMergeRequestAutoCanceledType(Description string) *TeamMergeRequestAutoCanceledType {\n\ts := new(TeamMergeRequestAutoCanceledType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestCanceledDetails : Canceled a team merge request.\ntype TeamMergeRequestCanceledDetails struct {\n\t// RequestCanceledDetails : Team merge request cancellation details.\n\tRequestCanceledDetails *TeamMergeRequestCanceledExtraDetails `json:\"request_canceled_details\"`\n}\n\n// NewTeamMergeRequestCanceledDetails returns a new TeamMergeRequestCanceledDetails instance\nfunc NewTeamMergeRequestCanceledDetails(RequestCanceledDetails *TeamMergeRequestCanceledExtraDetails) *TeamMergeRequestCanceledDetails {\n\ts := new(TeamMergeRequestCanceledDetails)\n\ts.RequestCanceledDetails = RequestCanceledDetails\n\treturn s\n}\n\n// TeamMergeRequestCanceledExtraDetails : Team merge request cancellation\n// details\ntype TeamMergeRequestCanceledExtraDetails struct {\n\tdropbox.Tagged\n\t// PrimaryTeam : Team merge request cancellation details shown to the\n\t// primary team.\n\tPrimaryTeam *PrimaryTeamRequestCanceledDetails `json:\"primary_team,omitempty\"`\n\t// SecondaryTeam : Team merge request cancellation details shown to the\n\t// secondary team.\n\tSecondaryTeam *SecondaryTeamRequestCanceledDetails `json:\"secondary_team,omitempty\"`\n}\n\n// Valid tag values for TeamMergeRequestCanceledExtraDetails\nconst (\n\tTeamMergeRequestCanceledExtraDetailsPrimaryTeam   = \"primary_team\"\n\tTeamMergeRequestCanceledExtraDetailsSecondaryTeam = \"secondary_team\"\n\tTeamMergeRequestCanceledExtraDetailsOther         = \"other\"\n)\n\n// UnmarshalJSON deserializes into a TeamMergeRequestCanceledExtraDetails instance\nfunc (u *TeamMergeRequestCanceledExtraDetails) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"primary_team\":\n\t\tif err = json.Unmarshal(body, &u.PrimaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"secondary_team\":\n\t\tif err = json.Unmarshal(body, &u.SecondaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// TeamMergeRequestCanceledShownToPrimaryTeamDetails : Canceled a team merge\n// request.\ntype TeamMergeRequestCanceledShownToPrimaryTeamDetails struct {\n\t// SecondaryTeam : The secondary team name.\n\tSecondaryTeam string `json:\"secondary_team\"`\n\t// SentBy : The name of the secondary team admin who sent the request\n\t// originally.\n\tSentBy string `json:\"sent_by\"`\n}\n\n// NewTeamMergeRequestCanceledShownToPrimaryTeamDetails returns a new TeamMergeRequestCanceledShownToPrimaryTeamDetails instance\nfunc NewTeamMergeRequestCanceledShownToPrimaryTeamDetails(SecondaryTeam string, SentBy string) *TeamMergeRequestCanceledShownToPrimaryTeamDetails {\n\ts := new(TeamMergeRequestCanceledShownToPrimaryTeamDetails)\n\ts.SecondaryTeam = SecondaryTeam\n\ts.SentBy = SentBy\n\treturn s\n}\n\n// TeamMergeRequestCanceledShownToPrimaryTeamType : has no documentation (yet)\ntype TeamMergeRequestCanceledShownToPrimaryTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestCanceledShownToPrimaryTeamType returns a new TeamMergeRequestCanceledShownToPrimaryTeamType instance\nfunc NewTeamMergeRequestCanceledShownToPrimaryTeamType(Description string) *TeamMergeRequestCanceledShownToPrimaryTeamType {\n\ts := new(TeamMergeRequestCanceledShownToPrimaryTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestCanceledShownToSecondaryTeamDetails : Canceled a team merge\n// request.\ntype TeamMergeRequestCanceledShownToSecondaryTeamDetails struct {\n\t// SentTo : The email of the primary team admin that the request was sent\n\t// to.\n\tSentTo string `json:\"sent_to\"`\n\t// SentBy : The name of the secondary team admin who sent the request\n\t// originally.\n\tSentBy string `json:\"sent_by\"`\n}\n\n// NewTeamMergeRequestCanceledShownToSecondaryTeamDetails returns a new TeamMergeRequestCanceledShownToSecondaryTeamDetails instance\nfunc NewTeamMergeRequestCanceledShownToSecondaryTeamDetails(SentTo string, SentBy string) *TeamMergeRequestCanceledShownToSecondaryTeamDetails {\n\ts := new(TeamMergeRequestCanceledShownToSecondaryTeamDetails)\n\ts.SentTo = SentTo\n\ts.SentBy = SentBy\n\treturn s\n}\n\n// TeamMergeRequestCanceledShownToSecondaryTeamType : has no documentation (yet)\ntype TeamMergeRequestCanceledShownToSecondaryTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestCanceledShownToSecondaryTeamType returns a new TeamMergeRequestCanceledShownToSecondaryTeamType instance\nfunc NewTeamMergeRequestCanceledShownToSecondaryTeamType(Description string) *TeamMergeRequestCanceledShownToSecondaryTeamType {\n\ts := new(TeamMergeRequestCanceledShownToSecondaryTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestCanceledType : has no documentation (yet)\ntype TeamMergeRequestCanceledType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestCanceledType returns a new TeamMergeRequestCanceledType instance\nfunc NewTeamMergeRequestCanceledType(Description string) *TeamMergeRequestCanceledType {\n\ts := new(TeamMergeRequestCanceledType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestExpiredDetails : Team merge request expired.\ntype TeamMergeRequestExpiredDetails struct {\n\t// RequestExpiredDetails : Team merge request expiration details.\n\tRequestExpiredDetails *TeamMergeRequestExpiredExtraDetails `json:\"request_expired_details\"`\n}\n\n// NewTeamMergeRequestExpiredDetails returns a new TeamMergeRequestExpiredDetails instance\nfunc NewTeamMergeRequestExpiredDetails(RequestExpiredDetails *TeamMergeRequestExpiredExtraDetails) *TeamMergeRequestExpiredDetails {\n\ts := new(TeamMergeRequestExpiredDetails)\n\ts.RequestExpiredDetails = RequestExpiredDetails\n\treturn s\n}\n\n// TeamMergeRequestExpiredExtraDetails : Team merge request expiration details\ntype TeamMergeRequestExpiredExtraDetails struct {\n\tdropbox.Tagged\n\t// PrimaryTeam : Team merge request canceled details shown to the primary\n\t// team.\n\tPrimaryTeam *PrimaryTeamRequestExpiredDetails `json:\"primary_team,omitempty\"`\n\t// SecondaryTeam : Team merge request canceled details shown to the\n\t// secondary team.\n\tSecondaryTeam *SecondaryTeamRequestExpiredDetails `json:\"secondary_team,omitempty\"`\n}\n\n// Valid tag values for TeamMergeRequestExpiredExtraDetails\nconst (\n\tTeamMergeRequestExpiredExtraDetailsPrimaryTeam   = \"primary_team\"\n\tTeamMergeRequestExpiredExtraDetailsSecondaryTeam = \"secondary_team\"\n\tTeamMergeRequestExpiredExtraDetailsOther         = \"other\"\n)\n\n// UnmarshalJSON deserializes into a TeamMergeRequestExpiredExtraDetails instance\nfunc (u *TeamMergeRequestExpiredExtraDetails) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"primary_team\":\n\t\tif err = json.Unmarshal(body, &u.PrimaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"secondary_team\":\n\t\tif err = json.Unmarshal(body, &u.SecondaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// TeamMergeRequestExpiredShownToPrimaryTeamDetails : Team merge request\n// expired.\ntype TeamMergeRequestExpiredShownToPrimaryTeamDetails struct {\n\t// SecondaryTeam : The secondary team name.\n\tSecondaryTeam string `json:\"secondary_team\"`\n\t// SentBy : The name of the secondary team admin who sent the request\n\t// originally.\n\tSentBy string `json:\"sent_by\"`\n}\n\n// NewTeamMergeRequestExpiredShownToPrimaryTeamDetails returns a new TeamMergeRequestExpiredShownToPrimaryTeamDetails instance\nfunc NewTeamMergeRequestExpiredShownToPrimaryTeamDetails(SecondaryTeam string, SentBy string) *TeamMergeRequestExpiredShownToPrimaryTeamDetails {\n\ts := new(TeamMergeRequestExpiredShownToPrimaryTeamDetails)\n\ts.SecondaryTeam = SecondaryTeam\n\ts.SentBy = SentBy\n\treturn s\n}\n\n// TeamMergeRequestExpiredShownToPrimaryTeamType : has no documentation (yet)\ntype TeamMergeRequestExpiredShownToPrimaryTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestExpiredShownToPrimaryTeamType returns a new TeamMergeRequestExpiredShownToPrimaryTeamType instance\nfunc NewTeamMergeRequestExpiredShownToPrimaryTeamType(Description string) *TeamMergeRequestExpiredShownToPrimaryTeamType {\n\ts := new(TeamMergeRequestExpiredShownToPrimaryTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestExpiredShownToSecondaryTeamDetails : Team merge request\n// expired.\ntype TeamMergeRequestExpiredShownToSecondaryTeamDetails struct {\n\t// SentTo : The email of the primary team admin the request was sent to.\n\tSentTo string `json:\"sent_to\"`\n}\n\n// NewTeamMergeRequestExpiredShownToSecondaryTeamDetails returns a new TeamMergeRequestExpiredShownToSecondaryTeamDetails instance\nfunc NewTeamMergeRequestExpiredShownToSecondaryTeamDetails(SentTo string) *TeamMergeRequestExpiredShownToSecondaryTeamDetails {\n\ts := new(TeamMergeRequestExpiredShownToSecondaryTeamDetails)\n\ts.SentTo = SentTo\n\treturn s\n}\n\n// TeamMergeRequestExpiredShownToSecondaryTeamType : has no documentation (yet)\ntype TeamMergeRequestExpiredShownToSecondaryTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestExpiredShownToSecondaryTeamType returns a new TeamMergeRequestExpiredShownToSecondaryTeamType instance\nfunc NewTeamMergeRequestExpiredShownToSecondaryTeamType(Description string) *TeamMergeRequestExpiredShownToSecondaryTeamType {\n\ts := new(TeamMergeRequestExpiredShownToSecondaryTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestExpiredType : has no documentation (yet)\ntype TeamMergeRequestExpiredType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestExpiredType returns a new TeamMergeRequestExpiredType instance\nfunc NewTeamMergeRequestExpiredType(Description string) *TeamMergeRequestExpiredType {\n\ts := new(TeamMergeRequestExpiredType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestRejectedShownToPrimaryTeamDetails : Rejected a team merge\n// request.\ntype TeamMergeRequestRejectedShownToPrimaryTeamDetails struct {\n\t// SecondaryTeam : The secondary team name.\n\tSecondaryTeam string `json:\"secondary_team\"`\n\t// SentBy : The name of the secondary team admin who sent the request\n\t// originally.\n\tSentBy string `json:\"sent_by\"`\n}\n\n// NewTeamMergeRequestRejectedShownToPrimaryTeamDetails returns a new TeamMergeRequestRejectedShownToPrimaryTeamDetails instance\nfunc NewTeamMergeRequestRejectedShownToPrimaryTeamDetails(SecondaryTeam string, SentBy string) *TeamMergeRequestRejectedShownToPrimaryTeamDetails {\n\ts := new(TeamMergeRequestRejectedShownToPrimaryTeamDetails)\n\ts.SecondaryTeam = SecondaryTeam\n\ts.SentBy = SentBy\n\treturn s\n}\n\n// TeamMergeRequestRejectedShownToPrimaryTeamType : has no documentation (yet)\ntype TeamMergeRequestRejectedShownToPrimaryTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestRejectedShownToPrimaryTeamType returns a new TeamMergeRequestRejectedShownToPrimaryTeamType instance\nfunc NewTeamMergeRequestRejectedShownToPrimaryTeamType(Description string) *TeamMergeRequestRejectedShownToPrimaryTeamType {\n\ts := new(TeamMergeRequestRejectedShownToPrimaryTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestRejectedShownToSecondaryTeamDetails : Rejected a team merge\n// request.\ntype TeamMergeRequestRejectedShownToSecondaryTeamDetails struct {\n\t// SentBy : The name of the secondary team admin who sent the request\n\t// originally.\n\tSentBy string `json:\"sent_by\"`\n}\n\n// NewTeamMergeRequestRejectedShownToSecondaryTeamDetails returns a new TeamMergeRequestRejectedShownToSecondaryTeamDetails instance\nfunc NewTeamMergeRequestRejectedShownToSecondaryTeamDetails(SentBy string) *TeamMergeRequestRejectedShownToSecondaryTeamDetails {\n\ts := new(TeamMergeRequestRejectedShownToSecondaryTeamDetails)\n\ts.SentBy = SentBy\n\treturn s\n}\n\n// TeamMergeRequestRejectedShownToSecondaryTeamType : has no documentation (yet)\ntype TeamMergeRequestRejectedShownToSecondaryTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestRejectedShownToSecondaryTeamType returns a new TeamMergeRequestRejectedShownToSecondaryTeamType instance\nfunc NewTeamMergeRequestRejectedShownToSecondaryTeamType(Description string) *TeamMergeRequestRejectedShownToSecondaryTeamType {\n\ts := new(TeamMergeRequestRejectedShownToSecondaryTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestReminderDetails : Sent a team merge request reminder.\ntype TeamMergeRequestReminderDetails struct {\n\t// RequestReminderDetails : Team merge request reminder details.\n\tRequestReminderDetails *TeamMergeRequestReminderExtraDetails `json:\"request_reminder_details\"`\n}\n\n// NewTeamMergeRequestReminderDetails returns a new TeamMergeRequestReminderDetails instance\nfunc NewTeamMergeRequestReminderDetails(RequestReminderDetails *TeamMergeRequestReminderExtraDetails) *TeamMergeRequestReminderDetails {\n\ts := new(TeamMergeRequestReminderDetails)\n\ts.RequestReminderDetails = RequestReminderDetails\n\treturn s\n}\n\n// TeamMergeRequestReminderExtraDetails : Team merge request reminder details\ntype TeamMergeRequestReminderExtraDetails struct {\n\tdropbox.Tagged\n\t// PrimaryTeam : Team merge request reminder details shown to the primary\n\t// team.\n\tPrimaryTeam *PrimaryTeamRequestReminderDetails `json:\"primary_team,omitempty\"`\n\t// SecondaryTeam : Team merge request reminder details shown to the\n\t// secondary team.\n\tSecondaryTeam *SecondaryTeamRequestReminderDetails `json:\"secondary_team,omitempty\"`\n}\n\n// Valid tag values for TeamMergeRequestReminderExtraDetails\nconst (\n\tTeamMergeRequestReminderExtraDetailsPrimaryTeam   = \"primary_team\"\n\tTeamMergeRequestReminderExtraDetailsSecondaryTeam = \"secondary_team\"\n\tTeamMergeRequestReminderExtraDetailsOther         = \"other\"\n)\n\n// UnmarshalJSON deserializes into a TeamMergeRequestReminderExtraDetails instance\nfunc (u *TeamMergeRequestReminderExtraDetails) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"primary_team\":\n\t\tif err = json.Unmarshal(body, &u.PrimaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"secondary_team\":\n\t\tif err = json.Unmarshal(body, &u.SecondaryTeam); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// TeamMergeRequestReminderShownToPrimaryTeamDetails : Sent a team merge request\n// reminder.\ntype TeamMergeRequestReminderShownToPrimaryTeamDetails struct {\n\t// SecondaryTeam : The secondary team name.\n\tSecondaryTeam string `json:\"secondary_team\"`\n\t// SentTo : The name of the primary team admin the request was sent to.\n\tSentTo string `json:\"sent_to\"`\n}\n\n// NewTeamMergeRequestReminderShownToPrimaryTeamDetails returns a new TeamMergeRequestReminderShownToPrimaryTeamDetails instance\nfunc NewTeamMergeRequestReminderShownToPrimaryTeamDetails(SecondaryTeam string, SentTo string) *TeamMergeRequestReminderShownToPrimaryTeamDetails {\n\ts := new(TeamMergeRequestReminderShownToPrimaryTeamDetails)\n\ts.SecondaryTeam = SecondaryTeam\n\ts.SentTo = SentTo\n\treturn s\n}\n\n// TeamMergeRequestReminderShownToPrimaryTeamType : has no documentation (yet)\ntype TeamMergeRequestReminderShownToPrimaryTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestReminderShownToPrimaryTeamType returns a new TeamMergeRequestReminderShownToPrimaryTeamType instance\nfunc NewTeamMergeRequestReminderShownToPrimaryTeamType(Description string) *TeamMergeRequestReminderShownToPrimaryTeamType {\n\ts := new(TeamMergeRequestReminderShownToPrimaryTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestReminderShownToSecondaryTeamDetails : Sent a team merge\n// request reminder.\ntype TeamMergeRequestReminderShownToSecondaryTeamDetails struct {\n\t// SentTo : The email of the primary team admin the request was sent to.\n\tSentTo string `json:\"sent_to\"`\n}\n\n// NewTeamMergeRequestReminderShownToSecondaryTeamDetails returns a new TeamMergeRequestReminderShownToSecondaryTeamDetails instance\nfunc NewTeamMergeRequestReminderShownToSecondaryTeamDetails(SentTo string) *TeamMergeRequestReminderShownToSecondaryTeamDetails {\n\ts := new(TeamMergeRequestReminderShownToSecondaryTeamDetails)\n\ts.SentTo = SentTo\n\treturn s\n}\n\n// TeamMergeRequestReminderShownToSecondaryTeamType : has no documentation (yet)\ntype TeamMergeRequestReminderShownToSecondaryTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestReminderShownToSecondaryTeamType returns a new TeamMergeRequestReminderShownToSecondaryTeamType instance\nfunc NewTeamMergeRequestReminderShownToSecondaryTeamType(Description string) *TeamMergeRequestReminderShownToSecondaryTeamType {\n\ts := new(TeamMergeRequestReminderShownToSecondaryTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestReminderType : has no documentation (yet)\ntype TeamMergeRequestReminderType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestReminderType returns a new TeamMergeRequestReminderType instance\nfunc NewTeamMergeRequestReminderType(Description string) *TeamMergeRequestReminderType {\n\ts := new(TeamMergeRequestReminderType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestRevokedDetails : Canceled the team merge.\ntype TeamMergeRequestRevokedDetails struct {\n\t// Team : The name of the other team.\n\tTeam string `json:\"team\"`\n}\n\n// NewTeamMergeRequestRevokedDetails returns a new TeamMergeRequestRevokedDetails instance\nfunc NewTeamMergeRequestRevokedDetails(Team string) *TeamMergeRequestRevokedDetails {\n\ts := new(TeamMergeRequestRevokedDetails)\n\ts.Team = Team\n\treturn s\n}\n\n// TeamMergeRequestRevokedType : has no documentation (yet)\ntype TeamMergeRequestRevokedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestRevokedType returns a new TeamMergeRequestRevokedType instance\nfunc NewTeamMergeRequestRevokedType(Description string) *TeamMergeRequestRevokedType {\n\ts := new(TeamMergeRequestRevokedType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestSentShownToPrimaryTeamDetails : Requested to merge their\n// Dropbox team into yours.\ntype TeamMergeRequestSentShownToPrimaryTeamDetails struct {\n\t// SecondaryTeam : The secondary team name.\n\tSecondaryTeam string `json:\"secondary_team\"`\n\t// SentTo : The name of the primary team admin the request was sent to.\n\tSentTo string `json:\"sent_to\"`\n}\n\n// NewTeamMergeRequestSentShownToPrimaryTeamDetails returns a new TeamMergeRequestSentShownToPrimaryTeamDetails instance\nfunc NewTeamMergeRequestSentShownToPrimaryTeamDetails(SecondaryTeam string, SentTo string) *TeamMergeRequestSentShownToPrimaryTeamDetails {\n\ts := new(TeamMergeRequestSentShownToPrimaryTeamDetails)\n\ts.SecondaryTeam = SecondaryTeam\n\ts.SentTo = SentTo\n\treturn s\n}\n\n// TeamMergeRequestSentShownToPrimaryTeamType : has no documentation (yet)\ntype TeamMergeRequestSentShownToPrimaryTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestSentShownToPrimaryTeamType returns a new TeamMergeRequestSentShownToPrimaryTeamType instance\nfunc NewTeamMergeRequestSentShownToPrimaryTeamType(Description string) *TeamMergeRequestSentShownToPrimaryTeamType {\n\ts := new(TeamMergeRequestSentShownToPrimaryTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeRequestSentShownToSecondaryTeamDetails : Requested to merge your\n// team into another Dropbox team.\ntype TeamMergeRequestSentShownToSecondaryTeamDetails struct {\n\t// SentTo : The email of the primary team admin the request was sent to.\n\tSentTo string `json:\"sent_to\"`\n}\n\n// NewTeamMergeRequestSentShownToSecondaryTeamDetails returns a new TeamMergeRequestSentShownToSecondaryTeamDetails instance\nfunc NewTeamMergeRequestSentShownToSecondaryTeamDetails(SentTo string) *TeamMergeRequestSentShownToSecondaryTeamDetails {\n\ts := new(TeamMergeRequestSentShownToSecondaryTeamDetails)\n\ts.SentTo = SentTo\n\treturn s\n}\n\n// TeamMergeRequestSentShownToSecondaryTeamType : has no documentation (yet)\ntype TeamMergeRequestSentShownToSecondaryTeamType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeRequestSentShownToSecondaryTeamType returns a new TeamMergeRequestSentShownToSecondaryTeamType instance\nfunc NewTeamMergeRequestSentShownToSecondaryTeamType(Description string) *TeamMergeRequestSentShownToSecondaryTeamType {\n\ts := new(TeamMergeRequestSentShownToSecondaryTeamType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamMergeToDetails : Merged this team into another team.\ntype TeamMergeToDetails struct {\n\t// TeamName : The name of the team that this team was merged into.\n\tTeamName string `json:\"team_name\"`\n}\n\n// NewTeamMergeToDetails returns a new TeamMergeToDetails instance\nfunc NewTeamMergeToDetails(TeamName string) *TeamMergeToDetails {\n\ts := new(TeamMergeToDetails)\n\ts.TeamName = TeamName\n\treturn s\n}\n\n// TeamMergeToType : has no documentation (yet)\ntype TeamMergeToType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamMergeToType returns a new TeamMergeToType instance\nfunc NewTeamMergeToType(Description string) *TeamMergeToType {\n\ts := new(TeamMergeToType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamName : Team name details\ntype TeamName struct {\n\t// TeamDisplayName : Team's display name.\n\tTeamDisplayName string `json:\"team_display_name\"`\n\t// TeamLegalName : Team's legal name.\n\tTeamLegalName string `json:\"team_legal_name\"`\n}\n\n// NewTeamName returns a new TeamName instance\nfunc NewTeamName(TeamDisplayName string, TeamLegalName string) *TeamName {\n\ts := new(TeamName)\n\ts.TeamDisplayName = TeamDisplayName\n\ts.TeamLegalName = TeamLegalName\n\treturn s\n}\n\n// TeamProfileAddBackgroundDetails : Added team background to display on shared\n// link headers.\ntype TeamProfileAddBackgroundDetails struct {\n}\n\n// NewTeamProfileAddBackgroundDetails returns a new TeamProfileAddBackgroundDetails instance\nfunc NewTeamProfileAddBackgroundDetails() *TeamProfileAddBackgroundDetails {\n\ts := new(TeamProfileAddBackgroundDetails)\n\treturn s\n}\n\n// TeamProfileAddBackgroundType : has no documentation (yet)\ntype TeamProfileAddBackgroundType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamProfileAddBackgroundType returns a new TeamProfileAddBackgroundType instance\nfunc NewTeamProfileAddBackgroundType(Description string) *TeamProfileAddBackgroundType {\n\ts := new(TeamProfileAddBackgroundType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamProfileAddLogoDetails : Added team logo to display on shared link\n// headers.\ntype TeamProfileAddLogoDetails struct {\n}\n\n// NewTeamProfileAddLogoDetails returns a new TeamProfileAddLogoDetails instance\nfunc NewTeamProfileAddLogoDetails() *TeamProfileAddLogoDetails {\n\ts := new(TeamProfileAddLogoDetails)\n\treturn s\n}\n\n// TeamProfileAddLogoType : has no documentation (yet)\ntype TeamProfileAddLogoType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamProfileAddLogoType returns a new TeamProfileAddLogoType instance\nfunc NewTeamProfileAddLogoType(Description string) *TeamProfileAddLogoType {\n\ts := new(TeamProfileAddLogoType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamProfileChangeBackgroundDetails : Changed team background displayed on\n// shared link headers.\ntype TeamProfileChangeBackgroundDetails struct {\n}\n\n// NewTeamProfileChangeBackgroundDetails returns a new TeamProfileChangeBackgroundDetails instance\nfunc NewTeamProfileChangeBackgroundDetails() *TeamProfileChangeBackgroundDetails {\n\ts := new(TeamProfileChangeBackgroundDetails)\n\treturn s\n}\n\n// TeamProfileChangeBackgroundType : has no documentation (yet)\ntype TeamProfileChangeBackgroundType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamProfileChangeBackgroundType returns a new TeamProfileChangeBackgroundType instance\nfunc NewTeamProfileChangeBackgroundType(Description string) *TeamProfileChangeBackgroundType {\n\ts := new(TeamProfileChangeBackgroundType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamProfileChangeDefaultLanguageDetails : Changed default language for team.\ntype TeamProfileChangeDefaultLanguageDetails struct {\n\t// NewValue : New team's default language.\n\tNewValue string `json:\"new_value\"`\n\t// PreviousValue : Previous team's default language.\n\tPreviousValue string `json:\"previous_value\"`\n}\n\n// NewTeamProfileChangeDefaultLanguageDetails returns a new TeamProfileChangeDefaultLanguageDetails instance\nfunc NewTeamProfileChangeDefaultLanguageDetails(NewValue string, PreviousValue string) *TeamProfileChangeDefaultLanguageDetails {\n\ts := new(TeamProfileChangeDefaultLanguageDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// TeamProfileChangeDefaultLanguageType : has no documentation (yet)\ntype TeamProfileChangeDefaultLanguageType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamProfileChangeDefaultLanguageType returns a new TeamProfileChangeDefaultLanguageType instance\nfunc NewTeamProfileChangeDefaultLanguageType(Description string) *TeamProfileChangeDefaultLanguageType {\n\ts := new(TeamProfileChangeDefaultLanguageType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamProfileChangeLogoDetails : Changed team logo displayed on shared link\n// headers.\ntype TeamProfileChangeLogoDetails struct {\n}\n\n// NewTeamProfileChangeLogoDetails returns a new TeamProfileChangeLogoDetails instance\nfunc NewTeamProfileChangeLogoDetails() *TeamProfileChangeLogoDetails {\n\ts := new(TeamProfileChangeLogoDetails)\n\treturn s\n}\n\n// TeamProfileChangeLogoType : has no documentation (yet)\ntype TeamProfileChangeLogoType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamProfileChangeLogoType returns a new TeamProfileChangeLogoType instance\nfunc NewTeamProfileChangeLogoType(Description string) *TeamProfileChangeLogoType {\n\ts := new(TeamProfileChangeLogoType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamProfileChangeNameDetails : Changed team name.\ntype TeamProfileChangeNameDetails struct {\n\t// PreviousValue : Previous teams name. Might be missing due to historical\n\t// data gap.\n\tPreviousValue *TeamName `json:\"previous_value,omitempty\"`\n\t// NewValue : New team name.\n\tNewValue *TeamName `json:\"new_value\"`\n}\n\n// NewTeamProfileChangeNameDetails returns a new TeamProfileChangeNameDetails instance\nfunc NewTeamProfileChangeNameDetails(NewValue *TeamName) *TeamProfileChangeNameDetails {\n\ts := new(TeamProfileChangeNameDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// TeamProfileChangeNameType : has no documentation (yet)\ntype TeamProfileChangeNameType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamProfileChangeNameType returns a new TeamProfileChangeNameType instance\nfunc NewTeamProfileChangeNameType(Description string) *TeamProfileChangeNameType {\n\ts := new(TeamProfileChangeNameType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamProfileRemoveBackgroundDetails : Removed team background displayed on\n// shared link headers.\ntype TeamProfileRemoveBackgroundDetails struct {\n}\n\n// NewTeamProfileRemoveBackgroundDetails returns a new TeamProfileRemoveBackgroundDetails instance\nfunc NewTeamProfileRemoveBackgroundDetails() *TeamProfileRemoveBackgroundDetails {\n\ts := new(TeamProfileRemoveBackgroundDetails)\n\treturn s\n}\n\n// TeamProfileRemoveBackgroundType : has no documentation (yet)\ntype TeamProfileRemoveBackgroundType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamProfileRemoveBackgroundType returns a new TeamProfileRemoveBackgroundType instance\nfunc NewTeamProfileRemoveBackgroundType(Description string) *TeamProfileRemoveBackgroundType {\n\ts := new(TeamProfileRemoveBackgroundType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamProfileRemoveLogoDetails : Removed team logo displayed on shared link\n// headers.\ntype TeamProfileRemoveLogoDetails struct {\n}\n\n// NewTeamProfileRemoveLogoDetails returns a new TeamProfileRemoveLogoDetails instance\nfunc NewTeamProfileRemoveLogoDetails() *TeamProfileRemoveLogoDetails {\n\ts := new(TeamProfileRemoveLogoDetails)\n\treturn s\n}\n\n// TeamProfileRemoveLogoType : has no documentation (yet)\ntype TeamProfileRemoveLogoType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamProfileRemoveLogoType returns a new TeamProfileRemoveLogoType instance\nfunc NewTeamProfileRemoveLogoType(Description string) *TeamProfileRemoveLogoType {\n\ts := new(TeamProfileRemoveLogoType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamSelectiveSyncPolicy : Policy for controlling whether team selective sync\n// is enabled for team.\ntype TeamSelectiveSyncPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TeamSelectiveSyncPolicy\nconst (\n\tTeamSelectiveSyncPolicyDisabled = \"disabled\"\n\tTeamSelectiveSyncPolicyEnabled  = \"enabled\"\n\tTeamSelectiveSyncPolicyOther    = \"other\"\n)\n\n// TeamSelectiveSyncPolicyChangedDetails : Enabled/disabled Team Selective Sync\n// for team.\ntype TeamSelectiveSyncPolicyChangedDetails struct {\n\t// NewValue : New Team Selective Sync policy.\n\tNewValue *TeamSelectiveSyncPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous Team Selective Sync policy.\n\tPreviousValue *TeamSelectiveSyncPolicy `json:\"previous_value\"`\n}\n\n// NewTeamSelectiveSyncPolicyChangedDetails returns a new TeamSelectiveSyncPolicyChangedDetails instance\nfunc NewTeamSelectiveSyncPolicyChangedDetails(NewValue *TeamSelectiveSyncPolicy, PreviousValue *TeamSelectiveSyncPolicy) *TeamSelectiveSyncPolicyChangedDetails {\n\ts := new(TeamSelectiveSyncPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// TeamSelectiveSyncPolicyChangedType : has no documentation (yet)\ntype TeamSelectiveSyncPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamSelectiveSyncPolicyChangedType returns a new TeamSelectiveSyncPolicyChangedType instance\nfunc NewTeamSelectiveSyncPolicyChangedType(Description string) *TeamSelectiveSyncPolicyChangedType {\n\ts := new(TeamSelectiveSyncPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamSelectiveSyncSettingsChangedDetails : Changed sync default.\ntype TeamSelectiveSyncSettingsChangedDetails struct {\n\t// PreviousValue : Previous value.\n\tPreviousValue *files.SyncSetting `json:\"previous_value\"`\n\t// NewValue : New value.\n\tNewValue *files.SyncSetting `json:\"new_value\"`\n}\n\n// NewTeamSelectiveSyncSettingsChangedDetails returns a new TeamSelectiveSyncSettingsChangedDetails instance\nfunc NewTeamSelectiveSyncSettingsChangedDetails(PreviousValue *files.SyncSetting, NewValue *files.SyncSetting) *TeamSelectiveSyncSettingsChangedDetails {\n\ts := new(TeamSelectiveSyncSettingsChangedDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// TeamSelectiveSyncSettingsChangedType : has no documentation (yet)\ntype TeamSelectiveSyncSettingsChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamSelectiveSyncSettingsChangedType returns a new TeamSelectiveSyncSettingsChangedType instance\nfunc NewTeamSelectiveSyncSettingsChangedType(Description string) *TeamSelectiveSyncSettingsChangedType {\n\ts := new(TeamSelectiveSyncSettingsChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// TeamSharingWhitelistSubjectsChangedDetails : Edited the approved list for\n// sharing externally.\ntype TeamSharingWhitelistSubjectsChangedDetails struct {\n\t// AddedWhitelistSubjects : Domains or emails added to the approved list for\n\t// sharing externally.\n\tAddedWhitelistSubjects []string `json:\"added_whitelist_subjects\"`\n\t// RemovedWhitelistSubjects : Domains or emails removed from the approved\n\t// list for sharing externally.\n\tRemovedWhitelistSubjects []string `json:\"removed_whitelist_subjects\"`\n}\n\n// NewTeamSharingWhitelistSubjectsChangedDetails returns a new TeamSharingWhitelistSubjectsChangedDetails instance\nfunc NewTeamSharingWhitelistSubjectsChangedDetails(AddedWhitelistSubjects []string, RemovedWhitelistSubjects []string) *TeamSharingWhitelistSubjectsChangedDetails {\n\ts := new(TeamSharingWhitelistSubjectsChangedDetails)\n\ts.AddedWhitelistSubjects = AddedWhitelistSubjects\n\ts.RemovedWhitelistSubjects = RemovedWhitelistSubjects\n\treturn s\n}\n\n// TeamSharingWhitelistSubjectsChangedType : has no documentation (yet)\ntype TeamSharingWhitelistSubjectsChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTeamSharingWhitelistSubjectsChangedType returns a new TeamSharingWhitelistSubjectsChangedType instance\nfunc NewTeamSharingWhitelistSubjectsChangedType(Description string) *TeamSharingWhitelistSubjectsChangedType {\n\ts := new(TeamSharingWhitelistSubjectsChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// TfaAddBackupPhoneDetails : Added backup phone for two-step verification.\ntype TfaAddBackupPhoneDetails struct {\n}\n\n// NewTfaAddBackupPhoneDetails returns a new TfaAddBackupPhoneDetails instance\nfunc NewTfaAddBackupPhoneDetails() *TfaAddBackupPhoneDetails {\n\ts := new(TfaAddBackupPhoneDetails)\n\treturn s\n}\n\n// TfaAddBackupPhoneType : has no documentation (yet)\ntype TfaAddBackupPhoneType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTfaAddBackupPhoneType returns a new TfaAddBackupPhoneType instance\nfunc NewTfaAddBackupPhoneType(Description string) *TfaAddBackupPhoneType {\n\ts := new(TfaAddBackupPhoneType)\n\ts.Description = Description\n\treturn s\n}\n\n// TfaAddExceptionDetails : Added members to two factor authentication exception\n// list.\ntype TfaAddExceptionDetails struct {\n}\n\n// NewTfaAddExceptionDetails returns a new TfaAddExceptionDetails instance\nfunc NewTfaAddExceptionDetails() *TfaAddExceptionDetails {\n\ts := new(TfaAddExceptionDetails)\n\treturn s\n}\n\n// TfaAddExceptionType : has no documentation (yet)\ntype TfaAddExceptionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTfaAddExceptionType returns a new TfaAddExceptionType instance\nfunc NewTfaAddExceptionType(Description string) *TfaAddExceptionType {\n\ts := new(TfaAddExceptionType)\n\ts.Description = Description\n\treturn s\n}\n\n// TfaAddSecurityKeyDetails : Added security key for two-step verification.\ntype TfaAddSecurityKeyDetails struct {\n}\n\n// NewTfaAddSecurityKeyDetails returns a new TfaAddSecurityKeyDetails instance\nfunc NewTfaAddSecurityKeyDetails() *TfaAddSecurityKeyDetails {\n\ts := new(TfaAddSecurityKeyDetails)\n\treturn s\n}\n\n// TfaAddSecurityKeyType : has no documentation (yet)\ntype TfaAddSecurityKeyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTfaAddSecurityKeyType returns a new TfaAddSecurityKeyType instance\nfunc NewTfaAddSecurityKeyType(Description string) *TfaAddSecurityKeyType {\n\ts := new(TfaAddSecurityKeyType)\n\ts.Description = Description\n\treturn s\n}\n\n// TfaChangeBackupPhoneDetails : Changed backup phone for two-step verification.\ntype TfaChangeBackupPhoneDetails struct {\n}\n\n// NewTfaChangeBackupPhoneDetails returns a new TfaChangeBackupPhoneDetails instance\nfunc NewTfaChangeBackupPhoneDetails() *TfaChangeBackupPhoneDetails {\n\ts := new(TfaChangeBackupPhoneDetails)\n\treturn s\n}\n\n// TfaChangeBackupPhoneType : has no documentation (yet)\ntype TfaChangeBackupPhoneType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTfaChangeBackupPhoneType returns a new TfaChangeBackupPhoneType instance\nfunc NewTfaChangeBackupPhoneType(Description string) *TfaChangeBackupPhoneType {\n\ts := new(TfaChangeBackupPhoneType)\n\ts.Description = Description\n\treturn s\n}\n\n// TfaChangePolicyDetails : Changed two-step verification setting for team.\ntype TfaChangePolicyDetails struct {\n\t// NewValue : New change policy.\n\tNewValue *team_policies.TwoStepVerificationPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous change policy. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *team_policies.TwoStepVerificationPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewTfaChangePolicyDetails returns a new TfaChangePolicyDetails instance\nfunc NewTfaChangePolicyDetails(NewValue *team_policies.TwoStepVerificationPolicy) *TfaChangePolicyDetails {\n\ts := new(TfaChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// TfaChangePolicyType : has no documentation (yet)\ntype TfaChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTfaChangePolicyType returns a new TfaChangePolicyType instance\nfunc NewTfaChangePolicyType(Description string) *TfaChangePolicyType {\n\ts := new(TfaChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// TfaChangeStatusDetails : Enabled/disabled/changed two-step verification\n// setting.\ntype TfaChangeStatusDetails struct {\n\t// NewValue : The new two factor authentication configuration.\n\tNewValue *TfaConfiguration `json:\"new_value\"`\n\t// PreviousValue : The previous two factor authentication configuration.\n\t// Might be missing due to historical data gap.\n\tPreviousValue *TfaConfiguration `json:\"previous_value,omitempty\"`\n\t// UsedRescueCode : Used two factor authentication rescue code. This flag is\n\t// relevant when the two factor authentication configuration is disabled.\n\tUsedRescueCode bool `json:\"used_rescue_code,omitempty\"`\n}\n\n// NewTfaChangeStatusDetails returns a new TfaChangeStatusDetails instance\nfunc NewTfaChangeStatusDetails(NewValue *TfaConfiguration) *TfaChangeStatusDetails {\n\ts := new(TfaChangeStatusDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// TfaChangeStatusType : has no documentation (yet)\ntype TfaChangeStatusType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTfaChangeStatusType returns a new TfaChangeStatusType instance\nfunc NewTfaChangeStatusType(Description string) *TfaChangeStatusType {\n\ts := new(TfaChangeStatusType)\n\ts.Description = Description\n\treturn s\n}\n\n// TfaConfiguration : Two factor authentication configuration. Note: the enabled\n// option is deprecated.\ntype TfaConfiguration struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TfaConfiguration\nconst (\n\tTfaConfigurationAuthenticator = \"authenticator\"\n\tTfaConfigurationDisabled      = \"disabled\"\n\tTfaConfigurationEnabled       = \"enabled\"\n\tTfaConfigurationSms           = \"sms\"\n\tTfaConfigurationOther         = \"other\"\n)\n\n// TfaRemoveBackupPhoneDetails : Removed backup phone for two-step verification.\ntype TfaRemoveBackupPhoneDetails struct {\n}\n\n// NewTfaRemoveBackupPhoneDetails returns a new TfaRemoveBackupPhoneDetails instance\nfunc NewTfaRemoveBackupPhoneDetails() *TfaRemoveBackupPhoneDetails {\n\ts := new(TfaRemoveBackupPhoneDetails)\n\treturn s\n}\n\n// TfaRemoveBackupPhoneType : has no documentation (yet)\ntype TfaRemoveBackupPhoneType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTfaRemoveBackupPhoneType returns a new TfaRemoveBackupPhoneType instance\nfunc NewTfaRemoveBackupPhoneType(Description string) *TfaRemoveBackupPhoneType {\n\ts := new(TfaRemoveBackupPhoneType)\n\ts.Description = Description\n\treturn s\n}\n\n// TfaRemoveExceptionDetails : Removed members from two factor authentication\n// exception list.\ntype TfaRemoveExceptionDetails struct {\n}\n\n// NewTfaRemoveExceptionDetails returns a new TfaRemoveExceptionDetails instance\nfunc NewTfaRemoveExceptionDetails() *TfaRemoveExceptionDetails {\n\ts := new(TfaRemoveExceptionDetails)\n\treturn s\n}\n\n// TfaRemoveExceptionType : has no documentation (yet)\ntype TfaRemoveExceptionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTfaRemoveExceptionType returns a new TfaRemoveExceptionType instance\nfunc NewTfaRemoveExceptionType(Description string) *TfaRemoveExceptionType {\n\ts := new(TfaRemoveExceptionType)\n\ts.Description = Description\n\treturn s\n}\n\n// TfaRemoveSecurityKeyDetails : Removed security key for two-step verification.\ntype TfaRemoveSecurityKeyDetails struct {\n}\n\n// NewTfaRemoveSecurityKeyDetails returns a new TfaRemoveSecurityKeyDetails instance\nfunc NewTfaRemoveSecurityKeyDetails() *TfaRemoveSecurityKeyDetails {\n\ts := new(TfaRemoveSecurityKeyDetails)\n\treturn s\n}\n\n// TfaRemoveSecurityKeyType : has no documentation (yet)\ntype TfaRemoveSecurityKeyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTfaRemoveSecurityKeyType returns a new TfaRemoveSecurityKeyType instance\nfunc NewTfaRemoveSecurityKeyType(Description string) *TfaRemoveSecurityKeyType {\n\ts := new(TfaRemoveSecurityKeyType)\n\ts.Description = Description\n\treturn s\n}\n\n// TfaResetDetails : Reset two-step verification for team member.\ntype TfaResetDetails struct {\n}\n\n// NewTfaResetDetails returns a new TfaResetDetails instance\nfunc NewTfaResetDetails() *TfaResetDetails {\n\ts := new(TfaResetDetails)\n\treturn s\n}\n\n// TfaResetType : has no documentation (yet)\ntype TfaResetType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTfaResetType returns a new TfaResetType instance\nfunc NewTfaResetType(Description string) *TfaResetType {\n\ts := new(TfaResetType)\n\ts.Description = Description\n\treturn s\n}\n\n// TimeUnit : has no documentation (yet)\ntype TimeUnit struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TimeUnit\nconst (\n\tTimeUnitDays         = \"days\"\n\tTimeUnitHours        = \"hours\"\n\tTimeUnitMilliseconds = \"milliseconds\"\n\tTimeUnitMinutes      = \"minutes\"\n\tTimeUnitMonths       = \"months\"\n\tTimeUnitSeconds      = \"seconds\"\n\tTimeUnitWeeks        = \"weeks\"\n\tTimeUnitYears        = \"years\"\n\tTimeUnitOther        = \"other\"\n)\n\n// TrustedNonTeamMemberLogInfo : User that is not a member of the team but\n// considered trusted.\ntype TrustedNonTeamMemberLogInfo struct {\n\tUserLogInfo\n\t// TrustedNonTeamMemberType : Indicates the type of the member of a trusted\n\t// team.\n\tTrustedNonTeamMemberType *TrustedNonTeamMemberType `json:\"trusted_non_team_member_type\"`\n\t// Team : Details about this user's trusted team.\n\tTeam *TeamLogInfo `json:\"team,omitempty\"`\n}\n\n// NewTrustedNonTeamMemberLogInfo returns a new TrustedNonTeamMemberLogInfo instance\nfunc NewTrustedNonTeamMemberLogInfo(TrustedNonTeamMemberType *TrustedNonTeamMemberType) *TrustedNonTeamMemberLogInfo {\n\ts := new(TrustedNonTeamMemberLogInfo)\n\ts.TrustedNonTeamMemberType = TrustedNonTeamMemberType\n\treturn s\n}\n\n// TrustedNonTeamMemberType : has no documentation (yet)\ntype TrustedNonTeamMemberType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TrustedNonTeamMemberType\nconst (\n\tTrustedNonTeamMemberTypeEnterpriseAdmin    = \"enterprise_admin\"\n\tTrustedNonTeamMemberTypeMultiInstanceAdmin = \"multi_instance_admin\"\n\tTrustedNonTeamMemberTypeOther              = \"other\"\n)\n\n// TrustedTeamsRequestAction : has no documentation (yet)\ntype TrustedTeamsRequestAction struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TrustedTeamsRequestAction\nconst (\n\tTrustedTeamsRequestActionAccepted = \"accepted\"\n\tTrustedTeamsRequestActionDeclined = \"declined\"\n\tTrustedTeamsRequestActionExpired  = \"expired\"\n\tTrustedTeamsRequestActionInvited  = \"invited\"\n\tTrustedTeamsRequestActionRevoked  = \"revoked\"\n\tTrustedTeamsRequestActionOther    = \"other\"\n)\n\n// TrustedTeamsRequestState : has no documentation (yet)\ntype TrustedTeamsRequestState struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TrustedTeamsRequestState\nconst (\n\tTrustedTeamsRequestStateInvited  = \"invited\"\n\tTrustedTeamsRequestStateLinked   = \"linked\"\n\tTrustedTeamsRequestStateUnlinked = \"unlinked\"\n\tTrustedTeamsRequestStateOther    = \"other\"\n)\n\n// TwoAccountChangePolicyDetails : Enabled/disabled option for members to link\n// personal Dropbox account and team account to same computer.\ntype TwoAccountChangePolicyDetails struct {\n\t// NewValue : New two account policy.\n\tNewValue *TwoAccountPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous two account policy. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *TwoAccountPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewTwoAccountChangePolicyDetails returns a new TwoAccountChangePolicyDetails instance\nfunc NewTwoAccountChangePolicyDetails(NewValue *TwoAccountPolicy) *TwoAccountChangePolicyDetails {\n\ts := new(TwoAccountChangePolicyDetails)\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// TwoAccountChangePolicyType : has no documentation (yet)\ntype TwoAccountChangePolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewTwoAccountChangePolicyType returns a new TwoAccountChangePolicyType instance\nfunc NewTwoAccountChangePolicyType(Description string) *TwoAccountChangePolicyType {\n\ts := new(TwoAccountChangePolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// TwoAccountPolicy : Policy for pairing personal account to work account\ntype TwoAccountPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TwoAccountPolicy\nconst (\n\tTwoAccountPolicyDisabled = \"disabled\"\n\tTwoAccountPolicyEnabled  = \"enabled\"\n\tTwoAccountPolicyOther    = \"other\"\n)\n\n// UndoNamingConventionDetails : Reverted naming convention.\ntype UndoNamingConventionDetails struct {\n}\n\n// NewUndoNamingConventionDetails returns a new UndoNamingConventionDetails instance\nfunc NewUndoNamingConventionDetails() *UndoNamingConventionDetails {\n\ts := new(UndoNamingConventionDetails)\n\treturn s\n}\n\n// UndoNamingConventionType : has no documentation (yet)\ntype UndoNamingConventionType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewUndoNamingConventionType returns a new UndoNamingConventionType instance\nfunc NewUndoNamingConventionType(Description string) *UndoNamingConventionType {\n\ts := new(UndoNamingConventionType)\n\ts.Description = Description\n\treturn s\n}\n\n// UndoOrganizeFolderWithTidyDetails : Removed multi-file organize.\ntype UndoOrganizeFolderWithTidyDetails struct {\n}\n\n// NewUndoOrganizeFolderWithTidyDetails returns a new UndoOrganizeFolderWithTidyDetails instance\nfunc NewUndoOrganizeFolderWithTidyDetails() *UndoOrganizeFolderWithTidyDetails {\n\ts := new(UndoOrganizeFolderWithTidyDetails)\n\treturn s\n}\n\n// UndoOrganizeFolderWithTidyType : has no documentation (yet)\ntype UndoOrganizeFolderWithTidyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewUndoOrganizeFolderWithTidyType returns a new UndoOrganizeFolderWithTidyType instance\nfunc NewUndoOrganizeFolderWithTidyType(Description string) *UndoOrganizeFolderWithTidyType {\n\ts := new(UndoOrganizeFolderWithTidyType)\n\ts.Description = Description\n\treturn s\n}\n\n// UserLinkedAppLogInfo : User linked app\ntype UserLinkedAppLogInfo struct {\n\tAppLogInfo\n}\n\n// NewUserLinkedAppLogInfo returns a new UserLinkedAppLogInfo instance\nfunc NewUserLinkedAppLogInfo() *UserLinkedAppLogInfo {\n\ts := new(UserLinkedAppLogInfo)\n\treturn s\n}\n\n// UserNameLogInfo : User's name logged information\ntype UserNameLogInfo struct {\n\t// GivenName : Given name.\n\tGivenName string `json:\"given_name\"`\n\t// Surname : Surname.\n\tSurname string `json:\"surname\"`\n\t// Locale : Locale. Might be missing due to historical data gap.\n\tLocale string `json:\"locale,omitempty\"`\n}\n\n// NewUserNameLogInfo returns a new UserNameLogInfo instance\nfunc NewUserNameLogInfo(GivenName string, Surname string) *UserNameLogInfo {\n\ts := new(UserNameLogInfo)\n\ts.GivenName = GivenName\n\ts.Surname = Surname\n\treturn s\n}\n\n// UserOrTeamLinkedAppLogInfo : User or team linked app. Used when linked type\n// is missing due to historical data gap.\ntype UserOrTeamLinkedAppLogInfo struct {\n\tAppLogInfo\n}\n\n// NewUserOrTeamLinkedAppLogInfo returns a new UserOrTeamLinkedAppLogInfo instance\nfunc NewUserOrTeamLinkedAppLogInfo() *UserOrTeamLinkedAppLogInfo {\n\ts := new(UserOrTeamLinkedAppLogInfo)\n\treturn s\n}\n\n// UserTagsAddedDetails : Tagged a file.\ntype UserTagsAddedDetails struct {\n\t// Values : values.\n\tValues []string `json:\"values\"`\n}\n\n// NewUserTagsAddedDetails returns a new UserTagsAddedDetails instance\nfunc NewUserTagsAddedDetails(Values []string) *UserTagsAddedDetails {\n\ts := new(UserTagsAddedDetails)\n\ts.Values = Values\n\treturn s\n}\n\n// UserTagsAddedType : has no documentation (yet)\ntype UserTagsAddedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewUserTagsAddedType returns a new UserTagsAddedType instance\nfunc NewUserTagsAddedType(Description string) *UserTagsAddedType {\n\ts := new(UserTagsAddedType)\n\ts.Description = Description\n\treturn s\n}\n\n// UserTagsRemovedDetails : Removed tags.\ntype UserTagsRemovedDetails struct {\n\t// Values : values.\n\tValues []string `json:\"values\"`\n}\n\n// NewUserTagsRemovedDetails returns a new UserTagsRemovedDetails instance\nfunc NewUserTagsRemovedDetails(Values []string) *UserTagsRemovedDetails {\n\ts := new(UserTagsRemovedDetails)\n\ts.Values = Values\n\treturn s\n}\n\n// UserTagsRemovedType : has no documentation (yet)\ntype UserTagsRemovedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewUserTagsRemovedType returns a new UserTagsRemovedType instance\nfunc NewUserTagsRemovedType(Description string) *UserTagsRemovedType {\n\ts := new(UserTagsRemovedType)\n\ts.Description = Description\n\treturn s\n}\n\n// ViewerInfoPolicyChangedDetails : Changed team policy for viewer info.\ntype ViewerInfoPolicyChangedDetails struct {\n\t// PreviousValue : Previous Viewer Info policy.\n\tPreviousValue *PassPolicy `json:\"previous_value\"`\n\t// NewValue : New Viewer Info policy.\n\tNewValue *PassPolicy `json:\"new_value\"`\n}\n\n// NewViewerInfoPolicyChangedDetails returns a new ViewerInfoPolicyChangedDetails instance\nfunc NewViewerInfoPolicyChangedDetails(PreviousValue *PassPolicy, NewValue *PassPolicy) *ViewerInfoPolicyChangedDetails {\n\ts := new(ViewerInfoPolicyChangedDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// ViewerInfoPolicyChangedType : has no documentation (yet)\ntype ViewerInfoPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewViewerInfoPolicyChangedType returns a new ViewerInfoPolicyChangedType instance\nfunc NewViewerInfoPolicyChangedType(Description string) *ViewerInfoPolicyChangedType {\n\ts := new(ViewerInfoPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// WatermarkingPolicy : Policy for controlling team access to watermarking\n// feature\ntype WatermarkingPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for WatermarkingPolicy\nconst (\n\tWatermarkingPolicyDisabled = \"disabled\"\n\tWatermarkingPolicyEnabled  = \"enabled\"\n\tWatermarkingPolicyOther    = \"other\"\n)\n\n// WatermarkingPolicyChangedDetails : Changed watermarking policy for team.\ntype WatermarkingPolicyChangedDetails struct {\n\t// NewValue : New watermarking policy.\n\tNewValue *WatermarkingPolicy `json:\"new_value\"`\n\t// PreviousValue : Previous watermarking policy.\n\tPreviousValue *WatermarkingPolicy `json:\"previous_value\"`\n}\n\n// NewWatermarkingPolicyChangedDetails returns a new WatermarkingPolicyChangedDetails instance\nfunc NewWatermarkingPolicyChangedDetails(NewValue *WatermarkingPolicy, PreviousValue *WatermarkingPolicy) *WatermarkingPolicyChangedDetails {\n\ts := new(WatermarkingPolicyChangedDetails)\n\ts.NewValue = NewValue\n\ts.PreviousValue = PreviousValue\n\treturn s\n}\n\n// WatermarkingPolicyChangedType : has no documentation (yet)\ntype WatermarkingPolicyChangedType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewWatermarkingPolicyChangedType returns a new WatermarkingPolicyChangedType instance\nfunc NewWatermarkingPolicyChangedType(Description string) *WatermarkingPolicyChangedType {\n\ts := new(WatermarkingPolicyChangedType)\n\ts.Description = Description\n\treturn s\n}\n\n// WebDeviceSessionLogInfo : Information on active web sessions\ntype WebDeviceSessionLogInfo struct {\n\tDeviceSessionLogInfo\n\t// SessionInfo : Web session unique id.\n\tSessionInfo *WebSessionLogInfo `json:\"session_info,omitempty\"`\n\t// UserAgent : Information on the hosting device.\n\tUserAgent string `json:\"user_agent\"`\n\t// Os : Information on the hosting operating system.\n\tOs string `json:\"os\"`\n\t// Browser : Information on the browser used for this web session.\n\tBrowser string `json:\"browser\"`\n}\n\n// NewWebDeviceSessionLogInfo returns a new WebDeviceSessionLogInfo instance\nfunc NewWebDeviceSessionLogInfo(UserAgent string, Os string, Browser string) *WebDeviceSessionLogInfo {\n\ts := new(WebDeviceSessionLogInfo)\n\ts.UserAgent = UserAgent\n\ts.Os = Os\n\ts.Browser = Browser\n\treturn s\n}\n\n// WebSessionLogInfo : Web session.\ntype WebSessionLogInfo struct {\n\tSessionLogInfo\n}\n\n// NewWebSessionLogInfo returns a new WebSessionLogInfo instance\nfunc NewWebSessionLogInfo() *WebSessionLogInfo {\n\ts := new(WebSessionLogInfo)\n\treturn s\n}\n\n// WebSessionsChangeActiveSessionLimitDetails : Changed limit on active sessions\n// per member.\ntype WebSessionsChangeActiveSessionLimitDetails struct {\n\t// PreviousValue : Previous max number of concurrent active sessions policy.\n\tPreviousValue string `json:\"previous_value\"`\n\t// NewValue : New max number of concurrent active sessions policy.\n\tNewValue string `json:\"new_value\"`\n}\n\n// NewWebSessionsChangeActiveSessionLimitDetails returns a new WebSessionsChangeActiveSessionLimitDetails instance\nfunc NewWebSessionsChangeActiveSessionLimitDetails(PreviousValue string, NewValue string) *WebSessionsChangeActiveSessionLimitDetails {\n\ts := new(WebSessionsChangeActiveSessionLimitDetails)\n\ts.PreviousValue = PreviousValue\n\ts.NewValue = NewValue\n\treturn s\n}\n\n// WebSessionsChangeActiveSessionLimitType : has no documentation (yet)\ntype WebSessionsChangeActiveSessionLimitType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewWebSessionsChangeActiveSessionLimitType returns a new WebSessionsChangeActiveSessionLimitType instance\nfunc NewWebSessionsChangeActiveSessionLimitType(Description string) *WebSessionsChangeActiveSessionLimitType {\n\ts := new(WebSessionsChangeActiveSessionLimitType)\n\ts.Description = Description\n\treturn s\n}\n\n// WebSessionsChangeFixedLengthPolicyDetails : Changed how long members can stay\n// signed in to Dropbox.com.\ntype WebSessionsChangeFixedLengthPolicyDetails struct {\n\t// NewValue : New session length policy. Might be missing due to historical\n\t// data gap.\n\tNewValue *WebSessionsFixedLengthPolicy `json:\"new_value,omitempty\"`\n\t// PreviousValue : Previous session length policy. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *WebSessionsFixedLengthPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewWebSessionsChangeFixedLengthPolicyDetails returns a new WebSessionsChangeFixedLengthPolicyDetails instance\nfunc NewWebSessionsChangeFixedLengthPolicyDetails() *WebSessionsChangeFixedLengthPolicyDetails {\n\ts := new(WebSessionsChangeFixedLengthPolicyDetails)\n\treturn s\n}\n\n// WebSessionsChangeFixedLengthPolicyType : has no documentation (yet)\ntype WebSessionsChangeFixedLengthPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewWebSessionsChangeFixedLengthPolicyType returns a new WebSessionsChangeFixedLengthPolicyType instance\nfunc NewWebSessionsChangeFixedLengthPolicyType(Description string) *WebSessionsChangeFixedLengthPolicyType {\n\ts := new(WebSessionsChangeFixedLengthPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// WebSessionsChangeIdleLengthPolicyDetails : Changed how long team members can\n// be idle while signed in to Dropbox.com.\ntype WebSessionsChangeIdleLengthPolicyDetails struct {\n\t// NewValue : New idle length policy. Might be missing due to historical\n\t// data gap.\n\tNewValue *WebSessionsIdleLengthPolicy `json:\"new_value,omitempty\"`\n\t// PreviousValue : Previous idle length policy. Might be missing due to\n\t// historical data gap.\n\tPreviousValue *WebSessionsIdleLengthPolicy `json:\"previous_value,omitempty\"`\n}\n\n// NewWebSessionsChangeIdleLengthPolicyDetails returns a new WebSessionsChangeIdleLengthPolicyDetails instance\nfunc NewWebSessionsChangeIdleLengthPolicyDetails() *WebSessionsChangeIdleLengthPolicyDetails {\n\ts := new(WebSessionsChangeIdleLengthPolicyDetails)\n\treturn s\n}\n\n// WebSessionsChangeIdleLengthPolicyType : has no documentation (yet)\ntype WebSessionsChangeIdleLengthPolicyType struct {\n\t// Description : has no documentation (yet)\n\tDescription string `json:\"description\"`\n}\n\n// NewWebSessionsChangeIdleLengthPolicyType returns a new WebSessionsChangeIdleLengthPolicyType instance\nfunc NewWebSessionsChangeIdleLengthPolicyType(Description string) *WebSessionsChangeIdleLengthPolicyType {\n\ts := new(WebSessionsChangeIdleLengthPolicyType)\n\ts.Description = Description\n\treturn s\n}\n\n// WebSessionsFixedLengthPolicy : Web sessions fixed length policy.\ntype WebSessionsFixedLengthPolicy struct {\n\tdropbox.Tagged\n\t// Defined : Defined fixed session length.\n\tDefined *DurationLogInfo `json:\"defined,omitempty\"`\n}\n\n// Valid tag values for WebSessionsFixedLengthPolicy\nconst (\n\tWebSessionsFixedLengthPolicyDefined   = \"defined\"\n\tWebSessionsFixedLengthPolicyUndefined = \"undefined\"\n\tWebSessionsFixedLengthPolicyOther     = \"other\"\n)\n\n// UnmarshalJSON deserializes into a WebSessionsFixedLengthPolicy instance\nfunc (u *WebSessionsFixedLengthPolicy) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"defined\":\n\t\tif err = json.Unmarshal(body, &u.Defined); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// WebSessionsIdleLengthPolicy : Web sessions idle length policy.\ntype WebSessionsIdleLengthPolicy struct {\n\tdropbox.Tagged\n\t// Defined : Defined idle session length.\n\tDefined *DurationLogInfo `json:\"defined,omitempty\"`\n}\n\n// Valid tag values for WebSessionsIdleLengthPolicy\nconst (\n\tWebSessionsIdleLengthPolicyDefined   = \"defined\"\n\tWebSessionsIdleLengthPolicyUndefined = \"undefined\"\n\tWebSessionsIdleLengthPolicyOther     = \"other\"\n)\n\n// UnmarshalJSON deserializes into a WebSessionsIdleLengthPolicy instance\nfunc (u *WebSessionsIdleLengthPolicy) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"defined\":\n\t\tif err = json.Unmarshal(body, &u.Defined); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "v6/dropbox/team_policies/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package team_policies : has no documentation (yet)\npackage team_policies\n\nimport \"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\n// CameraUploadsPolicyState : has no documentation (yet)\ntype CameraUploadsPolicyState struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for CameraUploadsPolicyState\nconst (\n\tCameraUploadsPolicyStateDisabled = \"disabled\"\n\tCameraUploadsPolicyStateEnabled  = \"enabled\"\n\tCameraUploadsPolicyStateOther    = \"other\"\n)\n\n// ComputerBackupPolicyState : has no documentation (yet)\ntype ComputerBackupPolicyState struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ComputerBackupPolicyState\nconst (\n\tComputerBackupPolicyStateDisabled = \"disabled\"\n\tComputerBackupPolicyStateEnabled  = \"enabled\"\n\tComputerBackupPolicyStateDefault  = \"default\"\n\tComputerBackupPolicyStateOther    = \"other\"\n)\n\n// EmmState : has no documentation (yet)\ntype EmmState struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for EmmState\nconst (\n\tEmmStateDisabled = \"disabled\"\n\tEmmStateOptional = \"optional\"\n\tEmmStateRequired = \"required\"\n\tEmmStateOther    = \"other\"\n)\n\n// ExternalDriveBackupPolicyState : has no documentation (yet)\ntype ExternalDriveBackupPolicyState struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ExternalDriveBackupPolicyState\nconst (\n\tExternalDriveBackupPolicyStateDisabled = \"disabled\"\n\tExternalDriveBackupPolicyStateEnabled  = \"enabled\"\n\tExternalDriveBackupPolicyStateDefault  = \"default\"\n\tExternalDriveBackupPolicyStateOther    = \"other\"\n)\n\n// FileLockingPolicyState : has no documentation (yet)\ntype FileLockingPolicyState struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FileLockingPolicyState\nconst (\n\tFileLockingPolicyStateDisabled = \"disabled\"\n\tFileLockingPolicyStateEnabled  = \"enabled\"\n\tFileLockingPolicyStateOther    = \"other\"\n)\n\n// FileProviderMigrationPolicyState : has no documentation (yet)\ntype FileProviderMigrationPolicyState struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for FileProviderMigrationPolicyState\nconst (\n\tFileProviderMigrationPolicyStateDisabled = \"disabled\"\n\tFileProviderMigrationPolicyStateEnabled  = \"enabled\"\n\tFileProviderMigrationPolicyStateDefault  = \"default\"\n\tFileProviderMigrationPolicyStateOther    = \"other\"\n)\n\n// GroupCreation : has no documentation (yet)\ntype GroupCreation struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GroupCreation\nconst (\n\tGroupCreationAdminsAndMembers = \"admins_and_members\"\n\tGroupCreationAdminsOnly       = \"admins_only\"\n)\n\n// OfficeAddInPolicy : has no documentation (yet)\ntype OfficeAddInPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for OfficeAddInPolicy\nconst (\n\tOfficeAddInPolicyDisabled = \"disabled\"\n\tOfficeAddInPolicyEnabled  = \"enabled\"\n\tOfficeAddInPolicyOther    = \"other\"\n)\n\n// PaperDefaultFolderPolicy : has no documentation (yet)\ntype PaperDefaultFolderPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperDefaultFolderPolicy\nconst (\n\tPaperDefaultFolderPolicyEveryoneInTeam = \"everyone_in_team\"\n\tPaperDefaultFolderPolicyInviteOnly     = \"invite_only\"\n\tPaperDefaultFolderPolicyOther          = \"other\"\n)\n\n// PaperDeploymentPolicy : has no documentation (yet)\ntype PaperDeploymentPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperDeploymentPolicy\nconst (\n\tPaperDeploymentPolicyFull    = \"full\"\n\tPaperDeploymentPolicyPartial = \"partial\"\n\tPaperDeploymentPolicyOther   = \"other\"\n)\n\n// PaperDesktopPolicy : has no documentation (yet)\ntype PaperDesktopPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperDesktopPolicy\nconst (\n\tPaperDesktopPolicyDisabled = \"disabled\"\n\tPaperDesktopPolicyEnabled  = \"enabled\"\n\tPaperDesktopPolicyOther    = \"other\"\n)\n\n// PaperEnabledPolicy : has no documentation (yet)\ntype PaperEnabledPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PaperEnabledPolicy\nconst (\n\tPaperEnabledPolicyDisabled    = \"disabled\"\n\tPaperEnabledPolicyEnabled     = \"enabled\"\n\tPaperEnabledPolicyUnspecified = \"unspecified\"\n\tPaperEnabledPolicyOther       = \"other\"\n)\n\n// PasswordControlMode : has no documentation (yet)\ntype PasswordControlMode struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PasswordControlMode\nconst (\n\tPasswordControlModeDisabled = \"disabled\"\n\tPasswordControlModeEnabled  = \"enabled\"\n\tPasswordControlModeOther    = \"other\"\n)\n\n// PasswordStrengthPolicy : has no documentation (yet)\ntype PasswordStrengthPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for PasswordStrengthPolicy\nconst (\n\tPasswordStrengthPolicyMinimalRequirements = \"minimal_requirements\"\n\tPasswordStrengthPolicyModeratePassword    = \"moderate_password\"\n\tPasswordStrengthPolicyStrongPassword      = \"strong_password\"\n\tPasswordStrengthPolicyOther               = \"other\"\n)\n\n// RolloutMethod : has no documentation (yet)\ntype RolloutMethod struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for RolloutMethod\nconst (\n\tRolloutMethodUnlinkAll             = \"unlink_all\"\n\tRolloutMethodUnlinkMostInactive    = \"unlink_most_inactive\"\n\tRolloutMethodAddMemberToExceptions = \"add_member_to_exceptions\"\n)\n\n// SharedFolderJoinPolicy : Policy governing which shared folders a team member\n// can join.\ntype SharedFolderJoinPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharedFolderJoinPolicy\nconst (\n\tSharedFolderJoinPolicyFromTeamOnly = \"from_team_only\"\n\tSharedFolderJoinPolicyFromAnyone   = \"from_anyone\"\n\tSharedFolderJoinPolicyOther        = \"other\"\n)\n\n// SharedFolderMemberPolicy : Policy governing who can be a member of a folder\n// shared by a team member.\ntype SharedFolderMemberPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharedFolderMemberPolicy\nconst (\n\tSharedFolderMemberPolicyTeam   = \"team\"\n\tSharedFolderMemberPolicyAnyone = \"anyone\"\n\tSharedFolderMemberPolicyOther  = \"other\"\n)\n\n// SharedLinkCreatePolicy : Policy governing the visibility of shared links.\n// This policy can apply to newly created shared links, or all shared links.\ntype SharedLinkCreatePolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SharedLinkCreatePolicy\nconst (\n\tSharedLinkCreatePolicyDefaultPublic   = \"default_public\"\n\tSharedLinkCreatePolicyDefaultTeamOnly = \"default_team_only\"\n\tSharedLinkCreatePolicyTeamOnly        = \"team_only\"\n\tSharedLinkCreatePolicyDefaultNoOne    = \"default_no_one\"\n\tSharedLinkCreatePolicyOther           = \"other\"\n)\n\n// ShowcaseDownloadPolicy : has no documentation (yet)\ntype ShowcaseDownloadPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ShowcaseDownloadPolicy\nconst (\n\tShowcaseDownloadPolicyDisabled = \"disabled\"\n\tShowcaseDownloadPolicyEnabled  = \"enabled\"\n\tShowcaseDownloadPolicyOther    = \"other\"\n)\n\n// ShowcaseEnabledPolicy : has no documentation (yet)\ntype ShowcaseEnabledPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ShowcaseEnabledPolicy\nconst (\n\tShowcaseEnabledPolicyDisabled = \"disabled\"\n\tShowcaseEnabledPolicyEnabled  = \"enabled\"\n\tShowcaseEnabledPolicyOther    = \"other\"\n)\n\n// ShowcaseExternalSharingPolicy : has no documentation (yet)\ntype ShowcaseExternalSharingPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for ShowcaseExternalSharingPolicy\nconst (\n\tShowcaseExternalSharingPolicyDisabled = \"disabled\"\n\tShowcaseExternalSharingPolicyEnabled  = \"enabled\"\n\tShowcaseExternalSharingPolicyOther    = \"other\"\n)\n\n// SmartSyncPolicy : has no documentation (yet)\ntype SmartSyncPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SmartSyncPolicy\nconst (\n\tSmartSyncPolicyLocal    = \"local\"\n\tSmartSyncPolicyOnDemand = \"on_demand\"\n\tSmartSyncPolicyOther    = \"other\"\n)\n\n// SmarterSmartSyncPolicyState : has no documentation (yet)\ntype SmarterSmartSyncPolicyState struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SmarterSmartSyncPolicyState\nconst (\n\tSmarterSmartSyncPolicyStateDisabled = \"disabled\"\n\tSmarterSmartSyncPolicyStateEnabled  = \"enabled\"\n\tSmarterSmartSyncPolicyStateOther    = \"other\"\n)\n\n// SsoPolicy : has no documentation (yet)\ntype SsoPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SsoPolicy\nconst (\n\tSsoPolicyDisabled = \"disabled\"\n\tSsoPolicyOptional = \"optional\"\n\tSsoPolicyRequired = \"required\"\n\tSsoPolicyOther    = \"other\"\n)\n\n// SuggestMembersPolicy : has no documentation (yet)\ntype SuggestMembersPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for SuggestMembersPolicy\nconst (\n\tSuggestMembersPolicyDisabled = \"disabled\"\n\tSuggestMembersPolicyEnabled  = \"enabled\"\n\tSuggestMembersPolicyOther    = \"other\"\n)\n\n// TeamMemberPolicies : Policies governing team members.\ntype TeamMemberPolicies struct {\n\t// Sharing : Policies governing sharing.\n\tSharing *TeamSharingPolicies `json:\"sharing\"`\n\t// EmmState : This describes the Enterprise Mobility Management (EMM) state\n\t// for this team. This information can be used to understand if an\n\t// organization is integrating with a third-party EMM vendor to further\n\t// manage and apply restrictions upon the team's Dropbox usage on mobile\n\t// devices. This is a new feature and in the future we'll be adding more new\n\t// fields and additional documentation.\n\tEmmState *EmmState `json:\"emm_state\"`\n\t// OfficeAddin : The admin policy around the Dropbox Office Add-In for this\n\t// team.\n\tOfficeAddin *OfficeAddInPolicy `json:\"office_addin\"`\n\t// SuggestMembersPolicy : The team policy on if teammembers are allowed to\n\t// suggest users for admins to invite to the team.\n\tSuggestMembersPolicy *SuggestMembersPolicy `json:\"suggest_members_policy\"`\n}\n\n// NewTeamMemberPolicies returns a new TeamMemberPolicies instance\nfunc NewTeamMemberPolicies(Sharing *TeamSharingPolicies, EmmState *EmmState, OfficeAddin *OfficeAddInPolicy, SuggestMembersPolicy *SuggestMembersPolicy) *TeamMemberPolicies {\n\ts := new(TeamMemberPolicies)\n\ts.Sharing = Sharing\n\ts.EmmState = EmmState\n\ts.OfficeAddin = OfficeAddin\n\ts.SuggestMembersPolicy = SuggestMembersPolicy\n\treturn s\n}\n\n// TeamSharingPolicies : Policies governing sharing within and outside of the\n// team.\ntype TeamSharingPolicies struct {\n\t// SharedFolderMemberPolicy : Who can join folders shared by team members.\n\tSharedFolderMemberPolicy *SharedFolderMemberPolicy `json:\"shared_folder_member_policy\"`\n\t// SharedFolderJoinPolicy : Which shared folders team members can join.\n\tSharedFolderJoinPolicy *SharedFolderJoinPolicy `json:\"shared_folder_join_policy\"`\n\t// SharedLinkCreatePolicy : Who can view shared links owned by team members.\n\tSharedLinkCreatePolicy *SharedLinkCreatePolicy `json:\"shared_link_create_policy\"`\n}\n\n// NewTeamSharingPolicies returns a new TeamSharingPolicies instance\nfunc NewTeamSharingPolicies(SharedFolderMemberPolicy *SharedFolderMemberPolicy, SharedFolderJoinPolicy *SharedFolderJoinPolicy, SharedLinkCreatePolicy *SharedLinkCreatePolicy) *TeamSharingPolicies {\n\ts := new(TeamSharingPolicies)\n\ts.SharedFolderMemberPolicy = SharedFolderMemberPolicy\n\ts.SharedFolderJoinPolicy = SharedFolderJoinPolicy\n\ts.SharedLinkCreatePolicy = SharedLinkCreatePolicy\n\treturn s\n}\n\n// TwoStepVerificationPolicy : has no documentation (yet)\ntype TwoStepVerificationPolicy struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TwoStepVerificationPolicy\nconst (\n\tTwoStepVerificationPolicyRequireTfaEnable  = \"require_tfa_enable\"\n\tTwoStepVerificationPolicyRequireTfaDisable = \"require_tfa_disable\"\n\tTwoStepVerificationPolicyOther             = \"other\"\n)\n\n// TwoStepVerificationState : has no documentation (yet)\ntype TwoStepVerificationState struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for TwoStepVerificationState\nconst (\n\tTwoStepVerificationStateRequired = \"required\"\n\tTwoStepVerificationStateOptional = \"optional\"\n\tTwoStepVerificationStateDisabled = \"disabled\"\n\tTwoStepVerificationStateOther    = \"other\"\n)\n"
  },
  {
    "path": "v6/dropbox/users/client.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\npackage users\n\nimport (\n\t\"encoding/json\"\n\t\"io\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/auth\"\n)\n\n// Client interface describes all routes in this namespace\ntype Client interface {\n\t// FeaturesGetValues : Get a list of feature values that may be configured\n\t// for the current account.\n\tFeaturesGetValues(arg *UserFeaturesGetValuesBatchArg) (res *UserFeaturesGetValuesBatchResult, err error)\n\t// GetAccount : Get information about a user's account.\n\tGetAccount(arg *GetAccountArg) (res *BasicAccount, err error)\n\t// GetAccountBatch : Get information about multiple user accounts.  At most\n\t// 300 accounts may be queried per request.\n\tGetAccountBatch(arg *GetAccountBatchArg) (res []*BasicAccount, err error)\n\t// GetCurrentAccount : Get information about the current user's account.\n\tGetCurrentAccount() (res *FullAccount, err error)\n\t// GetSpaceUsage : Get the space usage information for the current user's\n\t// account.\n\tGetSpaceUsage() (res *SpaceUsage, err error)\n}\n\ntype apiImpl dropbox.Context\n\n//FeaturesGetValuesAPIError is an error-wrapper for the features/get_values route\ntype FeaturesGetValuesAPIError struct {\n\tdropbox.APIError\n\tEndpointError *UserFeaturesGetValuesBatchError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) FeaturesGetValues(arg *UserFeaturesGetValuesBatchArg) (res *UserFeaturesGetValuesBatchResult, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"users\",\n\t\tRoute:        \"features/get_values\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr FeaturesGetValuesAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GetAccountAPIError is an error-wrapper for the get_account route\ntype GetAccountAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GetAccountError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetAccount(arg *GetAccountArg) (res *BasicAccount, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"users\",\n\t\tRoute:        \"get_account\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetAccountAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GetAccountBatchAPIError is an error-wrapper for the get_account_batch route\ntype GetAccountBatchAPIError struct {\n\tdropbox.APIError\n\tEndpointError *GetAccountBatchError `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetAccountBatch(arg *GetAccountBatchArg) (res []*BasicAccount, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"users\",\n\t\tRoute:        \"get_account_batch\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          arg,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetAccountBatchAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GetCurrentAccountAPIError is an error-wrapper for the get_current_account route\ntype GetCurrentAccountAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetCurrentAccount() (res *FullAccount, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"users\",\n\t\tRoute:        \"get_current_account\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          nil,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetCurrentAccountAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n//GetSpaceUsageAPIError is an error-wrapper for the get_space_usage route\ntype GetSpaceUsageAPIError struct {\n\tdropbox.APIError\n\tEndpointError struct{} `json:\"error\"`\n}\n\nfunc (dbx *apiImpl) GetSpaceUsage() (res *SpaceUsage, err error) {\n\treq := dropbox.Request{\n\t\tHost:         \"api\",\n\t\tNamespace:    \"users\",\n\t\tRoute:        \"get_space_usage\",\n\t\tAuth:         \"user\",\n\t\tStyle:        \"rpc\",\n\t\tArg:          nil,\n\t\tExtraHeaders: nil,\n\t}\n\n\tvar resp []byte\n\tvar respBody io.ReadCloser\n\tresp, respBody, err = (*dropbox.Context)(dbx).Execute(req, nil)\n\tif err != nil {\n\t\tvar appErr GetSpaceUsageAPIError\n\t\terr = auth.ParseError(err, &appErr)\n\t\tif err == &appErr {\n\t\t\terr = appErr\n\t\t}\n\t\treturn\n\t}\n\n\terr = json.Unmarshal(resp, &res)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_ = respBody\n\treturn\n}\n\n// New returns a Client implementation for this namespace\nfunc New(c dropbox.Config) Client {\n\tctx := apiImpl(dropbox.NewContext(c))\n\treturn &ctx\n}\n"
  },
  {
    "path": "v6/dropbox/users/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package users : This namespace contains endpoints and data types for user\n// management.\npackage users\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/common\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/team_common\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/team_policies\"\n\t\"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/users_common\"\n)\n\n// Account : The amount of detail revealed about an account depends on the user\n// being queried and the user making the query.\ntype Account struct {\n\t// AccountId : The user's unique Dropbox ID.\n\tAccountId string `json:\"account_id\"`\n\t// Name : Details of a user's name.\n\tName *Name `json:\"name\"`\n\t// Email : The user's email address. Do not rely on this without checking\n\t// the `email_verified` field. Even then, it's possible that the user has\n\t// since lost access to their email.\n\tEmail string `json:\"email\"`\n\t// EmailVerified : Whether the user has verified their email address.\n\tEmailVerified bool `json:\"email_verified\"`\n\t// ProfilePhotoUrl : URL for the photo representing the user, if one is set.\n\tProfilePhotoUrl string `json:\"profile_photo_url,omitempty\"`\n\t// Disabled : Whether the user has been disabled.\n\tDisabled bool `json:\"disabled\"`\n}\n\n// NewAccount returns a new Account instance\nfunc NewAccount(AccountId string, Name *Name, Email string, EmailVerified bool, Disabled bool) *Account {\n\ts := new(Account)\n\ts.AccountId = AccountId\n\ts.Name = Name\n\ts.Email = Email\n\ts.EmailVerified = EmailVerified\n\ts.Disabled = Disabled\n\treturn s\n}\n\n// BasicAccount : Basic information about any account.\ntype BasicAccount struct {\n\tAccount\n\t// IsTeammate : Whether this user is a teammate of the current user. If this\n\t// account is the current user's account, then this will be true.\n\tIsTeammate bool `json:\"is_teammate\"`\n\t// TeamMemberId : The user's unique team member id. This field will only be\n\t// present if the user is part of a team and `is_teammate` is true.\n\tTeamMemberId string `json:\"team_member_id,omitempty\"`\n}\n\n// NewBasicAccount returns a new BasicAccount instance\nfunc NewBasicAccount(AccountId string, Name *Name, Email string, EmailVerified bool, Disabled bool, IsTeammate bool) *BasicAccount {\n\ts := new(BasicAccount)\n\ts.AccountId = AccountId\n\ts.Name = Name\n\ts.Email = Email\n\ts.EmailVerified = EmailVerified\n\ts.Disabled = Disabled\n\ts.IsTeammate = IsTeammate\n\treturn s\n}\n\n// FileLockingValue : The value for `UserFeature.file_locking`.\ntype FileLockingValue struct {\n\tdropbox.Tagged\n\t// Enabled : When this value is True, the user can lock files in shared\n\t// directories. When the value is False the user can unlock the files they\n\t// have locked or request to unlock files locked by others.\n\tEnabled bool `json:\"enabled,omitempty\"`\n}\n\n// Valid tag values for FileLockingValue\nconst (\n\tFileLockingValueEnabled = \"enabled\"\n\tFileLockingValueOther   = \"other\"\n)\n\n// UnmarshalJSON deserializes into a FileLockingValue instance\nfunc (u *FileLockingValue) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Enabled : When this value is True, the user can lock files in shared\n\t\t// directories. When the value is False the user can unlock the files\n\t\t// they have locked or request to unlock files locked by others.\n\t\tEnabled bool `json:\"enabled,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"enabled\":\n\t\tu.Enabled = w.Enabled\n\n\t}\n\treturn nil\n}\n\n// FullAccount : Detailed information about the current user's account.\ntype FullAccount struct {\n\tAccount\n\t// Country : The user's two-letter country code, if available. Country codes\n\t// are based on `ISO 3166-1` <http://en.wikipedia.org/wiki/ISO_3166-1>.\n\tCountry string `json:\"country,omitempty\"`\n\t// Locale : The language that the user specified. Locale tags will be `IETF\n\t// language tags` <http://en.wikipedia.org/wiki/IETF_language_tag>.\n\tLocale string `json:\"locale\"`\n\t// ReferralLink : The user's `referral link`\n\t// <https://www.dropbox.com/referrals>.\n\tReferralLink string `json:\"referral_link\"`\n\t// Team : If this account is a member of a team, information about that\n\t// team.\n\tTeam *FullTeam `json:\"team,omitempty\"`\n\t// TeamMemberId : This account's unique team member id. This field will only\n\t// be present if `team` is present.\n\tTeamMemberId string `json:\"team_member_id,omitempty\"`\n\t// IsPaired : Whether the user has a personal and work account. If the\n\t// current account is personal, then `team` will always be nil, but\n\t// `is_paired` will indicate if a work account is linked.\n\tIsPaired bool `json:\"is_paired\"`\n\t// AccountType : What type of account this user has.\n\tAccountType *users_common.AccountType `json:\"account_type\"`\n\t// RootInfo : The root info for this account.\n\tRootInfo common.IsRootInfo `json:\"root_info\"`\n}\n\n// NewFullAccount returns a new FullAccount instance\nfunc NewFullAccount(AccountId string, Name *Name, Email string, EmailVerified bool, Disabled bool, Locale string, ReferralLink string, IsPaired bool, AccountType *users_common.AccountType, RootInfo common.IsRootInfo) *FullAccount {\n\ts := new(FullAccount)\n\ts.AccountId = AccountId\n\ts.Name = Name\n\ts.Email = Email\n\ts.EmailVerified = EmailVerified\n\ts.Disabled = Disabled\n\ts.Locale = Locale\n\ts.ReferralLink = ReferralLink\n\ts.IsPaired = IsPaired\n\ts.AccountType = AccountType\n\ts.RootInfo = RootInfo\n\treturn s\n}\n\n// UnmarshalJSON deserializes into a FullAccount instance\nfunc (u *FullAccount) UnmarshalJSON(b []byte) error {\n\ttype wrap struct {\n\t\t// AccountId : The user's unique Dropbox ID.\n\t\tAccountId string `json:\"account_id\"`\n\t\t// Name : Details of a user's name.\n\t\tName *Name `json:\"name\"`\n\t\t// Email : The user's email address. Do not rely on this without\n\t\t// checking the `email_verified` field. Even then, it's possible that\n\t\t// the user has since lost access to their email.\n\t\tEmail string `json:\"email\"`\n\t\t// EmailVerified : Whether the user has verified their email address.\n\t\tEmailVerified bool `json:\"email_verified\"`\n\t\t// Disabled : Whether the user has been disabled.\n\t\tDisabled bool `json:\"disabled\"`\n\t\t// Locale : The language that the user specified. Locale tags will be\n\t\t// `IETF language tags`\n\t\t// <http://en.wikipedia.org/wiki/IETF_language_tag>.\n\t\tLocale string `json:\"locale\"`\n\t\t// ReferralLink : The user's `referral link`\n\t\t// <https://www.dropbox.com/referrals>.\n\t\tReferralLink string `json:\"referral_link\"`\n\t\t// IsPaired : Whether the user has a personal and work account. If the\n\t\t// current account is personal, then `team` will always be nil, but\n\t\t// `is_paired` will indicate if a work account is linked.\n\t\tIsPaired bool `json:\"is_paired\"`\n\t\t// AccountType : What type of account this user has.\n\t\tAccountType *users_common.AccountType `json:\"account_type\"`\n\t\t// RootInfo : The root info for this account.\n\t\tRootInfo json.RawMessage `json:\"root_info\"`\n\t\t// ProfilePhotoUrl : URL for the photo representing the user, if one is\n\t\t// set.\n\t\tProfilePhotoUrl string `json:\"profile_photo_url,omitempty\"`\n\t\t// Country : The user's two-letter country code, if available. Country\n\t\t// codes are based on `ISO 3166-1`\n\t\t// <http://en.wikipedia.org/wiki/ISO_3166-1>.\n\t\tCountry string `json:\"country,omitempty\"`\n\t\t// Team : If this account is a member of a team, information about that\n\t\t// team.\n\t\tTeam *FullTeam `json:\"team,omitempty\"`\n\t\t// TeamMemberId : This account's unique team member id. This field will\n\t\t// only be present if `team` is present.\n\t\tTeamMemberId string `json:\"team_member_id,omitempty\"`\n\t}\n\tvar w wrap\n\tif err := json.Unmarshal(b, &w); err != nil {\n\t\treturn err\n\t}\n\tu.AccountId = w.AccountId\n\tu.Name = w.Name\n\tu.Email = w.Email\n\tu.EmailVerified = w.EmailVerified\n\tu.Disabled = w.Disabled\n\tu.Locale = w.Locale\n\tu.ReferralLink = w.ReferralLink\n\tu.IsPaired = w.IsPaired\n\tu.AccountType = w.AccountType\n\tRootInfo, err := common.IsRootInfoFromJSON(w.RootInfo)\n\tif err != nil {\n\t\treturn err\n\t}\n\tu.RootInfo = RootInfo\n\tu.ProfilePhotoUrl = w.ProfilePhotoUrl\n\tu.Country = w.Country\n\tu.Team = w.Team\n\tu.TeamMemberId = w.TeamMemberId\n\treturn nil\n}\n\n// Team : Information about a team.\ntype Team struct {\n\t// Id : The team's unique ID.\n\tId string `json:\"id\"`\n\t// Name : The name of the team.\n\tName string `json:\"name\"`\n}\n\n// NewTeam returns a new Team instance\nfunc NewTeam(Id string, Name string) *Team {\n\ts := new(Team)\n\ts.Id = Id\n\ts.Name = Name\n\treturn s\n}\n\n// FullTeam : Detailed information about a team.\ntype FullTeam struct {\n\tTeam\n\t// SharingPolicies : Team policies governing sharing.\n\tSharingPolicies *team_policies.TeamSharingPolicies `json:\"sharing_policies\"`\n\t// OfficeAddinPolicy : Team policy governing the use of the Office Add-In.\n\tOfficeAddinPolicy *team_policies.OfficeAddInPolicy `json:\"office_addin_policy\"`\n}\n\n// NewFullTeam returns a new FullTeam instance\nfunc NewFullTeam(Id string, Name string, SharingPolicies *team_policies.TeamSharingPolicies, OfficeAddinPolicy *team_policies.OfficeAddInPolicy) *FullTeam {\n\ts := new(FullTeam)\n\ts.Id = Id\n\ts.Name = Name\n\ts.SharingPolicies = SharingPolicies\n\ts.OfficeAddinPolicy = OfficeAddinPolicy\n\treturn s\n}\n\n// GetAccountArg : has no documentation (yet)\ntype GetAccountArg struct {\n\t// AccountId : A user's account identifier.\n\tAccountId string `json:\"account_id\"`\n}\n\n// NewGetAccountArg returns a new GetAccountArg instance\nfunc NewGetAccountArg(AccountId string) *GetAccountArg {\n\ts := new(GetAccountArg)\n\ts.AccountId = AccountId\n\treturn s\n}\n\n// GetAccountBatchArg : has no documentation (yet)\ntype GetAccountBatchArg struct {\n\t// AccountIds : List of user account identifiers.  Should not contain any\n\t// duplicate account IDs.\n\tAccountIds []string `json:\"account_ids\"`\n}\n\n// NewGetAccountBatchArg returns a new GetAccountBatchArg instance\nfunc NewGetAccountBatchArg(AccountIds []string) *GetAccountBatchArg {\n\ts := new(GetAccountBatchArg)\n\ts.AccountIds = AccountIds\n\treturn s\n}\n\n// GetAccountBatchError : has no documentation (yet)\ntype GetAccountBatchError struct {\n\tdropbox.Tagged\n\t// NoAccount : The value is an account ID specified in\n\t// `GetAccountBatchArg.account_ids` that does not exist.\n\tNoAccount string `json:\"no_account,omitempty\"`\n}\n\n// Valid tag values for GetAccountBatchError\nconst (\n\tGetAccountBatchErrorNoAccount = \"no_account\"\n\tGetAccountBatchErrorOther     = \"other\"\n)\n\n// UnmarshalJSON deserializes into a GetAccountBatchError instance\nfunc (u *GetAccountBatchError) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// NoAccount : The value is an account ID specified in\n\t\t// `GetAccountBatchArg.account_ids` that does not exist.\n\t\tNoAccount string `json:\"no_account,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"no_account\":\n\t\tu.NoAccount = w.NoAccount\n\n\t}\n\treturn nil\n}\n\n// GetAccountError : has no documentation (yet)\ntype GetAccountError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for GetAccountError\nconst (\n\tGetAccountErrorNoAccount = \"no_account\"\n\tGetAccountErrorOther     = \"other\"\n)\n\n// IndividualSpaceAllocation : has no documentation (yet)\ntype IndividualSpaceAllocation struct {\n\t// Allocated : The total space allocated to the user's account (bytes).\n\tAllocated uint64 `json:\"allocated\"`\n}\n\n// NewIndividualSpaceAllocation returns a new IndividualSpaceAllocation instance\nfunc NewIndividualSpaceAllocation(Allocated uint64) *IndividualSpaceAllocation {\n\ts := new(IndividualSpaceAllocation)\n\ts.Allocated = Allocated\n\treturn s\n}\n\n// Name : Representations for a person's name to assist with\n// internationalization.\ntype Name struct {\n\t// GivenName : Also known as a first name.\n\tGivenName string `json:\"given_name\"`\n\t// Surname : Also known as a last name or family name.\n\tSurname string `json:\"surname\"`\n\t// FamiliarName : Locale-dependent name. In the US, a person's familiar name\n\t// is their `given_name`, but elsewhere, it could be any combination of a\n\t// person's `given_name` and `surname`.\n\tFamiliarName string `json:\"familiar_name\"`\n\t// DisplayName : A name that can be used directly to represent the name of a\n\t// user's Dropbox account.\n\tDisplayName string `json:\"display_name\"`\n\t// AbbreviatedName : An abbreviated form of the person's name. Their\n\t// initials in most locales.\n\tAbbreviatedName string `json:\"abbreviated_name\"`\n}\n\n// NewName returns a new Name instance\nfunc NewName(GivenName string, Surname string, FamiliarName string, DisplayName string, AbbreviatedName string) *Name {\n\ts := new(Name)\n\ts.GivenName = GivenName\n\ts.Surname = Surname\n\ts.FamiliarName = FamiliarName\n\ts.DisplayName = DisplayName\n\ts.AbbreviatedName = AbbreviatedName\n\treturn s\n}\n\n// PaperAsFilesValue : The value for `UserFeature.paper_as_files`.\ntype PaperAsFilesValue struct {\n\tdropbox.Tagged\n\t// Enabled : When this value is true, the user's Paper docs are accessible\n\t// in Dropbox with the .paper extension and must be accessed via the /files\n\t// endpoints.  When this value is false, the user's Paper docs are stored\n\t// separate from Dropbox files and folders and should be accessed via the\n\t// /paper endpoints.\n\tEnabled bool `json:\"enabled,omitempty\"`\n}\n\n// Valid tag values for PaperAsFilesValue\nconst (\n\tPaperAsFilesValueEnabled = \"enabled\"\n\tPaperAsFilesValueOther   = \"other\"\n)\n\n// UnmarshalJSON deserializes into a PaperAsFilesValue instance\nfunc (u *PaperAsFilesValue) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// Enabled : When this value is true, the user's Paper docs are\n\t\t// accessible in Dropbox with the .paper extension and must be accessed\n\t\t// via the /files endpoints.  When this value is false, the user's Paper\n\t\t// docs are stored separate from Dropbox files and folders and should be\n\t\t// accessed via the /paper endpoints.\n\t\tEnabled bool `json:\"enabled,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"enabled\":\n\t\tu.Enabled = w.Enabled\n\n\t}\n\treturn nil\n}\n\n// SpaceAllocation : Space is allocated differently based on the type of\n// account.\ntype SpaceAllocation struct {\n\tdropbox.Tagged\n\t// Individual : The user's space allocation applies only to their individual\n\t// account.\n\tIndividual *IndividualSpaceAllocation `json:\"individual,omitempty\"`\n\t// Team : The user shares space with other members of their team.\n\tTeam *TeamSpaceAllocation `json:\"team,omitempty\"`\n}\n\n// Valid tag values for SpaceAllocation\nconst (\n\tSpaceAllocationIndividual = \"individual\"\n\tSpaceAllocationTeam       = \"team\"\n\tSpaceAllocationOther      = \"other\"\n)\n\n// UnmarshalJSON deserializes into a SpaceAllocation instance\nfunc (u *SpaceAllocation) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"individual\":\n\t\tif err = json.Unmarshal(body, &u.Individual); err != nil {\n\t\t\treturn err\n\t\t}\n\n\tcase \"team\":\n\t\tif err = json.Unmarshal(body, &u.Team); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\treturn nil\n}\n\n// SpaceUsage : Information about a user's space usage and quota.\ntype SpaceUsage struct {\n\t// Used : The user's total space usage (bytes).\n\tUsed uint64 `json:\"used\"`\n\t// Allocation : The user's space allocation.\n\tAllocation *SpaceAllocation `json:\"allocation\"`\n}\n\n// NewSpaceUsage returns a new SpaceUsage instance\nfunc NewSpaceUsage(Used uint64, Allocation *SpaceAllocation) *SpaceUsage {\n\ts := new(SpaceUsage)\n\ts.Used = Used\n\ts.Allocation = Allocation\n\treturn s\n}\n\n// TeamSpaceAllocation : has no documentation (yet)\ntype TeamSpaceAllocation struct {\n\t// Used : The total space currently used by the user's team (bytes).\n\tUsed uint64 `json:\"used\"`\n\t// Allocated : The total space allocated to the user's team (bytes).\n\tAllocated uint64 `json:\"allocated\"`\n\t// UserWithinTeamSpaceAllocated : The total space allocated to the user\n\t// within its team allocated space (0 means that no restriction is imposed\n\t// on the user's quota within its team).\n\tUserWithinTeamSpaceAllocated uint64 `json:\"user_within_team_space_allocated\"`\n\t// UserWithinTeamSpaceLimitType : The type of the space limit imposed on the\n\t// team member (off, alert_only, stop_sync).\n\tUserWithinTeamSpaceLimitType *team_common.MemberSpaceLimitType `json:\"user_within_team_space_limit_type\"`\n\t// UserWithinTeamSpaceUsedCached : An accurate cached calculation of a team\n\t// member's total space usage (bytes).\n\tUserWithinTeamSpaceUsedCached uint64 `json:\"user_within_team_space_used_cached\"`\n}\n\n// NewTeamSpaceAllocation returns a new TeamSpaceAllocation instance\nfunc NewTeamSpaceAllocation(Used uint64, Allocated uint64, UserWithinTeamSpaceAllocated uint64, UserWithinTeamSpaceLimitType *team_common.MemberSpaceLimitType, UserWithinTeamSpaceUsedCached uint64) *TeamSpaceAllocation {\n\ts := new(TeamSpaceAllocation)\n\ts.Used = Used\n\ts.Allocated = Allocated\n\ts.UserWithinTeamSpaceAllocated = UserWithinTeamSpaceAllocated\n\ts.UserWithinTeamSpaceLimitType = UserWithinTeamSpaceLimitType\n\ts.UserWithinTeamSpaceUsedCached = UserWithinTeamSpaceUsedCached\n\treturn s\n}\n\n// UserFeature : A set of features that a Dropbox User account may have\n// configured.\ntype UserFeature struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for UserFeature\nconst (\n\tUserFeaturePaperAsFiles = \"paper_as_files\"\n\tUserFeatureFileLocking  = \"file_locking\"\n\tUserFeatureOther        = \"other\"\n)\n\n// UserFeatureValue : Values that correspond to entries in `UserFeature`.\ntype UserFeatureValue struct {\n\tdropbox.Tagged\n\t// PaperAsFiles : has no documentation (yet)\n\tPaperAsFiles *PaperAsFilesValue `json:\"paper_as_files,omitempty\"`\n\t// FileLocking : has no documentation (yet)\n\tFileLocking *FileLockingValue `json:\"file_locking,omitempty\"`\n}\n\n// Valid tag values for UserFeatureValue\nconst (\n\tUserFeatureValuePaperAsFiles = \"paper_as_files\"\n\tUserFeatureValueFileLocking  = \"file_locking\"\n\tUserFeatureValueOther        = \"other\"\n)\n\n// UnmarshalJSON deserializes into a UserFeatureValue instance\nfunc (u *UserFeatureValue) UnmarshalJSON(body []byte) error {\n\ttype wrap struct {\n\t\tdropbox.Tagged\n\t\t// PaperAsFiles : has no documentation (yet)\n\t\tPaperAsFiles *PaperAsFilesValue `json:\"paper_as_files,omitempty\"`\n\t\t// FileLocking : has no documentation (yet)\n\t\tFileLocking *FileLockingValue `json:\"file_locking,omitempty\"`\n\t}\n\tvar w wrap\n\tvar err error\n\tif err = json.Unmarshal(body, &w); err != nil {\n\t\treturn err\n\t}\n\tu.Tag = w.Tag\n\tswitch u.Tag {\n\tcase \"paper_as_files\":\n\t\tu.PaperAsFiles = w.PaperAsFiles\n\n\tcase \"file_locking\":\n\t\tu.FileLocking = w.FileLocking\n\n\t}\n\treturn nil\n}\n\n// UserFeaturesGetValuesBatchArg : has no documentation (yet)\ntype UserFeaturesGetValuesBatchArg struct {\n\t// Features : A list of features in `UserFeature`. If the list is empty,\n\t// this route will return `UserFeaturesGetValuesBatchError`.\n\tFeatures []*UserFeature `json:\"features\"`\n}\n\n// NewUserFeaturesGetValuesBatchArg returns a new UserFeaturesGetValuesBatchArg instance\nfunc NewUserFeaturesGetValuesBatchArg(Features []*UserFeature) *UserFeaturesGetValuesBatchArg {\n\ts := new(UserFeaturesGetValuesBatchArg)\n\ts.Features = Features\n\treturn s\n}\n\n// UserFeaturesGetValuesBatchError : has no documentation (yet)\ntype UserFeaturesGetValuesBatchError struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for UserFeaturesGetValuesBatchError\nconst (\n\tUserFeaturesGetValuesBatchErrorEmptyFeaturesList = \"empty_features_list\"\n\tUserFeaturesGetValuesBatchErrorOther             = \"other\"\n)\n\n// UserFeaturesGetValuesBatchResult : has no documentation (yet)\ntype UserFeaturesGetValuesBatchResult struct {\n\t// Values : has no documentation (yet)\n\tValues []*UserFeatureValue `json:\"values\"`\n}\n\n// NewUserFeaturesGetValuesBatchResult returns a new UserFeaturesGetValuesBatchResult instance\nfunc NewUserFeaturesGetValuesBatchResult(Values []*UserFeatureValue) *UserFeaturesGetValuesBatchResult {\n\ts := new(UserFeaturesGetValuesBatchResult)\n\ts.Values = Values\n\treturn s\n}\n"
  },
  {
    "path": "v6/dropbox/users_common/types.go",
    "content": "// Copyright (c) Dropbox, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Package users_common : This namespace contains common data types used within\n// the users namespace.\npackage users_common\n\nimport \"github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox\"\n\n// AccountType : What type of account this user has.\ntype AccountType struct {\n\tdropbox.Tagged\n}\n\n// Valid tag values for AccountType\nconst (\n\tAccountTypeBasic    = \"basic\"\n\tAccountTypePro      = \"pro\"\n\tAccountTypeBusiness = \"business\"\n)\n"
  },
  {
    "path": "v6/go.mod",
    "content": "module github.com/dropbox/dropbox-sdk-go-unofficial/v6\n\ngo 1.13\n\nrequire golang.org/x/oauth2 v0.7.0\n"
  },
  {
    "path": "v6/go.sum",
    "content": "cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=\ngithub.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=\ngithub.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=\ngithub.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=\ngithub.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=\ngithub.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=\ngithub.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=\ngithub.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=\ngithub.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=\ngolang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=\ngolang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=\ngolang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=\ngolang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=\ngolang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=\ngolang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=\ngolang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=\ngolang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=\ngolang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=\ngolang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM=\ngolang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=\ngolang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g=\ngolang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4=\ngolang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=\ngolang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=\ngolang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=\ngolang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=\ngolang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=\ngolang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=\ngolang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=\ngolang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=\ngolang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=\ngolang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=\ngolang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=\ngolang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=\ngolang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=\ngolang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=\ngolang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=\ngolang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=\ngolang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=\ngolang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=\ngolang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=\ngolang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=\ngolang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=\ngoogle.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=\ngoogle.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=\ngoogle.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=\ngoogle.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=\ngoogle.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=\ngoogle.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=\n"
  }
]