Google Blogger Pages API
The Pages API from Google Blogger — 4 operation(s) for pages.
The Pages API from Google Blogger — 4 operation(s) for pages.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/google-blogger:google-blogger-pages-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.0
info:
title: Blogger API Pages API
version: v3
description: Generated from Google's published Discovery document for Blogger API (blogger v3, revision 20261110). 8 operation(s).
contact:
name: Google
url: https://developers.google.com/
termsOfService: https://developers.google.com/terms
externalDocs:
url: https://developers.google.com/blogger/docs/3.0/getting_started
servers:
- url: https://blogger.googleapis.com
paths:
/v3/blogs/{blogId}/pages/{pageId}:
patch:
operationId: blogger.pages.patch
summary: Patch pages
description: Patches a page.
parameters:
- name: blogId
in: path
required: true
description: Resource name segment (blogId).
schema:
type: string
- name: pageId
in: path
required: true
description: Resource name segment (pageId).
schema:
type: string
- name: publish
in: query
required: false
schema:
type: boolean
- name: revert
in: query
required: false
schema:
type: boolean
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
4XX:
content: &id001
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content: *id001
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/blogger
- apiKey: []
tags:
- Pages
delete:
operationId: blogger.pages.delete
summary: Delete pages
description: Deletes a page by blog id and page id.
parameters:
- name: blogId
in: path
required: true
description: Resource name segment (blogId).
schema:
type: string
- name: pageId
in: path
required: true
description: Resource name segment (pageId).
schema:
type: string
- name: useTrash
in: query
required: false
description: Move to Trash if possible
schema:
type: boolean
responses:
'200':
description: Successful response
4XX:
content: &id002
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content: *id002
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/blogger
- apiKey: []
tags:
- Pages
put:
operationId: blogger.pages.update
summary: Update pages
description: Updates a page by blog id and page id.
parameters:
- name: blogId
in: path
required: true
description: Resource name segment (blogId).
schema:
type: string
- name: pageId
in: path
required: true
description: Resource name segment (pageId).
schema:
type: string
- name: publish
in: query
required: false
schema:
type: boolean
- name: revert
in: query
required: false
schema:
type: boolean
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
4XX:
content: &id003
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content: *id003
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/blogger
- apiKey: []
tags:
- Pages
get:
operationId: blogger.pages.get
summary: Get pages
description: Gets a page by blog id and page id.
parameters:
- name: blogId
in: path
required: true
description: Resource name segment (blogId).
schema:
type: string
- name: pageId
in: path
required: true
description: Resource name segment (pageId).
schema:
type: string
- name: view
in: query
required: false
schema:
type: string
enum:
- VIEW_TYPE_UNSPECIFIED
- READER
- AUTHOR
- ADMIN
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
4XX:
content: &id004
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content: *id004
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/blogger
- https://www.googleapis.com/auth/blogger.readonly
- apiKey: []
tags:
- Pages
/v3/blogs/{blogId}/pages/{pageId}/revert:
post:
operationId: blogger.pages.revert
summary: Revert pages
description: Reverts a published or scheduled page to draft state.
parameters:
- name: blogId
in: path
required: true
description: Resource name segment (blogId).
schema:
type: string
- name: pageId
in: path
required: true
description: Resource name segment (pageId).
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
4XX:
content: &id005
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content: *id005
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/blogger
- apiKey: []
tags:
- Pages
/v3/blogs/{blogId}/pages:
get:
operationId: blogger.pages.list
summary: List pages
description: Lists pages.
parameters:
- name: blogId
in: path
required: true
description: Resource name segment (blogId).
schema:
type: string
- name: fetchBodies
in: query
required: false
schema:
type: boolean
- name: maxResults
in: query
required: false
schema:
format: uint32
type: integer
- name: pageToken
in: query
required: false
schema:
type: string
- name: status
in: query
required: false
schema:
type: array
items:
type: string
enum:
- LIVE
- DRAFT
- SOFT_TRASHED
- name: view
in: query
required: false
schema:
enum:
- VIEW_TYPE_UNSPECIFIED
- READER
- AUTHOR
- ADMIN
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/PageList'
4XX:
content: &id006
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content: *id006
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/blogger
- https://www.googleapis.com/auth/blogger.readonly
- apiKey: []
tags:
- Pages
post:
operationId: blogger.pages.insert
summary: Insert pages
description: Inserts a page.
parameters:
- name: blogId
in: path
required: true
description: Resource name segment (blogId).
schema:
type: string
- name: isDraft
in: query
required: false
schema:
type: boolean
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
4XX:
content: &id007
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content: *id007
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/blogger
- apiKey: []
tags:
- Pages
/v3/blogs/{blogId}/pages/{pageId}/publish:
post:
operationId: blogger.pages.publish
summary: Publish pages
description: Publishes a page.
parameters:
- name: blogId
in: path
required: true
description: Resource name segment (blogId).
schema:
type: string
- name: pageId
in: path
required: true
description: Resource name segment (pageId).
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
4XX:
content: &id008
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content: *id008
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/blogger
- apiKey: []
tags:
- Pages
components:
securitySchemes:
apiKey:
type: apiKey
in: query
name: key
description: API key; accepted by methods that do not need user data.
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
schemas:
GoogleRpcError:
type: object
description: The error envelope every Google API returns.
properties:
error:
type: object
properties:
code:
type: integer
message:
type: string
status:
type: string
details:
type: array
items:
type: object
Page:
properties:
selfLink:
description: The API REST URL to fetch this resource from.
type: string
content:
type: string
description: The body content of this Page, in HTML.
id:
description: The identifier for this resource.
type: string
author:
description: The author of this Page.
properties:
url:
description: The URL of the creator's Profile page.
type: string
image:
type: object
description: The creator's avatar.
properties:
url:
description: The creator's avatar URL.
type: string
displayName:
type: string
description: The display name.
id:
description: The identifier of the creator.
type: string
type: object
etag:
type: string
description: Etag of the resource.
published:
type: string
description: RFC 3339 date-time when this Page was published.
trashed:
description: RFC 3339 date-time when this Page was trashed.
type: string
updated:
type: string
description: RFC 3339 date-time when this Page was last updated.
status:
type: string
description: The status of the page for admin resources (either LIVE or DRAFT).
enum:
- LIVE
- DRAFT
- SOFT_TRASHED
title:
type: string
description: The title of this entity. This is the name displayed in the Admin user interface.
blog:
description: Data about the blog containing this Page.
properties:
id:
description: The identifier of the blog containing this page.
type: string
type: object
kind:
description: The kind of this entity. Always blogger#page.
type: string
url:
description: The URL that this Page is displayed at.
type: string
type: object
PageList:
properties:
etag:
type: string
description: Etag of the response.
items:
description: The list of Pages for a Blog.
type: array
items:
$ref: '#/components/schemas/Page'
nextPageToken:
type: string
description: Pagination token to fetch the next page, if one exists.
kind:
type: string
description: The kind of this entity. Always blogger#pageList.
type: object
x-provenance:
method: harvested
publisher: Google
source: https://blogger.googleapis.com/$discovery/rest?version=v3
note: converted by discovery-to-openapi.py from Google's Discovery document (revision 20261110)