Google Blogger Blogs API

The Blogs API from Google Blogger — 8 operation(s) for blogs.

OpenAPI Specification

google-blogger-blogs-api-openapi.yml Raw ↑
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