customsearch: update custom search and stop generation temporarily

The customsearch changes were generated by running
`./google-api-go-generator -cache=false -install -api=customsearch:v1 -gendir=..`.

Notice, the revision is actually going back in time. This is
expected in this rare case. There were some issues with this apis
spec do to the discovery doc migration. This is being tracked in
b/155117315. For now it seems the old version is the correct one. I
also updated the example to refeclt the old api. This is the reason
this example has broken so much recently.

GH issue #471 was opened to track re-enabling this api.

Change-Id: Id0522dede55fd439aab1438fc701f5d2369a495d
Reviewed-on: https://code-review.googlesource.com/c/google-api-go-client/+/55611
Reviewed-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Tyler Bui-Palsulich <tbp@google.com>
diff --git a/customsearch/v1/customsearch-api.json b/customsearch/v1/customsearch-api.json
index 2741c37..ec147c3 100644
--- a/customsearch/v1/customsearch-api.json
+++ b/customsearch/v1/customsearch-api.json
@@ -1,60 +1,33 @@
 {
-  "basePath": "",
-  "baseUrl": "https://customsearch.googleapis.com/",
-  "batchPath": "batch",
+  "basePath": "/customsearch/",
+  "baseUrl": "https://www.googleapis.com/customsearch/",
+  "batchPath": "batch/customsearch/v1",
   "description": "Searches over a website or collection of websites",
   "discoveryVersion": "v1",
-  "documentationLink": "https://developers.google.com/custom-search/v1/introduction",
+  "documentationLink": "https://developers.google.com/custom-search/v1/using_rest",
+  "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/DuDrBlvHLFXE8uorI6UhfoH-kUs\"",
   "icons": {
-    "x16": "http://www.google.com/images/icons/product/search-16.gif",
-    "x32": "http://www.google.com/images/icons/product/search-32.gif"
+    "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
+    "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
   },
   "id": "customsearch:v1",
   "kind": "discovery#restDescription",
-  "mtlsRootUrl": "https://customsearch.mtls.googleapis.com/",
   "name": "customsearch",
   "ownerDomain": "google.com",
   "ownerName": "Google",
   "parameters": {
-    "$.xgafv": {
-      "description": "V1 error format.",
-      "enum": [
-        "1",
-        "2"
-      ],
-      "enumDescriptions": [
-        "v1 error format",
-        "v2 error format"
-      ],
-      "location": "query",
-      "type": "string"
-    },
-    "access_token": {
-      "description": "OAuth access token.",
-      "location": "query",
-      "type": "string"
-    },
     "alt": {
       "default": "json",
-      "description": "Data format for response.",
+      "description": "Data format for the response.",
       "enum": [
-        "json",
-        "media",
-        "proto"
+        "json"
       ],
       "enumDescriptions": [
-        "Responses with Content-Type of application/json",
-        "Media download with context-dependent Content-Type",
-        "Responses with Content-Type of application/x-protobuf"
+        "Responses with Content-Type of application/json"
       ],
       "location": "query",
       "type": "string"
     },
-    "callback": {
-      "description": "JSONP",
-      "location": "query",
-      "type": "string"
-    },
     "fields": {
       "description": "Selector specifying which fields to include in a partial response.",
       "location": "query",
@@ -77,17 +50,12 @@
       "type": "boolean"
     },
     "quotaUser": {
-      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
+      "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.",
       "location": "query",
       "type": "string"
     },
-    "uploadType": {
-      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
-      "location": "query",
-      "type": "string"
-    },
-    "upload_protocol": {
-      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
+    "userIp": {
+      "description": "Deprecated. Please use quotaUser instead.",
       "location": "query",
       "type": "string"
     }
@@ -97,93 +65,118 @@
     "cse": {
       "methods": {
         "list": {
-          "description": "Returns metadata about the search performed, metadata about the custom\nsearch engine used for the search, and the search results.",
-          "flatPath": "customsearch/v1",
+          "description": "Returns metadata about the search performed, metadata about the custom search engine used for the search, and the search results.",
           "httpMethod": "GET",
           "id": "search.cse.list",
-          "parameterOrder": [],
+          "parameterOrder": [
+            "q"
+          ],
           "parameters": {
             "c2coff": {
-              "description": "Enables or disables [Simplified and Traditional Chinese\nSearch](https://developers.google.com/custom-search/docs/xml_results#chineseSearch).\n\nThe default value for this parameter is 0 (zero), meaning that the feature\nis enabled. Supported values are:\n\n* `1`: Disabled\n\n* `0`: Enabled (default)",
+              "description": "Turns off the translation between zh-CN and zh-TW.",
               "location": "query",
               "type": "string"
             },
             "cr": {
-              "description": "Restricts search results to documents originating in a particular country.\nYou may use [Boolean\noperators](https://developers.google.com/custom-search/docs/xml_results_appendices#booleanOperators)\nin the cr parameter's value.\n\nGoogle Search determines the country of a document by analyzing:\n\n* the top-level domain (TLD) of the document's URL\n\n* the geographic location of the Web server's IP address\n\nSee the [Country Parameter\nValues](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCollections)\npage for a list of valid values for this parameter.",
+              "description": "Country restrict(s).",
               "location": "query",
               "type": "string"
             },
             "cx": {
-              "description": "The custom search engine ID to use for this request.",
+              "description": "The custom search engine ID to scope this search query",
               "location": "query",
               "type": "string"
             },
             "dateRestrict": {
-              "description": "Restricts results to URLs based on date. Supported values include:\n\n* `d[number]`: requests results from the specified number of past days.\n\n* `w[number]`: requests results from the specified number of past weeks.\n\n* `m[number]`: requests results from the specified number of past months.\n\n* `y[number]`: requests results from the specified number of past years.",
+              "description": "Specifies all search results are from a time period",
               "location": "query",
               "type": "string"
             },
             "exactTerms": {
-              "description": "Identifies a phrase that all documents in the search results must contain.",
+              "description": "Identifies a phrase that all documents in the search results must contain",
               "location": "query",
               "type": "string"
             },
             "excludeTerms": {
-              "description": "Identifies a word or phrase that should not appear in any documents in the\nsearch results.",
+              "description": "Identifies a word or phrase that should not appear in any documents in the search results",
               "location": "query",
               "type": "string"
             },
             "fileType": {
-              "description": "Restricts results to files of a specified extension. A list of file types\nindexable by Google can be found in Search Console [Help\nCenter](https://support.google.com/webmasters/answer/35287).",
+              "description": "Returns images of a specified type. Some of the allowed values are: bmp, gif, png, jpg, svg, pdf, ...",
               "location": "query",
               "type": "string"
             },
             "filter": {
-              "description": "Controls turning on or off the duplicate content filter.\n\n* See [Automatic\nFiltering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering)\nfor more information about Google's search results filters. Note that host\ncrowding filtering applies only to multi-site searches.\n\n* By default, Google applies filtering to all search results to improve the\nquality of those results.\n\nAcceptable values are:\n\n* `0`: Turns off duplicate content filter.\n\n* `1`: Turns on duplicate content filter.",
+              "description": "Controls turning on or off the duplicate content filter.",
+              "enum": [
+                "0",
+                "1"
+              ],
+              "enumDescriptions": [
+                "Turns off duplicate content filter.",
+                "Turns on duplicate content filter."
+              ],
               "location": "query",
               "type": "string"
             },
             "gl": {
-              "description": "Geolocation of end user.\n\n* The `gl` parameter value is a two-letter country code. The `gl` parameter\nboosts search results whose country of origin matches the parameter value.\nSee the [Country\nCodes](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCodes)\npage for a list of valid values.\n\n* Specifying a `gl` parameter value should lead to more relevant results.\nThis is particularly true for international customers and, even more\nspecifically, for customers in English- speaking countries other than the\nUnited States.",
+              "description": "Geolocation of end user.",
               "location": "query",
               "type": "string"
             },
             "googlehost": {
-              "description": "**Deprecated**. Use the `gl` parameter for a similar effect.\n\nThe local Google domain (for example, google.com, google.de, or\ngoogle.fr) to use to perform the search.",
+              "description": "The local Google domain to use to perform the search.",
               "location": "query",
               "type": "string"
             },
             "highRange": {
-              "description": "Specifies the ending value for a search range.\n\n* Use `lowRange` and `highRange` to append an inclusive search range of\n`lowRange...highRange` to the query.",
+              "description": "Creates a range in form as_nlo value..as_nhi value and attempts to append it to query",
               "location": "query",
               "type": "string"
             },
             "hl": {
-              "description": "Sets the user interface language.\n\n* Explicitly setting this parameter improves the performance and the\nquality of your search results.\n\n* See the [Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages)\nsection of [Internationalizing Queries and Results\nPresentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing)\nfor more information, and (Supported Interface\nLanguages)[https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages]\nfor a list of supported languages.",
+              "description": "Sets the user interface language.",
               "location": "query",
               "type": "string"
             },
             "hq": {
-              "description": "Appends the specified query terms to the query, as if they were combined\nwith a logical AND operator.",
+              "description": "Appends the extra query terms to the query.",
               "location": "query",
               "type": "string"
             },
             "imgColorType": {
-              "description": "Returns black and white, grayscale, transparent, or color images.\nAcceptable values are:\n\n* `\"color\"`\n\n* `\"gray\"`\n\n* `\"mono\"`: black and white\n\n* `\"trans\"`: transparent background",
+              "description": "Returns black and white, grayscale, or color images: mono, gray, and color.",
               "enum": [
-                "imgColorTypeUndefined",
-                "mono",
-                "gray",
                 "color",
-                "trans"
+                "gray",
+                "mono"
+              ],
+              "enumDescriptions": [
+                "color",
+                "gray",
+                "mono"
               ],
               "location": "query",
               "type": "string"
             },
             "imgDominantColor": {
-              "description": "Returns images of a specific dominant color. Acceptable values are:\n\n* `\"black\"`\n\n* `\"blue\"`\n\n* `\"brown\"`\n\n* `\"gray\"`\n\n* `\"green\"`\n\n* `\"orange\"`\n\n* `\"pink\"`\n\n* `\"purple\"`\n\n* `\"red\"`\n\n* `\"teal\"`\n\n* `\"white\"`\n\n* `\"yellow\"`",
+              "description": "Returns images of a specific dominant color: red, orange, yellow, green, teal, blue, purple, pink, white, gray, black and brown.",
               "enum": [
-                "imgDominantColorUndefined",
+                "black",
+                "blue",
+                "brown",
+                "gray",
+                "green",
+                "orange",
+                "pink",
+                "purple",
+                "red",
+                "teal",
+                "white",
+                "yellow"
+              ],
+              "enumDescriptions": [
                 "black",
                 "blue",
                 "brown",
@@ -201,388 +194,635 @@
               "type": "string"
             },
             "imgSize": {
-              "description": "Returns images of a specified size. Acceptable values are:\n\n* `\"huge\"`\n\n* `\"icon\"`\n\n* `\"large\"`\n\n* `\"medium\"`\n\n* `\"small\"`\n\n* `\"xlarge\"`\n\n* `\"xxlarge\"`",
+              "description": "Returns images of a specified size, where size can be one of: icon, small, medium, large, xlarge, xxlarge, and huge.",
               "enum": [
-                "imgSizeUndefined",
-                "HUGE",
-                "ICON",
-                "LARGE",
-                "MEDIUM",
-                "SMALL",
-                "XLARGE",
-                "XXLARGE"
+                "huge",
+                "icon",
+                "large",
+                "medium",
+                "small",
+                "xlarge",
+                "xxlarge"
+              ],
+              "enumDescriptions": [
+                "huge",
+                "icon",
+                "large",
+                "medium",
+                "small",
+                "xlarge",
+                "xxlarge"
               ],
               "location": "query",
               "type": "string"
             },
             "imgType": {
-              "description": "Returns images of a type. Acceptable values are:\n\n* `\"clipart\"`\n\n* `\"face\"`\n\n* `\"lineart\"`\n\n* `\"stock\"`\n\n* `\"photo\"`\n\n* `\"animated\"`",
+              "description": "Returns images of a type, which can be one of: clipart, face, lineart, news, and photo.",
               "enum": [
-                "imgTypeUndefined",
                 "clipart",
                 "face",
                 "lineart",
-                "stock",
-                "photo",
-                "animated"
+                "news",
+                "photo"
+              ],
+              "enumDescriptions": [
+                "clipart",
+                "face",
+                "lineart",
+                "news",
+                "photo"
               ],
               "location": "query",
               "type": "string"
             },
             "linkSite": {
-              "description": "Specifies that all search results should contain a link to a particular\nURL.",
+              "description": "Specifies that all search results should contain a link to a particular URL",
               "location": "query",
               "type": "string"
             },
             "lowRange": {
-              "description": "Specifies the starting value for a search range. Use `lowRange` and\n`highRange` to append an inclusive search range of `lowRange...highRange`\nto the query.",
+              "description": "Creates a range in form as_nlo value..as_nhi value and attempts to append it to query",
               "location": "query",
               "type": "string"
             },
             "lr": {
-              "description": "Restricts the search to documents written in a particular language (e.g.,\n`lr=lang_ja`).\n\nAcceptable values are:\n\n* `\"lang_ar\"`: Arabic\n\n* `\"lang_bg\"`: Bulgarian\n\n* `\"lang_ca\"`: Catalan\n\n* `\"lang_cs\"`: Czech\n\n* `\"lang_da\"`: Danish\n\n* `\"lang_de\"`: German\n\n* `\"lang_el\"`: Greek\n\n* `\"lang_en\"`: English\n\n* `\"lang_es\"`: Spanish\n\n* `\"lang_et\"`: Estonian\n\n* `\"lang_fi\"`: Finnish\n\n* `\"lang_fr\"`: French\n\n* `\"lang_hr\"`: Croatian\n\n* `\"lang_hu\"`: Hungarian\n\n* `\"lang_id\"`: Indonesian\n\n* `\"lang_is\"`: Icelandic\n\n* `\"lang_it\"`: Italian\n\n* `\"lang_iw\"`: Hebrew\n\n* `\"lang_ja\"`: Japanese\n\n* `\"lang_ko\"`: Korean\n\n* `\"lang_lt\"`: Lithuanian\n\n* `\"lang_lv\"`: Latvian\n\n* `\"lang_nl\"`: Dutch\n\n* `\"lang_no\"`: Norwegian\n\n* `\"lang_pl\"`: Polish\n\n* `\"lang_pt\"`: Portuguese\n\n* `\"lang_ro\"`: Romanian\n\n* `\"lang_ru\"`: Russian\n\n* `\"lang_sk\"`: Slovak\n\n* `\"lang_sl\"`: Slovenian\n\n* `\"lang_sr\"`: Serbian\n\n* `\"lang_sv\"`: Swedish\n\n* `\"lang_tr\"`: Turkish\n\n* `\"lang_zh-CN\"`: Chinese (Simplified)\n\n* `\"lang_zh-TW\"`: Chinese (Traditional)",
+              "description": "The language restriction for the search results",
+              "enum": [
+                "lang_ar",
+                "lang_bg",
+                "lang_ca",
+                "lang_cs",
+                "lang_da",
+                "lang_de",
+                "lang_el",
+                "lang_en",
+                "lang_es",
+                "lang_et",
+                "lang_fi",
+                "lang_fr",
+                "lang_hr",
+                "lang_hu",
+                "lang_id",
+                "lang_is",
+                "lang_it",
+                "lang_iw",
+                "lang_ja",
+                "lang_ko",
+                "lang_lt",
+                "lang_lv",
+                "lang_nl",
+                "lang_no",
+                "lang_pl",
+                "lang_pt",
+                "lang_ro",
+                "lang_ru",
+                "lang_sk",
+                "lang_sl",
+                "lang_sr",
+                "lang_sv",
+                "lang_tr",
+                "lang_zh-CN",
+                "lang_zh-TW"
+              ],
+              "enumDescriptions": [
+                "Arabic",
+                "Bulgarian",
+                "Catalan",
+                "Czech",
+                "Danish",
+                "German",
+                "Greek",
+                "English",
+                "Spanish",
+                "Estonian",
+                "Finnish",
+                "French",
+                "Croatian",
+                "Hungarian",
+                "Indonesian",
+                "Icelandic",
+                "Italian",
+                "Hebrew",
+                "Japanese",
+                "Korean",
+                "Lithuanian",
+                "Latvian",
+                "Dutch",
+                "Norwegian",
+                "Polish",
+                "Portuguese",
+                "Romanian",
+                "Russian",
+                "Slovak",
+                "Slovenian",
+                "Serbian",
+                "Swedish",
+                "Turkish",
+                "Chinese (Simplified)",
+                "Chinese (Traditional)"
+              ],
               "location": "query",
               "type": "string"
             },
             "num": {
-              "description": "Number of search results to return.\n\n* Valid values are integers between 1 and 10, inclusive.",
-              "format": "int32",
+              "default": "10",
+              "description": "Number of search results to return",
+              "format": "uint32",
               "location": "query",
               "type": "integer"
             },
             "orTerms": {
-              "description": "Provides additional search terms to check for in a document, where each\ndocument in the search results must contain at least one of the additional\nsearch terms.",
+              "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms",
               "location": "query",
               "type": "string"
             },
             "q": {
               "description": "Query",
               "location": "query",
+              "required": true,
               "type": "string"
             },
             "relatedSite": {
-              "description": "Specifies that all search results should be pages that are related to the\nspecified URL.",
+              "description": "Specifies that all search results should be pages that are related to the specified URL",
               "location": "query",
               "type": "string"
             },
             "rights": {
-              "description": "Filters based on licensing. Supported values include: `cc_publicdomain`,\n`cc_attribute`, `cc_sharealike`, `cc_noncommercial`, `cc_nonderived` and\ncombinations of these. See [typical\ncombinations](https://wiki.creativecommons.org/wiki/CC_Search_integration).",
+              "description": "Filters based on licensing. Supported values include: cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived and combinations of these.",
               "location": "query",
               "type": "string"
             },
             "safe": {
-              "description": "Search safety level. Acceptable values are:\n\n* `\"active\"`: Enables SafeSearch filtering.\n\n* `\"off\"`: Disables SafeSearch filtering. (default)",
+              "default": "off",
+              "description": "Search safety level",
               "enum": [
-                "safeUndefined",
                 "active",
                 "high",
                 "medium",
                 "off"
               ],
+              "enumDescriptions": [
+                "Enables safe search filtering.",
+                "(Deprecated) Same as active.",
+                "(Deprecated) Same as active.",
+                "Disables safe search filtering."
+              ],
               "location": "query",
               "type": "string"
             },
             "searchType": {
-              "description": "Specifies the search type: `image`. If unspecified, results are limited to\nwebpages.\n\nAcceptable values are:\n\n* `\"image\"`: custom image search.",
+              "description": "Specifies the search type: image.",
               "enum": [
-                "searchTypeUndefined",
                 "image"
               ],
+              "enumDescriptions": [
+                "custom image search"
+              ],
               "location": "query",
               "type": "string"
             },
             "siteSearch": {
-              "description": "Specifies a given site which should always be included or excluded from\nresults (see `siteSearchFilter` parameter, below).",
+              "description": "Specifies all search results should be pages from a given site",
               "location": "query",
               "type": "string"
             },
             "siteSearchFilter": {
-              "description": "Controls whether to include or exclude results from the site named in the\n`siteSearch` parameter.\n\nAcceptable values are:\n\n* `\"e\"`: exclude\n\n* `\"i\"`: include",
+              "description": "Controls whether to include or exclude results from the site named in the as_sitesearch parameter",
               "enum": [
-                "siteSearchFilterUndefined",
                 "e",
                 "i"
               ],
+              "enumDescriptions": [
+                "exclude",
+                "include"
+              ],
               "location": "query",
               "type": "string"
             },
             "sort": {
-              "description": "The sort expression to apply to the results.",
+              "description": "The sort expression to apply to the results",
               "location": "query",
               "type": "string"
             },
             "start": {
-              "description": "The index of the first result to return. The default number of results per\npage is 10, so `\u0026start=11` would start at the top of the second page of\nresults. **Note**: The JSON API will never return more than 100 results,\neven if more than 100 documents match the query, so setting the sum of\n`start + num` to a number greater than 100 will produce an error. Also note\nthat the maximum value for `num` is 10.",
+              "description": "The index of the first result to return",
               "format": "uint32",
               "location": "query",
               "type": "integer"
             }
           },
-          "path": "customsearch/v1",
+          "path": "v1",
           "response": {
             "$ref": "Search"
           }
         }
-      }
-    },
-    "siterestrict": {
-      "methods": {
-        "list": {
-          "description": "Returns metadata about the search performed, metadata about the custom\nsearch engine used for the search, and the search results. Uses a small set\nof url patterns.",
-          "flatPath": "customsearch/v1/siterestrict",
-          "httpMethod": "GET",
-          "id": "search.cse.siterestrict.list",
-          "parameterOrder": [],
-          "parameters": {
-            "c2coff": {
-              "description": "Enables or disables [Simplified and Traditional Chinese\nSearch](https://developers.google.com/custom-search/docs/xml_results#chineseSearch).\n\nThe default value for this parameter is 0 (zero), meaning that the feature\nis enabled. Supported values are:\n\n* `1`: Disabled\n\n* `0`: Enabled (default)",
-              "location": "query",
-              "type": "string"
-            },
-            "cr": {
-              "description": "Restricts search results to documents originating in a particular country.\nYou may use [Boolean\noperators](https://developers.google.com/custom-search/docs/xml_results_appendices#booleanOperators)\nin the cr parameter's value.\n\nGoogle Search determines the country of a document by analyzing:\n\n* the top-level domain (TLD) of the document's URL\n\n* the geographic location of the Web server's IP address\n\nSee the [Country Parameter\nValues](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCollections)\npage for a list of valid values for this parameter.",
-              "location": "query",
-              "type": "string"
-            },
-            "cx": {
-              "description": "The custom search engine ID to use for this request.",
-              "location": "query",
-              "type": "string"
-            },
-            "dateRestrict": {
-              "description": "Restricts results to URLs based on date. Supported values include:\n\n* `d[number]`: requests results from the specified number of past days.\n\n* `w[number]`: requests results from the specified number of past weeks.\n\n* `m[number]`: requests results from the specified number of past months.\n\n* `y[number]`: requests results from the specified number of past years.",
-              "location": "query",
-              "type": "string"
-            },
-            "exactTerms": {
-              "description": "Identifies a phrase that all documents in the search results must contain.",
-              "location": "query",
-              "type": "string"
-            },
-            "excludeTerms": {
-              "description": "Identifies a word or phrase that should not appear in any documents in the\nsearch results.",
-              "location": "query",
-              "type": "string"
-            },
-            "fileType": {
-              "description": "Restricts results to files of a specified extension. A list of file types\nindexable by Google can be found in Search Console [Help\nCenter](https://support.google.com/webmasters/answer/35287).",
-              "location": "query",
-              "type": "string"
-            },
-            "filter": {
-              "description": "Controls turning on or off the duplicate content filter.\n\n* See [Automatic\nFiltering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering)\nfor more information about Google's search results filters. Note that host\ncrowding filtering applies only to multi-site searches.\n\n* By default, Google applies filtering to all search results to improve the\nquality of those results.\n\nAcceptable values are:\n\n* `0`: Turns off duplicate content filter.\n\n* `1`: Turns on duplicate content filter.",
-              "location": "query",
-              "type": "string"
-            },
-            "gl": {
-              "description": "Geolocation of end user.\n\n* The `gl` parameter value is a two-letter country code. The `gl` parameter\nboosts search results whose country of origin matches the parameter value.\nSee the [Country\nCodes](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCodes)\npage for a list of valid values.\n\n* Specifying a `gl` parameter value should lead to more relevant results.\nThis is particularly true for international customers and, even more\nspecifically, for customers in English- speaking countries other than the\nUnited States.",
-              "location": "query",
-              "type": "string"
-            },
-            "googlehost": {
-              "description": "**Deprecated**. Use the `gl` parameter for a similar effect.\n\nThe local Google domain (for example, google.com, google.de, or\ngoogle.fr) to use to perform the search.",
-              "location": "query",
-              "type": "string"
-            },
-            "highRange": {
-              "description": "Specifies the ending value for a search range.\n\n* Use `lowRange` and `highRange` to append an inclusive search range of\n`lowRange...highRange` to the query.",
-              "location": "query",
-              "type": "string"
-            },
-            "hl": {
-              "description": "Sets the user interface language.\n\n* Explicitly setting this parameter improves the performance and the\nquality of your search results.\n\n* See the [Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages)\nsection of [Internationalizing Queries and Results\nPresentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing)\nfor more information, and (Supported Interface\nLanguages)[https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages]\nfor a list of supported languages.",
-              "location": "query",
-              "type": "string"
-            },
-            "hq": {
-              "description": "Appends the specified query terms to the query, as if they were combined\nwith a logical AND operator.",
-              "location": "query",
-              "type": "string"
-            },
-            "imgColorType": {
-              "description": "Returns black and white, grayscale, transparent, or color images.\nAcceptable values are:\n\n* `\"color\"`\n\n* `\"gray\"`\n\n* `\"mono\"`: black and white\n\n* `\"trans\"`: transparent background",
-              "enum": [
-                "imgColorTypeUndefined",
-                "mono",
-                "gray",
-                "color",
-                "trans"
+      },
+      "resources": {
+        "siterestrict": {
+          "methods": {
+            "list": {
+              "description": "Returns metadata about the search performed, metadata about the custom search engine used for the search, and the search results. Uses a small set of url patterns.",
+              "httpMethod": "GET",
+              "id": "search.cse.siterestrict.list",
+              "parameterOrder": [
+                "q"
               ],
-              "location": "query",
-              "type": "string"
-            },
-            "imgDominantColor": {
-              "description": "Returns images of a specific dominant color. Acceptable values are:\n\n* `\"black\"`\n\n* `\"blue\"`\n\n* `\"brown\"`\n\n* `\"gray\"`\n\n* `\"green\"`\n\n* `\"orange\"`\n\n* `\"pink\"`\n\n* `\"purple\"`\n\n* `\"red\"`\n\n* `\"teal\"`\n\n* `\"white\"`\n\n* `\"yellow\"`",
-              "enum": [
-                "imgDominantColorUndefined",
-                "black",
-                "blue",
-                "brown",
-                "gray",
-                "green",
-                "orange",
-                "pink",
-                "purple",
-                "red",
-                "teal",
-                "white",
-                "yellow"
-              ],
-              "location": "query",
-              "type": "string"
-            },
-            "imgSize": {
-              "description": "Returns images of a specified size. Acceptable values are:\n\n* `\"huge\"`\n\n* `\"icon\"`\n\n* `\"large\"`\n\n* `\"medium\"`\n\n* `\"small\"`\n\n* `\"xlarge\"`\n\n* `\"xxlarge\"`",
-              "enum": [
-                "imgSizeUndefined",
-                "HUGE",
-                "ICON",
-                "LARGE",
-                "MEDIUM",
-                "SMALL",
-                "XLARGE",
-                "XXLARGE"
-              ],
-              "location": "query",
-              "type": "string"
-            },
-            "imgType": {
-              "description": "Returns images of a type. Acceptable values are:\n\n* `\"clipart\"`\n\n* `\"face\"`\n\n* `\"lineart\"`\n\n* `\"stock\"`\n\n* `\"photo\"`\n\n* `\"animated\"`",
-              "enum": [
-                "imgTypeUndefined",
-                "clipart",
-                "face",
-                "lineart",
-                "stock",
-                "photo",
-                "animated"
-              ],
-              "location": "query",
-              "type": "string"
-            },
-            "linkSite": {
-              "description": "Specifies that all search results should contain a link to a particular\nURL.",
-              "location": "query",
-              "type": "string"
-            },
-            "lowRange": {
-              "description": "Specifies the starting value for a search range. Use `lowRange` and\n`highRange` to append an inclusive search range of `lowRange...highRange`\nto the query.",
-              "location": "query",
-              "type": "string"
-            },
-            "lr": {
-              "description": "Restricts the search to documents written in a particular language (e.g.,\n`lr=lang_ja`).\n\nAcceptable values are:\n\n* `\"lang_ar\"`: Arabic\n\n* `\"lang_bg\"`: Bulgarian\n\n* `\"lang_ca\"`: Catalan\n\n* `\"lang_cs\"`: Czech\n\n* `\"lang_da\"`: Danish\n\n* `\"lang_de\"`: German\n\n* `\"lang_el\"`: Greek\n\n* `\"lang_en\"`: English\n\n* `\"lang_es\"`: Spanish\n\n* `\"lang_et\"`: Estonian\n\n* `\"lang_fi\"`: Finnish\n\n* `\"lang_fr\"`: French\n\n* `\"lang_hr\"`: Croatian\n\n* `\"lang_hu\"`: Hungarian\n\n* `\"lang_id\"`: Indonesian\n\n* `\"lang_is\"`: Icelandic\n\n* `\"lang_it\"`: Italian\n\n* `\"lang_iw\"`: Hebrew\n\n* `\"lang_ja\"`: Japanese\n\n* `\"lang_ko\"`: Korean\n\n* `\"lang_lt\"`: Lithuanian\n\n* `\"lang_lv\"`: Latvian\n\n* `\"lang_nl\"`: Dutch\n\n* `\"lang_no\"`: Norwegian\n\n* `\"lang_pl\"`: Polish\n\n* `\"lang_pt\"`: Portuguese\n\n* `\"lang_ro\"`: Romanian\n\n* `\"lang_ru\"`: Russian\n\n* `\"lang_sk\"`: Slovak\n\n* `\"lang_sl\"`: Slovenian\n\n* `\"lang_sr\"`: Serbian\n\n* `\"lang_sv\"`: Swedish\n\n* `\"lang_tr\"`: Turkish\n\n* `\"lang_zh-CN\"`: Chinese (Simplified)\n\n* `\"lang_zh-TW\"`: Chinese (Traditional)",
-              "location": "query",
-              "type": "string"
-            },
-            "num": {
-              "description": "Number of search results to return.\n\n* Valid values are integers between 1 and 10, inclusive.",
-              "format": "int32",
-              "location": "query",
-              "type": "integer"
-            },
-            "orTerms": {
-              "description": "Provides additional search terms to check for in a document, where each\ndocument in the search results must contain at least one of the additional\nsearch terms.",
-              "location": "query",
-              "type": "string"
-            },
-            "q": {
-              "description": "Query",
-              "location": "query",
-              "type": "string"
-            },
-            "relatedSite": {
-              "description": "Specifies that all search results should be pages that are related to the\nspecified URL.",
-              "location": "query",
-              "type": "string"
-            },
-            "rights": {
-              "description": "Filters based on licensing. Supported values include: `cc_publicdomain`,\n`cc_attribute`, `cc_sharealike`, `cc_noncommercial`, `cc_nonderived` and\ncombinations of these. See [typical\ncombinations](https://wiki.creativecommons.org/wiki/CC_Search_integration).",
-              "location": "query",
-              "type": "string"
-            },
-            "safe": {
-              "description": "Search safety level. Acceptable values are:\n\n* `\"active\"`: Enables SafeSearch filtering.\n\n* `\"off\"`: Disables SafeSearch filtering. (default)",
-              "enum": [
-                "safeUndefined",
-                "active",
-                "high",
-                "medium",
-                "off"
-              ],
-              "location": "query",
-              "type": "string"
-            },
-            "searchType": {
-              "description": "Specifies the search type: `image`. If unspecified, results are limited to\nwebpages.\n\nAcceptable values are:\n\n* `\"image\"`: custom image search.",
-              "enum": [
-                "searchTypeUndefined",
-                "image"
-              ],
-              "location": "query",
-              "type": "string"
-            },
-            "siteSearch": {
-              "description": "Specifies a given site which should always be included or excluded from\nresults (see `siteSearchFilter` parameter, below).",
-              "location": "query",
-              "type": "string"
-            },
-            "siteSearchFilter": {
-              "description": "Controls whether to include or exclude results from the site named in the\n`siteSearch` parameter.\n\nAcceptable values are:\n\n* `\"e\"`: exclude\n\n* `\"i\"`: include",
-              "enum": [
-                "siteSearchFilterUndefined",
-                "e",
-                "i"
-              ],
-              "location": "query",
-              "type": "string"
-            },
-            "sort": {
-              "description": "The sort expression to apply to the results.",
-              "location": "query",
-              "type": "string"
-            },
-            "start": {
-              "description": "The index of the first result to return. The default number of results per\npage is 10, so `\u0026start=11` would start at the top of the second page of\nresults. **Note**: The JSON API will never return more than 100 results,\neven if more than 100 documents match the query, so setting the sum of\n`start + num` to a number greater than 100 will produce an error. Also note\nthat the maximum value for `num` is 10.",
-              "format": "uint32",
-              "location": "query",
-              "type": "integer"
+              "parameters": {
+                "c2coff": {
+                  "description": "Turns off the translation between zh-CN and zh-TW.",
+                  "location": "query",
+                  "type": "string"
+                },
+                "cr": {
+                  "description": "Country restrict(s).",
+                  "location": "query",
+                  "type": "string"
+                },
+                "cx": {
+                  "description": "The custom search engine ID to scope this search query",
+                  "location": "query",
+                  "type": "string"
+                },
+                "dateRestrict": {
+                  "description": "Specifies all search results are from a time period",
+                  "location": "query",
+                  "type": "string"
+                },
+                "exactTerms": {
+                  "description": "Identifies a phrase that all documents in the search results must contain",
+                  "location": "query",
+                  "type": "string"
+                },
+                "excludeTerms": {
+                  "description": "Identifies a word or phrase that should not appear in any documents in the search results",
+                  "location": "query",
+                  "type": "string"
+                },
+                "fileType": {
+                  "description": "Returns images of a specified type. Some of the allowed values are: bmp, gif, png, jpg, svg, pdf, ...",
+                  "location": "query",
+                  "type": "string"
+                },
+                "filter": {
+                  "description": "Controls turning on or off the duplicate content filter.",
+                  "enum": [
+                    "0",
+                    "1"
+                  ],
+                  "enumDescriptions": [
+                    "Turns off duplicate content filter.",
+                    "Turns on duplicate content filter."
+                  ],
+                  "location": "query",
+                  "type": "string"
+                },
+                "gl": {
+                  "description": "Geolocation of end user.",
+                  "location": "query",
+                  "type": "string"
+                },
+                "googlehost": {
+                  "description": "The local Google domain to use to perform the search.",
+                  "location": "query",
+                  "type": "string"
+                },
+                "highRange": {
+                  "description": "Creates a range in form as_nlo value..as_nhi value and attempts to append it to query",
+                  "location": "query",
+                  "type": "string"
+                },
+                "hl": {
+                  "description": "Sets the user interface language.",
+                  "location": "query",
+                  "type": "string"
+                },
+                "hq": {
+                  "description": "Appends the extra query terms to the query.",
+                  "location": "query",
+                  "type": "string"
+                },
+                "imgColorType": {
+                  "description": "Returns black and white, grayscale, or color images: mono, gray, and color.",
+                  "enum": [
+                    "color",
+                    "gray",
+                    "mono"
+                  ],
+                  "enumDescriptions": [
+                    "color",
+                    "gray",
+                    "mono"
+                  ],
+                  "location": "query",
+                  "type": "string"
+                },
+                "imgDominantColor": {
+                  "description": "Returns images of a specific dominant color: red, orange, yellow, green, teal, blue, purple, pink, white, gray, black and brown.",
+                  "enum": [
+                    "black",
+                    "blue",
+                    "brown",
+                    "gray",
+                    "green",
+                    "orange",
+                    "pink",
+                    "purple",
+                    "red",
+                    "teal",
+                    "white",
+                    "yellow"
+                  ],
+                  "enumDescriptions": [
+                    "black",
+                    "blue",
+                    "brown",
+                    "gray",
+                    "green",
+                    "orange",
+                    "pink",
+                    "purple",
+                    "red",
+                    "teal",
+                    "white",
+                    "yellow"
+                  ],
+                  "location": "query",
+                  "type": "string"
+                },
+                "imgSize": {
+                  "description": "Returns images of a specified size, where size can be one of: icon, small, medium, large, xlarge, xxlarge, and huge.",
+                  "enum": [
+                    "huge",
+                    "icon",
+                    "large",
+                    "medium",
+                    "small",
+                    "xlarge",
+                    "xxlarge"
+                  ],
+                  "enumDescriptions": [
+                    "huge",
+                    "icon",
+                    "large",
+                    "medium",
+                    "small",
+                    "xlarge",
+                    "xxlarge"
+                  ],
+                  "location": "query",
+                  "type": "string"
+                },
+                "imgType": {
+                  "description": "Returns images of a type, which can be one of: clipart, face, lineart, news, and photo.",
+                  "enum": [
+                    "clipart",
+                    "face",
+                    "lineart",
+                    "news",
+                    "photo"
+                  ],
+                  "enumDescriptions": [
+                    "clipart",
+                    "face",
+                    "lineart",
+                    "news",
+                    "photo"
+                  ],
+                  "location": "query",
+                  "type": "string"
+                },
+                "linkSite": {
+                  "description": "Specifies that all search results should contain a link to a particular URL",
+                  "location": "query",
+                  "type": "string"
+                },
+                "lowRange": {
+                  "description": "Creates a range in form as_nlo value..as_nhi value and attempts to append it to query",
+                  "location": "query",
+                  "type": "string"
+                },
+                "lr": {
+                  "description": "The language restriction for the search results",
+                  "enum": [
+                    "lang_ar",
+                    "lang_bg",
+                    "lang_ca",
+                    "lang_cs",
+                    "lang_da",
+                    "lang_de",
+                    "lang_el",
+                    "lang_en",
+                    "lang_es",
+                    "lang_et",
+                    "lang_fi",
+                    "lang_fr",
+                    "lang_hr",
+                    "lang_hu",
+                    "lang_id",
+                    "lang_is",
+                    "lang_it",
+                    "lang_iw",
+                    "lang_ja",
+                    "lang_ko",
+                    "lang_lt",
+                    "lang_lv",
+                    "lang_nl",
+                    "lang_no",
+                    "lang_pl",
+                    "lang_pt",
+                    "lang_ro",
+                    "lang_ru",
+                    "lang_sk",
+                    "lang_sl",
+                    "lang_sr",
+                    "lang_sv",
+                    "lang_tr",
+                    "lang_zh-CN",
+                    "lang_zh-TW"
+                  ],
+                  "enumDescriptions": [
+                    "Arabic",
+                    "Bulgarian",
+                    "Catalan",
+                    "Czech",
+                    "Danish",
+                    "German",
+                    "Greek",
+                    "English",
+                    "Spanish",
+                    "Estonian",
+                    "Finnish",
+                    "French",
+                    "Croatian",
+                    "Hungarian",
+                    "Indonesian",
+                    "Icelandic",
+                    "Italian",
+                    "Hebrew",
+                    "Japanese",
+                    "Korean",
+                    "Lithuanian",
+                    "Latvian",
+                    "Dutch",
+                    "Norwegian",
+                    "Polish",
+                    "Portuguese",
+                    "Romanian",
+                    "Russian",
+                    "Slovak",
+                    "Slovenian",
+                    "Serbian",
+                    "Swedish",
+                    "Turkish",
+                    "Chinese (Simplified)",
+                    "Chinese (Traditional)"
+                  ],
+                  "location": "query",
+                  "type": "string"
+                },
+                "num": {
+                  "default": "10",
+                  "description": "Number of search results to return",
+                  "format": "uint32",
+                  "location": "query",
+                  "type": "integer"
+                },
+                "orTerms": {
+                  "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms",
+                  "location": "query",
+                  "type": "string"
+                },
+                "q": {
+                  "description": "Query",
+                  "location": "query",
+                  "required": true,
+                  "type": "string"
+                },
+                "relatedSite": {
+                  "description": "Specifies that all search results should be pages that are related to the specified URL",
+                  "location": "query",
+                  "type": "string"
+                },
+                "rights": {
+                  "description": "Filters based on licensing. Supported values include: cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived and combinations of these.",
+                  "location": "query",
+                  "type": "string"
+                },
+                "safe": {
+                  "default": "off",
+                  "description": "Search safety level",
+                  "enum": [
+                    "high",
+                    "medium",
+                    "off"
+                  ],
+                  "enumDescriptions": [
+                    "Enables highest level of safe search filtering.",
+                    "Enables moderate safe search filtering.",
+                    "Disables safe search filtering."
+                  ],
+                  "location": "query",
+                  "type": "string"
+                },
+                "searchType": {
+                  "description": "Specifies the search type: image.",
+                  "enum": [
+                    "image"
+                  ],
+                  "enumDescriptions": [
+                    "custom image search"
+                  ],
+                  "location": "query",
+                  "type": "string"
+                },
+                "siteSearch": {
+                  "description": "Specifies all search results should be pages from a given site",
+                  "location": "query",
+                  "type": "string"
+                },
+                "siteSearchFilter": {
+                  "description": "Controls whether to include or exclude results from the site named in the as_sitesearch parameter",
+                  "enum": [
+                    "e",
+                    "i"
+                  ],
+                  "enumDescriptions": [
+                    "exclude",
+                    "include"
+                  ],
+                  "location": "query",
+                  "type": "string"
+                },
+                "sort": {
+                  "description": "The sort expression to apply to the results",
+                  "location": "query",
+                  "type": "string"
+                },
+                "start": {
+                  "description": "The index of the first result to return",
+                  "format": "uint32",
+                  "location": "query",
+                  "type": "integer"
+                }
+              },
+              "path": "v1/siterestrict",
+              "response": {
+                "$ref": "Search"
+              }
             }
-          },
-          "path": "customsearch/v1/siterestrict",
-          "response": {
-            "$ref": "Search"
           }
         }
       }
     }
   },
-  "revision": "20200408",
-  "rootUrl": "https://customsearch.googleapis.com/",
+  "revision": "20181001",
+  "rootUrl": "https://www.googleapis.com/",
   "schemas": {
+    "Context": {
+      "id": "Context",
+      "properties": {
+        "facets": {
+          "items": {
+            "items": {
+              "properties": {
+                "anchor": {
+                  "type": "string"
+                },
+                "label": {
+                  "type": "string"
+                },
+                "label_with_op": {
+                  "type": "string"
+                }
+              },
+              "type": "object"
+            },
+            "type": "array"
+          },
+          "type": "array"
+        },
+        "title": {
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Promotion": {
-      "description": "Promotion result.",
       "id": "Promotion",
       "properties": {
         "bodyLines": {
-          "description": "An array of block objects for this promotion. See [Google WebSearch\nProtocol\nreference](https://developers.google.com/custom-search/docs/xml_results)\nfor more information.",
           "items": {
-            "description": "Block object belonging to a promotion.",
             "properties": {
               "htmlTitle": {
-                "description": "The block object's text in HTML, if it has text.",
                 "type": "string"
               },
               "link": {
-                "description": "The anchor text of the block object's link, if it has a link.",
                 "type": "string"
               },
               "title": {
-                "description": "The block object's text, if it has text.",
                 "type": "string"
               },
               "url": {
-                "description": "The URL of the block object's link, if it has one.",
                 "type": "string"
               }
             },
@@ -591,27 +831,21 @@
           "type": "array"
         },
         "displayLink": {
-          "description": "An abridged version of this search's result URL, e.g. www.example.com.",
           "type": "string"
         },
         "htmlTitle": {
-          "description": "The title of the promotion, in HTML.",
           "type": "string"
         },
         "image": {
-          "description": "Image belonging to a promotion.",
           "properties": {
             "height": {
-              "description": "Image height in pixels.",
               "format": "int32",
               "type": "integer"
             },
             "source": {
-              "description": "URL of the image for this promotion link.",
               "type": "string"
             },
             "width": {
-              "description": "Image width in pixels.",
               "format": "int32",
               "type": "integer"
             }
@@ -619,81 +853,181 @@
           "type": "object"
         },
         "link": {
-          "description": "The URL of the promotion.",
           "type": "string"
         },
         "title": {
-          "description": "The title of the promotion.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "Query": {
+      "id": "Query",
+      "properties": {
+        "count": {
+          "format": "int32",
+          "type": "integer"
+        },
+        "cr": {
+          "type": "string"
+        },
+        "cx": {
+          "type": "string"
+        },
+        "dateRestrict": {
+          "type": "string"
+        },
+        "disableCnTwTranslation": {
+          "type": "string"
+        },
+        "exactTerms": {
+          "type": "string"
+        },
+        "excludeTerms": {
+          "type": "string"
+        },
+        "fileType": {
+          "type": "string"
+        },
+        "filter": {
+          "type": "string"
+        },
+        "gl": {
+          "type": "string"
+        },
+        "googleHost": {
+          "type": "string"
+        },
+        "highRange": {
+          "type": "string"
+        },
+        "hl": {
+          "type": "string"
+        },
+        "hq": {
+          "type": "string"
+        },
+        "imgColorType": {
+          "type": "string"
+        },
+        "imgDominantColor": {
+          "type": "string"
+        },
+        "imgSize": {
+          "type": "string"
+        },
+        "imgType": {
+          "type": "string"
+        },
+        "inputEncoding": {
+          "type": "string"
+        },
+        "language": {
+          "type": "string"
+        },
+        "linkSite": {
+          "type": "string"
+        },
+        "lowRange": {
+          "type": "string"
+        },
+        "orTerms": {
+          "type": "string"
+        },
+        "outputEncoding": {
+          "type": "string"
+        },
+        "relatedSite": {
+          "type": "string"
+        },
+        "rights": {
+          "type": "string"
+        },
+        "safe": {
+          "type": "string"
+        },
+        "searchTerms": {
+          "type": "string"
+        },
+        "searchType": {
+          "type": "string"
+        },
+        "siteSearch": {
+          "type": "string"
+        },
+        "siteSearchFilter": {
+          "type": "string"
+        },
+        "sort": {
+          "type": "string"
+        },
+        "startIndex": {
+          "format": "int32",
+          "type": "integer"
+        },
+        "startPage": {
+          "format": "int32",
+          "type": "integer"
+        },
+        "title": {
+          "type": "string"
+        },
+        "totalResults": {
+          "format": "int64",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Result": {
-      "description": "A custom search result.",
       "id": "Result",
       "properties": {
         "cacheId": {
-          "description": "Indicates the ID of Google's cached version of the search result.",
           "type": "string"
         },
         "displayLink": {
-          "description": "An abridged version of this search result’s URL, e.g. www.example.com.",
           "type": "string"
         },
         "fileFormat": {
-          "description": "The file format of the search result.",
           "type": "string"
         },
         "formattedUrl": {
-          "description": "The URL displayed after the snippet for each search result.",
           "type": "string"
         },
         "htmlFormattedUrl": {
-          "description": "The HTML-formatted URL displayed after the snippet for each search result.",
           "type": "string"
         },
         "htmlSnippet": {
-          "description": "The snippet of the search result, in HTML.",
           "type": "string"
         },
         "htmlTitle": {
-          "description": "The title of the search result, in HTML.",
           "type": "string"
         },
         "image": {
-          "description": "Image belonging to a custom search result.",
           "properties": {
             "byteSize": {
-              "description": "The size of the image, in pixels.",
               "format": "int32",
               "type": "integer"
             },
             "contextLink": {
-              "description": "A URL pointing to the webpage hosting the image.",
               "type": "string"
             },
             "height": {
-              "description": "The height of the image, in pixels.",
               "format": "int32",
               "type": "integer"
             },
             "thumbnailHeight": {
-              "description": "The height of the thumbnail image, in pixels.",
               "format": "int32",
               "type": "integer"
             },
             "thumbnailLink": {
-              "description": "A URL to the thumbnail image.",
               "type": "string"
             },
             "thumbnailWidth": {
-              "description": "The width of the thumbnail image, in pixels.",
               "format": "int32",
               "type": "integer"
             },
             "width": {
-              "description": "The width of the image, in pixels.",
               "format": "int32",
               "type": "integer"
             }
@@ -701,24 +1035,19 @@
           "type": "object"
         },
         "kind": {
-          "description": "A unique identifier for the type of current object. For this API, it is\n`customsearch#result.`",
+          "default": "customsearch#result",
           "type": "string"
         },
         "labels": {
-          "description": "Encapsulates all information about [refinement\nlabels](https://developers.google.com/custom-search/docs/xml_results).",
           "items": {
-            "description": "Refinement label associated with a custom search result.",
             "properties": {
               "displayName": {
-                "description": "The display name of a refinement label. This is the name you should\ndisplay in your user interface.",
                 "type": "string"
               },
               "label_with_op": {
-                "description": "Refinement label and the associated refinement operation.",
                 "type": "string"
               },
               "name": {
-                "description": "The name of a refinement label, which you can use to refine searches.\nDon't display this in your user interface; instead, use displayName.",
                 "type": "string"
               }
             },
@@ -727,588 +1056,101 @@
           "type": "array"
         },
         "link": {
-          "description": "The full URL to which the search result is pointing, e.g.\nhttp://www.example.com/foo/bar.",
           "type": "string"
         },
         "mime": {
-          "description": "The MIME type of the search result.",
           "type": "string"
         },
         "pagemap": {
           "additionalProperties": {
-            "description": "Properties of the object.",
-            "type": "any"
+            "items": {
+              "additionalProperties": {
+                "type": "any"
+              },
+              "type": "object"
+            },
+            "type": "array"
           },
-          "description": "Contains\n[PageMap](https://developers.google.com/custom-search/docs/structured_data#pagemaps)\ninformation for this search result.",
           "type": "object"
         },
         "snippet": {
-          "description": "The snippet of the search result, in plain text.",
           "type": "string"
         },
         "title": {
-          "description": "The title of the search result, in plain text.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Search": {
-      "description": "Response to a custom search request.",
       "id": "Search",
       "properties": {
         "context": {
-          "additionalProperties": {
-            "description": "Properties of the object.",
-            "type": "any"
-          },
-          "description": "Metadata and refinements associated with the given search engine,\nincluding:\n\n* The name of the search engine that was used for the query.\n\n*   A set of [facet\nobjects](https://developers.google.com/custom-search/docs/refinements#create)\n(refinements) you can use for refining a search.",
-          "type": "object"
+          "$ref": "Context"
         },
         "items": {
-          "description": "The current set of custom search results.",
           "items": {
             "$ref": "Result"
           },
           "type": "array"
         },
         "kind": {
-          "description": "Unique identifier for the type of current object. For this API, it is\ncustomsearch#search.",
+          "default": "customsearch#search",
           "type": "string"
         },
         "promotions": {
-          "description": "The set of\n[promotions](https://developers.google.com/custom-search/docs/promotions).\nPresent only if the custom search engine's configuration files define any\npromotions for the given query.",
           "items": {
             "$ref": "Promotion"
           },
           "type": "array"
         },
         "queries": {
-          "description": "Query metadata for the previous, current, and next pages of results.",
-          "properties": {
-            "nextPage": {
-              "description": "Metadata representing the next page of results, if applicable.",
-              "items": {
-                "description": "Custom search request metadata.",
-                "properties": {
-                  "count": {
-                    "description": "Number of search results returned in this set.",
-                    "format": "int32",
-                    "type": "integer"
-                  },
-                  "cr": {
-                    "description": "Restricts search results to documents originating in a particular\ncountry. You may use [Boolean\noperators](https://developers.google.com/custom-search/docs/xml_results#booleanOperators)\nin the `cr` parameter's value.\n\nGoogle WebSearch determines the country of a document by analyzing the\nfollowing:\n\n* The top-level domain (TLD) of the document's URL.\n\n* The geographic location of the web server's IP address.\n\nSee [Country (cr) Parameter\nValues](https://developers.google.com/custom-search/docs/xml_results#countryCollections)\nfor a list of valid values for this parameter.",
-                    "type": "string"
-                  },
-                  "cx": {
-                    "description": "The identifier of a custom search engine created using the Custom Search\n[Control Panel](https://cse.google.com/). This is a custom property not\ndefined in the OpenSearch spec. This parameter is **required**.",
-                    "type": "string"
-                  },
-                  "dateRestrict": {
-                    "description": "Restricts results to URLs based on date. Supported values include:\n\n* `d[number]`: requests results from the specified number of past days.\n\n* `w[number]`: requests results from the specified number of past weeks.\n\n* `m[number]`: requests results from the specified number of past months.\n\n* `y[number]`: requests results from the specified number of past years.",
-                    "type": "string"
-                  },
-                  "disableCnTwTranslation": {
-                    "description": "Enables or disables the [Simplified and Traditional Chinese\nSearch](https://developers.google.com/custom-search/docs/xml_results#chineseSearch)\nfeature.\n\nSupported values are:\n\n* `0`: enabled (default)\n\n* `1`: disabled",
-                    "type": "string"
-                  },
-                  "exactTerms": {
-                    "description": "Identifies a phrase that all documents in the search results must\ncontain.",
-                    "type": "string"
-                  },
-                  "excludeTerms": {
-                    "description": "Identifies a word or phrase that should not appear in any documents in\nthe search results.",
-                    "type": "string"
-                  },
-                  "fileType": {
-                    "description": "Restricts results to files of a specified extension. Filetypes supported\nby Google include:\n\n* Adobe Portable Document Format (`pdf`)\n\n* Adobe PostScript (`ps`)\n\n* Lotus 1-2-3 (`wk1`, `wk2`, `wk3`, `wk4`, `wk5`, `wki`, `wks`, `wku`)\n\n* Lotus WordPro (`lwp`)\n\n* Macwrite (`mw`)\n\n* Microsoft Excel (`xls`)\n\n* Microsoft PowerPoint (`ppt`)\n\n* Microsoft Word (`doc`)\n\n* Microsoft Works (`wks`, `wps`, `wdb`)\n\n* Microsoft Write (`wri`)\n\n* Rich Text Format (`rtf`)\n\n* Shockwave Flash (`swf`)\n\n* Text (`ans`, `txt`).\n\nAdditional filetypes may be added in the future. An up-to-date list can\nalways be found in Google's [file type\nFAQ](https://support.google.com/webmasters/answer/35287).",
-                    "type": "string"
-                  },
-                  "filter": {
-                    "description": "Activates or deactivates the automatic filtering of Google search\nresults. See [Automatic\nFiltering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering)\nfor more information about Google's search results filters. Valid values\nfor this parameter are:\n\n* `0`: Disabled\n\n* `1`: Enabled (default)\n\n**Note**: By default, Google applies filtering to all search results to\nimprove the quality of those results.",
-                    "type": "string"
-                  },
-                  "gl": {
-                    "description": "Boosts search results whose country of origin matches the parameter\nvalue. See [Country\nCodes](https://developers.google.com/custom-search/docs/xml_results#countryCodes)\nfor a list of valid values.\n\nSpecifying a `gl` parameter value in WebSearch requests should improve\nthe relevance of results. This is particularly true for international\ncustomers and, even more specifically, for customers in English-speaking\ncountries other than the United States.",
-                    "type": "string"
-                  },
-                  "googleHost": {
-                    "description": "Specifies the Google domain (for example, google.com, google.de, or\ngoogle.fr) to which the search should be limited.",
-                    "type": "string"
-                  },
-                  "highRange": {
-                    "description": "Specifies the ending value for a search range. Use `cse:lowRange` and\n`cse:highrange` to append an inclusive search range of\n`lowRange...highRange` to the query.",
-                    "type": "string"
-                  },
-                  "hl": {
-                    "description": "Specifies the interface language (host language) of your user interface.\nExplicitly setting this parameter improves the performance and the\nquality of your search results.\n\nSee the [Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages)\nsection of [Internationalizing Queries and Results\nPresentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing)\nfor more information, and [Supported Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages)\nfor a list of supported languages.",
-                    "type": "string"
-                  },
-                  "hq": {
-                    "description": "Appends the specified query terms to the query, as if they were combined\nwith a logical `AND` operator.",
-                    "type": "string"
-                  },
-                  "imgColorType": {
-                    "description": "Restricts results to images of a specified color type. Supported values\n  are:\n\n* `mono` (black and white)\n\n* `gray` (grayscale)\n\n* `color` (color)",
-                    "type": "string"
-                  },
-                  "imgDominantColor": {
-                    "description": "Restricts results to images with a specific dominant color. Supported\nvalues are:\n\n* `red`\n\n* `orange`\n\n* `yellow`\n\n* `green`\n\n* `teal`\n\n* `blue`\n\n* `purple`\n\n* `pink`\n\n* `white`\n\n* `gray`\n\n* `black`\n\n* `brown`",
-                    "type": "string"
-                  },
-                  "imgSize": {
-                    "description": "Restricts results to images of a specified size. Supported values are:\n\n* `icon` (small)\n\n* `small | medium | large | xlarge` (medium)\n\n* `xxlarge` (large)\n\n* `huge` (extra-large)",
-                    "type": "string"
-                  },
-                  "imgType": {
-                    "description": "Restricts results to images of a specified type. Supported values are:\n\n* `clipart` (Clip art)\n\n* `face` (Face)\n\n* `lineart` (Line drawing)\n\n* `photo` (Photo)\n\n* `animated` (Animated)\n\n* `stock` (Stock)",
-                    "type": "string"
-                  },
-                  "inputEncoding": {
-                    "description": "The character encoding supported for search requests.",
-                    "type": "string"
-                  },
-                  "language": {
-                    "description": "The language of the search results.",
-                    "type": "string"
-                  },
-                  "linkSite": {
-                    "description": "Specifies that all results should contain a link to a specific URL.",
-                    "type": "string"
-                  },
-                  "lowRange": {
-                    "description": "Specifies the starting value for a search range. Use `cse:lowRange` and\n`cse:highrange` to append an inclusive search range of\n`lowRange...highRange` to the query.",
-                    "type": "string"
-                  },
-                  "orTerms": {
-                    "description": "Provides additional search terms to check for in a document, where each\ndocument in the search results must contain at least one of the\nadditional search terms. You can also use the [Boolean\nOR](https://developers.google.com/custom-search/docs/xml_results#BooleanOrqt)\nquery term for this type of query.",
-                    "type": "string"
-                  },
-                  "outputEncoding": {
-                    "description": "The character encoding supported for search results.",
-                    "type": "string"
-                  },
-                  "relatedSite": {
-                    "description": "Specifies that all search results should be pages that are related to the\nspecified URL. The parameter value should be a URL.",
-                    "type": "string"
-                  },
-                  "rights": {
-                    "description": "Filters based on licensing. Supported values include:\n\n* `cc_publicdomain`\n\n* `cc_attribute`\n\n* `cc_sharealike`\n\n* `cc_noncommercial`\n\n* `cc_nonderived`",
-                    "type": "string"
-                  },
-                  "safe": {
-                    "description": "Specifies the [SafeSearch\nlevel](https://developers.google.com/custom-search/docs/xml_results#safeSearchLevels)\nused for filtering out adult results. This is a custom property not\ndefined in the OpenSearch spec. Valid parameter values are:\n\n* `\"off\"`: Disable SafeSearch\n\n* `\"active\"`: Enable SafeSearch",
-                    "type": "string"
-                  },
-                  "searchTerms": {
-                    "description": "The search terms entered by the user.",
-                    "type": "string"
-                  },
-                  "searchType": {
-                    "description": "Allowed values are `web` or `image`. If unspecified, results are limited\nto webpages.",
-                    "type": "string"
-                  },
-                  "siteSearch": {
-                    "description": "Restricts results to URLs from a specified site.",
-                    "type": "string"
-                  },
-                  "siteSearchFilter": {
-                    "description": "Specifies whether to include or exclude results from the site named in\nthe `sitesearch` parameter. Supported values are:\n\n* `i`: include content from site\n\n* `e`: exclude content from site",
-                    "type": "string"
-                  },
-                  "sort": {
-                    "description": "Specifies that results should be sorted according to the specified\nexpression. For example, sort by date.",
-                    "type": "string"
-                  },
-                  "startIndex": {
-                    "description": "The index of the current set of search results into the total set of\nresults, where the index of the first result is 1.",
-                    "format": "int32",
-                    "type": "integer"
-                  },
-                  "startPage": {
-                    "description": "The page number of this set of results, where the page length is set by\nthe `count` property.",
-                    "format": "int32",
-                    "type": "integer"
-                  },
-                  "title": {
-                    "description": "A description of the query.",
-                    "type": "string"
-                  },
-                  "totalResults": {
-                    "description": "Estimated number of total search results. May not be accurate.",
-                    "format": "int64",
-                    "type": "string"
-                  }
-                },
-                "type": "object"
-              },
-              "type": "array"
+          "additionalProperties": {
+            "items": {
+              "$ref": "Query"
             },
-            "previousPage": {
-              "description": "Metadata representing the previous page of results, if applicable.",
-              "items": {
-                "description": "Custom search request metadata.",
-                "properties": {
-                  "count": {
-                    "description": "Number of search results returned in this set.",
-                    "format": "int32",
-                    "type": "integer"
-                  },
-                  "cr": {
-                    "description": "Restricts search results to documents originating in a particular\ncountry. You may use [Boolean\noperators](https://developers.google.com/custom-search/docs/xml_results#booleanOperators)\nin the `cr` parameter's value.\n\nGoogle WebSearch determines the country of a document by analyzing the\nfollowing:\n\n* The top-level domain (TLD) of the document's URL.\n\n* The geographic location of the web server's IP address.\n\nSee [Country (cr) Parameter\nValues](https://developers.google.com/custom-search/docs/xml_results#countryCollections)\nfor a list of valid values for this parameter.",
-                    "type": "string"
-                  },
-                  "cx": {
-                    "description": "The identifier of a custom search engine created using the Custom Search\n[Control Panel](https://cse.google.com/). This is a custom property not\ndefined in the OpenSearch spec. This parameter is **required**.",
-                    "type": "string"
-                  },
-                  "dateRestrict": {
-                    "description": "Restricts results to URLs based on date. Supported values include:\n\n* `d[number]`: requests results from the specified number of past days.\n\n* `w[number]`: requests results from the specified number of past weeks.\n\n* `m[number]`: requests results from the specified number of past months.\n\n* `y[number]`: requests results from the specified number of past years.",
-                    "type": "string"
-                  },
-                  "disableCnTwTranslation": {
-                    "description": "Enables or disables the [Simplified and Traditional Chinese\nSearch](https://developers.google.com/custom-search/docs/xml_results#chineseSearch)\nfeature.\n\nSupported values are:\n\n* `0`: enabled (default)\n\n* `1`: disabled",
-                    "type": "string"
-                  },
-                  "exactTerms": {
-                    "description": "Identifies a phrase that all documents in the search results must\ncontain.",
-                    "type": "string"
-                  },
-                  "excludeTerms": {
-                    "description": "Identifies a word or phrase that should not appear in any documents in\nthe search results.",
-                    "type": "string"
-                  },
-                  "fileType": {
-                    "description": "Restricts results to files of a specified extension. Filetypes supported\nby Google include:\n\n* Adobe Portable Document Format (`pdf`)\n\n* Adobe PostScript (`ps`)\n\n* Lotus 1-2-3 (`wk1`, `wk2`, `wk3`, `wk4`, `wk5`, `wki`, `wks`, `wku`)\n\n* Lotus WordPro (`lwp`)\n\n* Macwrite (`mw`)\n\n* Microsoft Excel (`xls`)\n\n* Microsoft PowerPoint (`ppt`)\n\n* Microsoft Word (`doc`)\n\n* Microsoft Works (`wks`, `wps`, `wdb`)\n\n* Microsoft Write (`wri`)\n\n* Rich Text Format (`rtf`)\n\n* Shockwave Flash (`swf`)\n\n* Text (`ans`, `txt`).\n\nAdditional filetypes may be added in the future. An up-to-date list can\nalways be found in Google's [file type\nFAQ](https://support.google.com/webmasters/answer/35287).",
-                    "type": "string"
-                  },
-                  "filter": {
-                    "description": "Activates or deactivates the automatic filtering of Google search\nresults. See [Automatic\nFiltering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering)\nfor more information about Google's search results filters. Valid values\nfor this parameter are:\n\n* `0`: Disabled\n\n* `1`: Enabled (default)\n\n**Note**: By default, Google applies filtering to all search results to\nimprove the quality of those results.",
-                    "type": "string"
-                  },
-                  "gl": {
-                    "description": "Boosts search results whose country of origin matches the parameter\nvalue. See [Country\nCodes](https://developers.google.com/custom-search/docs/xml_results#countryCodes)\nfor a list of valid values.\n\nSpecifying a `gl` parameter value in WebSearch requests should improve\nthe relevance of results. This is particularly true for international\ncustomers and, even more specifically, for customers in English-speaking\ncountries other than the United States.",
-                    "type": "string"
-                  },
-                  "googleHost": {
-                    "description": "Specifies the Google domain (for example, google.com, google.de, or\ngoogle.fr) to which the search should be limited.",
-                    "type": "string"
-                  },
-                  "highRange": {
-                    "description": "Specifies the ending value for a search range. Use `cse:lowRange` and\n`cse:highrange` to append an inclusive search range of\n`lowRange...highRange` to the query.",
-                    "type": "string"
-                  },
-                  "hl": {
-                    "description": "Specifies the interface language (host language) of your user interface.\nExplicitly setting this parameter improves the performance and the\nquality of your search results.\n\nSee the [Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages)\nsection of [Internationalizing Queries and Results\nPresentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing)\nfor more information, and [Supported Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages)\nfor a list of supported languages.",
-                    "type": "string"
-                  },
-                  "hq": {
-                    "description": "Appends the specified query terms to the query, as if they were combined\nwith a logical `AND` operator.",
-                    "type": "string"
-                  },
-                  "imgColorType": {
-                    "description": "Restricts results to images of a specified color type. Supported values\n  are:\n\n* `mono` (black and white)\n\n* `gray` (grayscale)\n\n* `color` (color)",
-                    "type": "string"
-                  },
-                  "imgDominantColor": {
-                    "description": "Restricts results to images with a specific dominant color. Supported\nvalues are:\n\n* `red`\n\n* `orange`\n\n* `yellow`\n\n* `green`\n\n* `teal`\n\n* `blue`\n\n* `purple`\n\n* `pink`\n\n* `white`\n\n* `gray`\n\n* `black`\n\n* `brown`",
-                    "type": "string"
-                  },
-                  "imgSize": {
-                    "description": "Restricts results to images of a specified size. Supported values are:\n\n* `icon` (small)\n\n* `small | medium | large | xlarge` (medium)\n\n* `xxlarge` (large)\n\n* `huge` (extra-large)",
-                    "type": "string"
-                  },
-                  "imgType": {
-                    "description": "Restricts results to images of a specified type. Supported values are:\n\n* `clipart` (Clip art)\n\n* `face` (Face)\n\n* `lineart` (Line drawing)\n\n* `photo` (Photo)\n\n* `animated` (Animated)\n\n* `stock` (Stock)",
-                    "type": "string"
-                  },
-                  "inputEncoding": {
-                    "description": "The character encoding supported for search requests.",
-                    "type": "string"
-                  },
-                  "language": {
-                    "description": "The language of the search results.",
-                    "type": "string"
-                  },
-                  "linkSite": {
-                    "description": "Specifies that all results should contain a link to a specific URL.",
-                    "type": "string"
-                  },
-                  "lowRange": {
-                    "description": "Specifies the starting value for a search range. Use `cse:lowRange` and\n`cse:highrange` to append an inclusive search range of\n`lowRange...highRange` to the query.",
-                    "type": "string"
-                  },
-                  "orTerms": {
-                    "description": "Provides additional search terms to check for in a document, where each\ndocument in the search results must contain at least one of the\nadditional search terms. You can also use the [Boolean\nOR](https://developers.google.com/custom-search/docs/xml_results#BooleanOrqt)\nquery term for this type of query.",
-                    "type": "string"
-                  },
-                  "outputEncoding": {
-                    "description": "The character encoding supported for search results.",
-                    "type": "string"
-                  },
-                  "relatedSite": {
-                    "description": "Specifies that all search results should be pages that are related to the\nspecified URL. The parameter value should be a URL.",
-                    "type": "string"
-                  },
-                  "rights": {
-                    "description": "Filters based on licensing. Supported values include:\n\n* `cc_publicdomain`\n\n* `cc_attribute`\n\n* `cc_sharealike`\n\n* `cc_noncommercial`\n\n* `cc_nonderived`",
-                    "type": "string"
-                  },
-                  "safe": {
-                    "description": "Specifies the [SafeSearch\nlevel](https://developers.google.com/custom-search/docs/xml_results#safeSearchLevels)\nused for filtering out adult results. This is a custom property not\ndefined in the OpenSearch spec. Valid parameter values are:\n\n* `\"off\"`: Disable SafeSearch\n\n* `\"active\"`: Enable SafeSearch",
-                    "type": "string"
-                  },
-                  "searchTerms": {
-                    "description": "The search terms entered by the user.",
-                    "type": "string"
-                  },
-                  "searchType": {
-                    "description": "Allowed values are `web` or `image`. If unspecified, results are limited\nto webpages.",
-                    "type": "string"
-                  },
-                  "siteSearch": {
-                    "description": "Restricts results to URLs from a specified site.",
-                    "type": "string"
-                  },
-                  "siteSearchFilter": {
-                    "description": "Specifies whether to include or exclude results from the site named in\nthe `sitesearch` parameter. Supported values are:\n\n* `i`: include content from site\n\n* `e`: exclude content from site",
-                    "type": "string"
-                  },
-                  "sort": {
-                    "description": "Specifies that results should be sorted according to the specified\nexpression. For example, sort by date.",
-                    "type": "string"
-                  },
-                  "startIndex": {
-                    "description": "The index of the current set of search results into the total set of\nresults, where the index of the first result is 1.",
-                    "format": "int32",
-                    "type": "integer"
-                  },
-                  "startPage": {
-                    "description": "The page number of this set of results, where the page length is set by\nthe `count` property.",
-                    "format": "int32",
-                    "type": "integer"
-                  },
-                  "title": {
-                    "description": "A description of the query.",
-                    "type": "string"
-                  },
-                  "totalResults": {
-                    "description": "Estimated number of total search results. May not be accurate.",
-                    "format": "int64",
-                    "type": "string"
-                  }
-                },
-                "type": "object"
-              },
-              "type": "array"
-            },
-            "request": {
-              "description": "Metadata representing the current request.",
-              "items": {
-                "description": "Custom search request metadata.",
-                "properties": {
-                  "count": {
-                    "description": "Number of search results returned in this set.",
-                    "format": "int32",
-                    "type": "integer"
-                  },
-                  "cr": {
-                    "description": "Restricts search results to documents originating in a particular\ncountry. You may use [Boolean\noperators](https://developers.google.com/custom-search/docs/xml_results#booleanOperators)\nin the `cr` parameter's value.\n\nGoogle WebSearch determines the country of a document by analyzing the\nfollowing:\n\n* The top-level domain (TLD) of the document's URL.\n\n* The geographic location of the web server's IP address.\n\nSee [Country (cr) Parameter\nValues](https://developers.google.com/custom-search/docs/xml_results#countryCollections)\nfor a list of valid values for this parameter.",
-                    "type": "string"
-                  },
-                  "cx": {
-                    "description": "The identifier of a custom search engine created using the Custom Search\n[Control Panel](https://cse.google.com/). This is a custom property not\ndefined in the OpenSearch spec. This parameter is **required**.",
-                    "type": "string"
-                  },
-                  "dateRestrict": {
-                    "description": "Restricts results to URLs based on date. Supported values include:\n\n* `d[number]`: requests results from the specified number of past days.\n\n* `w[number]`: requests results from the specified number of past weeks.\n\n* `m[number]`: requests results from the specified number of past months.\n\n* `y[number]`: requests results from the specified number of past years.",
-                    "type": "string"
-                  },
-                  "disableCnTwTranslation": {
-                    "description": "Enables or disables the [Simplified and Traditional Chinese\nSearch](https://developers.google.com/custom-search/docs/xml_results#chineseSearch)\nfeature.\n\nSupported values are:\n\n* `0`: enabled (default)\n\n* `1`: disabled",
-                    "type": "string"
-                  },
-                  "exactTerms": {
-                    "description": "Identifies a phrase that all documents in the search results must\ncontain.",
-                    "type": "string"
-                  },
-                  "excludeTerms": {
-                    "description": "Identifies a word or phrase that should not appear in any documents in\nthe search results.",
-                    "type": "string"
-                  },
-                  "fileType": {
-                    "description": "Restricts results to files of a specified extension. Filetypes supported\nby Google include:\n\n* Adobe Portable Document Format (`pdf`)\n\n* Adobe PostScript (`ps`)\n\n* Lotus 1-2-3 (`wk1`, `wk2`, `wk3`, `wk4`, `wk5`, `wki`, `wks`, `wku`)\n\n* Lotus WordPro (`lwp`)\n\n* Macwrite (`mw`)\n\n* Microsoft Excel (`xls`)\n\n* Microsoft PowerPoint (`ppt`)\n\n* Microsoft Word (`doc`)\n\n* Microsoft Works (`wks`, `wps`, `wdb`)\n\n* Microsoft Write (`wri`)\n\n* Rich Text Format (`rtf`)\n\n* Shockwave Flash (`swf`)\n\n* Text (`ans`, `txt`).\n\nAdditional filetypes may be added in the future. An up-to-date list can\nalways be found in Google's [file type\nFAQ](https://support.google.com/webmasters/answer/35287).",
-                    "type": "string"
-                  },
-                  "filter": {
-                    "description": "Activates or deactivates the automatic filtering of Google search\nresults. See [Automatic\nFiltering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering)\nfor more information about Google's search results filters. Valid values\nfor this parameter are:\n\n* `0`: Disabled\n\n* `1`: Enabled (default)\n\n**Note**: By default, Google applies filtering to all search results to\nimprove the quality of those results.",
-                    "type": "string"
-                  },
-                  "gl": {
-                    "description": "Boosts search results whose country of origin matches the parameter\nvalue. See [Country\nCodes](https://developers.google.com/custom-search/docs/xml_results#countryCodes)\nfor a list of valid values.\n\nSpecifying a `gl` parameter value in WebSearch requests should improve\nthe relevance of results. This is particularly true for international\ncustomers and, even more specifically, for customers in English-speaking\ncountries other than the United States.",
-                    "type": "string"
-                  },
-                  "googleHost": {
-                    "description": "Specifies the Google domain (for example, google.com, google.de, or\ngoogle.fr) to which the search should be limited.",
-                    "type": "string"
-                  },
-                  "highRange": {
-                    "description": "Specifies the ending value for a search range. Use `cse:lowRange` and\n`cse:highrange` to append an inclusive search range of\n`lowRange...highRange` to the query.",
-                    "type": "string"
-                  },
-                  "hl": {
-                    "description": "Specifies the interface language (host language) of your user interface.\nExplicitly setting this parameter improves the performance and the\nquality of your search results.\n\nSee the [Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages)\nsection of [Internationalizing Queries and Results\nPresentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing)\nfor more information, and [Supported Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages)\nfor a list of supported languages.",
-                    "type": "string"
-                  },
-                  "hq": {
-                    "description": "Appends the specified query terms to the query, as if they were combined\nwith a logical `AND` operator.",
-                    "type": "string"
-                  },
-                  "imgColorType": {
-                    "description": "Restricts results to images of a specified color type. Supported values\n  are:\n\n* `mono` (black and white)\n\n* `gray` (grayscale)\n\n* `color` (color)",
-                    "type": "string"
-                  },
-                  "imgDominantColor": {
-                    "description": "Restricts results to images with a specific dominant color. Supported\nvalues are:\n\n* `red`\n\n* `orange`\n\n* `yellow`\n\n* `green`\n\n* `teal`\n\n* `blue`\n\n* `purple`\n\n* `pink`\n\n* `white`\n\n* `gray`\n\n* `black`\n\n* `brown`",
-                    "type": "string"
-                  },
-                  "imgSize": {
-                    "description": "Restricts results to images of a specified size. Supported values are:\n\n* `icon` (small)\n\n* `small | medium | large | xlarge` (medium)\n\n* `xxlarge` (large)\n\n* `huge` (extra-large)",
-                    "type": "string"
-                  },
-                  "imgType": {
-                    "description": "Restricts results to images of a specified type. Supported values are:\n\n* `clipart` (Clip art)\n\n* `face` (Face)\n\n* `lineart` (Line drawing)\n\n* `photo` (Photo)\n\n* `animated` (Animated)\n\n* `stock` (Stock)",
-                    "type": "string"
-                  },
-                  "inputEncoding": {
-                    "description": "The character encoding supported for search requests.",
-                    "type": "string"
-                  },
-                  "language": {
-                    "description": "The language of the search results.",
-                    "type": "string"
-                  },
-                  "linkSite": {
-                    "description": "Specifies that all results should contain a link to a specific URL.",
-                    "type": "string"
-                  },
-                  "lowRange": {
-                    "description": "Specifies the starting value for a search range. Use `cse:lowRange` and\n`cse:highrange` to append an inclusive search range of\n`lowRange...highRange` to the query.",
-                    "type": "string"
-                  },
-                  "orTerms": {
-                    "description": "Provides additional search terms to check for in a document, where each\ndocument in the search results must contain at least one of the\nadditional search terms. You can also use the [Boolean\nOR](https://developers.google.com/custom-search/docs/xml_results#BooleanOrqt)\nquery term for this type of query.",
-                    "type": "string"
-                  },
-                  "outputEncoding": {
-                    "description": "The character encoding supported for search results.",
-                    "type": "string"
-                  },
-                  "relatedSite": {
-                    "description": "Specifies that all search results should be pages that are related to the\nspecified URL. The parameter value should be a URL.",
-                    "type": "string"
-                  },
-                  "rights": {
-                    "description": "Filters based on licensing. Supported values include:\n\n* `cc_publicdomain`\n\n* `cc_attribute`\n\n* `cc_sharealike`\n\n* `cc_noncommercial`\n\n* `cc_nonderived`",
-                    "type": "string"
-                  },
-                  "safe": {
-                    "description": "Specifies the [SafeSearch\nlevel](https://developers.google.com/custom-search/docs/xml_results#safeSearchLevels)\nused for filtering out adult results. This is a custom property not\ndefined in the OpenSearch spec. Valid parameter values are:\n\n* `\"off\"`: Disable SafeSearch\n\n* `\"active\"`: Enable SafeSearch",
-                    "type": "string"
-                  },
-                  "searchTerms": {
-                    "description": "The search terms entered by the user.",
-                    "type": "string"
-                  },
-                  "searchType": {
-                    "description": "Allowed values are `web` or `image`. If unspecified, results are limited\nto webpages.",
-                    "type": "string"
-                  },
-                  "siteSearch": {
-                    "description": "Restricts results to URLs from a specified site.",
-                    "type": "string"
-                  },
-                  "siteSearchFilter": {
-                    "description": "Specifies whether to include or exclude results from the site named in\nthe `sitesearch` parameter. Supported values are:\n\n* `i`: include content from site\n\n* `e`: exclude content from site",
-                    "type": "string"
-                  },
-                  "sort": {
-                    "description": "Specifies that results should be sorted according to the specified\nexpression. For example, sort by date.",
-                    "type": "string"
-                  },
-                  "startIndex": {
-                    "description": "The index of the current set of search results into the total set of\nresults, where the index of the first result is 1.",
-                    "format": "int32",
-                    "type": "integer"
-                  },
-                  "startPage": {
-                    "description": "The page number of this set of results, where the page length is set by\nthe `count` property.",
-                    "format": "int32",
-                    "type": "integer"
-                  },
-                  "title": {
-                    "description": "A description of the query.",
-                    "type": "string"
-                  },
-                  "totalResults": {
-                    "description": "Estimated number of total search results. May not be accurate.",
-                    "format": "int64",
-                    "type": "string"
-                  }
-                },
-                "type": "object"
-              },
-              "type": "array"
-            }
+            "type": "array"
           },
           "type": "object"
         },
         "searchInformation": {
-          "description": "Metadata about a search operation.",
           "properties": {
             "formattedSearchTime": {
-              "description": "The time taken for the server to return search results, formatted\naccording to locale style.",
               "type": "string"
             },
             "formattedTotalResults": {
-              "description": "The total number of search results, formatted according to locale style.",
               "type": "string"
             },
             "searchTime": {
-              "description": "The time taken for the server to return search results.",
               "format": "double",
               "type": "number"
             },
             "totalResults": {
-              "description": "The total number of search results returned by the query.",
+              "format": "int64",
               "type": "string"
             }
           },
           "type": "object"
         },
         "spelling": {
-          "description": "Spell correction information for a query.",
           "properties": {
             "correctedQuery": {
-              "description": "The corrected query.",
               "type": "string"
             },
             "htmlCorrectedQuery": {
-              "description": "The corrected query, formatted in HTML.",
               "type": "string"
             }
           },
           "type": "object"
         },
         "url": {
-          "description": "OpenSearch template and URL.",
           "properties": {
             "template": {
-              "description": "The actual [OpenSearch\ntemplate](http://www.opensearch.org/specifications/opensearch/1.1#opensearch_url_template_syntax)\nfor this API.",
+              "default": "https://www.googleapis.com/customsearch/v1?q={searchTerms}\u0026num={count?}\u0026start={startIndex?}\u0026lr={language?}\u0026safe={safe?}\u0026cx={cx?}\u0026sort={sort?}\u0026filter={filter?}\u0026gl={gl?}\u0026cr={cr?}\u0026googlehost={googleHost?}\u0026c2coff={disableCnTwTranslation?}\u0026hq={hq?}\u0026hl={hl?}\u0026siteSearch={siteSearch?}\u0026siteSearchFilter={siteSearchFilter?}\u0026exactTerms={exactTerms?}\u0026excludeTerms={excludeTerms?}\u0026linkSite={linkSite?}\u0026orTerms={orTerms?}\u0026relatedSite={relatedSite?}\u0026dateRestrict={dateRestrict?}\u0026lowRange={lowRange?}\u0026highRange={highRange?}\u0026searchType={searchType}\u0026fileType={fileType?}\u0026rights={rights?}\u0026imgSize={imgSize?}\u0026imgType={imgType?}\u0026imgColorType={imgColorType?}\u0026imgDominantColor={imgDominantColor?}\u0026alt=json",
               "type": "string"
             },
             "type": {
-              "description": "The MIME type of the OpenSearch URL template for the Custom Search API.",
+              "default": "application/json",
               "type": "string"
             }
           },
@@ -1318,8 +1160,7 @@
       "type": "object"
     }
   },
-  "servicePath": "",
-  "title": "Custom Search API",
-  "version": "v1",
-  "version_module": true
+  "servicePath": "customsearch/",
+  "title": "CustomSearch API",
+  "version": "v1"
 }
\ No newline at end of file
diff --git a/customsearch/v1/customsearch-gen.go b/customsearch/v1/customsearch-gen.go
index 28e0785..4aac1a9 100644
--- a/customsearch/v1/customsearch-gen.go
+++ b/customsearch/v1/customsearch-gen.go
@@ -4,9 +4,9 @@
 
 // Code generated file. DO NOT EDIT.
 
-// Package customsearch provides access to the Custom Search API.
+// Package customsearch provides access to the CustomSearch API.
 //
-// For product documentation, see: https://developers.google.com/custom-search/v1/introduction
+// For product documentation, see: https://developers.google.com/custom-search/v1/using_rest
 //
 // Creating a client
 //
@@ -74,7 +74,7 @@
 const apiId = "customsearch:v1"
 const apiName = "customsearch"
 const apiVersion = "v1"
-const basePath = "https://customsearch.googleapis.com/"
+const basePath = "https://www.googleapis.com/customsearch/"
 
 // NewService creates a new Service.
 func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
@@ -104,7 +104,6 @@
 	}
 	s := &Service{client: client, BasePath: basePath}
 	s.Cse = NewCseService(s)
-	s.Siterestrict = NewSiterestrictService(s)
 	return s, nil
 }
 
@@ -114,8 +113,6 @@
 	UserAgent string // optional additional User-Agent fragment
 
 	Cse *CseService
-
-	Siterestrict *SiterestrictService
 }
 
 func (s *Service) userAgent() string {
@@ -127,46 +124,94 @@
 
 func NewCseService(s *Service) *CseService {
 	rs := &CseService{s: s}
+	rs.Siterestrict = NewCseSiterestrictService(s)
 	return rs
 }
 
 type CseService struct {
 	s *Service
+
+	Siterestrict *CseSiterestrictService
 }
 
-func NewSiterestrictService(s *Service) *SiterestrictService {
-	rs := &SiterestrictService{s: s}
+func NewCseSiterestrictService(s *Service) *CseSiterestrictService {
+	rs := &CseSiterestrictService{s: s}
 	return rs
 }
 
-type SiterestrictService struct {
+type CseSiterestrictService struct {
 	s *Service
 }
 
-// Promotion: Promotion result.
+type Context struct {
+	Facets [][]*ContextFacetsItem `json:"facets,omitempty"`
+
+	Title string `json:"title,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Facets") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "Facets") to include in API
+	// requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *Context) MarshalJSON() ([]byte, error) {
+	type NoMethod Context
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type ContextFacetsItem struct {
+	Anchor string `json:"anchor,omitempty"`
+
+	Label string `json:"label,omitempty"`
+
+	LabelWithOp string `json:"label_with_op,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Anchor") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "Anchor") to include in API
+	// requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *ContextFacetsItem) MarshalJSON() ([]byte, error) {
+	type NoMethod ContextFacetsItem
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 type Promotion struct {
-	// BodyLines: An array of block objects for this promotion. See [Google
-	// WebSearch
-	// Protocol
-	// reference](https://developers.google.com/custom-sea
-	// rch/docs/xml_results)
-	// for more information.
 	BodyLines []*PromotionBodyLines `json:"bodyLines,omitempty"`
 
-	// DisplayLink: An abridged version of this search's result URL, e.g.
-	// www.example.com.
 	DisplayLink string `json:"displayLink,omitempty"`
 
-	// HtmlTitle: The title of the promotion, in HTML.
 	HtmlTitle string `json:"htmlTitle,omitempty"`
 
-	// Image: Image belonging to a promotion.
 	Image *PromotionImage `json:"image,omitempty"`
 
-	// Link: The URL of the promotion.
 	Link string `json:"link,omitempty"`
 
-	// Title: The title of the promotion.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BodyLines") to
@@ -192,18 +237,13 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PromotionBodyLines: Block object belonging to a promotion.
 type PromotionBodyLines struct {
-	// HtmlTitle: The block object's text in HTML, if it has text.
 	HtmlTitle string `json:"htmlTitle,omitempty"`
 
-	// Link: The anchor text of the block object's link, if it has a link.
 	Link string `json:"link,omitempty"`
 
-	// Title: The block object's text, if it has text.
 	Title string `json:"title,omitempty"`
 
-	// Url: The URL of the block object's link, if it has one.
 	Url string `json:"url,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "HtmlTitle") to
@@ -229,15 +269,11 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PromotionImage: Image belonging to a promotion.
 type PromotionImage struct {
-	// Height: Image height in pixels.
 	Height int64 `json:"height,omitempty"`
 
-	// Source: URL of the image for this promotion link.
 	Source string `json:"source,omitempty"`
 
-	// Width: Image width in pixels.
 	Width int64 `json:"width,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Height") to
@@ -263,66 +299,131 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Result: A custom search result.
+type Query struct {
+	Count int64 `json:"count,omitempty"`
+
+	Cr string `json:"cr,omitempty"`
+
+	Cx string `json:"cx,omitempty"`
+
+	DateRestrict string `json:"dateRestrict,omitempty"`
+
+	DisableCnTwTranslation string `json:"disableCnTwTranslation,omitempty"`
+
+	ExactTerms string `json:"exactTerms,omitempty"`
+
+	ExcludeTerms string `json:"excludeTerms,omitempty"`
+
+	FileType string `json:"fileType,omitempty"`
+
+	Filter string `json:"filter,omitempty"`
+
+	Gl string `json:"gl,omitempty"`
+
+	GoogleHost string `json:"googleHost,omitempty"`
+
+	HighRange string `json:"highRange,omitempty"`
+
+	Hl string `json:"hl,omitempty"`
+
+	Hq string `json:"hq,omitempty"`
+
+	ImgColorType string `json:"imgColorType,omitempty"`
+
+	ImgDominantColor string `json:"imgDominantColor,omitempty"`
+
+	ImgSize string `json:"imgSize,omitempty"`
+
+	ImgType string `json:"imgType,omitempty"`
+
+	InputEncoding string `json:"inputEncoding,omitempty"`
+
+	Language string `json:"language,omitempty"`
+
+	LinkSite string `json:"linkSite,omitempty"`
+
+	LowRange string `json:"lowRange,omitempty"`
+
+	OrTerms string `json:"orTerms,omitempty"`
+
+	OutputEncoding string `json:"outputEncoding,omitempty"`
+
+	RelatedSite string `json:"relatedSite,omitempty"`
+
+	Rights string `json:"rights,omitempty"`
+
+	Safe string `json:"safe,omitempty"`
+
+	SearchTerms string `json:"searchTerms,omitempty"`
+
+	SearchType string `json:"searchType,omitempty"`
+
+	SiteSearch string `json:"siteSearch,omitempty"`
+
+	SiteSearchFilter string `json:"siteSearchFilter,omitempty"`
+
+	Sort string `json:"sort,omitempty"`
+
+	StartIndex int64 `json:"startIndex,omitempty"`
+
+	StartPage int64 `json:"startPage,omitempty"`
+
+	Title string `json:"title,omitempty"`
+
+	TotalResults int64 `json:"totalResults,omitempty,string"`
+
+	// ForceSendFields is a list of field names (e.g. "Count") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "Count") to include in API
+	// requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *Query) MarshalJSON() ([]byte, error) {
+	type NoMethod Query
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 type Result struct {
-	// CacheId: Indicates the ID of Google's cached version of the search
-	// result.
 	CacheId string `json:"cacheId,omitempty"`
 
-	// DisplayLink: An abridged version of this search result’s URL, e.g.
-	// www.example.com.
 	DisplayLink string `json:"displayLink,omitempty"`
 
-	// FileFormat: The file format of the search result.
 	FileFormat string `json:"fileFormat,omitempty"`
 
-	// FormattedUrl: The URL displayed after the snippet for each search
-	// result.
 	FormattedUrl string `json:"formattedUrl,omitempty"`
 
-	// HtmlFormattedUrl: The HTML-formatted URL displayed after the snippet
-	// for each search result.
 	HtmlFormattedUrl string `json:"htmlFormattedUrl,omitempty"`
 
-	// HtmlSnippet: The snippet of the search result, in HTML.
 	HtmlSnippet string `json:"htmlSnippet,omitempty"`
 
-	// HtmlTitle: The title of the search result, in HTML.
 	HtmlTitle string `json:"htmlTitle,omitempty"`
 
-	// Image: Image belonging to a custom search result.
 	Image *ResultImage `json:"image,omitempty"`
 
-	// Kind: A unique identifier for the type of current object. For this
-	// API, it is
-	// `customsearch#result.`
 	Kind string `json:"kind,omitempty"`
 
-	// Labels: Encapsulates all information about
-	// [refinement
-	// labels](https://developers.google.com/custom-search/docs/x
-	// ml_results).
 	Labels []*ResultLabels `json:"labels,omitempty"`
 
-	// Link: The full URL to which the search result is pointing,
-	// e.g.
-	// http://www.example.com/foo/bar.
 	Link string `json:"link,omitempty"`
 
-	// Mime: The MIME type of the search result.
 	Mime string `json:"mime,omitempty"`
 
-	// Pagemap:
-	// Contains
-	// [PageMap](https://developers.google.com/custom-search/docs/st
-	// ructured_data#pagemaps)
-	// information for this search result.
-	Pagemap googleapi.RawMessage `json:"pagemap,omitempty"`
+	Pagemap map[string][]googleapi.RawMessage `json:"pagemap,omitempty"`
 
-	// Snippet: The snippet of the search result, in plain text.
 	Snippet string `json:"snippet,omitempty"`
 
-	// Title: The title of the search result, in plain text.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CacheId") to
@@ -348,27 +449,19 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// ResultImage: Image belonging to a custom search result.
 type ResultImage struct {
-	// ByteSize: The size of the image, in pixels.
 	ByteSize int64 `json:"byteSize,omitempty"`
 
-	// ContextLink: A URL pointing to the webpage hosting the image.
 	ContextLink string `json:"contextLink,omitempty"`
 
-	// Height: The height of the image, in pixels.
 	Height int64 `json:"height,omitempty"`
 
-	// ThumbnailHeight: The height of the thumbnail image, in pixels.
 	ThumbnailHeight int64 `json:"thumbnailHeight,omitempty"`
 
-	// ThumbnailLink: A URL to the thumbnail image.
 	ThumbnailLink string `json:"thumbnailLink,omitempty"`
 
-	// ThumbnailWidth: The width of the thumbnail image, in pixels.
 	ThumbnailWidth int64 `json:"thumbnailWidth,omitempty"`
 
-	// Width: The width of the image, in pixels.
 	Width int64 `json:"width,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ByteSize") to
@@ -394,21 +487,11 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// ResultLabels: Refinement label associated with a custom search
-// result.
 type ResultLabels struct {
-	// DisplayName: The display name of a refinement label. This is the name
-	// you should
-	// display in your user interface.
 	DisplayName string `json:"displayName,omitempty"`
 
-	// LabelWithOp: Refinement label and the associated refinement
-	// operation.
 	LabelWithOp string `json:"label_with_op,omitempty"`
 
-	// Name: The name of a refinement label, which you can use to refine
-	// searches.
-	// Don't display this in your user interface; instead, use displayName.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DisplayName") to
@@ -434,49 +517,21 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Search: Response to a custom search request.
 type Search struct {
-	// Context: Metadata and refinements associated with the given search
-	// engine,
-	// including:
-	//
-	// * The name of the search engine that was used for the query.
-	//
-	// *   A set of
-	// [facet
-	// objects](https://developers.google.com/custom-search/docs/refin
-	// ements#create)
-	// (refinements) you can use for refining a search.
-	Context googleapi.RawMessage `json:"context,omitempty"`
+	Context *Context `json:"context,omitempty"`
 
-	// Items: The current set of custom search results.
 	Items []*Result `json:"items,omitempty"`
 
-	// Kind: Unique identifier for the type of current object. For this API,
-	// it is
-	// customsearch#search.
 	Kind string `json:"kind,omitempty"`
 
-	// Promotions: The set
-	// of
-	// [promotions](https://developers.google.com/custom-search/docs/promo
-	// tions).
-	// Present only if the custom search engine's configuration files define
-	// any
-	// promotions for the given query.
 	Promotions []*Promotion `json:"promotions,omitempty"`
 
-	// Queries: Query metadata for the previous, current, and next pages of
-	// results.
-	Queries *SearchQueries `json:"queries,omitempty"`
+	Queries map[string][]Query `json:"queries,omitempty"`
 
-	// SearchInformation: Metadata about a search operation.
 	SearchInformation *SearchSearchInformation `json:"searchInformation,omitempty"`
 
-	// Spelling: Spell correction information for a query.
 	Spelling *SearchSpelling `json:"spelling,omitempty"`
 
-	// Url: OpenSearch template and URL.
 	Url *SearchUrl `json:"url,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -506,1206 +561,14 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// SearchQueries: Query metadata for the previous, current, and next
-// pages of results.
-type SearchQueries struct {
-	// NextPage: Metadata representing the next page of results, if
-	// applicable.
-	NextPage []*SearchQueriesNextPage `json:"nextPage,omitempty"`
-
-	// PreviousPage: Metadata representing the previous page of results, if
-	// applicable.
-	PreviousPage []*SearchQueriesPreviousPage `json:"previousPage,omitempty"`
-
-	// Request: Metadata representing the current request.
-	Request []*SearchQueriesRequest `json:"request,omitempty"`
-
-	// ForceSendFields is a list of field names (e.g. "NextPage") to
-	// unconditionally include in API requests. By default, fields with
-	// empty values are omitted from API requests. However, any non-pointer,
-	// non-interface field appearing in ForceSendFields will be sent to the
-	// server regardless of whether the field is empty or not. This may be
-	// used to include empty fields in Patch requests.
-	ForceSendFields []string `json:"-"`
-
-	// NullFields is a list of field names (e.g. "NextPage") to include in
-	// API requests with the JSON null value. By default, fields with empty
-	// values are omitted from API requests. However, any field with an
-	// empty value appearing in NullFields will be sent to the server as
-	// null. It is an error if a field in this list has a non-empty value.
-	// This may be used to include null fields in Patch requests.
-	NullFields []string `json:"-"`
-}
-
-func (s *SearchQueries) MarshalJSON() ([]byte, error) {
-	type NoMethod SearchQueries
-	raw := NoMethod(*s)
-	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
-// SearchQueriesNextPage: Custom search request metadata.
-type SearchQueriesNextPage struct {
-	// Count: Number of search results returned in this set.
-	Count int64 `json:"count,omitempty"`
-
-	// Cr: Restricts search results to documents originating in a
-	// particular
-	// country. You may use
-	// [Boolean
-	// operators](https://developers.google.com/custom-search/docs/x
-	// ml_results#booleanOperators)
-	// in the `cr` parameter's value.
-	//
-	// Google WebSearch determines the country of a document by analyzing
-	// the
-	// following:
-	//
-	// * The top-level domain (TLD) of the document's URL.
-	//
-	// * The geographic location of the web server's IP address.
-	//
-	// See [Country (cr)
-	// Parameter
-	// Values](https://developers.google.com/custom-search/docs/xml
-	// _results#countryCollections)
-	// for a list of valid values for this parameter.
-	Cr string `json:"cr,omitempty"`
-
-	// Cx: The identifier of a custom search engine created using the Custom
-	// Search
-	// [Control Panel](https://cse.google.com/). This is a custom property
-	// not
-	// defined in the OpenSearch spec. This parameter is **required**.
-	Cx string `json:"cx,omitempty"`
-
-	// DateRestrict: Restricts results to URLs based on date. Supported
-	// values include:
-	//
-	// * `d[number]`: requests results from the specified number of past
-	// days.
-	//
-	// * `w[number]`: requests results from the specified number of past
-	// weeks.
-	//
-	// * `m[number]`: requests results from the specified number of past
-	// months.
-	//
-	// * `y[number]`: requests results from the specified number of past
-	// years.
-	DateRestrict string `json:"dateRestrict,omitempty"`
-
-	// DisableCnTwTranslation: Enables or disables the [Simplified and
-	// Traditional
-	// Chinese
-	// Search](https://developers.google.com/custom-search/docs/xml_r
-	// esults#chineseSearch)
-	// feature.
-	//
-	// Supported values are:
-	//
-	// * `0`: enabled (default)
-	//
-	// * `1`: disabled
-	DisableCnTwTranslation string `json:"disableCnTwTranslation,omitempty"`
-
-	// ExactTerms: Identifies a phrase that all documents in the search
-	// results must
-	// contain.
-	ExactTerms string `json:"exactTerms,omitempty"`
-
-	// ExcludeTerms: Identifies a word or phrase that should not appear in
-	// any documents in
-	// the search results.
-	ExcludeTerms string `json:"excludeTerms,omitempty"`
-
-	// FileType: Restricts results to files of a specified extension.
-	// Filetypes supported
-	// by Google include:
-	//
-	// * Adobe Portable Document Format (`pdf`)
-	//
-	// * Adobe PostScript (`ps`)
-	//
-	// * Lotus 1-2-3 (`wk1`, `wk2`, `wk3`, `wk4`, `wk5`, `wki`, `wks`,
-	// `wku`)
-	//
-	// * Lotus WordPro (`lwp`)
-	//
-	// * Macwrite (`mw`)
-	//
-	// * Microsoft Excel (`xls`)
-	//
-	// * Microsoft PowerPoint (`ppt`)
-	//
-	// * Microsoft Word (`doc`)
-	//
-	// * Microsoft Works (`wks`, `wps`, `wdb`)
-	//
-	// * Microsoft Write (`wri`)
-	//
-	// * Rich Text Format (`rtf`)
-	//
-	// * Shockwave Flash (`swf`)
-	//
-	// * Text (`ans`, `txt`).
-	//
-	// Additional filetypes may be added in the future. An up-to-date list
-	// can
-	// always be found in Google's [file
-	// type
-	// FAQ](https://support.google.com/webmasters/answer/35287).
-	FileType string `json:"fileType,omitempty"`
-
-	// Filter: Activates or deactivates the automatic filtering of Google
-	// search
-	// results. See
-	// [Automatic
-	// Filtering](https://developers.google.com/custom-search/docs
-	// /xml_results#automaticFiltering)
-	// for more information about Google's search results filters. Valid
-	// values
-	// for this parameter are:
-	//
-	// * `0`: Disabled
-	//
-	// * `1`: Enabled (default)
-	//
-	// **Note**: By default, Google applies filtering to all search results
-	// to
-	// improve the quality of those results.
-	Filter string `json:"filter,omitempty"`
-
-	// Gl: Boosts search results whose country of origin matches the
-	// parameter
-	// value. See
-	// [Country
-	// Codes](https://developers.google.com/custom-search/docs/xml_r
-	// esults#countryCodes)
-	// for a list of valid values.
-	//
-	// Specifying a `gl` parameter value in WebSearch requests should
-	// improve
-	// the relevance of results. This is particularly true for
-	// international
-	// customers and, even more specifically, for customers in
-	// English-speaking
-	// countries other than the United States.
-	Gl string `json:"gl,omitempty"`
-
-	// GoogleHost: Specifies the Google domain (for example, google.com,
-	// google.de, or
-	// google.fr) to which the search should be limited.
-	GoogleHost string `json:"googleHost,omitempty"`
-
-	// HighRange: Specifies the ending value for a search range. Use
-	// `cse:lowRange` and
-	// `cse:highrange` to append an inclusive search range
-	// of
-	// `lowRange...highRange` to the query.
-	HighRange string `json:"highRange,omitempty"`
-
-	// Hl: Specifies the interface language (host language) of your user
-	// interface.
-	// Explicitly setting this parameter improves the performance and
-	// the
-	// quality of your search results.
-	//
-	// See the
-	// [Interface
-	// Languages](https://developers.google.com/custom-search/docs
-	// /xml_results#wsInterfaceLanguages)
-	// section of [Internationalizing Queries and
-	// Results
-	// Presentation](https://developers.google.com/custom-search/docs
-	// /xml_results#wsInternationalizing)
-	// for more information, and [Supported
-	// Interface
-	// Languages](https://developers.google.com/custom-search/docs/
-	// xml_results_appendices#interfaceLanguages)
-	// for a list of supported languages.
-	Hl string `json:"hl,omitempty"`
-
-	// Hq: Appends the specified query terms to the query, as if they were
-	// combined
-	// with a logical `AND` operator.
-	Hq string `json:"hq,omitempty"`
-
-	// ImgColorType: Restricts results to images of a specified color type.
-	// Supported values
-	//   are:
-	//
-	// * `mono` (black and white)
-	//
-	// * `gray` (grayscale)
-	//
-	// * `color` (color)
-	ImgColorType string `json:"imgColorType,omitempty"`
-
-	// ImgDominantColor: Restricts results to images with a specific
-	// dominant color. Supported
-	// values are:
-	//
-	// * `red`
-	//
-	// * `orange`
-	//
-	// * `yellow`
-	//
-	// * `green`
-	//
-	// * `teal`
-	//
-	// * `blue`
-	//
-	// * `purple`
-	//
-	// * `pink`
-	//
-	// * `white`
-	//
-	// * `gray`
-	//
-	// * `black`
-	//
-	// * `brown`
-	ImgDominantColor string `json:"imgDominantColor,omitempty"`
-
-	// ImgSize: Restricts results to images of a specified size. Supported
-	// values are:
-	//
-	// * `icon` (small)
-	//
-	// * `small | medium | large | xlarge` (medium)
-	//
-	// * `xxlarge` (large)
-	//
-	// * `huge` (extra-large)
-	ImgSize string `json:"imgSize,omitempty"`
-
-	// ImgType: Restricts results to images of a specified type. Supported
-	// values are:
-	//
-	// * `clipart` (Clip art)
-	//
-	// * `face` (Face)
-	//
-	// * `lineart` (Line drawing)
-	//
-	// * `photo` (Photo)
-	//
-	// * `animated` (Animated)
-	//
-	// * `stock` (Stock)
-	ImgType string `json:"imgType,omitempty"`
-
-	// InputEncoding: The character encoding supported for search requests.
-	InputEncoding string `json:"inputEncoding,omitempty"`
-
-	// Language: The language of the search results.
-	Language string `json:"language,omitempty"`
-
-	// LinkSite: Specifies that all results should contain a link to a
-	// specific URL.
-	LinkSite string `json:"linkSite,omitempty"`
-
-	// LowRange: Specifies the starting value for a search range. Use
-	// `cse:lowRange` and
-	// `cse:highrange` to append an inclusive search range
-	// of
-	// `lowRange...highRange` to the query.
-	LowRange string `json:"lowRange,omitempty"`
-
-	// OrTerms: Provides additional search terms to check for in a document,
-	// where each
-	// document in the search results must contain at least one of
-	// the
-	// additional search terms. You can also use the
-	// [Boolean
-	// OR](https://developers.google.com/custom-search/docs/xml_resu
-	// lts#BooleanOrqt)
-	// query term for this type of query.
-	OrTerms string `json:"orTerms,omitempty"`
-
-	// OutputEncoding: The character encoding supported for search results.
-	OutputEncoding string `json:"outputEncoding,omitempty"`
-
-	// RelatedSite: Specifies that all search results should be pages that
-	// are related to the
-	// specified URL. The parameter value should be a URL.
-	RelatedSite string `json:"relatedSite,omitempty"`
-
-	// Rights: Filters based on licensing. Supported values include:
-	//
-	// * `cc_publicdomain`
-	//
-	// * `cc_attribute`
-	//
-	// * `cc_sharealike`
-	//
-	// * `cc_noncommercial`
-	//
-	// * `cc_nonderived`
-	Rights string `json:"rights,omitempty"`
-
-	// Safe: Specifies the
-	// [SafeSearch
-	// level](https://developers.google.com/custom-search/docs/xm
-	// l_results#safeSearchLevels)
-	// used for filtering out adult results. This is a custom property
-	// not
-	// defined in the OpenSearch spec. Valid parameter values are:
-	//
-	// * "off": Disable SafeSearch
-	//
-	// * "active": Enable SafeSearch
-	Safe string `json:"safe,omitempty"`
-
-	// SearchTerms: The search terms entered by the user.
-	SearchTerms string `json:"searchTerms,omitempty"`
-
-	// SearchType: Allowed values are `web` or `image`. If unspecified,
-	// results are limited
-	// to webpages.
-	SearchType string `json:"searchType,omitempty"`
-
-	// SiteSearch: Restricts results to URLs from a specified site.
-	SiteSearch string `json:"siteSearch,omitempty"`
-
-	// SiteSearchFilter: Specifies whether to include or exclude results
-	// from the site named in
-	// the `sitesearch` parameter. Supported values are:
-	//
-	// * `i`: include content from site
-	//
-	// * `e`: exclude content from site
-	SiteSearchFilter string `json:"siteSearchFilter,omitempty"`
-
-	// Sort: Specifies that results should be sorted according to the
-	// specified
-	// expression. For example, sort by date.
-	Sort string `json:"sort,omitempty"`
-
-	// StartIndex: The index of the current set of search results into the
-	// total set of
-	// results, where the index of the first result is 1.
-	StartIndex int64 `json:"startIndex,omitempty"`
-
-	// StartPage: The page number of this set of results, where the page
-	// length is set by
-	// the `count` property.
-	StartPage int64 `json:"startPage,omitempty"`
-
-	// Title: A description of the query.
-	Title string `json:"title,omitempty"`
-
-	// TotalResults: Estimated number of total search results. May not be
-	// accurate.
-	TotalResults int64 `json:"totalResults,omitempty,string"`
-
-	// ForceSendFields is a list of field names (e.g. "Count") to
-	// unconditionally include in API requests. By default, fields with
-	// empty values are omitted from API requests. However, any non-pointer,
-	// non-interface field appearing in ForceSendFields will be sent to the
-	// server regardless of whether the field is empty or not. This may be
-	// used to include empty fields in Patch requests.
-	ForceSendFields []string `json:"-"`
-
-	// NullFields is a list of field names (e.g. "Count") to include in API
-	// requests with the JSON null value. By default, fields with empty
-	// values are omitted from API requests. However, any field with an
-	// empty value appearing in NullFields will be sent to the server as
-	// null. It is an error if a field in this list has a non-empty value.
-	// This may be used to include null fields in Patch requests.
-	NullFields []string `json:"-"`
-}
-
-func (s *SearchQueriesNextPage) MarshalJSON() ([]byte, error) {
-	type NoMethod SearchQueriesNextPage
-	raw := NoMethod(*s)
-	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
-// SearchQueriesPreviousPage: Custom search request metadata.
-type SearchQueriesPreviousPage struct {
-	// Count: Number of search results returned in this set.
-	Count int64 `json:"count,omitempty"`
-
-	// Cr: Restricts search results to documents originating in a
-	// particular
-	// country. You may use
-	// [Boolean
-	// operators](https://developers.google.com/custom-search/docs/x
-	// ml_results#booleanOperators)
-	// in the `cr` parameter's value.
-	//
-	// Google WebSearch determines the country of a document by analyzing
-	// the
-	// following:
-	//
-	// * The top-level domain (TLD) of the document's URL.
-	//
-	// * The geographic location of the web server's IP address.
-	//
-	// See [Country (cr)
-	// Parameter
-	// Values](https://developers.google.com/custom-search/docs/xml
-	// _results#countryCollections)
-	// for a list of valid values for this parameter.
-	Cr string `json:"cr,omitempty"`
-
-	// Cx: The identifier of a custom search engine created using the Custom
-	// Search
-	// [Control Panel](https://cse.google.com/). This is a custom property
-	// not
-	// defined in the OpenSearch spec. This parameter is **required**.
-	Cx string `json:"cx,omitempty"`
-
-	// DateRestrict: Restricts results to URLs based on date. Supported
-	// values include:
-	//
-	// * `d[number]`: requests results from the specified number of past
-	// days.
-	//
-	// * `w[number]`: requests results from the specified number of past
-	// weeks.
-	//
-	// * `m[number]`: requests results from the specified number of past
-	// months.
-	//
-	// * `y[number]`: requests results from the specified number of past
-	// years.
-	DateRestrict string `json:"dateRestrict,omitempty"`
-
-	// DisableCnTwTranslation: Enables or disables the [Simplified and
-	// Traditional
-	// Chinese
-	// Search](https://developers.google.com/custom-search/docs/xml_r
-	// esults#chineseSearch)
-	// feature.
-	//
-	// Supported values are:
-	//
-	// * `0`: enabled (default)
-	//
-	// * `1`: disabled
-	DisableCnTwTranslation string `json:"disableCnTwTranslation,omitempty"`
-
-	// ExactTerms: Identifies a phrase that all documents in the search
-	// results must
-	// contain.
-	ExactTerms string `json:"exactTerms,omitempty"`
-
-	// ExcludeTerms: Identifies a word or phrase that should not appear in
-	// any documents in
-	// the search results.
-	ExcludeTerms string `json:"excludeTerms,omitempty"`
-
-	// FileType: Restricts results to files of a specified extension.
-	// Filetypes supported
-	// by Google include:
-	//
-	// * Adobe Portable Document Format (`pdf`)
-	//
-	// * Adobe PostScript (`ps`)
-	//
-	// * Lotus 1-2-3 (`wk1`, `wk2`, `wk3`, `wk4`, `wk5`, `wki`, `wks`,
-	// `wku`)
-	//
-	// * Lotus WordPro (`lwp`)
-	//
-	// * Macwrite (`mw`)
-	//
-	// * Microsoft Excel (`xls`)
-	//
-	// * Microsoft PowerPoint (`ppt`)
-	//
-	// * Microsoft Word (`doc`)
-	//
-	// * Microsoft Works (`wks`, `wps`, `wdb`)
-	//
-	// * Microsoft Write (`wri`)
-	//
-	// * Rich Text Format (`rtf`)
-	//
-	// * Shockwave Flash (`swf`)
-	//
-	// * Text (`ans`, `txt`).
-	//
-	// Additional filetypes may be added in the future. An up-to-date list
-	// can
-	// always be found in Google's [file
-	// type
-	// FAQ](https://support.google.com/webmasters/answer/35287).
-	FileType string `json:"fileType,omitempty"`
-
-	// Filter: Activates or deactivates the automatic filtering of Google
-	// search
-	// results. See
-	// [Automatic
-	// Filtering](https://developers.google.com/custom-search/docs
-	// /xml_results#automaticFiltering)
-	// for more information about Google's search results filters. Valid
-	// values
-	// for this parameter are:
-	//
-	// * `0`: Disabled
-	//
-	// * `1`: Enabled (default)
-	//
-	// **Note**: By default, Google applies filtering to all search results
-	// to
-	// improve the quality of those results.
-	Filter string `json:"filter,omitempty"`
-
-	// Gl: Boosts search results whose country of origin matches the
-	// parameter
-	// value. See
-	// [Country
-	// Codes](https://developers.google.com/custom-search/docs/xml_r
-	// esults#countryCodes)
-	// for a list of valid values.
-	//
-	// Specifying a `gl` parameter value in WebSearch requests should
-	// improve
-	// the relevance of results. This is particularly true for
-	// international
-	// customers and, even more specifically, for customers in
-	// English-speaking
-	// countries other than the United States.
-	Gl string `json:"gl,omitempty"`
-
-	// GoogleHost: Specifies the Google domain (for example, google.com,
-	// google.de, or
-	// google.fr) to which the search should be limited.
-	GoogleHost string `json:"googleHost,omitempty"`
-
-	// HighRange: Specifies the ending value for a search range. Use
-	// `cse:lowRange` and
-	// `cse:highrange` to append an inclusive search range
-	// of
-	// `lowRange...highRange` to the query.
-	HighRange string `json:"highRange,omitempty"`
-
-	// Hl: Specifies the interface language (host language) of your user
-	// interface.
-	// Explicitly setting this parameter improves the performance and
-	// the
-	// quality of your search results.
-	//
-	// See the
-	// [Interface
-	// Languages](https://developers.google.com/custom-search/docs
-	// /xml_results#wsInterfaceLanguages)
-	// section of [Internationalizing Queries and
-	// Results
-	// Presentation](https://developers.google.com/custom-search/docs
-	// /xml_results#wsInternationalizing)
-	// for more information, and [Supported
-	// Interface
-	// Languages](https://developers.google.com/custom-search/docs/
-	// xml_results_appendices#interfaceLanguages)
-	// for a list of supported languages.
-	Hl string `json:"hl,omitempty"`
-
-	// Hq: Appends the specified query terms to the query, as if they were
-	// combined
-	// with a logical `AND` operator.
-	Hq string `json:"hq,omitempty"`
-
-	// ImgColorType: Restricts results to images of a specified color type.
-	// Supported values
-	//   are:
-	//
-	// * `mono` (black and white)
-	//
-	// * `gray` (grayscale)
-	//
-	// * `color` (color)
-	ImgColorType string `json:"imgColorType,omitempty"`
-
-	// ImgDominantColor: Restricts results to images with a specific
-	// dominant color. Supported
-	// values are:
-	//
-	// * `red`
-	//
-	// * `orange`
-	//
-	// * `yellow`
-	//
-	// * `green`
-	//
-	// * `teal`
-	//
-	// * `blue`
-	//
-	// * `purple`
-	//
-	// * `pink`
-	//
-	// * `white`
-	//
-	// * `gray`
-	//
-	// * `black`
-	//
-	// * `brown`
-	ImgDominantColor string `json:"imgDominantColor,omitempty"`
-
-	// ImgSize: Restricts results to images of a specified size. Supported
-	// values are:
-	//
-	// * `icon` (small)
-	//
-	// * `small | medium | large | xlarge` (medium)
-	//
-	// * `xxlarge` (large)
-	//
-	// * `huge` (extra-large)
-	ImgSize string `json:"imgSize,omitempty"`
-
-	// ImgType: Restricts results to images of a specified type. Supported
-	// values are:
-	//
-	// * `clipart` (Clip art)
-	//
-	// * `face` (Face)
-	//
-	// * `lineart` (Line drawing)
-	//
-	// * `photo` (Photo)
-	//
-	// * `animated` (Animated)
-	//
-	// * `stock` (Stock)
-	ImgType string `json:"imgType,omitempty"`
-
-	// InputEncoding: The character encoding supported for search requests.
-	InputEncoding string `json:"inputEncoding,omitempty"`
-
-	// Language: The language of the search results.
-	Language string `json:"language,omitempty"`
-
-	// LinkSite: Specifies that all results should contain a link to a
-	// specific URL.
-	LinkSite string `json:"linkSite,omitempty"`
-
-	// LowRange: Specifies the starting value for a search range. Use
-	// `cse:lowRange` and
-	// `cse:highrange` to append an inclusive search range
-	// of
-	// `lowRange...highRange` to the query.
-	LowRange string `json:"lowRange,omitempty"`
-
-	// OrTerms: Provides additional search terms to check for in a document,
-	// where each
-	// document in the search results must contain at least one of
-	// the
-	// additional search terms. You can also use the
-	// [Boolean
-	// OR](https://developers.google.com/custom-search/docs/xml_resu
-	// lts#BooleanOrqt)
-	// query term for this type of query.
-	OrTerms string `json:"orTerms,omitempty"`
-
-	// OutputEncoding: The character encoding supported for search results.
-	OutputEncoding string `json:"outputEncoding,omitempty"`
-
-	// RelatedSite: Specifies that all search results should be pages that
-	// are related to the
-	// specified URL. The parameter value should be a URL.
-	RelatedSite string `json:"relatedSite,omitempty"`
-
-	// Rights: Filters based on licensing. Supported values include:
-	//
-	// * `cc_publicdomain`
-	//
-	// * `cc_attribute`
-	//
-	// * `cc_sharealike`
-	//
-	// * `cc_noncommercial`
-	//
-	// * `cc_nonderived`
-	Rights string `json:"rights,omitempty"`
-
-	// Safe: Specifies the
-	// [SafeSearch
-	// level](https://developers.google.com/custom-search/docs/xm
-	// l_results#safeSearchLevels)
-	// used for filtering out adult results. This is a custom property
-	// not
-	// defined in the OpenSearch spec. Valid parameter values are:
-	//
-	// * "off": Disable SafeSearch
-	//
-	// * "active": Enable SafeSearch
-	Safe string `json:"safe,omitempty"`
-
-	// SearchTerms: The search terms entered by the user.
-	SearchTerms string `json:"searchTerms,omitempty"`
-
-	// SearchType: Allowed values are `web` or `image`. If unspecified,
-	// results are limited
-	// to webpages.
-	SearchType string `json:"searchType,omitempty"`
-
-	// SiteSearch: Restricts results to URLs from a specified site.
-	SiteSearch string `json:"siteSearch,omitempty"`
-
-	// SiteSearchFilter: Specifies whether to include or exclude results
-	// from the site named in
-	// the `sitesearch` parameter. Supported values are:
-	//
-	// * `i`: include content from site
-	//
-	// * `e`: exclude content from site
-	SiteSearchFilter string `json:"siteSearchFilter,omitempty"`
-
-	// Sort: Specifies that results should be sorted according to the
-	// specified
-	// expression. For example, sort by date.
-	Sort string `json:"sort,omitempty"`
-
-	// StartIndex: The index of the current set of search results into the
-	// total set of
-	// results, where the index of the first result is 1.
-	StartIndex int64 `json:"startIndex,omitempty"`
-
-	// StartPage: The page number of this set of results, where the page
-	// length is set by
-	// the `count` property.
-	StartPage int64 `json:"startPage,omitempty"`
-
-	// Title: A description of the query.
-	Title string `json:"title,omitempty"`
-
-	// TotalResults: Estimated number of total search results. May not be
-	// accurate.
-	TotalResults int64 `json:"totalResults,omitempty,string"`
-
-	// ForceSendFields is a list of field names (e.g. "Count") to
-	// unconditionally include in API requests. By default, fields with
-	// empty values are omitted from API requests. However, any non-pointer,
-	// non-interface field appearing in ForceSendFields will be sent to the
-	// server regardless of whether the field is empty or not. This may be
-	// used to include empty fields in Patch requests.
-	ForceSendFields []string `json:"-"`
-
-	// NullFields is a list of field names (e.g. "Count") to include in API
-	// requests with the JSON null value. By default, fields with empty
-	// values are omitted from API requests. However, any field with an
-	// empty value appearing in NullFields will be sent to the server as
-	// null. It is an error if a field in this list has a non-empty value.
-	// This may be used to include null fields in Patch requests.
-	NullFields []string `json:"-"`
-}
-
-func (s *SearchQueriesPreviousPage) MarshalJSON() ([]byte, error) {
-	type NoMethod SearchQueriesPreviousPage
-	raw := NoMethod(*s)
-	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
-// SearchQueriesRequest: Custom search request metadata.
-type SearchQueriesRequest struct {
-	// Count: Number of search results returned in this set.
-	Count int64 `json:"count,omitempty"`
-
-	// Cr: Restricts search results to documents originating in a
-	// particular
-	// country. You may use
-	// [Boolean
-	// operators](https://developers.google.com/custom-search/docs/x
-	// ml_results#booleanOperators)
-	// in the `cr` parameter's value.
-	//
-	// Google WebSearch determines the country of a document by analyzing
-	// the
-	// following:
-	//
-	// * The top-level domain (TLD) of the document's URL.
-	//
-	// * The geographic location of the web server's IP address.
-	//
-	// See [Country (cr)
-	// Parameter
-	// Values](https://developers.google.com/custom-search/docs/xml
-	// _results#countryCollections)
-	// for a list of valid values for this parameter.
-	Cr string `json:"cr,omitempty"`
-
-	// Cx: The identifier of a custom search engine created using the Custom
-	// Search
-	// [Control Panel](https://cse.google.com/). This is a custom property
-	// not
-	// defined in the OpenSearch spec. This parameter is **required**.
-	Cx string `json:"cx,omitempty"`
-
-	// DateRestrict: Restricts results to URLs based on date. Supported
-	// values include:
-	//
-	// * `d[number]`: requests results from the specified number of past
-	// days.
-	//
-	// * `w[number]`: requests results from the specified number of past
-	// weeks.
-	//
-	// * `m[number]`: requests results from the specified number of past
-	// months.
-	//
-	// * `y[number]`: requests results from the specified number of past
-	// years.
-	DateRestrict string `json:"dateRestrict,omitempty"`
-
-	// DisableCnTwTranslation: Enables or disables the [Simplified and
-	// Traditional
-	// Chinese
-	// Search](https://developers.google.com/custom-search/docs/xml_r
-	// esults#chineseSearch)
-	// feature.
-	//
-	// Supported values are:
-	//
-	// * `0`: enabled (default)
-	//
-	// * `1`: disabled
-	DisableCnTwTranslation string `json:"disableCnTwTranslation,omitempty"`
-
-	// ExactTerms: Identifies a phrase that all documents in the search
-	// results must
-	// contain.
-	ExactTerms string `json:"exactTerms,omitempty"`
-
-	// ExcludeTerms: Identifies a word or phrase that should not appear in
-	// any documents in
-	// the search results.
-	ExcludeTerms string `json:"excludeTerms,omitempty"`
-
-	// FileType: Restricts results to files of a specified extension.
-	// Filetypes supported
-	// by Google include:
-	//
-	// * Adobe Portable Document Format (`pdf`)
-	//
-	// * Adobe PostScript (`ps`)
-	//
-	// * Lotus 1-2-3 (`wk1`, `wk2`, `wk3`, `wk4`, `wk5`, `wki`, `wks`,
-	// `wku`)
-	//
-	// * Lotus WordPro (`lwp`)
-	//
-	// * Macwrite (`mw`)
-	//
-	// * Microsoft Excel (`xls`)
-	//
-	// * Microsoft PowerPoint (`ppt`)
-	//
-	// * Microsoft Word (`doc`)
-	//
-	// * Microsoft Works (`wks`, `wps`, `wdb`)
-	//
-	// * Microsoft Write (`wri`)
-	//
-	// * Rich Text Format (`rtf`)
-	//
-	// * Shockwave Flash (`swf`)
-	//
-	// * Text (`ans`, `txt`).
-	//
-	// Additional filetypes may be added in the future. An up-to-date list
-	// can
-	// always be found in Google's [file
-	// type
-	// FAQ](https://support.google.com/webmasters/answer/35287).
-	FileType string `json:"fileType,omitempty"`
-
-	// Filter: Activates or deactivates the automatic filtering of Google
-	// search
-	// results. See
-	// [Automatic
-	// Filtering](https://developers.google.com/custom-search/docs
-	// /xml_results#automaticFiltering)
-	// for more information about Google's search results filters. Valid
-	// values
-	// for this parameter are:
-	//
-	// * `0`: Disabled
-	//
-	// * `1`: Enabled (default)
-	//
-	// **Note**: By default, Google applies filtering to all search results
-	// to
-	// improve the quality of those results.
-	Filter string `json:"filter,omitempty"`
-
-	// Gl: Boosts search results whose country of origin matches the
-	// parameter
-	// value. See
-	// [Country
-	// Codes](https://developers.google.com/custom-search/docs/xml_r
-	// esults#countryCodes)
-	// for a list of valid values.
-	//
-	// Specifying a `gl` parameter value in WebSearch requests should
-	// improve
-	// the relevance of results. This is particularly true for
-	// international
-	// customers and, even more specifically, for customers in
-	// English-speaking
-	// countries other than the United States.
-	Gl string `json:"gl,omitempty"`
-
-	// GoogleHost: Specifies the Google domain (for example, google.com,
-	// google.de, or
-	// google.fr) to which the search should be limited.
-	GoogleHost string `json:"googleHost,omitempty"`
-
-	// HighRange: Specifies the ending value for a search range. Use
-	// `cse:lowRange` and
-	// `cse:highrange` to append an inclusive search range
-	// of
-	// `lowRange...highRange` to the query.
-	HighRange string `json:"highRange,omitempty"`
-
-	// Hl: Specifies the interface language (host language) of your user
-	// interface.
-	// Explicitly setting this parameter improves the performance and
-	// the
-	// quality of your search results.
-	//
-	// See the
-	// [Interface
-	// Languages](https://developers.google.com/custom-search/docs
-	// /xml_results#wsInterfaceLanguages)
-	// section of [Internationalizing Queries and
-	// Results
-	// Presentation](https://developers.google.com/custom-search/docs
-	// /xml_results#wsInternationalizing)
-	// for more information, and [Supported
-	// Interface
-	// Languages](https://developers.google.com/custom-search/docs/
-	// xml_results_appendices#interfaceLanguages)
-	// for a list of supported languages.
-	Hl string `json:"hl,omitempty"`
-
-	// Hq: Appends the specified query terms to the query, as if they were
-	// combined
-	// with a logical `AND` operator.
-	Hq string `json:"hq,omitempty"`
-
-	// ImgColorType: Restricts results to images of a specified color type.
-	// Supported values
-	//   are:
-	//
-	// * `mono` (black and white)
-	//
-	// * `gray` (grayscale)
-	//
-	// * `color` (color)
-	ImgColorType string `json:"imgColorType,omitempty"`
-
-	// ImgDominantColor: Restricts results to images with a specific
-	// dominant color. Supported
-	// values are:
-	//
-	// * `red`
-	//
-	// * `orange`
-	//
-	// * `yellow`
-	//
-	// * `green`
-	//
-	// * `teal`
-	//
-	// * `blue`
-	//
-	// * `purple`
-	//
-	// * `pink`
-	//
-	// * `white`
-	//
-	// * `gray`
-	//
-	// * `black`
-	//
-	// * `brown`
-	ImgDominantColor string `json:"imgDominantColor,omitempty"`
-
-	// ImgSize: Restricts results to images of a specified size. Supported
-	// values are:
-	//
-	// * `icon` (small)
-	//
-	// * `small | medium | large | xlarge` (medium)
-	//
-	// * `xxlarge` (large)
-	//
-	// * `huge` (extra-large)
-	ImgSize string `json:"imgSize,omitempty"`
-
-	// ImgType: Restricts results to images of a specified type. Supported
-	// values are:
-	//
-	// * `clipart` (Clip art)
-	//
-	// * `face` (Face)
-	//
-	// * `lineart` (Line drawing)
-	//
-	// * `photo` (Photo)
-	//
-	// * `animated` (Animated)
-	//
-	// * `stock` (Stock)
-	ImgType string `json:"imgType,omitempty"`
-
-	// InputEncoding: The character encoding supported for search requests.
-	InputEncoding string `json:"inputEncoding,omitempty"`
-
-	// Language: The language of the search results.
-	Language string `json:"language,omitempty"`
-
-	// LinkSite: Specifies that all results should contain a link to a
-	// specific URL.
-	LinkSite string `json:"linkSite,omitempty"`
-
-	// LowRange: Specifies the starting value for a search range. Use
-	// `cse:lowRange` and
-	// `cse:highrange` to append an inclusive search range
-	// of
-	// `lowRange...highRange` to the query.
-	LowRange string `json:"lowRange,omitempty"`
-
-	// OrTerms: Provides additional search terms to check for in a document,
-	// where each
-	// document in the search results must contain at least one of
-	// the
-	// additional search terms. You can also use the
-	// [Boolean
-	// OR](https://developers.google.com/custom-search/docs/xml_resu
-	// lts#BooleanOrqt)
-	// query term for this type of query.
-	OrTerms string `json:"orTerms,omitempty"`
-
-	// OutputEncoding: The character encoding supported for search results.
-	OutputEncoding string `json:"outputEncoding,omitempty"`
-
-	// RelatedSite: Specifies that all search results should be pages that
-	// are related to the
-	// specified URL. The parameter value should be a URL.
-	RelatedSite string `json:"relatedSite,omitempty"`
-
-	// Rights: Filters based on licensing. Supported values include:
-	//
-	// * `cc_publicdomain`
-	//
-	// * `cc_attribute`
-	//
-	// * `cc_sharealike`
-	//
-	// * `cc_noncommercial`
-	//
-	// * `cc_nonderived`
-	Rights string `json:"rights,omitempty"`
-
-	// Safe: Specifies the
-	// [SafeSearch
-	// level](https://developers.google.com/custom-search/docs/xm
-	// l_results#safeSearchLevels)
-	// used for filtering out adult results. This is a custom property
-	// not
-	// defined in the OpenSearch spec. Valid parameter values are:
-	//
-	// * "off": Disable SafeSearch
-	//
-	// * "active": Enable SafeSearch
-	Safe string `json:"safe,omitempty"`
-
-	// SearchTerms: The search terms entered by the user.
-	SearchTerms string `json:"searchTerms,omitempty"`
-
-	// SearchType: Allowed values are `web` or `image`. If unspecified,
-	// results are limited
-	// to webpages.
-	SearchType string `json:"searchType,omitempty"`
-
-	// SiteSearch: Restricts results to URLs from a specified site.
-	SiteSearch string `json:"siteSearch,omitempty"`
-
-	// SiteSearchFilter: Specifies whether to include or exclude results
-	// from the site named in
-	// the `sitesearch` parameter. Supported values are:
-	//
-	// * `i`: include content from site
-	//
-	// * `e`: exclude content from site
-	SiteSearchFilter string `json:"siteSearchFilter,omitempty"`
-
-	// Sort: Specifies that results should be sorted according to the
-	// specified
-	// expression. For example, sort by date.
-	Sort string `json:"sort,omitempty"`
-
-	// StartIndex: The index of the current set of search results into the
-	// total set of
-	// results, where the index of the first result is 1.
-	StartIndex int64 `json:"startIndex,omitempty"`
-
-	// StartPage: The page number of this set of results, where the page
-	// length is set by
-	// the `count` property.
-	StartPage int64 `json:"startPage,omitempty"`
-
-	// Title: A description of the query.
-	Title string `json:"title,omitempty"`
-
-	// TotalResults: Estimated number of total search results. May not be
-	// accurate.
-	TotalResults int64 `json:"totalResults,omitempty,string"`
-
-	// ForceSendFields is a list of field names (e.g. "Count") to
-	// unconditionally include in API requests. By default, fields with
-	// empty values are omitted from API requests. However, any non-pointer,
-	// non-interface field appearing in ForceSendFields will be sent to the
-	// server regardless of whether the field is empty or not. This may be
-	// used to include empty fields in Patch requests.
-	ForceSendFields []string `json:"-"`
-
-	// NullFields is a list of field names (e.g. "Count") to include in API
-	// requests with the JSON null value. By default, fields with empty
-	// values are omitted from API requests. However, any field with an
-	// empty value appearing in NullFields will be sent to the server as
-	// null. It is an error if a field in this list has a non-empty value.
-	// This may be used to include null fields in Patch requests.
-	NullFields []string `json:"-"`
-}
-
-func (s *SearchQueriesRequest) MarshalJSON() ([]byte, error) {
-	type NoMethod SearchQueriesRequest
-	raw := NoMethod(*s)
-	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
-// SearchSearchInformation: Metadata about a search operation.
 type SearchSearchInformation struct {
-	// FormattedSearchTime: The time taken for the server to return search
-	// results, formatted
-	// according to locale style.
 	FormattedSearchTime string `json:"formattedSearchTime,omitempty"`
 
-	// FormattedTotalResults: The total number of search results, formatted
-	// according to locale style.
 	FormattedTotalResults string `json:"formattedTotalResults,omitempty"`
 
-	// SearchTime: The time taken for the server to return search results.
 	SearchTime float64 `json:"searchTime,omitempty"`
 
-	// TotalResults: The total number of search results returned by the
-	// query.
-	TotalResults string `json:"totalResults,omitempty"`
+	TotalResults int64 `json:"totalResults,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "FormattedSearchTime")
 	// to unconditionally include in API requests. By default, fields with
@@ -1745,12 +608,9 @@
 	return nil
 }
 
-// SearchSpelling: Spell correction information for a query.
 type SearchSpelling struct {
-	// CorrectedQuery: The corrected query.
 	CorrectedQuery string `json:"correctedQuery,omitempty"`
 
-	// HtmlCorrectedQuery: The corrected query, formatted in HTML.
 	HtmlCorrectedQuery string `json:"htmlCorrectedQuery,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CorrectedQuery") to
@@ -1777,17 +637,9 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// SearchUrl: OpenSearch template and URL.
 type SearchUrl struct {
-	// Template: The actual
-	// [OpenSearch
-	// template](http://www.opensearch.org/specifications/opensea
-	// rch/1.1#opensearch_url_template_syntax)
-	// for this API.
 	Template string `json:"template,omitempty"`
 
-	// Type: The MIME type of the OpenSearch URL template for the Custom
-	// Search API.
 	Type string `json:"type,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Template") to
@@ -1824,101 +676,58 @@
 }
 
 // List: Returns metadata about the search performed, metadata about the
-// custom
-// search engine used for the search, and the search results.
-func (r *CseService) List() *CseListCall {
+// custom search engine used for the search, and the search results.
+func (r *CseService) List(q string) *CseListCall {
 	c := &CseListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+	c.urlParams_.Set("q", q)
 	return c
 }
 
-// C2coff sets the optional parameter "c2coff": Enables or disables
-// [Simplified and Traditional
-// Chinese
-// Search](https://developers.google.com/custom-search/docs/xml_r
-// esults#chineseSearch).
-//
-// The default value for this parameter is 0 (zero), meaning that the
-// feature
-// is enabled. Supported values are:
-//
-// * `1`: Disabled
-//
-// * `0`: Enabled (default)
+// C2coff sets the optional parameter "c2coff": Turns off the
+// translation between zh-CN and zh-TW.
 func (c *CseListCall) C2coff(c2coff string) *CseListCall {
 	c.urlParams_.Set("c2coff", c2coff)
 	return c
 }
 
-// Cr sets the optional parameter "cr": Restricts search results to
-// documents originating in a particular country.
-// You may use
-// [Boolean
-// operators](https://developers.google.com/custom-search/docs/x
-// ml_results_appendices#booleanOperators)
-// in the cr parameter's value.
-//
-// Google Search determines the country of a document by analyzing:
-//
-// * the top-level domain (TLD) of the document's URL
-//
-// * the geographic location of the Web server's IP address
-//
-// See the [Country
-// Parameter
-// Values](https://developers.google.com/custom-search/docs/xml
-// _results_appendices#countryCollections)
-// page for a list of valid values for this parameter.
+// Cr sets the optional parameter "cr": Country restrict(s).
 func (c *CseListCall) Cr(cr string) *CseListCall {
 	c.urlParams_.Set("cr", cr)
 	return c
 }
 
 // Cx sets the optional parameter "cx": The custom search engine ID to
-// use for this request.
+// scope this search query
 func (c *CseListCall) Cx(cx string) *CseListCall {
 	c.urlParams_.Set("cx", cx)
 	return c
 }
 
-// DateRestrict sets the optional parameter "dateRestrict": Restricts
-// results to URLs based on date. Supported values include:
-//
-// * `d[number]`: requests results from the specified number of past
-// days.
-//
-// * `w[number]`: requests results from the specified number of past
-// weeks.
-//
-// * `m[number]`: requests results from the specified number of past
-// months.
-//
-// * `y[number]`: requests results from the specified number of past
-// years.
+// DateRestrict sets the optional parameter "dateRestrict": Specifies
+// all search results are from a time period
 func (c *CseListCall) DateRestrict(dateRestrict string) *CseListCall {
 	c.urlParams_.Set("dateRestrict", dateRestrict)
 	return c
 }
 
 // ExactTerms sets the optional parameter "exactTerms": Identifies a
-// phrase that all documents in the search results must contain.
+// phrase that all documents in the search results must contain
 func (c *CseListCall) ExactTerms(exactTerms string) *CseListCall {
 	c.urlParams_.Set("exactTerms", exactTerms)
 	return c
 }
 
 // ExcludeTerms sets the optional parameter "excludeTerms": Identifies a
-// word or phrase that should not appear in any documents in the
-// search results.
+// word or phrase that should not appear in any documents in the search
+// results
 func (c *CseListCall) ExcludeTerms(excludeTerms string) *CseListCall {
 	c.urlParams_.Set("excludeTerms", excludeTerms)
 	return c
 }
 
-// FileType sets the optional parameter "fileType": Restricts results to
-// files of a specified extension. A list of file types
-// indexable by Google can be found in Search Console
-// [Help
-// Center](https://support.google.com/webmasters/answer/35287).
+// FileType sets the optional parameter "fileType": Returns images of a
+// specified type. Some of the allowed values are: bmp, gif, png, jpg,
+// svg, pdf, ...
 func (c *CseListCall) FileType(fileType string) *CseListCall {
 	c.urlParams_.Set("fileType", fileType)
 	return c
@@ -1927,69 +736,29 @@
 // Filter sets the optional parameter "filter": Controls turning on or
 // off the duplicate content filter.
 //
-// * See
-// [Automatic
-// Filtering](https://developers.google.com/custom-search/docs
-// /xml_results#automaticFiltering)
-// for more information about Google's search results filters. Note that
-// host
-// crowding filtering applies only to multi-site searches.
-//
-// * By default, Google applies filtering to all search results to
-// improve the
-// quality of those results.
-//
-// Acceptable values are:
-//
-// * `0`: Turns off duplicate content filter.
-//
-// * `1`: Turns on duplicate content filter.
+// Possible values:
+//   "0" - Turns off duplicate content filter.
+//   "1" - Turns on duplicate content filter.
 func (c *CseListCall) Filter(filter string) *CseListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
 }
 
 // Gl sets the optional parameter "gl": Geolocation of end user.
-//
-// * The `gl` parameter value is a two-letter country code. The `gl`
-// parameter
-// boosts search results whose country of origin matches the parameter
-// value.
-// See the
-// [Country
-// Codes](https://developers.google.com/custom-search/docs/xml_r
-// esults_appendices#countryCodes)
-// page for a list of valid values.
-//
-// * Specifying a `gl` parameter value should lead to more relevant
-// results.
-// This is particularly true for international customers and, even
-// more
-// specifically, for customers in English- speaking countries other than
-// the
-// United States.
 func (c *CseListCall) Gl(gl string) *CseListCall {
 	c.urlParams_.Set("gl", gl)
 	return c
 }
 
-// Googlehost sets the optional parameter "googlehost": **Deprecated**.
-// Use the `gl` parameter for a similar effect.
-//
-// The local Google domain (for example, google.com, google.de,
-// or
-// google.fr) to use to perform the search.
+// Googlehost sets the optional parameter "googlehost": The local Google
+// domain to use to perform the search.
 func (c *CseListCall) Googlehost(googlehost string) *CseListCall {
 	c.urlParams_.Set("googlehost", googlehost)
 	return c
 }
 
-// HighRange sets the optional parameter "highRange": Specifies the
-// ending value for a search range.
-//
-// * Use `lowRange` and `highRange` to append an inclusive search range
-// of
-// `lowRange...highRange` to the query.
+// HighRange sets the optional parameter "highRange": Creates a range in
+// form as_nlo value..as_nhi value and attempts to append it to query
 func (c *CseListCall) HighRange(highRange string) *CseListCall {
 	c.urlParams_.Set("highRange", highRange)
 	return c
@@ -1997,350 +766,198 @@
 
 // Hl sets the optional parameter "hl": Sets the user interface
 // language.
-//
-// * Explicitly setting this parameter improves the performance and
-// the
-// quality of your search results.
-//
-// * See the
-// [Interface
-// Languages](https://developers.google.com/custom-search/docs
-// /xml_results#wsInterfaceLanguages)
-// section of [Internationalizing Queries and
-// Results
-// Presentation](https://developers.google.com/custom-search/docs
-// /xml_results#wsInternationalizing)
-// for more information, and (Supported
-// Interface
-// Languages)[https://developers.google.com/custom-search/docs/
-// xml_results_appendices#interfaceLanguages]
-// for a list of supported languages.
 func (c *CseListCall) Hl(hl string) *CseListCall {
 	c.urlParams_.Set("hl", hl)
 	return c
 }
 
-// Hq sets the optional parameter "hq": Appends the specified query
-// terms to the query, as if they were combined
-// with a logical AND operator.
+// Hq sets the optional parameter "hq": Appends the extra query terms to
+// the query.
 func (c *CseListCall) Hq(hq string) *CseListCall {
 	c.urlParams_.Set("hq", hq)
 	return c
 }
 
 // ImgColorType sets the optional parameter "imgColorType": Returns
-// black and white, grayscale, transparent, or color images.
-// Acceptable values are:
-//
-// * "color"
-//
-// * "gray"
-//
-// * "mono": black and white
-//
-// * "trans": transparent background
+// black and white, grayscale, or color images: mono, gray, and color.
 //
 // Possible values:
-//   "imgColorTypeUndefined"
-//   "mono"
-//   "gray"
-//   "color"
-//   "trans"
+//   "color" - color
+//   "gray" - gray
+//   "mono" - mono
 func (c *CseListCall) ImgColorType(imgColorType string) *CseListCall {
 	c.urlParams_.Set("imgColorType", imgColorType)
 	return c
 }
 
 // ImgDominantColor sets the optional parameter "imgDominantColor":
-// Returns images of a specific dominant color. Acceptable values
-// are:
-//
-// * "black"
-//
-// * "blue"
-//
-// * "brown"
-//
-// * "gray"
-//
-// * "green"
-//
-// * "orange"
-//
-// * "pink"
-//
-// * "purple"
-//
-// * "red"
-//
-// * "teal"
-//
-// * "white"
-//
-// * "yellow"
+// Returns images of a specific dominant color: red, orange, yellow,
+// green, teal, blue, purple, pink, white, gray, black and brown.
 //
 // Possible values:
-//   "imgDominantColorUndefined"
-//   "black"
-//   "blue"
-//   "brown"
-//   "gray"
-//   "green"
-//   "orange"
-//   "pink"
-//   "purple"
-//   "red"
-//   "teal"
-//   "white"
-//   "yellow"
+//   "black" - black
+//   "blue" - blue
+//   "brown" - brown
+//   "gray" - gray
+//   "green" - green
+//   "orange" - orange
+//   "pink" - pink
+//   "purple" - purple
+//   "red" - red
+//   "teal" - teal
+//   "white" - white
+//   "yellow" - yellow
 func (c *CseListCall) ImgDominantColor(imgDominantColor string) *CseListCall {
 	c.urlParams_.Set("imgDominantColor", imgDominantColor)
 	return c
 }
 
 // ImgSize sets the optional parameter "imgSize": Returns images of a
-// specified size. Acceptable values are:
-//
-// * "huge"
-//
-// * "icon"
-//
-// * "large"
-//
-// * "medium"
-//
-// * "small"
-//
-// * "xlarge"
-//
-// * "xxlarge"
+// specified size, where size can be one of: icon, small, medium, large,
+// xlarge, xxlarge, and huge.
 //
 // Possible values:
-//   "imgSizeUndefined"
-//   "HUGE"
-//   "ICON"
-//   "LARGE"
-//   "MEDIUM"
-//   "SMALL"
-//   "XLARGE"
-//   "XXLARGE"
+//   "huge" - huge
+//   "icon" - icon
+//   "large" - large
+//   "medium" - medium
+//   "small" - small
+//   "xlarge" - xlarge
+//   "xxlarge" - xxlarge
 func (c *CseListCall) ImgSize(imgSize string) *CseListCall {
 	c.urlParams_.Set("imgSize", imgSize)
 	return c
 }
 
 // ImgType sets the optional parameter "imgType": Returns images of a
-// type. Acceptable values are:
-//
-// * "clipart"
-//
-// * "face"
-//
-// * "lineart"
-//
-// * "stock"
-//
-// * "photo"
-//
-// * "animated"
+// type, which can be one of: clipart, face, lineart, news, and photo.
 //
 // Possible values:
-//   "imgTypeUndefined"
-//   "clipart"
-//   "face"
-//   "lineart"
-//   "stock"
-//   "photo"
-//   "animated"
+//   "clipart" - clipart
+//   "face" - face
+//   "lineart" - lineart
+//   "news" - news
+//   "photo" - photo
 func (c *CseListCall) ImgType(imgType string) *CseListCall {
 	c.urlParams_.Set("imgType", imgType)
 	return c
 }
 
 // LinkSite sets the optional parameter "linkSite": Specifies that all
-// search results should contain a link to a particular
-// URL.
+// search results should contain a link to a particular URL
 func (c *CseListCall) LinkSite(linkSite string) *CseListCall {
 	c.urlParams_.Set("linkSite", linkSite)
 	return c
 }
 
-// LowRange sets the optional parameter "lowRange": Specifies the
-// starting value for a search range. Use `lowRange` and
-// `highRange` to append an inclusive search range of
-// `lowRange...highRange`
-// to the query.
+// LowRange sets the optional parameter "lowRange": Creates a range in
+// form as_nlo value..as_nhi value and attempts to append it to query
 func (c *CseListCall) LowRange(lowRange string) *CseListCall {
 	c.urlParams_.Set("lowRange", lowRange)
 	return c
 }
 
-// Lr sets the optional parameter "lr": Restricts the search to
-// documents written in a particular language
-// (e.g.,
-// `lr=lang_ja`).
+// Lr sets the optional parameter "lr": The language restriction for the
+// search results
 //
-// Acceptable values are:
-//
-// * "lang_ar": Arabic
-//
-// * "lang_bg": Bulgarian
-//
-// * "lang_ca": Catalan
-//
-// * "lang_cs": Czech
-//
-// * "lang_da": Danish
-//
-// * "lang_de": German
-//
-// * "lang_el": Greek
-//
-// * "lang_en": English
-//
-// * "lang_es": Spanish
-//
-// * "lang_et": Estonian
-//
-// * "lang_fi": Finnish
-//
-// * "lang_fr": French
-//
-// * "lang_hr": Croatian
-//
-// * "lang_hu": Hungarian
-//
-// * "lang_id": Indonesian
-//
-// * "lang_is": Icelandic
-//
-// * "lang_it": Italian
-//
-// * "lang_iw": Hebrew
-//
-// * "lang_ja": Japanese
-//
-// * "lang_ko": Korean
-//
-// * "lang_lt": Lithuanian
-//
-// * "lang_lv": Latvian
-//
-// * "lang_nl": Dutch
-//
-// * "lang_no": Norwegian
-//
-// * "lang_pl": Polish
-//
-// * "lang_pt": Portuguese
-//
-// * "lang_ro": Romanian
-//
-// * "lang_ru": Russian
-//
-// * "lang_sk": Slovak
-//
-// * "lang_sl": Slovenian
-//
-// * "lang_sr": Serbian
-//
-// * "lang_sv": Swedish
-//
-// * "lang_tr": Turkish
-//
-// * "lang_zh-CN": Chinese (Simplified)
-//
-// * "lang_zh-TW": Chinese (Traditional)
+// Possible values:
+//   "lang_ar" - Arabic
+//   "lang_bg" - Bulgarian
+//   "lang_ca" - Catalan
+//   "lang_cs" - Czech
+//   "lang_da" - Danish
+//   "lang_de" - German
+//   "lang_el" - Greek
+//   "lang_en" - English
+//   "lang_es" - Spanish
+//   "lang_et" - Estonian
+//   "lang_fi" - Finnish
+//   "lang_fr" - French
+//   "lang_hr" - Croatian
+//   "lang_hu" - Hungarian
+//   "lang_id" - Indonesian
+//   "lang_is" - Icelandic
+//   "lang_it" - Italian
+//   "lang_iw" - Hebrew
+//   "lang_ja" - Japanese
+//   "lang_ko" - Korean
+//   "lang_lt" - Lithuanian
+//   "lang_lv" - Latvian
+//   "lang_nl" - Dutch
+//   "lang_no" - Norwegian
+//   "lang_pl" - Polish
+//   "lang_pt" - Portuguese
+//   "lang_ro" - Romanian
+//   "lang_ru" - Russian
+//   "lang_sk" - Slovak
+//   "lang_sl" - Slovenian
+//   "lang_sr" - Serbian
+//   "lang_sv" - Swedish
+//   "lang_tr" - Turkish
+//   "lang_zh-CN" - Chinese (Simplified)
+//   "lang_zh-TW" - Chinese (Traditional)
 func (c *CseListCall) Lr(lr string) *CseListCall {
 	c.urlParams_.Set("lr", lr)
 	return c
 }
 
 // Num sets the optional parameter "num": Number of search results to
-// return.
-//
-// * Valid values are integers between 1 and 10, inclusive.
+// return
 func (c *CseListCall) Num(num int64) *CseListCall {
 	c.urlParams_.Set("num", fmt.Sprint(num))
 	return c
 }
 
 // OrTerms sets the optional parameter "orTerms": Provides additional
-// search terms to check for in a document, where each
-// document in the search results must contain at least one of the
-// additional
-// search terms.
+// search terms to check for in a document, where each document in the
+// search results must contain at least one of the additional search
+// terms
 func (c *CseListCall) OrTerms(orTerms string) *CseListCall {
 	c.urlParams_.Set("orTerms", orTerms)
 	return c
 }
 
-// Q sets the optional parameter "q": Query
-func (c *CseListCall) Q(q string) *CseListCall {
-	c.urlParams_.Set("q", q)
-	return c
-}
-
 // RelatedSite sets the optional parameter "relatedSite": Specifies that
-// all search results should be pages that are related to the
-// specified URL.
+// all search results should be pages that are related to the specified
+// URL
 func (c *CseListCall) RelatedSite(relatedSite string) *CseListCall {
 	c.urlParams_.Set("relatedSite", relatedSite)
 	return c
 }
 
 // Rights sets the optional parameter "rights": Filters based on
-// licensing. Supported values include:
-// `cc_publicdomain`,
-// `cc_attribute`, `cc_sharealike`, `cc_noncommercial`, `cc_nonderived`
-// and
-// combinations of these. See
-// [typical
-// combinations](https://wiki.creativecommons.org/wiki/CC_Search
-// _integration).
+// licensing. Supported values include: cc_publicdomain, cc_attribute,
+// cc_sharealike, cc_noncommercial, cc_nonderived and combinations of
+// these.
 func (c *CseListCall) Rights(rights string) *CseListCall {
 	c.urlParams_.Set("rights", rights)
 	return c
 }
 
-// Safe sets the optional parameter "safe": Search safety level.
-// Acceptable values are:
-//
-// * "active": Enables SafeSearch filtering.
-//
-// * "off": Disables SafeSearch filtering. (default)
+// Safe sets the optional parameter "safe": Search safety level
 //
 // Possible values:
-//   "safeUndefined"
-//   "active"
-//   "high"
-//   "medium"
-//   "off"
+//   "active" - Enables safe search filtering.
+//   "high" - (Deprecated) Same as active.
+//   "medium" - (Deprecated) Same as active.
+//   "off" (default) - Disables safe search filtering.
 func (c *CseListCall) Safe(safe string) *CseListCall {
 	c.urlParams_.Set("safe", safe)
 	return c
 }
 
 // SearchType sets the optional parameter "searchType": Specifies the
-// search type: `image`. If unspecified, results are limited
-// to
-// webpages.
-//
-// Acceptable values are:
-//
-// * "image": custom image search.
+// search type: image.
 //
 // Possible values:
-//   "searchTypeUndefined"
-//   "image"
+//   "image" - custom image search
 func (c *CseListCall) SearchType(searchType string) *CseListCall {
 	c.urlParams_.Set("searchType", searchType)
 	return c
 }
 
-// SiteSearch sets the optional parameter "siteSearch": Specifies a
-// given site which should always be included or excluded from
-// results (see `siteSearchFilter` parameter, below).
+// SiteSearch sets the optional parameter "siteSearch": Specifies all
+// search results should be pages from a given site
 func (c *CseListCall) SiteSearch(siteSearch string) *CseListCall {
 	c.urlParams_.Set("siteSearch", siteSearch)
 	return c
@@ -2348,42 +965,25 @@
 
 // SiteSearchFilter sets the optional parameter "siteSearchFilter":
 // Controls whether to include or exclude results from the site named in
-// the
-// `siteSearch` parameter.
-//
-// Acceptable values are:
-//
-// * "e": exclude
-//
-// * "i": include
+// the as_sitesearch parameter
 //
 // Possible values:
-//   "siteSearchFilterUndefined"
-//   "e"
-//   "i"
+//   "e" - exclude
+//   "i" - include
 func (c *CseListCall) SiteSearchFilter(siteSearchFilter string) *CseListCall {
 	c.urlParams_.Set("siteSearchFilter", siteSearchFilter)
 	return c
 }
 
 // Sort sets the optional parameter "sort": The sort expression to apply
-// to the results.
+// to the results
 func (c *CseListCall) Sort(sort string) *CseListCall {
 	c.urlParams_.Set("sort", sort)
 	return c
 }
 
 // Start sets the optional parameter "start": The index of the first
-// result to return. The default number of results per
-// page is 10, so `&start=11` would start at the top of the second page
-// of
-// results. **Note**: The JSON API will never return more than 100
-// results,
-// even if more than 100 documents match the query, so setting the sum
-// of
-// `start + num` to a number greater than 100 will produce an error.
-// Also note
-// that the maximum value for `num` is 10.
+// result to return
 func (c *CseListCall) Start(start int64) *CseListCall {
 	c.urlParams_.Set("start", fmt.Sprint(start))
 	return c
@@ -2426,7 +1026,7 @@
 
 func (c *CseListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200425")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200427")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2437,7 +1037,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "customsearch/v1")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "v1")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -2485,93 +1085,118 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns metadata about the search performed, metadata about the custom\nsearch engine used for the search, and the search results.",
-	//   "flatPath": "customsearch/v1",
+	//   "description": "Returns metadata about the search performed, metadata about the custom search engine used for the search, and the search results.",
 	//   "httpMethod": "GET",
 	//   "id": "search.cse.list",
-	//   "parameterOrder": [],
+	//   "parameterOrder": [
+	//     "q"
+	//   ],
 	//   "parameters": {
 	//     "c2coff": {
-	//       "description": "Enables or disables [Simplified and Traditional Chinese\nSearch](https://developers.google.com/custom-search/docs/xml_results#chineseSearch).\n\nThe default value for this parameter is 0 (zero), meaning that the feature\nis enabled. Supported values are:\n\n* `1`: Disabled\n\n* `0`: Enabled (default)",
+	//       "description": "Turns off the translation between zh-CN and zh-TW.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "cr": {
-	//       "description": "Restricts search results to documents originating in a particular country.\nYou may use [Boolean\noperators](https://developers.google.com/custom-search/docs/xml_results_appendices#booleanOperators)\nin the cr parameter's value.\n\nGoogle Search determines the country of a document by analyzing:\n\n* the top-level domain (TLD) of the document's URL\n\n* the geographic location of the Web server's IP address\n\nSee the [Country Parameter\nValues](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCollections)\npage for a list of valid values for this parameter.",
+	//       "description": "Country restrict(s).",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "cx": {
-	//       "description": "The custom search engine ID to use for this request.",
+	//       "description": "The custom search engine ID to scope this search query",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "dateRestrict": {
-	//       "description": "Restricts results to URLs based on date. Supported values include:\n\n* `d[number]`: requests results from the specified number of past days.\n\n* `w[number]`: requests results from the specified number of past weeks.\n\n* `m[number]`: requests results from the specified number of past months.\n\n* `y[number]`: requests results from the specified number of past years.",
+	//       "description": "Specifies all search results are from a time period",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "exactTerms": {
-	//       "description": "Identifies a phrase that all documents in the search results must contain.",
+	//       "description": "Identifies a phrase that all documents in the search results must contain",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "excludeTerms": {
-	//       "description": "Identifies a word or phrase that should not appear in any documents in the\nsearch results.",
+	//       "description": "Identifies a word or phrase that should not appear in any documents in the search results",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "fileType": {
-	//       "description": "Restricts results to files of a specified extension. A list of file types\nindexable by Google can be found in Search Console [Help\nCenter](https://support.google.com/webmasters/answer/35287).",
+	//       "description": "Returns images of a specified type. Some of the allowed values are: bmp, gif, png, jpg, svg, pdf, ...",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "filter": {
-	//       "description": "Controls turning on or off the duplicate content filter.\n\n* See [Automatic\nFiltering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering)\nfor more information about Google's search results filters. Note that host\ncrowding filtering applies only to multi-site searches.\n\n* By default, Google applies filtering to all search results to improve the\nquality of those results.\n\nAcceptable values are:\n\n* `0`: Turns off duplicate content filter.\n\n* `1`: Turns on duplicate content filter.",
+	//       "description": "Controls turning on or off the duplicate content filter.",
+	//       "enum": [
+	//         "0",
+	//         "1"
+	//       ],
+	//       "enumDescriptions": [
+	//         "Turns off duplicate content filter.",
+	//         "Turns on duplicate content filter."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "gl": {
-	//       "description": "Geolocation of end user.\n\n* The `gl` parameter value is a two-letter country code. The `gl` parameter\nboosts search results whose country of origin matches the parameter value.\nSee the [Country\nCodes](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCodes)\npage for a list of valid values.\n\n* Specifying a `gl` parameter value should lead to more relevant results.\nThis is particularly true for international customers and, even more\nspecifically, for customers in English- speaking countries other than the\nUnited States.",
+	//       "description": "Geolocation of end user.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "googlehost": {
-	//       "description": "**Deprecated**. Use the `gl` parameter for a similar effect.\n\nThe local Google domain (for example, google.com, google.de, or\ngoogle.fr) to use to perform the search.",
+	//       "description": "The local Google domain to use to perform the search.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "highRange": {
-	//       "description": "Specifies the ending value for a search range.\n\n* Use `lowRange` and `highRange` to append an inclusive search range of\n`lowRange...highRange` to the query.",
+	//       "description": "Creates a range in form as_nlo value..as_nhi value and attempts to append it to query",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "hl": {
-	//       "description": "Sets the user interface language.\n\n* Explicitly setting this parameter improves the performance and the\nquality of your search results.\n\n* See the [Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages)\nsection of [Internationalizing Queries and Results\nPresentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing)\nfor more information, and (Supported Interface\nLanguages)[https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages]\nfor a list of supported languages.",
+	//       "description": "Sets the user interface language.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "hq": {
-	//       "description": "Appends the specified query terms to the query, as if they were combined\nwith a logical AND operator.",
+	//       "description": "Appends the extra query terms to the query.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "imgColorType": {
-	//       "description": "Returns black and white, grayscale, transparent, or color images.\nAcceptable values are:\n\n* `\"color\"`\n\n* `\"gray\"`\n\n* `\"mono\"`: black and white\n\n* `\"trans\"`: transparent background",
+	//       "description": "Returns black and white, grayscale, or color images: mono, gray, and color.",
 	//       "enum": [
-	//         "imgColorTypeUndefined",
-	//         "mono",
-	//         "gray",
 	//         "color",
-	//         "trans"
+	//         "gray",
+	//         "mono"
+	//       ],
+	//       "enumDescriptions": [
+	//         "color",
+	//         "gray",
+	//         "mono"
 	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "imgDominantColor": {
-	//       "description": "Returns images of a specific dominant color. Acceptable values are:\n\n* `\"black\"`\n\n* `\"blue\"`\n\n* `\"brown\"`\n\n* `\"gray\"`\n\n* `\"green\"`\n\n* `\"orange\"`\n\n* `\"pink\"`\n\n* `\"purple\"`\n\n* `\"red\"`\n\n* `\"teal\"`\n\n* `\"white\"`\n\n* `\"yellow\"`",
+	//       "description": "Returns images of a specific dominant color: red, orange, yellow, green, teal, blue, purple, pink, white, gray, black and brown.",
 	//       "enum": [
-	//         "imgDominantColorUndefined",
+	//         "black",
+	//         "blue",
+	//         "brown",
+	//         "gray",
+	//         "green",
+	//         "orange",
+	//         "pink",
+	//         "purple",
+	//         "red",
+	//         "teal",
+	//         "white",
+	//         "yellow"
+	//       ],
+	//       "enumDescriptions": [
 	//         "black",
 	//         "blue",
 	//         "brown",
@@ -2589,124 +1214,224 @@
 	//       "type": "string"
 	//     },
 	//     "imgSize": {
-	//       "description": "Returns images of a specified size. Acceptable values are:\n\n* `\"huge\"`\n\n* `\"icon\"`\n\n* `\"large\"`\n\n* `\"medium\"`\n\n* `\"small\"`\n\n* `\"xlarge\"`\n\n* `\"xxlarge\"`",
+	//       "description": "Returns images of a specified size, where size can be one of: icon, small, medium, large, xlarge, xxlarge, and huge.",
 	//       "enum": [
-	//         "imgSizeUndefined",
-	//         "HUGE",
-	//         "ICON",
-	//         "LARGE",
-	//         "MEDIUM",
-	//         "SMALL",
-	//         "XLARGE",
-	//         "XXLARGE"
+	//         "huge",
+	//         "icon",
+	//         "large",
+	//         "medium",
+	//         "small",
+	//         "xlarge",
+	//         "xxlarge"
+	//       ],
+	//       "enumDescriptions": [
+	//         "huge",
+	//         "icon",
+	//         "large",
+	//         "medium",
+	//         "small",
+	//         "xlarge",
+	//         "xxlarge"
 	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "imgType": {
-	//       "description": "Returns images of a type. Acceptable values are:\n\n* `\"clipart\"`\n\n* `\"face\"`\n\n* `\"lineart\"`\n\n* `\"stock\"`\n\n* `\"photo\"`\n\n* `\"animated\"`",
+	//       "description": "Returns images of a type, which can be one of: clipart, face, lineart, news, and photo.",
 	//       "enum": [
-	//         "imgTypeUndefined",
 	//         "clipart",
 	//         "face",
 	//         "lineart",
-	//         "stock",
-	//         "photo",
-	//         "animated"
+	//         "news",
+	//         "photo"
+	//       ],
+	//       "enumDescriptions": [
+	//         "clipart",
+	//         "face",
+	//         "lineart",
+	//         "news",
+	//         "photo"
 	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "linkSite": {
-	//       "description": "Specifies that all search results should contain a link to a particular\nURL.",
+	//       "description": "Specifies that all search results should contain a link to a particular URL",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "lowRange": {
-	//       "description": "Specifies the starting value for a search range. Use `lowRange` and\n`highRange` to append an inclusive search range of `lowRange...highRange`\nto the query.",
+	//       "description": "Creates a range in form as_nlo value..as_nhi value and attempts to append it to query",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "lr": {
-	//       "description": "Restricts the search to documents written in a particular language (e.g.,\n`lr=lang_ja`).\n\nAcceptable values are:\n\n* `\"lang_ar\"`: Arabic\n\n* `\"lang_bg\"`: Bulgarian\n\n* `\"lang_ca\"`: Catalan\n\n* `\"lang_cs\"`: Czech\n\n* `\"lang_da\"`: Danish\n\n* `\"lang_de\"`: German\n\n* `\"lang_el\"`: Greek\n\n* `\"lang_en\"`: English\n\n* `\"lang_es\"`: Spanish\n\n* `\"lang_et\"`: Estonian\n\n* `\"lang_fi\"`: Finnish\n\n* `\"lang_fr\"`: French\n\n* `\"lang_hr\"`: Croatian\n\n* `\"lang_hu\"`: Hungarian\n\n* `\"lang_id\"`: Indonesian\n\n* `\"lang_is\"`: Icelandic\n\n* `\"lang_it\"`: Italian\n\n* `\"lang_iw\"`: Hebrew\n\n* `\"lang_ja\"`: Japanese\n\n* `\"lang_ko\"`: Korean\n\n* `\"lang_lt\"`: Lithuanian\n\n* `\"lang_lv\"`: Latvian\n\n* `\"lang_nl\"`: Dutch\n\n* `\"lang_no\"`: Norwegian\n\n* `\"lang_pl\"`: Polish\n\n* `\"lang_pt\"`: Portuguese\n\n* `\"lang_ro\"`: Romanian\n\n* `\"lang_ru\"`: Russian\n\n* `\"lang_sk\"`: Slovak\n\n* `\"lang_sl\"`: Slovenian\n\n* `\"lang_sr\"`: Serbian\n\n* `\"lang_sv\"`: Swedish\n\n* `\"lang_tr\"`: Turkish\n\n* `\"lang_zh-CN\"`: Chinese (Simplified)\n\n* `\"lang_zh-TW\"`: Chinese (Traditional)",
+	//       "description": "The language restriction for the search results",
+	//       "enum": [
+	//         "lang_ar",
+	//         "lang_bg",
+	//         "lang_ca",
+	//         "lang_cs",
+	//         "lang_da",
+	//         "lang_de",
+	//         "lang_el",
+	//         "lang_en",
+	//         "lang_es",
+	//         "lang_et",
+	//         "lang_fi",
+	//         "lang_fr",
+	//         "lang_hr",
+	//         "lang_hu",
+	//         "lang_id",
+	//         "lang_is",
+	//         "lang_it",
+	//         "lang_iw",
+	//         "lang_ja",
+	//         "lang_ko",
+	//         "lang_lt",
+	//         "lang_lv",
+	//         "lang_nl",
+	//         "lang_no",
+	//         "lang_pl",
+	//         "lang_pt",
+	//         "lang_ro",
+	//         "lang_ru",
+	//         "lang_sk",
+	//         "lang_sl",
+	//         "lang_sr",
+	//         "lang_sv",
+	//         "lang_tr",
+	//         "lang_zh-CN",
+	//         "lang_zh-TW"
+	//       ],
+	//       "enumDescriptions": [
+	//         "Arabic",
+	//         "Bulgarian",
+	//         "Catalan",
+	//         "Czech",
+	//         "Danish",
+	//         "German",
+	//         "Greek",
+	//         "English",
+	//         "Spanish",
+	//         "Estonian",
+	//         "Finnish",
+	//         "French",
+	//         "Croatian",
+	//         "Hungarian",
+	//         "Indonesian",
+	//         "Icelandic",
+	//         "Italian",
+	//         "Hebrew",
+	//         "Japanese",
+	//         "Korean",
+	//         "Lithuanian",
+	//         "Latvian",
+	//         "Dutch",
+	//         "Norwegian",
+	//         "Polish",
+	//         "Portuguese",
+	//         "Romanian",
+	//         "Russian",
+	//         "Slovak",
+	//         "Slovenian",
+	//         "Serbian",
+	//         "Swedish",
+	//         "Turkish",
+	//         "Chinese (Simplified)",
+	//         "Chinese (Traditional)"
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "num": {
-	//       "description": "Number of search results to return.\n\n* Valid values are integers between 1 and 10, inclusive.",
-	//       "format": "int32",
+	//       "default": "10",
+	//       "description": "Number of search results to return",
+	//       "format": "uint32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "orTerms": {
-	//       "description": "Provides additional search terms to check for in a document, where each\ndocument in the search results must contain at least one of the additional\nsearch terms.",
+	//       "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "q": {
 	//       "description": "Query",
 	//       "location": "query",
+	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "relatedSite": {
-	//       "description": "Specifies that all search results should be pages that are related to the\nspecified URL.",
+	//       "description": "Specifies that all search results should be pages that are related to the specified URL",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "rights": {
-	//       "description": "Filters based on licensing. Supported values include: `cc_publicdomain`,\n`cc_attribute`, `cc_sharealike`, `cc_noncommercial`, `cc_nonderived` and\ncombinations of these. See [typical\ncombinations](https://wiki.creativecommons.org/wiki/CC_Search_integration).",
+	//       "description": "Filters based on licensing. Supported values include: cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived and combinations of these.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "safe": {
-	//       "description": "Search safety level. Acceptable values are:\n\n* `\"active\"`: Enables SafeSearch filtering.\n\n* `\"off\"`: Disables SafeSearch filtering. (default)",
+	//       "default": "off",
+	//       "description": "Search safety level",
 	//       "enum": [
-	//         "safeUndefined",
 	//         "active",
 	//         "high",
 	//         "medium",
 	//         "off"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Enables safe search filtering.",
+	//         "(Deprecated) Same as active.",
+	//         "(Deprecated) Same as active.",
+	//         "Disables safe search filtering."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "searchType": {
-	//       "description": "Specifies the search type: `image`. If unspecified, results are limited to\nwebpages.\n\nAcceptable values are:\n\n* `\"image\"`: custom image search.",
+	//       "description": "Specifies the search type: image.",
 	//       "enum": [
-	//         "searchTypeUndefined",
 	//         "image"
 	//       ],
+	//       "enumDescriptions": [
+	//         "custom image search"
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "siteSearch": {
-	//       "description": "Specifies a given site which should always be included or excluded from\nresults (see `siteSearchFilter` parameter, below).",
+	//       "description": "Specifies all search results should be pages from a given site",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "siteSearchFilter": {
-	//       "description": "Controls whether to include or exclude results from the site named in the\n`siteSearch` parameter.\n\nAcceptable values are:\n\n* `\"e\"`: exclude\n\n* `\"i\"`: include",
+	//       "description": "Controls whether to include or exclude results from the site named in the as_sitesearch parameter",
 	//       "enum": [
-	//         "siteSearchFilterUndefined",
 	//         "e",
 	//         "i"
 	//       ],
+	//       "enumDescriptions": [
+	//         "exclude",
+	//         "include"
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "sort": {
-	//       "description": "The sort expression to apply to the results.",
+	//       "description": "The sort expression to apply to the results",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "start": {
-	//       "description": "The index of the first result to return. The default number of results per\npage is 10, so `\u0026start=11` would start at the top of the second page of\nresults. **Note**: The JSON API will never return more than 100 results,\neven if more than 100 documents match the query, so setting the sum of\n`start + num` to a number greater than 100 will produce an error. Also note\nthat the maximum value for `num` is 10.",
+	//       "description": "The index of the first result to return",
 	//       "format": "uint32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     }
 	//   },
-	//   "path": "customsearch/v1",
+	//   "path": "v1",
 	//   "response": {
 	//     "$ref": "Search"
 	//   }
@@ -2716,7 +1441,7 @@
 
 // method id "search.cse.siterestrict.list":
 
-type SiterestrictListCall struct {
+type CseSiterestrictListCall struct {
 	s            *Service
 	urlParams_   gensupport.URLParams
 	ifNoneMatch_ string
@@ -2725,104 +1450,60 @@
 }
 
 // List: Returns metadata about the search performed, metadata about the
-// custom
-// search engine used for the search, and the search results. Uses a
-// small set
-// of url patterns.
-func (r *SiterestrictService) List() *SiterestrictListCall {
-	c := &SiterestrictListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+// custom search engine used for the search, and the search results.
+// Uses a small set of url patterns.
+func (r *CseSiterestrictService) List(q string) *CseSiterestrictListCall {
+	c := &CseSiterestrictListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+	c.urlParams_.Set("q", q)
 	return c
 }
 
-// C2coff sets the optional parameter "c2coff": Enables or disables
-// [Simplified and Traditional
-// Chinese
-// Search](https://developers.google.com/custom-search/docs/xml_r
-// esults#chineseSearch).
-//
-// The default value for this parameter is 0 (zero), meaning that the
-// feature
-// is enabled. Supported values are:
-//
-// * `1`: Disabled
-//
-// * `0`: Enabled (default)
-func (c *SiterestrictListCall) C2coff(c2coff string) *SiterestrictListCall {
+// C2coff sets the optional parameter "c2coff": Turns off the
+// translation between zh-CN and zh-TW.
+func (c *CseSiterestrictListCall) C2coff(c2coff string) *CseSiterestrictListCall {
 	c.urlParams_.Set("c2coff", c2coff)
 	return c
 }
 
-// Cr sets the optional parameter "cr": Restricts search results to
-// documents originating in a particular country.
-// You may use
-// [Boolean
-// operators](https://developers.google.com/custom-search/docs/x
-// ml_results_appendices#booleanOperators)
-// in the cr parameter's value.
-//
-// Google Search determines the country of a document by analyzing:
-//
-// * the top-level domain (TLD) of the document's URL
-//
-// * the geographic location of the Web server's IP address
-//
-// See the [Country
-// Parameter
-// Values](https://developers.google.com/custom-search/docs/xml
-// _results_appendices#countryCollections)
-// page for a list of valid values for this parameter.
-func (c *SiterestrictListCall) Cr(cr string) *SiterestrictListCall {
+// Cr sets the optional parameter "cr": Country restrict(s).
+func (c *CseSiterestrictListCall) Cr(cr string) *CseSiterestrictListCall {
 	c.urlParams_.Set("cr", cr)
 	return c
 }
 
 // Cx sets the optional parameter "cx": The custom search engine ID to
-// use for this request.
-func (c *SiterestrictListCall) Cx(cx string) *SiterestrictListCall {
+// scope this search query
+func (c *CseSiterestrictListCall) Cx(cx string) *CseSiterestrictListCall {
 	c.urlParams_.Set("cx", cx)
 	return c
 }
 
-// DateRestrict sets the optional parameter "dateRestrict": Restricts
-// results to URLs based on date. Supported values include:
-//
-// * `d[number]`: requests results from the specified number of past
-// days.
-//
-// * `w[number]`: requests results from the specified number of past
-// weeks.
-//
-// * `m[number]`: requests results from the specified number of past
-// months.
-//
-// * `y[number]`: requests results from the specified number of past
-// years.
-func (c *SiterestrictListCall) DateRestrict(dateRestrict string) *SiterestrictListCall {
+// DateRestrict sets the optional parameter "dateRestrict": Specifies
+// all search results are from a time period
+func (c *CseSiterestrictListCall) DateRestrict(dateRestrict string) *CseSiterestrictListCall {
 	c.urlParams_.Set("dateRestrict", dateRestrict)
 	return c
 }
 
 // ExactTerms sets the optional parameter "exactTerms": Identifies a
-// phrase that all documents in the search results must contain.
-func (c *SiterestrictListCall) ExactTerms(exactTerms string) *SiterestrictListCall {
+// phrase that all documents in the search results must contain
+func (c *CseSiterestrictListCall) ExactTerms(exactTerms string) *CseSiterestrictListCall {
 	c.urlParams_.Set("exactTerms", exactTerms)
 	return c
 }
 
 // ExcludeTerms sets the optional parameter "excludeTerms": Identifies a
-// word or phrase that should not appear in any documents in the
-// search results.
-func (c *SiterestrictListCall) ExcludeTerms(excludeTerms string) *SiterestrictListCall {
+// word or phrase that should not appear in any documents in the search
+// results
+func (c *CseSiterestrictListCall) ExcludeTerms(excludeTerms string) *CseSiterestrictListCall {
 	c.urlParams_.Set("excludeTerms", excludeTerms)
 	return c
 }
 
-// FileType sets the optional parameter "fileType": Restricts results to
-// files of a specified extension. A list of file types
-// indexable by Google can be found in Search Console
-// [Help
-// Center](https://support.google.com/webmasters/answer/35287).
-func (c *SiterestrictListCall) FileType(fileType string) *SiterestrictListCall {
+// FileType sets the optional parameter "fileType": Returns images of a
+// specified type. Some of the allowed values are: bmp, gif, png, jpg,
+// svg, pdf, ...
+func (c *CseSiterestrictListCall) FileType(fileType string) *CseSiterestrictListCall {
 	c.urlParams_.Set("fileType", fileType)
 	return c
 }
@@ -2830,464 +1511,254 @@
 // Filter sets the optional parameter "filter": Controls turning on or
 // off the duplicate content filter.
 //
-// * See
-// [Automatic
-// Filtering](https://developers.google.com/custom-search/docs
-// /xml_results#automaticFiltering)
-// for more information about Google's search results filters. Note that
-// host
-// crowding filtering applies only to multi-site searches.
-//
-// * By default, Google applies filtering to all search results to
-// improve the
-// quality of those results.
-//
-// Acceptable values are:
-//
-// * `0`: Turns off duplicate content filter.
-//
-// * `1`: Turns on duplicate content filter.
-func (c *SiterestrictListCall) Filter(filter string) *SiterestrictListCall {
+// Possible values:
+//   "0" - Turns off duplicate content filter.
+//   "1" - Turns on duplicate content filter.
+func (c *CseSiterestrictListCall) Filter(filter string) *CseSiterestrictListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
 }
 
 // Gl sets the optional parameter "gl": Geolocation of end user.
-//
-// * The `gl` parameter value is a two-letter country code. The `gl`
-// parameter
-// boosts search results whose country of origin matches the parameter
-// value.
-// See the
-// [Country
-// Codes](https://developers.google.com/custom-search/docs/xml_r
-// esults_appendices#countryCodes)
-// page for a list of valid values.
-//
-// * Specifying a `gl` parameter value should lead to more relevant
-// results.
-// This is particularly true for international customers and, even
-// more
-// specifically, for customers in English- speaking countries other than
-// the
-// United States.
-func (c *SiterestrictListCall) Gl(gl string) *SiterestrictListCall {
+func (c *CseSiterestrictListCall) Gl(gl string) *CseSiterestrictListCall {
 	c.urlParams_.Set("gl", gl)
 	return c
 }
 
-// Googlehost sets the optional parameter "googlehost": **Deprecated**.
-// Use the `gl` parameter for a similar effect.
-//
-// The local Google domain (for example, google.com, google.de,
-// or
-// google.fr) to use to perform the search.
-func (c *SiterestrictListCall) Googlehost(googlehost string) *SiterestrictListCall {
+// Googlehost sets the optional parameter "googlehost": The local Google
+// domain to use to perform the search.
+func (c *CseSiterestrictListCall) Googlehost(googlehost string) *CseSiterestrictListCall {
 	c.urlParams_.Set("googlehost", googlehost)
 	return c
 }
 
-// HighRange sets the optional parameter "highRange": Specifies the
-// ending value for a search range.
-//
-// * Use `lowRange` and `highRange` to append an inclusive search range
-// of
-// `lowRange...highRange` to the query.
-func (c *SiterestrictListCall) HighRange(highRange string) *SiterestrictListCall {
+// HighRange sets the optional parameter "highRange": Creates a range in
+// form as_nlo value..as_nhi value and attempts to append it to query
+func (c *CseSiterestrictListCall) HighRange(highRange string) *CseSiterestrictListCall {
 	c.urlParams_.Set("highRange", highRange)
 	return c
 }
 
 // Hl sets the optional parameter "hl": Sets the user interface
 // language.
-//
-// * Explicitly setting this parameter improves the performance and
-// the
-// quality of your search results.
-//
-// * See the
-// [Interface
-// Languages](https://developers.google.com/custom-search/docs
-// /xml_results#wsInterfaceLanguages)
-// section of [Internationalizing Queries and
-// Results
-// Presentation](https://developers.google.com/custom-search/docs
-// /xml_results#wsInternationalizing)
-// for more information, and (Supported
-// Interface
-// Languages)[https://developers.google.com/custom-search/docs/
-// xml_results_appendices#interfaceLanguages]
-// for a list of supported languages.
-func (c *SiterestrictListCall) Hl(hl string) *SiterestrictListCall {
+func (c *CseSiterestrictListCall) Hl(hl string) *CseSiterestrictListCall {
 	c.urlParams_.Set("hl", hl)
 	return c
 }
 
-// Hq sets the optional parameter "hq": Appends the specified query
-// terms to the query, as if they were combined
-// with a logical AND operator.
-func (c *SiterestrictListCall) Hq(hq string) *SiterestrictListCall {
+// Hq sets the optional parameter "hq": Appends the extra query terms to
+// the query.
+func (c *CseSiterestrictListCall) Hq(hq string) *CseSiterestrictListCall {
 	c.urlParams_.Set("hq", hq)
 	return c
 }
 
 // ImgColorType sets the optional parameter "imgColorType": Returns
-// black and white, grayscale, transparent, or color images.
-// Acceptable values are:
-//
-// * "color"
-//
-// * "gray"
-//
-// * "mono": black and white
-//
-// * "trans": transparent background
+// black and white, grayscale, or color images: mono, gray, and color.
 //
 // Possible values:
-//   "imgColorTypeUndefined"
-//   "mono"
-//   "gray"
-//   "color"
-//   "trans"
-func (c *SiterestrictListCall) ImgColorType(imgColorType string) *SiterestrictListCall {
+//   "color" - color
+//   "gray" - gray
+//   "mono" - mono
+func (c *CseSiterestrictListCall) ImgColorType(imgColorType string) *CseSiterestrictListCall {
 	c.urlParams_.Set("imgColorType", imgColorType)
 	return c
 }
 
 // ImgDominantColor sets the optional parameter "imgDominantColor":
-// Returns images of a specific dominant color. Acceptable values
-// are:
-//
-// * "black"
-//
-// * "blue"
-//
-// * "brown"
-//
-// * "gray"
-//
-// * "green"
-//
-// * "orange"
-//
-// * "pink"
-//
-// * "purple"
-//
-// * "red"
-//
-// * "teal"
-//
-// * "white"
-//
-// * "yellow"
+// Returns images of a specific dominant color: red, orange, yellow,
+// green, teal, blue, purple, pink, white, gray, black and brown.
 //
 // Possible values:
-//   "imgDominantColorUndefined"
-//   "black"
-//   "blue"
-//   "brown"
-//   "gray"
-//   "green"
-//   "orange"
-//   "pink"
-//   "purple"
-//   "red"
-//   "teal"
-//   "white"
-//   "yellow"
-func (c *SiterestrictListCall) ImgDominantColor(imgDominantColor string) *SiterestrictListCall {
+//   "black" - black
+//   "blue" - blue
+//   "brown" - brown
+//   "gray" - gray
+//   "green" - green
+//   "orange" - orange
+//   "pink" - pink
+//   "purple" - purple
+//   "red" - red
+//   "teal" - teal
+//   "white" - white
+//   "yellow" - yellow
+func (c *CseSiterestrictListCall) ImgDominantColor(imgDominantColor string) *CseSiterestrictListCall {
 	c.urlParams_.Set("imgDominantColor", imgDominantColor)
 	return c
 }
 
 // ImgSize sets the optional parameter "imgSize": Returns images of a
-// specified size. Acceptable values are:
-//
-// * "huge"
-//
-// * "icon"
-//
-// * "large"
-//
-// * "medium"
-//
-// * "small"
-//
-// * "xlarge"
-//
-// * "xxlarge"
+// specified size, where size can be one of: icon, small, medium, large,
+// xlarge, xxlarge, and huge.
 //
 // Possible values:
-//   "imgSizeUndefined"
-//   "HUGE"
-//   "ICON"
-//   "LARGE"
-//   "MEDIUM"
-//   "SMALL"
-//   "XLARGE"
-//   "XXLARGE"
-func (c *SiterestrictListCall) ImgSize(imgSize string) *SiterestrictListCall {
+//   "huge" - huge
+//   "icon" - icon
+//   "large" - large
+//   "medium" - medium
+//   "small" - small
+//   "xlarge" - xlarge
+//   "xxlarge" - xxlarge
+func (c *CseSiterestrictListCall) ImgSize(imgSize string) *CseSiterestrictListCall {
 	c.urlParams_.Set("imgSize", imgSize)
 	return c
 }
 
 // ImgType sets the optional parameter "imgType": Returns images of a
-// type. Acceptable values are:
-//
-// * "clipart"
-//
-// * "face"
-//
-// * "lineart"
-//
-// * "stock"
-//
-// * "photo"
-//
-// * "animated"
+// type, which can be one of: clipart, face, lineart, news, and photo.
 //
 // Possible values:
-//   "imgTypeUndefined"
-//   "clipart"
-//   "face"
-//   "lineart"
-//   "stock"
-//   "photo"
-//   "animated"
-func (c *SiterestrictListCall) ImgType(imgType string) *SiterestrictListCall {
+//   "clipart" - clipart
+//   "face" - face
+//   "lineart" - lineart
+//   "news" - news
+//   "photo" - photo
+func (c *CseSiterestrictListCall) ImgType(imgType string) *CseSiterestrictListCall {
 	c.urlParams_.Set("imgType", imgType)
 	return c
 }
 
 // LinkSite sets the optional parameter "linkSite": Specifies that all
-// search results should contain a link to a particular
-// URL.
-func (c *SiterestrictListCall) LinkSite(linkSite string) *SiterestrictListCall {
+// search results should contain a link to a particular URL
+func (c *CseSiterestrictListCall) LinkSite(linkSite string) *CseSiterestrictListCall {
 	c.urlParams_.Set("linkSite", linkSite)
 	return c
 }
 
-// LowRange sets the optional parameter "lowRange": Specifies the
-// starting value for a search range. Use `lowRange` and
-// `highRange` to append an inclusive search range of
-// `lowRange...highRange`
-// to the query.
-func (c *SiterestrictListCall) LowRange(lowRange string) *SiterestrictListCall {
+// LowRange sets the optional parameter "lowRange": Creates a range in
+// form as_nlo value..as_nhi value and attempts to append it to query
+func (c *CseSiterestrictListCall) LowRange(lowRange string) *CseSiterestrictListCall {
 	c.urlParams_.Set("lowRange", lowRange)
 	return c
 }
 
-// Lr sets the optional parameter "lr": Restricts the search to
-// documents written in a particular language
-// (e.g.,
-// `lr=lang_ja`).
+// Lr sets the optional parameter "lr": The language restriction for the
+// search results
 //
-// Acceptable values are:
-//
-// * "lang_ar": Arabic
-//
-// * "lang_bg": Bulgarian
-//
-// * "lang_ca": Catalan
-//
-// * "lang_cs": Czech
-//
-// * "lang_da": Danish
-//
-// * "lang_de": German
-//
-// * "lang_el": Greek
-//
-// * "lang_en": English
-//
-// * "lang_es": Spanish
-//
-// * "lang_et": Estonian
-//
-// * "lang_fi": Finnish
-//
-// * "lang_fr": French
-//
-// * "lang_hr": Croatian
-//
-// * "lang_hu": Hungarian
-//
-// * "lang_id": Indonesian
-//
-// * "lang_is": Icelandic
-//
-// * "lang_it": Italian
-//
-// * "lang_iw": Hebrew
-//
-// * "lang_ja": Japanese
-//
-// * "lang_ko": Korean
-//
-// * "lang_lt": Lithuanian
-//
-// * "lang_lv": Latvian
-//
-// * "lang_nl": Dutch
-//
-// * "lang_no": Norwegian
-//
-// * "lang_pl": Polish
-//
-// * "lang_pt": Portuguese
-//
-// * "lang_ro": Romanian
-//
-// * "lang_ru": Russian
-//
-// * "lang_sk": Slovak
-//
-// * "lang_sl": Slovenian
-//
-// * "lang_sr": Serbian
-//
-// * "lang_sv": Swedish
-//
-// * "lang_tr": Turkish
-//
-// * "lang_zh-CN": Chinese (Simplified)
-//
-// * "lang_zh-TW": Chinese (Traditional)
-func (c *SiterestrictListCall) Lr(lr string) *SiterestrictListCall {
+// Possible values:
+//   "lang_ar" - Arabic
+//   "lang_bg" - Bulgarian
+//   "lang_ca" - Catalan
+//   "lang_cs" - Czech
+//   "lang_da" - Danish
+//   "lang_de" - German
+//   "lang_el" - Greek
+//   "lang_en" - English
+//   "lang_es" - Spanish
+//   "lang_et" - Estonian
+//   "lang_fi" - Finnish
+//   "lang_fr" - French
+//   "lang_hr" - Croatian
+//   "lang_hu" - Hungarian
+//   "lang_id" - Indonesian
+//   "lang_is" - Icelandic
+//   "lang_it" - Italian
+//   "lang_iw" - Hebrew
+//   "lang_ja" - Japanese
+//   "lang_ko" - Korean
+//   "lang_lt" - Lithuanian
+//   "lang_lv" - Latvian
+//   "lang_nl" - Dutch
+//   "lang_no" - Norwegian
+//   "lang_pl" - Polish
+//   "lang_pt" - Portuguese
+//   "lang_ro" - Romanian
+//   "lang_ru" - Russian
+//   "lang_sk" - Slovak
+//   "lang_sl" - Slovenian
+//   "lang_sr" - Serbian
+//   "lang_sv" - Swedish
+//   "lang_tr" - Turkish
+//   "lang_zh-CN" - Chinese (Simplified)
+//   "lang_zh-TW" - Chinese (Traditional)
+func (c *CseSiterestrictListCall) Lr(lr string) *CseSiterestrictListCall {
 	c.urlParams_.Set("lr", lr)
 	return c
 }
 
 // Num sets the optional parameter "num": Number of search results to
-// return.
-//
-// * Valid values are integers between 1 and 10, inclusive.
-func (c *SiterestrictListCall) Num(num int64) *SiterestrictListCall {
+// return
+func (c *CseSiterestrictListCall) Num(num int64) *CseSiterestrictListCall {
 	c.urlParams_.Set("num", fmt.Sprint(num))
 	return c
 }
 
 // OrTerms sets the optional parameter "orTerms": Provides additional
-// search terms to check for in a document, where each
-// document in the search results must contain at least one of the
-// additional
-// search terms.
-func (c *SiterestrictListCall) OrTerms(orTerms string) *SiterestrictListCall {
+// search terms to check for in a document, where each document in the
+// search results must contain at least one of the additional search
+// terms
+func (c *CseSiterestrictListCall) OrTerms(orTerms string) *CseSiterestrictListCall {
 	c.urlParams_.Set("orTerms", orTerms)
 	return c
 }
 
-// Q sets the optional parameter "q": Query
-func (c *SiterestrictListCall) Q(q string) *SiterestrictListCall {
-	c.urlParams_.Set("q", q)
-	return c
-}
-
 // RelatedSite sets the optional parameter "relatedSite": Specifies that
-// all search results should be pages that are related to the
-// specified URL.
-func (c *SiterestrictListCall) RelatedSite(relatedSite string) *SiterestrictListCall {
+// all search results should be pages that are related to the specified
+// URL
+func (c *CseSiterestrictListCall) RelatedSite(relatedSite string) *CseSiterestrictListCall {
 	c.urlParams_.Set("relatedSite", relatedSite)
 	return c
 }
 
 // Rights sets the optional parameter "rights": Filters based on
-// licensing. Supported values include:
-// `cc_publicdomain`,
-// `cc_attribute`, `cc_sharealike`, `cc_noncommercial`, `cc_nonderived`
-// and
-// combinations of these. See
-// [typical
-// combinations](https://wiki.creativecommons.org/wiki/CC_Search
-// _integration).
-func (c *SiterestrictListCall) Rights(rights string) *SiterestrictListCall {
+// licensing. Supported values include: cc_publicdomain, cc_attribute,
+// cc_sharealike, cc_noncommercial, cc_nonderived and combinations of
+// these.
+func (c *CseSiterestrictListCall) Rights(rights string) *CseSiterestrictListCall {
 	c.urlParams_.Set("rights", rights)
 	return c
 }
 
-// Safe sets the optional parameter "safe": Search safety level.
-// Acceptable values are:
-//
-// * "active": Enables SafeSearch filtering.
-//
-// * "off": Disables SafeSearch filtering. (default)
+// Safe sets the optional parameter "safe": Search safety level
 //
 // Possible values:
-//   "safeUndefined"
-//   "active"
-//   "high"
-//   "medium"
-//   "off"
-func (c *SiterestrictListCall) Safe(safe string) *SiterestrictListCall {
+//   "high" - Enables highest level of safe search filtering.
+//   "medium" - Enables moderate safe search filtering.
+//   "off" (default) - Disables safe search filtering.
+func (c *CseSiterestrictListCall) Safe(safe string) *CseSiterestrictListCall {
 	c.urlParams_.Set("safe", safe)
 	return c
 }
 
 // SearchType sets the optional parameter "searchType": Specifies the
-// search type: `image`. If unspecified, results are limited
-// to
-// webpages.
-//
-// Acceptable values are:
-//
-// * "image": custom image search.
+// search type: image.
 //
 // Possible values:
-//   "searchTypeUndefined"
-//   "image"
-func (c *SiterestrictListCall) SearchType(searchType string) *SiterestrictListCall {
+//   "image" - custom image search
+func (c *CseSiterestrictListCall) SearchType(searchType string) *CseSiterestrictListCall {
 	c.urlParams_.Set("searchType", searchType)
 	return c
 }
 
-// SiteSearch sets the optional parameter "siteSearch": Specifies a
-// given site which should always be included or excluded from
-// results (see `siteSearchFilter` parameter, below).
-func (c *SiterestrictListCall) SiteSearch(siteSearch string) *SiterestrictListCall {
+// SiteSearch sets the optional parameter "siteSearch": Specifies all
+// search results should be pages from a given site
+func (c *CseSiterestrictListCall) SiteSearch(siteSearch string) *CseSiterestrictListCall {
 	c.urlParams_.Set("siteSearch", siteSearch)
 	return c
 }
 
 // SiteSearchFilter sets the optional parameter "siteSearchFilter":
 // Controls whether to include or exclude results from the site named in
-// the
-// `siteSearch` parameter.
-//
-// Acceptable values are:
-//
-// * "e": exclude
-//
-// * "i": include
+// the as_sitesearch parameter
 //
 // Possible values:
-//   "siteSearchFilterUndefined"
-//   "e"
-//   "i"
-func (c *SiterestrictListCall) SiteSearchFilter(siteSearchFilter string) *SiterestrictListCall {
+//   "e" - exclude
+//   "i" - include
+func (c *CseSiterestrictListCall) SiteSearchFilter(siteSearchFilter string) *CseSiterestrictListCall {
 	c.urlParams_.Set("siteSearchFilter", siteSearchFilter)
 	return c
 }
 
 // Sort sets the optional parameter "sort": The sort expression to apply
-// to the results.
-func (c *SiterestrictListCall) Sort(sort string) *SiterestrictListCall {
+// to the results
+func (c *CseSiterestrictListCall) Sort(sort string) *CseSiterestrictListCall {
 	c.urlParams_.Set("sort", sort)
 	return c
 }
 
 // Start sets the optional parameter "start": The index of the first
-// result to return. The default number of results per
-// page is 10, so `&start=11` would start at the top of the second page
-// of
-// results. **Note**: The JSON API will never return more than 100
-// results,
-// even if more than 100 documents match the query, so setting the sum
-// of
-// `start + num` to a number greater than 100 will produce an error.
-// Also note
-// that the maximum value for `num` is 10.
-func (c *SiterestrictListCall) Start(start int64) *SiterestrictListCall {
+// result to return
+func (c *CseSiterestrictListCall) Start(start int64) *CseSiterestrictListCall {
 	c.urlParams_.Set("start", fmt.Sprint(start))
 	return c
 }
@@ -3295,7 +1766,7 @@
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
-func (c *SiterestrictListCall) Fields(s ...googleapi.Field) *SiterestrictListCall {
+func (c *CseSiterestrictListCall) Fields(s ...googleapi.Field) *CseSiterestrictListCall {
 	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 	return c
 }
@@ -3305,7 +1776,7 @@
 // getting updates only after the object has changed since the last
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
-func (c *SiterestrictListCall) IfNoneMatch(entityTag string) *SiterestrictListCall {
+func (c *CseSiterestrictListCall) IfNoneMatch(entityTag string) *CseSiterestrictListCall {
 	c.ifNoneMatch_ = entityTag
 	return c
 }
@@ -3313,23 +1784,23 @@
 // Context sets the context to be used in this call's Do method. Any
 // pending HTTP request will be aborted if the provided context is
 // canceled.
-func (c *SiterestrictListCall) Context(ctx context.Context) *SiterestrictListCall {
+func (c *CseSiterestrictListCall) Context(ctx context.Context) *CseSiterestrictListCall {
 	c.ctx_ = ctx
 	return c
 }
 
 // Header returns an http.Header that can be modified by the caller to
 // add HTTP headers to the request.
-func (c *SiterestrictListCall) Header() http.Header {
+func (c *CseSiterestrictListCall) Header() http.Header {
 	if c.header_ == nil {
 		c.header_ = make(http.Header)
 	}
 	return c.header_
 }
 
-func (c *SiterestrictListCall) doRequest(alt string) (*http.Response, error) {
+func (c *CseSiterestrictListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200425")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200427")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3340,7 +1811,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "customsearch/v1/siterestrict")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/siterestrict")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -3357,7 +1828,7 @@
 // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 // check whether the returned error was because http.StatusNotModified
 // was returned.
-func (c *SiterestrictListCall) Do(opts ...googleapi.CallOption) (*Search, error) {
+func (c *CseSiterestrictListCall) Do(opts ...googleapi.CallOption) (*Search, error) {
 	gensupport.SetOptions(c.urlParams_, opts...)
 	res, err := c.doRequest("json")
 	if res != nil && res.StatusCode == http.StatusNotModified {
@@ -3388,93 +1859,118 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns metadata about the search performed, metadata about the custom\nsearch engine used for the search, and the search results. Uses a small set\nof url patterns.",
-	//   "flatPath": "customsearch/v1/siterestrict",
+	//   "description": "Returns metadata about the search performed, metadata about the custom search engine used for the search, and the search results. Uses a small set of url patterns.",
 	//   "httpMethod": "GET",
 	//   "id": "search.cse.siterestrict.list",
-	//   "parameterOrder": [],
+	//   "parameterOrder": [
+	//     "q"
+	//   ],
 	//   "parameters": {
 	//     "c2coff": {
-	//       "description": "Enables or disables [Simplified and Traditional Chinese\nSearch](https://developers.google.com/custom-search/docs/xml_results#chineseSearch).\n\nThe default value for this parameter is 0 (zero), meaning that the feature\nis enabled. Supported values are:\n\n* `1`: Disabled\n\n* `0`: Enabled (default)",
+	//       "description": "Turns off the translation between zh-CN and zh-TW.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "cr": {
-	//       "description": "Restricts search results to documents originating in a particular country.\nYou may use [Boolean\noperators](https://developers.google.com/custom-search/docs/xml_results_appendices#booleanOperators)\nin the cr parameter's value.\n\nGoogle Search determines the country of a document by analyzing:\n\n* the top-level domain (TLD) of the document's URL\n\n* the geographic location of the Web server's IP address\n\nSee the [Country Parameter\nValues](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCollections)\npage for a list of valid values for this parameter.",
+	//       "description": "Country restrict(s).",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "cx": {
-	//       "description": "The custom search engine ID to use for this request.",
+	//       "description": "The custom search engine ID to scope this search query",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "dateRestrict": {
-	//       "description": "Restricts results to URLs based on date. Supported values include:\n\n* `d[number]`: requests results from the specified number of past days.\n\n* `w[number]`: requests results from the specified number of past weeks.\n\n* `m[number]`: requests results from the specified number of past months.\n\n* `y[number]`: requests results from the specified number of past years.",
+	//       "description": "Specifies all search results are from a time period",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "exactTerms": {
-	//       "description": "Identifies a phrase that all documents in the search results must contain.",
+	//       "description": "Identifies a phrase that all documents in the search results must contain",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "excludeTerms": {
-	//       "description": "Identifies a word or phrase that should not appear in any documents in the\nsearch results.",
+	//       "description": "Identifies a word or phrase that should not appear in any documents in the search results",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "fileType": {
-	//       "description": "Restricts results to files of a specified extension. A list of file types\nindexable by Google can be found in Search Console [Help\nCenter](https://support.google.com/webmasters/answer/35287).",
+	//       "description": "Returns images of a specified type. Some of the allowed values are: bmp, gif, png, jpg, svg, pdf, ...",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "filter": {
-	//       "description": "Controls turning on or off the duplicate content filter.\n\n* See [Automatic\nFiltering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering)\nfor more information about Google's search results filters. Note that host\ncrowding filtering applies only to multi-site searches.\n\n* By default, Google applies filtering to all search results to improve the\nquality of those results.\n\nAcceptable values are:\n\n* `0`: Turns off duplicate content filter.\n\n* `1`: Turns on duplicate content filter.",
+	//       "description": "Controls turning on or off the duplicate content filter.",
+	//       "enum": [
+	//         "0",
+	//         "1"
+	//       ],
+	//       "enumDescriptions": [
+	//         "Turns off duplicate content filter.",
+	//         "Turns on duplicate content filter."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "gl": {
-	//       "description": "Geolocation of end user.\n\n* The `gl` parameter value is a two-letter country code. The `gl` parameter\nboosts search results whose country of origin matches the parameter value.\nSee the [Country\nCodes](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCodes)\npage for a list of valid values.\n\n* Specifying a `gl` parameter value should lead to more relevant results.\nThis is particularly true for international customers and, even more\nspecifically, for customers in English- speaking countries other than the\nUnited States.",
+	//       "description": "Geolocation of end user.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "googlehost": {
-	//       "description": "**Deprecated**. Use the `gl` parameter for a similar effect.\n\nThe local Google domain (for example, google.com, google.de, or\ngoogle.fr) to use to perform the search.",
+	//       "description": "The local Google domain to use to perform the search.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "highRange": {
-	//       "description": "Specifies the ending value for a search range.\n\n* Use `lowRange` and `highRange` to append an inclusive search range of\n`lowRange...highRange` to the query.",
+	//       "description": "Creates a range in form as_nlo value..as_nhi value and attempts to append it to query",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "hl": {
-	//       "description": "Sets the user interface language.\n\n* Explicitly setting this parameter improves the performance and the\nquality of your search results.\n\n* See the [Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages)\nsection of [Internationalizing Queries and Results\nPresentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing)\nfor more information, and (Supported Interface\nLanguages)[https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages]\nfor a list of supported languages.",
+	//       "description": "Sets the user interface language.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "hq": {
-	//       "description": "Appends the specified query terms to the query, as if they were combined\nwith a logical AND operator.",
+	//       "description": "Appends the extra query terms to the query.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "imgColorType": {
-	//       "description": "Returns black and white, grayscale, transparent, or color images.\nAcceptable values are:\n\n* `\"color\"`\n\n* `\"gray\"`\n\n* `\"mono\"`: black and white\n\n* `\"trans\"`: transparent background",
+	//       "description": "Returns black and white, grayscale, or color images: mono, gray, and color.",
 	//       "enum": [
-	//         "imgColorTypeUndefined",
-	//         "mono",
-	//         "gray",
 	//         "color",
-	//         "trans"
+	//         "gray",
+	//         "mono"
+	//       ],
+	//       "enumDescriptions": [
+	//         "color",
+	//         "gray",
+	//         "mono"
 	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "imgDominantColor": {
-	//       "description": "Returns images of a specific dominant color. Acceptable values are:\n\n* `\"black\"`\n\n* `\"blue\"`\n\n* `\"brown\"`\n\n* `\"gray\"`\n\n* `\"green\"`\n\n* `\"orange\"`\n\n* `\"pink\"`\n\n* `\"purple\"`\n\n* `\"red\"`\n\n* `\"teal\"`\n\n* `\"white\"`\n\n* `\"yellow\"`",
+	//       "description": "Returns images of a specific dominant color: red, orange, yellow, green, teal, blue, purple, pink, white, gray, black and brown.",
 	//       "enum": [
-	//         "imgDominantColorUndefined",
+	//         "black",
+	//         "blue",
+	//         "brown",
+	//         "gray",
+	//         "green",
+	//         "orange",
+	//         "pink",
+	//         "purple",
+	//         "red",
+	//         "teal",
+	//         "white",
+	//         "yellow"
+	//       ],
+	//       "enumDescriptions": [
 	//         "black",
 	//         "blue",
 	//         "brown",
@@ -3492,124 +1988,222 @@
 	//       "type": "string"
 	//     },
 	//     "imgSize": {
-	//       "description": "Returns images of a specified size. Acceptable values are:\n\n* `\"huge\"`\n\n* `\"icon\"`\n\n* `\"large\"`\n\n* `\"medium\"`\n\n* `\"small\"`\n\n* `\"xlarge\"`\n\n* `\"xxlarge\"`",
+	//       "description": "Returns images of a specified size, where size can be one of: icon, small, medium, large, xlarge, xxlarge, and huge.",
 	//       "enum": [
-	//         "imgSizeUndefined",
-	//         "HUGE",
-	//         "ICON",
-	//         "LARGE",
-	//         "MEDIUM",
-	//         "SMALL",
-	//         "XLARGE",
-	//         "XXLARGE"
+	//         "huge",
+	//         "icon",
+	//         "large",
+	//         "medium",
+	//         "small",
+	//         "xlarge",
+	//         "xxlarge"
+	//       ],
+	//       "enumDescriptions": [
+	//         "huge",
+	//         "icon",
+	//         "large",
+	//         "medium",
+	//         "small",
+	//         "xlarge",
+	//         "xxlarge"
 	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "imgType": {
-	//       "description": "Returns images of a type. Acceptable values are:\n\n* `\"clipart\"`\n\n* `\"face\"`\n\n* `\"lineart\"`\n\n* `\"stock\"`\n\n* `\"photo\"`\n\n* `\"animated\"`",
+	//       "description": "Returns images of a type, which can be one of: clipart, face, lineart, news, and photo.",
 	//       "enum": [
-	//         "imgTypeUndefined",
 	//         "clipart",
 	//         "face",
 	//         "lineart",
-	//         "stock",
-	//         "photo",
-	//         "animated"
+	//         "news",
+	//         "photo"
+	//       ],
+	//       "enumDescriptions": [
+	//         "clipart",
+	//         "face",
+	//         "lineart",
+	//         "news",
+	//         "photo"
 	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "linkSite": {
-	//       "description": "Specifies that all search results should contain a link to a particular\nURL.",
+	//       "description": "Specifies that all search results should contain a link to a particular URL",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "lowRange": {
-	//       "description": "Specifies the starting value for a search range. Use `lowRange` and\n`highRange` to append an inclusive search range of `lowRange...highRange`\nto the query.",
+	//       "description": "Creates a range in form as_nlo value..as_nhi value and attempts to append it to query",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "lr": {
-	//       "description": "Restricts the search to documents written in a particular language (e.g.,\n`lr=lang_ja`).\n\nAcceptable values are:\n\n* `\"lang_ar\"`: Arabic\n\n* `\"lang_bg\"`: Bulgarian\n\n* `\"lang_ca\"`: Catalan\n\n* `\"lang_cs\"`: Czech\n\n* `\"lang_da\"`: Danish\n\n* `\"lang_de\"`: German\n\n* `\"lang_el\"`: Greek\n\n* `\"lang_en\"`: English\n\n* `\"lang_es\"`: Spanish\n\n* `\"lang_et\"`: Estonian\n\n* `\"lang_fi\"`: Finnish\n\n* `\"lang_fr\"`: French\n\n* `\"lang_hr\"`: Croatian\n\n* `\"lang_hu\"`: Hungarian\n\n* `\"lang_id\"`: Indonesian\n\n* `\"lang_is\"`: Icelandic\n\n* `\"lang_it\"`: Italian\n\n* `\"lang_iw\"`: Hebrew\n\n* `\"lang_ja\"`: Japanese\n\n* `\"lang_ko\"`: Korean\n\n* `\"lang_lt\"`: Lithuanian\n\n* `\"lang_lv\"`: Latvian\n\n* `\"lang_nl\"`: Dutch\n\n* `\"lang_no\"`: Norwegian\n\n* `\"lang_pl\"`: Polish\n\n* `\"lang_pt\"`: Portuguese\n\n* `\"lang_ro\"`: Romanian\n\n* `\"lang_ru\"`: Russian\n\n* `\"lang_sk\"`: Slovak\n\n* `\"lang_sl\"`: Slovenian\n\n* `\"lang_sr\"`: Serbian\n\n* `\"lang_sv\"`: Swedish\n\n* `\"lang_tr\"`: Turkish\n\n* `\"lang_zh-CN\"`: Chinese (Simplified)\n\n* `\"lang_zh-TW\"`: Chinese (Traditional)",
+	//       "description": "The language restriction for the search results",
+	//       "enum": [
+	//         "lang_ar",
+	//         "lang_bg",
+	//         "lang_ca",
+	//         "lang_cs",
+	//         "lang_da",
+	//         "lang_de",
+	//         "lang_el",
+	//         "lang_en",
+	//         "lang_es",
+	//         "lang_et",
+	//         "lang_fi",
+	//         "lang_fr",
+	//         "lang_hr",
+	//         "lang_hu",
+	//         "lang_id",
+	//         "lang_is",
+	//         "lang_it",
+	//         "lang_iw",
+	//         "lang_ja",
+	//         "lang_ko",
+	//         "lang_lt",
+	//         "lang_lv",
+	//         "lang_nl",
+	//         "lang_no",
+	//         "lang_pl",
+	//         "lang_pt",
+	//         "lang_ro",
+	//         "lang_ru",
+	//         "lang_sk",
+	//         "lang_sl",
+	//         "lang_sr",
+	//         "lang_sv",
+	//         "lang_tr",
+	//         "lang_zh-CN",
+	//         "lang_zh-TW"
+	//       ],
+	//       "enumDescriptions": [
+	//         "Arabic",
+	//         "Bulgarian",
+	//         "Catalan",
+	//         "Czech",
+	//         "Danish",
+	//         "German",
+	//         "Greek",
+	//         "English",
+	//         "Spanish",
+	//         "Estonian",
+	//         "Finnish",
+	//         "French",
+	//         "Croatian",
+	//         "Hungarian",
+	//         "Indonesian",
+	//         "Icelandic",
+	//         "Italian",
+	//         "Hebrew",
+	//         "Japanese",
+	//         "Korean",
+	//         "Lithuanian",
+	//         "Latvian",
+	//         "Dutch",
+	//         "Norwegian",
+	//         "Polish",
+	//         "Portuguese",
+	//         "Romanian",
+	//         "Russian",
+	//         "Slovak",
+	//         "Slovenian",
+	//         "Serbian",
+	//         "Swedish",
+	//         "Turkish",
+	//         "Chinese (Simplified)",
+	//         "Chinese (Traditional)"
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "num": {
-	//       "description": "Number of search results to return.\n\n* Valid values are integers between 1 and 10, inclusive.",
-	//       "format": "int32",
+	//       "default": "10",
+	//       "description": "Number of search results to return",
+	//       "format": "uint32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "orTerms": {
-	//       "description": "Provides additional search terms to check for in a document, where each\ndocument in the search results must contain at least one of the additional\nsearch terms.",
+	//       "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "q": {
 	//       "description": "Query",
 	//       "location": "query",
+	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "relatedSite": {
-	//       "description": "Specifies that all search results should be pages that are related to the\nspecified URL.",
+	//       "description": "Specifies that all search results should be pages that are related to the specified URL",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "rights": {
-	//       "description": "Filters based on licensing. Supported values include: `cc_publicdomain`,\n`cc_attribute`, `cc_sharealike`, `cc_noncommercial`, `cc_nonderived` and\ncombinations of these. See [typical\ncombinations](https://wiki.creativecommons.org/wiki/CC_Search_integration).",
+	//       "description": "Filters based on licensing. Supported values include: cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived and combinations of these.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "safe": {
-	//       "description": "Search safety level. Acceptable values are:\n\n* `\"active\"`: Enables SafeSearch filtering.\n\n* `\"off\"`: Disables SafeSearch filtering. (default)",
+	//       "default": "off",
+	//       "description": "Search safety level",
 	//       "enum": [
-	//         "safeUndefined",
-	//         "active",
 	//         "high",
 	//         "medium",
 	//         "off"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Enables highest level of safe search filtering.",
+	//         "Enables moderate safe search filtering.",
+	//         "Disables safe search filtering."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "searchType": {
-	//       "description": "Specifies the search type: `image`. If unspecified, results are limited to\nwebpages.\n\nAcceptable values are:\n\n* `\"image\"`: custom image search.",
+	//       "description": "Specifies the search type: image.",
 	//       "enum": [
-	//         "searchTypeUndefined",
 	//         "image"
 	//       ],
+	//       "enumDescriptions": [
+	//         "custom image search"
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "siteSearch": {
-	//       "description": "Specifies a given site which should always be included or excluded from\nresults (see `siteSearchFilter` parameter, below).",
+	//       "description": "Specifies all search results should be pages from a given site",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "siteSearchFilter": {
-	//       "description": "Controls whether to include or exclude results from the site named in the\n`siteSearch` parameter.\n\nAcceptable values are:\n\n* `\"e\"`: exclude\n\n* `\"i\"`: include",
+	//       "description": "Controls whether to include or exclude results from the site named in the as_sitesearch parameter",
 	//       "enum": [
-	//         "siteSearchFilterUndefined",
 	//         "e",
 	//         "i"
 	//       ],
+	//       "enumDescriptions": [
+	//         "exclude",
+	//         "include"
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "sort": {
-	//       "description": "The sort expression to apply to the results.",
+	//       "description": "The sort expression to apply to the results",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "start": {
-	//       "description": "The index of the first result to return. The default number of results per\npage is 10, so `\u0026start=11` would start at the top of the second page of\nresults. **Note**: The JSON API will never return more than 100 results,\neven if more than 100 documents match the query, so setting the sum of\n`start + num` to a number greater than 100 will produce an error. Also note\nthat the maximum value for `num` is 10.",
+	//       "description": "The index of the first result to return",
 	//       "format": "uint32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     }
 	//   },
-	//   "path": "customsearch/v1/siterestrict",
+	//   "path": "v1/siterestrict",
 	//   "response": {
 	//     "$ref": "Search"
 	//   }
diff --git a/examples/customsearch.go b/examples/customsearch.go
index 8199dfd..4c6f077 100644
--- a/examples/customsearch.go
+++ b/examples/customsearch.go
@@ -27,7 +27,7 @@
 		log.Fatal(err)
 	}
 
-	resp, err := svc.Cse.List().Q(query).Cx(cx).Do()
+	resp, err := svc.Cse.List(query).Cx(cx).Do()
 	if err != nil {
 		log.Fatal(err)
 	}
diff --git a/google-api-go-generator/gen.go b/google-api-go-generator/gen.go
index 5c441f8..e4d1401 100644
--- a/google-api-go-generator/gen.go
+++ b/google-api-go-generator/gen.go
@@ -117,6 +117,11 @@
 	return fmt.Sprintf("API %s failed to compile:\n%v", e.api.ID, e.output)
 }
 
+// skipAPIGeneration is a set of APIs to not generate when generating all clients.
+var skipAPIGeneration = map[string]bool{
+	"customsearch:v1": true,
+}
+
 func main() {
 	flag.Parse()
 
@@ -183,6 +188,9 @@
 			return false
 		}
 	}
+	if skipAPIGeneration[a.ID] && *apiToGenerate == "*" {
+		return false
+	}
 	return *apiToGenerate == "*" || *apiToGenerate == a.ID
 }