openapi: 3.1.0 info: title: Google Blogger Blogs API description: The Blogger API v3 allows you to create, read, update, and delete Blogger resources including blogs, posts, pages, comments, and users. You can integrate Blogger content into your application using RESTful operations. version: v3 contact: name: Google url: https://developers.google.com/blogger servers: - url: https://www.googleapis.com/blogger/v3 security: - oauth2: [] - apiKey: [] tags: - name: Blogs paths: /blogs/{blogId}: get: operationId: getBlog summary: Get a blog description: Gets a blog by ID. parameters: - name: blogId in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Blog' tags: - Blogs /blogs/byurl: get: operationId: getBlogByUrl summary: Get a blog by URL description: Gets a blog by URL. parameters: - name: url in: query required: true schema: type: string format: uri responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Blog' tags: - Blogs /blogs/{blogId}/posts: get: operationId: listPosts summary: List posts description: Lists posts for a blog. parameters: - name: blogId in: path required: true schema: type: string - name: maxResults in: query schema: type: integer - name: pageToken in: query schema: type: string - name: labels in: query schema: type: string - name: startDate in: query schema: type: string format: date-time - name: endDate in: query schema: type: string format: date-time - name: status in: query schema: type: string enum: - draft - live - scheduled - name: orderBy in: query schema: type: string enum: - published - updated responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PostListResponse' tags: - Blogs post: operationId: insertPost summary: Create a post description: Adds a post to a blog. parameters: - name: blogId in: path required: true schema: type: string - name: isDraft in: query schema: type: boolean requestBody: content: application/json: schema: $ref: '#/components/schemas/Post' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Post' tags: - Blogs /blogs/{blogId}/posts/{postId}: get: operationId: getPost summary: Get a post description: Gets a post by blog ID and post ID. parameters: - name: blogId in: path required: true schema: type: string - name: postId in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Post' tags: - Blogs put: operationId: updatePost summary: Update a post description: Updates a post by blog ID and post ID. parameters: - name: blogId in: path required: true schema: type: string - name: postId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Post' responses: '200': description: Successful response tags: - Blogs patch: operationId: patchPost summary: Patch a post description: Patches a post. parameters: - name: blogId in: path required: true schema: type: string - name: postId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Post' responses: '200': description: Successful response tags: - Blogs delete: operationId: deletePost summary: Delete a post description: Deletes a post by blog ID and post ID. parameters: - name: blogId in: path required: true schema: type: string - name: postId in: path required: true schema: type: string responses: '204': description: Successful deletion tags: - Blogs /blogs/{blogId}/posts/search: get: operationId: searchPosts summary: Search posts description: Searches for posts matching the given query terms in a blog. parameters: - name: blogId in: path required: true schema: type: string - name: q in: query required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PostListResponse' tags: - Blogs /blogs/{blogId}/pages: get: operationId: listPages summary: List pages description: Lists pages for a blog. parameters: - name: blogId in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PageListResponse' tags: - Blogs post: operationId: insertPage summary: Create a page description: Adds a page to a blog. parameters: - name: blogId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Page' responses: '200': description: Successful response tags: - Blogs /blogs/{blogId}/posts/{postId}/comments: get: operationId: listComments summary: List comments description: Lists comments for a post. parameters: - name: blogId in: path required: true schema: type: string - name: postId in: path required: true schema: type: string - name: maxResults in: query schema: type: integer - name: pageToken in: query schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/CommentListResponse' tags: - Blogs /blogs/{blogId}/posts/{postId}/comments/{commentId}: get: operationId: getComment summary: Get a comment description: Gets a comment by ID. parameters: - name: blogId in: path required: true schema: type: string - name: postId in: path required: true schema: type: string - name: commentId in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Comment' tags: - Blogs delete: operationId: deleteComment summary: Delete a comment description: Deletes a comment by blog ID, post ID, and comment ID. parameters: - name: blogId in: path required: true schema: type: string - name: postId in: path required: true schema: type: string - name: commentId in: path required: true schema: type: string responses: '204': description: Successful deletion tags: - Blogs components: schemas: PostListResponse: type: object properties: kind: type: string nextPageToken: type: string items: type: array items: $ref: '#/components/schemas/Post' Post: type: object properties: kind: type: string const: blogger#post id: type: string blog: type: object properties: id: type: string published: type: string format: date-time updated: type: string format: date-time url: type: string format: uri selfLink: type: string format: uri title: type: string content: type: string author: type: object properties: id: type: string displayName: type: string url: type: string format: uri image: type: object properties: url: type: string format: uri labels: type: array items: type: string replies: type: object properties: totalItems: type: string selfLink: type: string format: uri status: type: string enum: - LIVE - DRAFT - SCHEDULED PageListResponse: type: object properties: kind: type: string items: type: array items: $ref: '#/components/schemas/Page' Blog: type: object properties: kind: type: string const: blogger#blog id: type: string name: type: string description: type: string published: type: string format: date-time updated: type: string format: date-time url: type: string format: uri selfLink: type: string format: uri posts: type: object properties: totalItems: type: integer selfLink: type: string format: uri pages: type: object properties: totalItems: type: integer selfLink: type: string format: uri locale: type: object properties: language: type: string country: type: string CommentListResponse: type: object properties: kind: type: string nextPageToken: type: string items: type: array items: $ref: '#/components/schemas/Comment' Page: type: object properties: kind: type: string const: blogger#page id: type: string blog: type: object properties: id: type: string published: type: string format: date-time updated: type: string format: date-time url: type: string format: uri selfLink: type: string format: uri title: type: string content: type: string author: type: object properties: id: type: string displayName: type: string url: type: string format: uri status: type: string enum: - LIVE - DRAFT Comment: type: object properties: kind: type: string const: blogger#comment id: type: string post: type: object properties: id: type: string blog: type: object properties: id: type: string published: type: string format: date-time updated: type: string format: date-time selfLink: type: string format: uri content: type: string author: type: object properties: id: type: string displayName: type: string url: type: string format: uri status: type: string enum: - LIVE - EMPTIED - PENDING - SPAM securitySchemes: oauth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://accounts.google.com/o/oauth2/auth tokenUrl: https://oauth2.googleapis.com/token scopes: https://www.googleapis.com/auth/blogger: Manage your Blogger account https://www.googleapis.com/auth/blogger.readonly: View your Blogger account apiKey: type: apiKey in: query name: key