chore: Update discovery artifacts (#1291)

* chore: update docs/dyn/index.md
* chore(abusiveexperiencereport): update the api
* chore(acceleratedmobilepageurl): update the api
* chore(accessapproval): update the api
* chore(accesscontextmanager): update the api
* chore(adexchangebuyer2): update the api
* chore(adexperiencereport): update the api
* chore(admob): update the api
* chore(analytics): update the api
* chore(analyticsreporting): update the api
* chore(androiddeviceprovisioning): update the api
* chore(androidenterprise): update the api
* chore(androidpublisher): update the api
* chore(apigateway): update the api
* chore(artifactregistry): update the api
* chore(bigqueryconnection): update the api
* chore(bigquerydatatransfer): update the api
* chore(billingbudgets): update the api
* chore(binaryauthorization): update the api
* chore(blogger): update the api
* chore(books): update the api
* chore(calendar): update the api
* chore(chat): update the api
* chore(chromeuxreport): update the api
* chore(civicinfo): update the api
* chore(classroom): update the api
* chore(cloudbilling): update the api
* chore(cloudbuild): update the api
* chore(clouddebugger): update the api
* chore(clouderrorreporting): update the api
* chore(cloudfunctions): update the api
* chore(cloudidentity): update the api
* chore(cloudiot): update the api
* chore(cloudkms): update the api
* chore(cloudprofiler): update the api
* chore(cloudresourcemanager): update the api
* chore(cloudscheduler): update the api
* chore(cloudshell): update the api
* chore(cloudtasks): update the api
* chore(cloudtrace): update the api
* chore(composer): update the api
* chore(containeranalysis): update the api
* chore(content): update the api
* chore(customsearch): update the api
* chore(datacatalog): update the api
* chore(datafusion): update the api
* chore(datamigration): update the api
* chore(datastore): update the api
* chore(deploymentmanager): update the api
* chore(digitalassetlinks): update the api
* chore(displayvideo): update the api
* chore(dlp): update the api
* chore(dns): update the api
* chore(docs): update the api
* chore(domains): update the api
* chore(domainsrdap): update the api
* chore(doubleclickbidmanager): update the api
* chore(doubleclicksearch): update the api
* chore(drive): update the api
* chore(driveactivity): update the api
* chore(eventarc): update the api
* chore(factchecktools): update the api
* chore(fcm): update the api
* chore(file): update the api
* chore(firebase): update the api
* chore(firebasedatabase): update the api
* chore(firebasedynamiclinks): update the api
* chore(firebasehosting): update the api
* chore(firebaseml): update the api
* chore(firebaserules): update the api
* chore(firestore): update the api
* chore(fitness): update the api
* chore(gamesConfiguration): update the api
* chore(gamesManagement): update the api
* chore(gameservices): update the api
* chore(genomics): update the api
* chore(gmail): update the api
* chore(gmailpostmastertools): update the api
* chore(groupsmigration): update the api
* chore(groupssettings): update the api
* chore(healthcare): update the api
* chore(iam): update the api
* chore(iamcredentials): update the api
* chore(iap): update the api
* chore(identitytoolkit): update the api
* chore(indexing): update the api
* chore(jobs): update the api
* chore(kgsearch): update the api
* chore(language): update the api
* chore(libraryagent): update the api
* chore(licensing): update the api
* chore(lifesciences): update the api
* chore(logging): update the api
* chore(managedidentities): update the api
* chore(manufacturers): update the api
* chore(memcache): update the api
* chore(ml): update the api
* chore(monitoring): update the api
* chore(networkmanagement): update the api
* chore(osconfig): update the api
* chore(pagespeedonline): update the api
* chore(playablelocations): update the api
* chore(playcustomapp): update the api
* chore(policytroubleshooter): update the api
* chore(poly): update the api
* chore(privateca): update the api
* chore(prod_tt_sasportal): update the api
* chore(pubsub): update the api
* chore(pubsublite): update the api
* chore(realtimebidding): update the api
* chore(recommendationengine): update the api
* chore(recommender): update the api
* chore(redis): update the api
* chore(remotebuildexecution): update the api
* chore(reseller): update the api
* chore(runtimeconfig): update the api
* chore(safebrowsing): update the api
* chore(sasportal): update the api
* chore(script): update the api
* chore(searchconsole): update the api
* chore(secretmanager): update the api
* chore(servicecontrol): update the api
* chore(servicedirectory): update the api
* chore(siteVerification): update the api
* chore(slides): update the api
* chore(smartdevicemanagement): update the api
* chore(sourcerepo): update the api
* chore(sqladmin): update the api
* chore(storage): update the api
* chore(storagetransfer): update the api
* chore(streetviewpublish): update the api
* chore(sts): update the api
* chore(tagmanager): update the api
* chore(tasks): update the api
* chore(testing): update the api
* chore(texttospeech): update the api
* chore(toolresults): update the api
* chore(trafficdirector): update the api
* chore(transcoder): update the api
* chore(translate): update the api
* chore(vault): update the api
* chore(vectortile): update the api
* chore(verifiedaccess): update the api
* chore(videointelligence): update the api
* chore(vision): update the api
* chore(webfonts): update the api
* chore(webmasters): update the api
* chore(websecurityscanner): update the api
* chore(workflowexecutions): update the api
* chore(workflows): update the api
* chore(youtubeAnalytics): update the api
* chore(youtubereporting): update the api
* chore(docs): Add new discovery artifacts and reference documents
diff --git a/googleapiclient/discovery_cache/documents/blogger.v2.json b/googleapiclient/discovery_cache/documents/blogger.v2.json
index 47d2987..805675f 100644
--- a/googleapiclient/discovery_cache/documents/blogger.v2.json
+++ b/googleapiclient/discovery_cache/documents/blogger.v2.json
@@ -1,17 +1,521 @@
 {
+  "auth": {
+    "oauth2": {
+      "scopes": {
+        "https://www.googleapis.com/auth/blogger": {
+          "description": "Manage your Blogger account"
+        }
+      }
+    }
+  },
+  "basePath": "",
+  "baseUrl": "https://blogger.googleapis.com/",
   "batchPath": "batch",
+  "canonicalName": "Blogger",
+  "description": "The Blogger API provides access to posts, comments and pages of a Blogger blog.",
+  "discoveryVersion": "v1",
+  "documentationLink": "https://developers.google.com/blogger/docs/3.0/getting_started",
+  "fullyEncodeReservedExpansion": true,
+  "icons": {
+    "x16": "http://www.google.com/images/icons/product/search-16.gif",
+    "x32": "http://www.google.com/images/icons/product/search-32.gif"
+  },
+  "id": "blogger:v2",
+  "kind": "discovery#restDescription",
+  "mtlsRootUrl": "https://blogger.mtls.googleapis.com/",
+  "name": "blogger",
+  "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.",
+      "enum": [
+        "json",
+        "media",
+        "proto"
+      ],
+      "enumDescriptions": [
+        "Responses with Content-Type of application/json",
+        "Media download with context-dependent Content-Type",
+        "Responses with Content-Type of application/x-protobuf"
+      ],
+      "location": "query",
+      "type": "string"
+    },
+    "callback": {
+      "description": "JSONP",
+      "location": "query",
+      "type": "string"
+    },
+    "fields": {
+      "description": "Selector specifying which fields to include in a partial response.",
+      "location": "query",
+      "type": "string"
+    },
+    "key": {
+      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
+      "location": "query",
+      "type": "string"
+    },
+    "oauth_token": {
+      "description": "OAuth 2.0 token for the current user.",
+      "location": "query",
+      "type": "string"
+    },
+    "prettyPrint": {
+      "default": "true",
+      "description": "Returns response with indentations and line breaks.",
+      "location": "query",
+      "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.",
+      "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\").",
+      "location": "query",
+      "type": "string"
+    }
+  },
+  "protocol": "rest",
+  "resources": {
+    "blogs": {
+      "methods": {
+        "get": {
+          "description": "Gets a blog by id.",
+          "flatPath": "v2/blogs/{blogId}",
+          "httpMethod": "GET",
+          "id": "blogger.blogs.get",
+          "parameterOrder": [
+            "blogId"
+          ],
+          "parameters": {
+            "blogId": {
+              "location": "path",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "v2/blogs/{blogId}",
+          "response": {
+            "$ref": "Blog"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/blogger"
+          ]
+        },
+        "list": {
+          "description": "Lists blogs by user id, possibly filtered.",
+          "flatPath": "v2/users/{userId}/blogs",
+          "httpMethod": "GET",
+          "id": "blogger.blogs.list",
+          "parameterOrder": [
+            "userId"
+          ],
+          "parameters": {
+            "userId": {
+              "location": "path",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "v2/users/{userId}/blogs",
+          "response": {
+            "$ref": "BlogList"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/blogger"
+          ]
+        }
+      }
+    },
+    "comments": {
+      "methods": {
+        "get": {
+          "description": "Gets a comment by blog id, post id and comment id.",
+          "flatPath": "v2/blogs/{blogId}/posts/{postId}/comments/{commentId}",
+          "httpMethod": "GET",
+          "id": "blogger.comments.get",
+          "parameterOrder": [
+            "blogId",
+            "postId",
+            "commentId"
+          ],
+          "parameters": {
+            "blogId": {
+              "location": "path",
+              "required": true,
+              "type": "string"
+            },
+            "commentId": {
+              "location": "path",
+              "required": true,
+              "type": "string"
+            },
+            "postId": {
+              "location": "path",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "v2/blogs/{blogId}/posts/{postId}/comments/{commentId}",
+          "response": {
+            "$ref": "Comment"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/blogger"
+          ]
+        },
+        "list": {
+          "description": "Lists comments.",
+          "flatPath": "v2/blogs/{blogId}/posts/{postId}/comments",
+          "httpMethod": "GET",
+          "id": "blogger.comments.list",
+          "parameterOrder": [
+            "blogId",
+            "postId"
+          ],
+          "parameters": {
+            "blogId": {
+              "location": "path",
+              "required": true,
+              "type": "string"
+            },
+            "fetchBodies": {
+              "location": "query",
+              "type": "boolean"
+            },
+            "maxResults": {
+              "format": "uint32",
+              "location": "query",
+              "type": "integer"
+            },
+            "pageToken": {
+              "location": "query",
+              "type": "string"
+            },
+            "postId": {
+              "location": "path",
+              "required": true,
+              "type": "string"
+            },
+            "startDate": {
+              "location": "query",
+              "type": "string"
+            }
+          },
+          "path": "v2/blogs/{blogId}/posts/{postId}/comments",
+          "response": {
+            "$ref": "CommentList"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/blogger"
+          ]
+        }
+      }
+    },
+    "pages": {
+      "methods": {
+        "get": {
+          "description": "Gets a page by blog id and page id.",
+          "flatPath": "v2/blogs/{blogId}/pages/{pageId}",
+          "httpMethod": "GET",
+          "id": "blogger.pages.get",
+          "parameterOrder": [
+            "blogId",
+            "pageId"
+          ],
+          "parameters": {
+            "blogId": {
+              "location": "path",
+              "required": true,
+              "type": "string"
+            },
+            "pageId": {
+              "location": "path",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "v2/blogs/{blogId}/pages/{pageId}",
+          "response": {
+            "$ref": "Page"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/blogger"
+          ]
+        },
+        "list": {
+          "description": "Lists pages.",
+          "flatPath": "v2/blogs/{blogId}/pages",
+          "httpMethod": "GET",
+          "id": "blogger.pages.list",
+          "parameterOrder": [
+            "blogId"
+          ],
+          "parameters": {
+            "blogId": {
+              "location": "path",
+              "required": true,
+              "type": "string"
+            },
+            "fetchBodies": {
+              "location": "query",
+              "type": "boolean"
+            }
+          },
+          "path": "v2/blogs/{blogId}/pages",
+          "response": {
+            "$ref": "PageList"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/blogger"
+          ]
+        }
+      }
+    },
+    "posts": {
+      "methods": {
+        "get": {
+          "description": "Gets a post by blog id and post id",
+          "flatPath": "v2/blogs/{blogId}/posts/{postId}",
+          "httpMethod": "GET",
+          "id": "blogger.posts.get",
+          "parameterOrder": [
+            "blogId",
+            "postId"
+          ],
+          "parameters": {
+            "blogId": {
+              "location": "path",
+              "required": true,
+              "type": "string"
+            },
+            "postId": {
+              "location": "path",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "v2/blogs/{blogId}/posts/{postId}",
+          "response": {
+            "$ref": "Post"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/blogger"
+          ]
+        },
+        "list": {
+          "description": "Lists posts.",
+          "flatPath": "v2/blogs/{blogId}/posts",
+          "httpMethod": "GET",
+          "id": "blogger.posts.list",
+          "parameterOrder": [
+            "blogId"
+          ],
+          "parameters": {
+            "blogId": {
+              "location": "path",
+              "required": true,
+              "type": "string"
+            },
+            "fetchBodies": {
+              "location": "query",
+              "type": "boolean"
+            },
+            "maxResults": {
+              "format": "uint32",
+              "location": "query",
+              "type": "integer"
+            },
+            "pageToken": {
+              "location": "query",
+              "type": "string"
+            },
+            "startDate": {
+              "location": "query",
+              "type": "string"
+            }
+          },
+          "path": "v2/blogs/{blogId}/posts",
+          "response": {
+            "$ref": "PostList"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/blogger"
+          ]
+        }
+      }
+    },
+    "users": {
+      "methods": {
+        "get": {
+          "description": "Gets a user by user id.",
+          "flatPath": "v2/users/{userId}",
+          "httpMethod": "GET",
+          "id": "blogger.users.get",
+          "parameterOrder": [
+            "userId"
+          ],
+          "parameters": {
+            "userId": {
+              "location": "path",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "v2/users/{userId}",
+          "response": {
+            "$ref": "User"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/blogger"
+          ]
+        }
+      }
+    }
+  },
+  "revision": "20210410",
+  "rootUrl": "https://blogger.googleapis.com/",
   "schemas": {
+    "Blog": {
+      "id": "Blog",
+      "properties": {
+        "customMetaData": {
+          "description": "The JSON custom meta-data for the Blog.",
+          "type": "string"
+        },
+        "description": {
+          "description": "The description of this blog. This is displayed underneath the title.",
+          "type": "string"
+        },
+        "id": {
+          "description": "The identifier for this resource.",
+          "type": "string"
+        },
+        "kind": {
+          "description": "The kind of this entry. Always blogger#blog.",
+          "type": "string"
+        },
+        "locale": {
+          "description": "The locale this Blog is set to.",
+          "properties": {
+            "country": {
+              "description": "The country this blog's locale is set to.",
+              "type": "string"
+            },
+            "language": {
+              "description": "The language this blog is authored in.",
+              "type": "string"
+            },
+            "variant": {
+              "description": "The language variant this blog is authored in.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        },
+        "name": {
+          "description": "The name of this blog. This is displayed as the title.",
+          "type": "string"
+        },
+        "pages": {
+          "description": "The container of pages in this blog.",
+          "properties": {
+            "selfLink": {
+              "description": "The URL of the container for pages in this blog.",
+              "type": "string"
+            },
+            "totalItems": {
+              "description": "The count of pages in this blog.",
+              "format": "int32",
+              "type": "integer"
+            }
+          },
+          "type": "object"
+        },
+        "posts": {
+          "description": "The container of posts in this blog.",
+          "properties": {
+            "items": {
+              "description": "The List of Posts for this Blog.",
+              "items": {
+                "$ref": "Post"
+              },
+              "type": "array"
+            },
+            "selfLink": {
+              "description": "The URL of the container for posts in this blog.",
+              "type": "string"
+            },
+            "totalItems": {
+              "description": "The count of posts in this blog.",
+              "format": "int32",
+              "type": "integer"
+            }
+          },
+          "type": "object"
+        },
+        "published": {
+          "description": "RFC 3339 date-time when this blog was published.",
+          "type": "string"
+        },
+        "selfLink": {
+          "description": "The API REST URL to fetch this resource from.",
+          "type": "string"
+        },
+        "status": {
+          "description": "The status of the blog.",
+          "enum": [
+            "LIVE",
+            "DELETED"
+          ],
+          "enumDescriptions": [
+            "",
+            ""
+          ],
+          "type": "string"
+        },
+        "updated": {
+          "description": "RFC 3339 date-time when this blog was last updated.",
+          "type": "string"
+        },
+        "url": {
+          "description": "The URL where this blog is published.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "BlogList": {
       "id": "BlogList",
-      "type": "object",
       "properties": {
-        "items": {
-          "description": "The list of Blogs this user has Authorship or Admin rights over.",
-          "type": "array",
-          "items": {
-            "$ref": "Blog"
-          }
-        },
         "blogUserInfos": {
           "description": "Admin level list of blog per-user information.",
           "items": {
@@ -19,176 +523,40 @@
           },
           "type": "array"
         },
-        "kind": {
-          "type": "string",
-          "description": "The kind of this entity. Always blogger#blogList."
-        }
-      }
-    },
-    "PageList": {
-      "type": "object",
-      "id": "PageList",
-      "properties": {
-        "etag": {
-          "description": "Etag of the response.",
-          "type": "string"
-        },
-        "nextPageToken": {
-          "description": "Pagination token to fetch the next page, if one exists.",
-          "type": "string"
-        },
         "items": {
-          "type": "array",
-          "description": "The list of Pages for a Blog.",
+          "description": "The list of Blogs this user has Authorship or Admin rights over.",
           "items": {
-            "$ref": "Page"
-          }
-        },
-        "kind": {
-          "description": "The kind of this entity. Always blogger#pageList.",
-          "type": "string"
-        }
-      }
-    },
-    "Page": {
-      "properties": {
-        "url": {
-          "type": "string",
-          "description": "The URL that this Page is displayed at."
-        },
-        "id": {
-          "description": "The identifier for this resource.",
-          "type": "string"
-        },
-        "status": {
-          "type": "string",
-          "enumDescriptions": [
-            "",
-            ""
-          ],
-          "enum": [
-            "LIVE",
-            "DRAFT"
-          ],
-          "description": "The status of the page for admin resources (either LIVE or DRAFT)."
-        },
-        "title": {
-          "type": "string",
-          "description": "The title of this entity. This is the name displayed in the Admin user interface."
-        },
-        "blog": {
-          "properties": {
-            "id": {
-              "description": "The identifier of the blog containing this page.",
-              "type": "string"
-            }
+            "$ref": "Blog"
           },
-          "type": "object",
-          "description": "Data about the blog containing this Page."
-        },
-        "etag": {
-          "type": "string",
-          "description": "Etag of the resource."
-        },
-        "selfLink": {
-          "description": "The API REST URL to fetch this resource from.",
-          "type": "string"
-        },
-        "author": {
-          "type": "object",
-          "properties": {
-            "url": {
-              "type": "string",
-              "description": "The URL of the creator's Profile page."
-            },
-            "image": {
-              "properties": {
-                "url": {
-                  "description": "The creator's avatar URL.",
-                  "type": "string"
-                }
-              },
-              "description": "The creator's avatar.",
-              "type": "object"
-            },
-            "id": {
-              "description": "The identifier of the creator.",
-              "type": "string"
-            },
-            "displayName": {
-              "description": "The display name.",
-              "type": "string"
-            }
-          },
-          "description": "The author of this Page."
-        },
-        "updated": {
-          "type": "string",
-          "description": "RFC 3339 date-time when this Page was last updated."
-        },
-        "content": {
-          "type": "string",
-          "description": "The body content of this Page, in HTML."
+          "type": "array"
         },
         "kind": {
-          "type": "string",
-          "description": "The kind of this entity. Always blogger#page."
-        },
-        "published": {
-          "type": "string",
-          "description": "RFC 3339 date-time when this Page was published."
-        }
-      },
-      "id": "Page",
-      "type": "object"
-    },
-    "CommentList": {
-      "id": "CommentList",
-      "properties": {
-        "nextPageToken": {
-          "description": "Pagination token to fetch the next page, if one exists.",
+          "description": "The kind of this entity. Always blogger#blogList.",
           "type": "string"
-        },
-        "prevPageToken": {
-          "description": "Pagination token to fetch the previous page, if one exists.",
-          "type": "string"
-        },
-        "etag": {
-          "description": "Etag of the response.",
-          "type": "string"
-        },
-        "kind": {
-          "type": "string",
-          "description": "The kind of this entry. Always blogger#commentList."
-        },
-        "items": {
-          "description": "The List of Comments for a Post.",
-          "type": "array",
-          "items": {
-            "$ref": "Comment"
-          }
         }
       },
       "type": "object"
     },
     "BlogPerUserInfo": {
-      "type": "object",
       "id": "BlogPerUserInfo",
       "properties": {
-        "userId": {
-          "description": "ID of the User.",
+        "blogId": {
+          "description": "ID of the Blog resource.",
           "type": "string"
         },
-        "blogId": {
-          "type": "string",
-          "description": "ID of the Blog resource."
+        "hasAdminAccess": {
+          "description": "True if the user has Admin level access to the blog.",
+          "type": "boolean"
         },
         "kind": {
           "description": "The kind of this entity. Always blogger#blogPerUserInfo.",
           "type": "string"
         },
+        "photosAlbumKey": {
+          "description": "The Photo Album Key for the user when adding photos to the blog.",
+          "type": "string"
+        },
         "role": {
-          "type": "string",
           "description": "Access permissions that the user has for the blog (ADMIN, AUTHOR, or READER).",
           "enum": [
             "VIEW_TYPE_UNSPECIFIED",
@@ -201,174 +569,116 @@
             "",
             "",
             ""
-          ]
+          ],
+          "type": "string"
         },
-        "hasAdminAccess": {
-          "description": "True if the user has Admin level access to the blog.",
-          "type": "boolean"
-        },
-        "photosAlbumKey": {
-          "description": "The Photo Album Key for the user when adding photos to the blog.",
+        "userId": {
+          "description": "ID of the User.",
           "type": "string"
         }
-      }
+      },
+      "type": "object"
     },
-    "Blog": {
-      "id": "Blog",
-      "type": "object",
+    "BlogUserInfo": {
+      "id": "BlogUserInfo",
       "properties": {
+        "blog": {
+          "$ref": "Blog",
+          "description": "The Blog resource."
+        },
+        "blog_user_info": {
+          "$ref": "BlogPerUserInfo",
+          "description": "Information about a User for the Blog."
+        },
+        "kind": {
+          "description": "The kind of this entity. Always blogger#blogUserInfo.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "Comment": {
+      "id": "Comment",
+      "properties": {
+        "author": {
+          "description": "The author of this Comment.",
+          "properties": {
+            "displayName": {
+              "description": "The display name.",
+              "type": "string"
+            },
+            "id": {
+              "description": "The identifier of the creator.",
+              "type": "string"
+            },
+            "image": {
+              "description": "The creator's avatar.",
+              "properties": {
+                "url": {
+                  "description": "The creator's avatar URL.",
+                  "type": "string"
+                }
+              },
+              "type": "object"
+            },
+            "url": {
+              "description": "The URL of the creator's Profile page.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        },
+        "blog": {
+          "description": "Data about the blog containing this comment.",
+          "properties": {
+            "id": {
+              "description": "The identifier of the blog containing this comment.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        },
+        "content": {
+          "description": "The actual content of the comment. May include HTML markup.",
+          "type": "string"
+        },
         "id": {
           "description": "The identifier for this resource.",
           "type": "string"
         },
-        "locale": {
-          "properties": {
-            "country": {
-              "description": "The country this blog's locale is set to.",
-              "type": "string"
-            },
-            "language": {
-              "type": "string",
-              "description": "The language this blog is authored in."
-            },
-            "variant": {
-              "type": "string",
-              "description": "The language variant this blog is authored in."
-            }
-          },
-          "description": "The locale this Blog is set to.",
-          "type": "object"
-        },
-        "customMetaData": {
-          "description": "The JSON custom meta-data for the Blog.",
-          "type": "string"
-        },
-        "updated": {
-          "description": "RFC 3339 date-time when this blog was last updated.",
-          "type": "string"
-        },
-        "url": {
-          "description": "The URL where this blog is published.",
-          "type": "string"
-        },
-        "pages": {
-          "properties": {
-            "selfLink": {
-              "type": "string",
-              "description": "The URL of the container for pages in this blog."
-            },
-            "totalItems": {
-              "description": "The count of pages in this blog.",
-              "format": "int32",
-              "type": "integer"
-            }
-          },
-          "description": "The container of pages in this blog.",
-          "type": "object"
-        },
-        "status": {
-          "enumDescriptions": [
-            "",
-            ""
-          ],
-          "description": "The status of the blog.",
-          "enum": [
-            "LIVE",
-            "DELETED"
-          ],
-          "type": "string"
-        },
-        "kind": {
-          "description": "The kind of this entry. Always blogger#blog.",
-          "type": "string"
-        },
-        "published": {
-          "type": "string",
-          "description": "RFC 3339 date-time when this blog was published."
-        },
-        "selfLink": {
-          "description": "The API REST URL to fetch this resource from.",
-          "type": "string"
-        },
-        "description": {
-          "description": "The description of this blog. This is displayed underneath the title.",
-          "type": "string"
-        },
-        "name": {
-          "type": "string",
-          "description": "The name of this blog. This is displayed as the title."
-        },
-        "posts": {
-          "type": "object",
-          "description": "The container of posts in this blog.",
-          "properties": {
-            "items": {
-              "items": {
-                "$ref": "Post"
-              },
-              "type": "array",
-              "description": "The List of Posts for this Blog."
-            },
-            "selfLink": {
-              "description": "The URL of the container for posts in this blog.",
-              "type": "string"
-            },
-            "totalItems": {
-              "type": "integer",
-              "format": "int32",
-              "description": "The count of posts in this blog."
-            }
-          }
-        }
-      }
-    },
-    "PostList": {
-      "id": "PostList",
-      "type": "object",
-      "properties": {
-        "etag": {
-          "type": "string",
-          "description": "Etag of the response."
-        },
-        "nextPageToken": {
-          "description": "Pagination token to fetch the next page, if one exists.",
-          "type": "string"
-        },
-        "prevPageToken": {
-          "type": "string",
-          "description": "Pagination token to fetch the previous page, if one exists."
-        },
-        "items": {
-          "type": "array",
-          "description": "The list of Posts for this Blog.",
-          "items": {
-            "$ref": "Post"
-          }
-        },
-        "kind": {
-          "type": "string",
-          "description": "The kind of this entity. Always blogger#postList."
-        }
-      }
-    },
-    "Comment": {
-      "properties": {
-        "selfLink": {
-          "type": "string",
-          "description": "The API REST URL to fetch this resource from."
-        },
         "inReplyTo": {
+          "description": "Data about the comment this is in reply to.",
           "properties": {
             "id": {
               "description": "The identified of the parent of this comment.",
               "type": "string"
             }
           },
-          "description": "Data about the comment this is in reply to.",
           "type": "object"
         },
+        "kind": {
+          "description": "The kind of this entry. Always blogger#comment.",
+          "type": "string"
+        },
+        "post": {
+          "description": "Data about the post containing this comment.",
+          "properties": {
+            "id": {
+              "description": "The identifier of the post containing this comment.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        },
+        "published": {
+          "description": "RFC 3339 date-time when this comment was published.",
+          "type": "string"
+        },
+        "selfLink": {
+          "description": "The API REST URL to fetch this resource from.",
+          "type": "string"
+        },
         "status": {
-          "type": "string",
           "description": "The status of the comment (only populated for admin users).",
           "enum": [
             "LIVE",
@@ -381,183 +691,272 @@
             "",
             "",
             ""
-          ]
-        },
-        "content": {
-          "description": "The actual content of the comment. May include HTML markup.",
+          ],
           "type": "string"
         },
         "updated": {
           "description": "RFC 3339 date-time when this comment was last updated.",
           "type": "string"
-        },
-        "blog": {
-          "type": "object",
-          "properties": {
-            "id": {
-              "type": "string",
-              "description": "The identifier of the blog containing this comment."
-            }
-          },
-          "description": "Data about the blog containing this comment."
-        },
-        "published": {
-          "description": "RFC 3339 date-time when this comment was published.",
+        }
+      },
+      "type": "object"
+    },
+    "CommentList": {
+      "id": "CommentList",
+      "properties": {
+        "etag": {
+          "description": "Etag of the response.",
           "type": "string"
         },
+        "items": {
+          "description": "The List of Comments for a Post.",
+          "items": {
+            "$ref": "Comment"
+          },
+          "type": "array"
+        },
         "kind": {
-          "description": "The kind of this entry. Always blogger#comment.",
+          "description": "The kind of this entry. Always blogger#commentList.",
           "type": "string"
         },
+        "nextPageToken": {
+          "description": "Pagination token to fetch the next page, if one exists.",
+          "type": "string"
+        },
+        "prevPageToken": {
+          "description": "Pagination token to fetch the previous page, if one exists.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "Page": {
+      "id": "Page",
+      "properties": {
         "author": {
-          "type": "object",
-          "description": "The author of this Comment.",
+          "description": "The author of this Page.",
           "properties": {
-            "url": {
-              "type": "string",
-              "description": "The URL of the creator's Profile page."
-            },
-            "image": {
-              "description": "The creator's avatar.",
-              "type": "object",
-              "properties": {
-                "url": {
-                  "description": "The creator's avatar URL.",
-                  "type": "string"
-                }
-              }
+            "displayName": {
+              "description": "The display name.",
+              "type": "string"
             },
             "id": {
               "description": "The identifier of the creator.",
               "type": "string"
             },
-            "displayName": {
-              "type": "string",
-              "description": "The display name."
+            "image": {
+              "description": "The creator's avatar.",
+              "properties": {
+                "url": {
+                  "description": "The creator's avatar URL.",
+                  "type": "string"
+                }
+              },
+              "type": "object"
+            },
+            "url": {
+              "description": "The URL of the creator's Profile page.",
+              "type": "string"
             }
-          }
+          },
+          "type": "object"
+        },
+        "blog": {
+          "description": "Data about the blog containing this Page.",
+          "properties": {
+            "id": {
+              "description": "The identifier of the blog containing this page.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        },
+        "content": {
+          "description": "The body content of this Page, in HTML.",
+          "type": "string"
+        },
+        "etag": {
+          "description": "Etag of the resource.",
+          "type": "string"
         },
         "id": {
           "description": "The identifier for this resource.",
           "type": "string"
         },
-        "post": {
-          "properties": {
-            "id": {
-              "description": "The identifier of the post containing this comment.",
-              "type": "string"
-            }
-          },
-          "type": "object",
-          "description": "Data about the post containing this comment."
-        }
-      },
-      "type": "object",
-      "id": "Comment"
-    },
-    "User": {
-      "properties": {
         "kind": {
-          "description": "The kind of this entity. Always blogger#user.",
+          "description": "The kind of this entity. Always blogger#page.",
           "type": "string"
         },
-        "locale": {
-          "properties": {
-            "language": {
-              "description": "The language this blog is authored in.",
-              "type": "string"
-            },
-            "variant": {
-              "type": "string",
-              "description": "The language variant this blog is authored in."
-            },
-            "country": {
-              "type": "string",
-              "description": "The country this blog's locale is set to."
-            }
-          },
-          "type": "object",
-          "description": "This user's locale"
-        },
-        "url": {
-          "type": "string",
-          "description": "The user's profile page."
-        },
-        "id": {
-          "description": "The identifier for this User.",
-          "type": "string"
-        },
-        "blogs": {
-          "properties": {
-            "selfLink": {
-              "type": "string",
-              "description": "The URL of the Blogs for this user."
-            }
-          },
-          "type": "object",
-          "description": "The container of blogs for this user."
-        },
-        "created": {
-          "description": "The timestamp of when this profile was created, in seconds since epoch.",
+        "published": {
+          "description": "RFC 3339 date-time when this Page was published.",
           "type": "string"
         },
         "selfLink": {
           "description": "The API REST URL to fetch this resource from.",
           "type": "string"
         },
-        "displayName": {
-          "description": "The display name.",
+        "status": {
+          "description": "The status of the page for admin resources (either LIVE or DRAFT).",
+          "enum": [
+            "LIVE",
+            "DRAFT"
+          ],
+          "enumDescriptions": [
+            "",
+            ""
+          ],
           "type": "string"
         },
-        "about": {
-          "type": "string",
-          "description": "Profile summary information."
+        "title": {
+          "description": "The title of this entity. This is the name displayed in the Admin user interface.",
+          "type": "string"
+        },
+        "updated": {
+          "description": "RFC 3339 date-time when this Page was last updated.",
+          "type": "string"
+        },
+        "url": {
+          "description": "The URL that this Page is displayed at.",
+          "type": "string"
         }
       },
-      "id": "User",
+      "type": "object"
+    },
+    "PageList": {
+      "id": "PageList",
+      "properties": {
+        "etag": {
+          "description": "Etag of the response.",
+          "type": "string"
+        },
+        "items": {
+          "description": "The list of Pages for a Blog.",
+          "items": {
+            "$ref": "Page"
+          },
+          "type": "array"
+        },
+        "kind": {
+          "description": "The kind of this entity. Always blogger#pageList.",
+          "type": "string"
+        },
+        "nextPageToken": {
+          "description": "Pagination token to fetch the next page, if one exists.",
+          "type": "string"
+        }
+      },
       "type": "object"
     },
     "Post": {
-      "type": "object",
       "id": "Post",
       "properties": {
-        "titleLink": {
-          "description": "The title link URL, similar to atom's related link.",
-          "type": "string"
-        },
-        "location": {
+        "author": {
+          "description": "The author of this Post.",
           "properties": {
-            "name": {
-              "description": "Location name.",
+            "displayName": {
+              "description": "The display name.",
               "type": "string"
             },
-            "lat": {
-              "description": "Location's latitude.",
-              "format": "double",
-              "type": "number"
+            "id": {
+              "description": "The identifier of the creator.",
+              "type": "string"
             },
-            "lng": {
-              "type": "number",
-              "description": "Location's longitude.",
-              "format": "double"
+            "image": {
+              "description": "The creator's avatar.",
+              "properties": {
+                "url": {
+                  "description": "The creator's avatar URL.",
+                  "type": "string"
+                }
+              },
+              "type": "object"
             },
-            "span": {
-              "description": "Location's viewport span. Can be used when rendering a map preview.",
+            "url": {
+              "description": "The URL of the creator's Profile page.",
               "type": "string"
             }
           },
-          "description": "The location for geotagged posts.",
           "type": "object"
         },
-        "title": {
-          "description": "The title of the Post.",
+        "blog": {
+          "description": "Data about the blog containing this Post.",
+          "properties": {
+            "id": {
+              "description": "The identifier of the Blog that contains this Post.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        },
+        "content": {
+          "description": "The content of the Post. May contain HTML markup.",
           "type": "string"
         },
         "customMetaData": {
           "description": "The JSON meta-data for the Post.",
           "type": "string"
         },
+        "etag": {
+          "description": "Etag of the resource.",
+          "type": "string"
+        },
+        "id": {
+          "description": "The identifier of this Post.",
+          "type": "string"
+        },
+        "images": {
+          "description": "Display image for the Post.",
+          "items": {
+            "properties": {
+              "url": {
+                "type": "string"
+              }
+            },
+            "type": "object"
+          },
+          "type": "array"
+        },
+        "kind": {
+          "description": "The kind of this entity. Always blogger#post.",
+          "type": "string"
+        },
+        "labels": {
+          "description": "The list of labels this Post was tagged with.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "location": {
+          "description": "The location for geotagged posts.",
+          "properties": {
+            "lat": {
+              "description": "Location's latitude.",
+              "format": "double",
+              "type": "number"
+            },
+            "lng": {
+              "description": "Location's longitude.",
+              "format": "double",
+              "type": "number"
+            },
+            "name": {
+              "description": "Location name.",
+              "type": "string"
+            },
+            "span": {
+              "description": "Location's viewport span. Can be used when rendering a map preview.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        },
+        "published": {
+          "description": "RFC 3339 date-time when this Post was published.",
+          "type": "string"
+        },
         "readerComments": {
+          "description": "Comment control and display setting for readers of this post.",
           "enum": [
             "ALLOW",
             "DONT_ALLOW_SHOW_EXISTING",
@@ -568,15 +967,35 @@
             "",
             ""
           ],
-          "type": "string",
-          "description": "Comment control and display setting for readers of this post."
+          "type": "string"
         },
-        "updated": {
-          "description": "RFC 3339 date-time when this Post was last updated.",
+        "replies": {
+          "description": "The container of comments on this Post.",
+          "properties": {
+            "items": {
+              "description": "The List of Comments for this Post.",
+              "items": {
+                "$ref": "Comment"
+              },
+              "type": "array"
+            },
+            "selfLink": {
+              "description": "The URL of the comments on this post.",
+              "type": "string"
+            },
+            "totalItems": {
+              "description": "The count of comments on this post.",
+              "format": "int64",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        },
+        "selfLink": {
+          "description": "The API REST URL to fetch this resource from.",
           "type": "string"
         },
         "status": {
-          "type": "string",
           "description": "Status of the post. Only set for admin-level requests.",
           "enum": [
             "LIVE",
@@ -587,540 +1006,121 @@
             "",
             "",
             ""
-          ]
+          ],
+          "type": "string"
+        },
+        "title": {
+          "description": "The title of the Post.",
+          "type": "string"
+        },
+        "titleLink": {
+          "description": "The title link URL, similar to atom's related link.",
+          "type": "string"
+        },
+        "updated": {
+          "description": "RFC 3339 date-time when this Post was last updated.",
+          "type": "string"
         },
         "url": {
-          "type": "string",
-          "description": "The URL where this Post is displayed."
-        },
-        "author": {
-          "description": "The author of this Post.",
-          "properties": {
-            "image": {
-              "properties": {
-                "url": {
-                  "type": "string",
-                  "description": "The creator's avatar URL."
-                }
-              },
-              "type": "object",
-              "description": "The creator's avatar."
-            },
-            "id": {
-              "description": "The identifier of the creator.",
-              "type": "string"
-            },
-            "displayName": {
-              "type": "string",
-              "description": "The display name."
-            },
-            "url": {
-              "description": "The URL of the creator's Profile page.",
-              "type": "string"
-            }
-          },
-          "type": "object"
-        },
-        "labels": {
-          "description": "The list of labels this Post was tagged with.",
-          "items": {
-            "type": "string"
-          },
-          "type": "array"
-        },
-        "kind": {
-          "type": "string",
-          "description": "The kind of this entity. Always blogger#post."
-        },
-        "selfLink": {
-          "type": "string",
-          "description": "The API REST URL to fetch this resource from."
-        },
-        "replies": {
-          "description": "The container of comments on this Post.",
-          "properties": {
-            "selfLink": {
-              "type": "string",
-              "description": "The URL of the comments on this post."
-            },
-            "items": {
-              "description": "The List of Comments for this Post.",
-              "items": {
-                "$ref": "Comment"
-              },
-              "type": "array"
-            },
-            "totalItems": {
-              "description": "The count of comments on this post.",
-              "type": "string",
-              "format": "int64"
-            }
-          },
-          "type": "object"
-        },
-        "id": {
-          "description": "The identifier of this Post.",
+          "description": "The URL where this Post is displayed.",
           "type": "string"
-        },
-        "images": {
-          "description": "Display image for the Post.",
-          "items": {
-            "type": "object",
-            "properties": {
-              "url": {
-                "type": "string"
-              }
-            }
-          },
-          "type": "array"
-        },
-        "etag": {
-          "description": "Etag of the resource.",
-          "type": "string"
-        },
-        "content": {
-          "description": "The content of the Post. May contain HTML markup.",
-          "type": "string"
-        },
-        "published": {
-          "description": "RFC 3339 date-time when this Post was published.",
-          "type": "string"
-        },
-        "blog": {
-          "type": "object",
-          "properties": {
-            "id": {
-              "description": "The identifier of the Blog that contains this Post.",
-              "type": "string"
-            }
-          },
-          "description": "Data about the blog containing this Post."
         }
-      }
+      },
+      "type": "object"
     },
-    "BlogUserInfo": {
-      "id": "BlogUserInfo",
-      "type": "object",
+    "PostList": {
+      "id": "PostList",
       "properties": {
-        "kind": {
-          "type": "string",
-          "description": "The kind of this entity. Always blogger#blogUserInfo."
+        "etag": {
+          "description": "Etag of the response.",
+          "type": "string"
         },
-        "blog_user_info": {
-          "description": "Information about a User for the Blog.",
-          "$ref": "BlogPerUserInfo"
-        },
-        "blog": {
-          "description": "The Blog resource.",
-          "$ref": "Blog"
-        }
-      }
-    }
-  },
-  "id": "blogger:v2",
-  "protocol": "rest",
-  "kind": "discovery#restDescription",
-  "ownerDomain": "google.com",
-  "basePath": "",
-  "auth": {
-    "oauth2": {
-      "scopes": {
-        "https://www.googleapis.com/auth/blogger": {
-          "description": "Manage your Blogger account"
-        }
-      }
-    }
-  },
-  "resources": {
-    "users": {
-      "methods": {
-        "get": {
-          "description": "Gets a user by user id.",
-          "path": "v2/users/{userId}",
-          "parameters": {
-            "userId": {
-              "location": "path",
-              "required": true,
-              "type": "string"
-            }
-          },
-          "httpMethod": "GET",
-          "response": {
-            "$ref": "User"
-          },
-          "scopes": [
-            "https://www.googleapis.com/auth/blogger"
-          ],
-          "parameterOrder": [
-            "userId"
-          ],
-          "flatPath": "v2/users/{userId}",
-          "id": "blogger.users.get"
-        }
-      }
-    },
-    "comments": {
-      "methods": {
-        "list": {
-          "flatPath": "v2/blogs/{blogId}/posts/{postId}/comments",
-          "parameterOrder": [
-            "blogId",
-            "postId"
-          ],
-          "parameters": {
-            "blogId": {
-              "location": "path",
-              "required": true,
-              "type": "string"
-            },
-            "fetchBodies": {
-              "location": "query",
-              "type": "boolean"
-            },
-            "postId": {
-              "location": "path",
-              "type": "string",
-              "required": true
-            },
-            "startDate": {
-              "location": "query",
-              "type": "string"
-            },
-            "pageToken": {
-              "type": "string",
-              "location": "query"
-            },
-            "maxResults": {
-              "format": "uint32",
-              "type": "integer",
-              "location": "query"
-            }
-          },
-          "id": "blogger.comments.list",
-          "path": "v2/blogs/{blogId}/posts/{postId}/comments",
-          "response": {
-            "$ref": "CommentList"
-          },
-          "scopes": [
-            "https://www.googleapis.com/auth/blogger"
-          ],
-          "description": "Lists comments.",
-          "httpMethod": "GET"
-        },
-        "get": {
-          "flatPath": "v2/blogs/{blogId}/posts/{postId}/comments/{commentId}",
-          "httpMethod": "GET",
-          "parameterOrder": [
-            "blogId",
-            "postId",
-            "commentId"
-          ],
-          "response": {
-            "$ref": "Comment"
-          },
-          "description": "Gets a comment by blog id, post id and comment id.",
-          "scopes": [
-            "https://www.googleapis.com/auth/blogger"
-          ],
-          "parameters": {
-            "commentId": {
-              "location": "path",
-              "type": "string",
-              "required": true
-            },
-            "blogId": {
-              "location": "path",
-              "required": true,
-              "type": "string"
-            },
-            "postId": {
-              "location": "path",
-              "required": true,
-              "type": "string"
-            }
-          },
-          "path": "v2/blogs/{blogId}/posts/{postId}/comments/{commentId}",
-          "id": "blogger.comments.get"
-        }
-      }
-    },
-    "blogs": {
-      "methods": {
-        "get": {
-          "path": "v2/blogs/{blogId}",
-          "scopes": [
-            "https://www.googleapis.com/auth/blogger"
-          ],
-          "response": {
-            "$ref": "Blog"
-          },
-          "description": "Gets a blog by id.",
-          "parameterOrder": [
-            "blogId"
-          ],
-          "httpMethod": "GET",
-          "id": "blogger.blogs.get",
-          "flatPath": "v2/blogs/{blogId}",
-          "parameters": {
-            "blogId": {
-              "type": "string",
-              "required": true,
-              "location": "path"
-            }
-          }
-        },
-        "list": {
-          "flatPath": "v2/users/{userId}/blogs",
-          "scopes": [
-            "https://www.googleapis.com/auth/blogger"
-          ],
-          "parameterOrder": [
-            "userId"
-          ],
-          "description": "Lists blogs by user id, possibly filtered.",
-          "response": {
-            "$ref": "BlogList"
-          },
-          "path": "v2/users/{userId}/blogs",
-          "httpMethod": "GET",
-          "parameters": {
-            "userId": {
-              "required": true,
-              "location": "path",
-              "type": "string"
-            }
-          },
-          "id": "blogger.blogs.list"
-        }
-      }
-    },
-    "pages": {
-      "methods": {
-        "list": {
-          "id": "blogger.pages.list",
-          "response": {
-            "$ref": "PageList"
-          },
-          "description": "Lists pages.",
-          "path": "v2/blogs/{blogId}/pages",
-          "parameters": {
-            "fetchBodies": {
-              "location": "query",
-              "type": "boolean"
-            },
-            "blogId": {
-              "required": true,
-              "location": "path",
-              "type": "string"
-            }
-          },
-          "scopes": [
-            "https://www.googleapis.com/auth/blogger"
-          ],
-          "httpMethod": "GET",
-          "flatPath": "v2/blogs/{blogId}/pages",
-          "parameterOrder": [
-            "blogId"
-          ]
-        },
-        "get": {
-          "id": "blogger.pages.get",
-          "response": {
-            "$ref": "Page"
-          },
-          "scopes": [
-            "https://www.googleapis.com/auth/blogger"
-          ],
-          "description": "Gets a page by blog id and page id.",
-          "parameters": {
-            "blogId": {
-              "type": "string",
-              "location": "path",
-              "required": true
-            },
-            "pageId": {
-              "location": "path",
-              "required": true,
-              "type": "string"
-            }
-          },
-          "flatPath": "v2/blogs/{blogId}/pages/{pageId}",
-          "httpMethod": "GET",
-          "parameterOrder": [
-            "blogId",
-            "pageId"
-          ],
-          "path": "v2/blogs/{blogId}/pages/{pageId}"
-        }
-      }
-    },
-    "posts": {
-      "methods": {
-        "list": {
-          "response": {
-            "$ref": "PostList"
-          },
-          "parameters": {
-            "fetchBodies": {
-              "type": "boolean",
-              "location": "query"
-            },
-            "startDate": {
-              "type": "string",
-              "location": "query"
-            },
-            "blogId": {
-              "type": "string",
-              "required": true,
-              "location": "path"
-            },
-            "maxResults": {
-              "type": "integer",
-              "location": "query",
-              "format": "uint32"
-            },
-            "pageToken": {
-              "type": "string",
-              "location": "query"
-            }
-          },
-          "scopes": [
-            "https://www.googleapis.com/auth/blogger"
-          ],
-          "httpMethod": "GET",
-          "id": "blogger.posts.list",
-          "description": "Lists posts.",
-          "flatPath": "v2/blogs/{blogId}/posts",
-          "path": "v2/blogs/{blogId}/posts",
-          "parameterOrder": [
-            "blogId"
-          ]
-        },
-        "get": {
-          "parameters": {
-            "blogId": {
-              "type": "string",
-              "location": "path",
-              "required": true
-            },
-            "postId": {
-              "location": "path",
-              "type": "string",
-              "required": true
-            }
-          },
-          "flatPath": "v2/blogs/{blogId}/posts/{postId}",
-          "response": {
+        "items": {
+          "description": "The list of Posts for this Blog.",
+          "items": {
             "$ref": "Post"
           },
-          "scopes": [
-            "https://www.googleapis.com/auth/blogger"
-          ],
-          "id": "blogger.posts.get",
-          "description": "Gets a post by blog id and post id",
-          "path": "v2/blogs/{blogId}/posts/{postId}",
-          "httpMethod": "GET",
-          "parameterOrder": [
-            "blogId",
-            "postId"
-          ]
+          "type": "array"
+        },
+        "kind": {
+          "description": "The kind of this entity. Always blogger#postList.",
+          "type": "string"
+        },
+        "nextPageToken": {
+          "description": "Pagination token to fetch the next page, if one exists.",
+          "type": "string"
+        },
+        "prevPageToken": {
+          "description": "Pagination token to fetch the previous page, if one exists.",
+          "type": "string"
         }
-      }
+      },
+      "type": "object"
+    },
+    "User": {
+      "id": "User",
+      "properties": {
+        "about": {
+          "description": "Profile summary information.",
+          "type": "string"
+        },
+        "blogs": {
+          "description": "The container of blogs for this user.",
+          "properties": {
+            "selfLink": {
+              "description": "The URL of the Blogs for this user.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        },
+        "created": {
+          "description": "The timestamp of when this profile was created, in seconds since epoch.",
+          "type": "string"
+        },
+        "displayName": {
+          "description": "The display name.",
+          "type": "string"
+        },
+        "id": {
+          "description": "The identifier for this User.",
+          "type": "string"
+        },
+        "kind": {
+          "description": "The kind of this entity. Always blogger#user.",
+          "type": "string"
+        },
+        "locale": {
+          "description": "This user's locale",
+          "properties": {
+            "country": {
+              "description": "The country this blog's locale is set to.",
+              "type": "string"
+            },
+            "language": {
+              "description": "The language this blog is authored in.",
+              "type": "string"
+            },
+            "variant": {
+              "description": "The language variant this blog is authored in.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        },
+        "selfLink": {
+          "description": "The API REST URL to fetch this resource from.",
+          "type": "string"
+        },
+        "url": {
+          "description": "The user's profile page.",
+          "type": "string"
+        }
+      },
+      "type": "object"
     }
   },
-  "rootUrl": "https://blogger.googleapis.com/",
   "servicePath": "",
-  "documentationLink": "https://developers.google.com/blogger/docs/3.0/getting_started",
-  "description": "The Blogger API provides access to posts, comments and pages of a Blogger blog.",
-  "baseUrl": "https://blogger.googleapis.com/",
-  "revision": "20200801",
-  "discoveryVersion": "v1",
-  "mtlsRootUrl": "https://blogger.mtls.googleapis.com/",
-  "ownerName": "Google",
-  "icons": {
-    "x32": "http://www.google.com/images/icons/product/search-32.gif",
-    "x16": "http://www.google.com/images/icons/product/search-16.gif"
-  },
-  "version": "v2",
   "title": "Blogger API v3",
-  "fullyEncodeReservedExpansion": true,
-  "parameters": {
-    "uploadType": {
-      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
-      "location": "query",
-      "type": "string"
-    },
-    "callback": {
-      "type": "string",
-      "description": "JSONP",
-      "location": "query"
-    },
-    "alt": {
-      "enumDescriptions": [
-        "Responses with Content-Type of application/json",
-        "Media download with context-dependent Content-Type",
-        "Responses with Content-Type of application/x-protobuf"
-      ],
-      "enum": [
-        "json",
-        "media",
-        "proto"
-      ],
-      "location": "query",
-      "default": "json",
-      "type": "string",
-      "description": "Data format for response."
-    },
-    "fields": {
-      "type": "string",
-      "description": "Selector specifying which fields to include in a partial response.",
-      "location": "query"
-    },
-    "prettyPrint": {
-      "default": "true",
-      "type": "boolean",
-      "location": "query",
-      "description": "Returns response with indentations and line breaks."
-    },
-    "access_token": {
-      "description": "OAuth access token.",
-      "location": "query",
-      "type": "string"
-    },
-    "upload_protocol": {
-      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
-      "location": "query",
-      "type": "string"
-    },
-    "oauth_token": {
-      "description": "OAuth 2.0 token for the current user.",
-      "location": "query",
-      "type": "string"
-    },
-    "$.xgafv": {
-      "description": "V1 error format.",
-      "type": "string",
-      "enum": [
-        "1",
-        "2"
-      ],
-      "enumDescriptions": [
-        "v1 error format",
-        "v2 error format"
-      ],
-      "location": "query"
-    },
-    "quotaUser": {
-      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
-      "type": "string",
-      "location": "query"
-    },
-    "key": {
-      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
-      "type": "string",
-      "location": "query"
-    }
-  },
-  "name": "blogger",
-  "canonicalName": "Blogger"
-}
+  "version": "v2"
+}
\ No newline at end of file