1{
2 "kind": "discovery#restDescription",
3 "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/sAKs5msKBJR7SX4fg3Ahfyr5uno\"",
4 "discoveryVersion": "v1",
5 "id": "blogger:v2",
6 "name": "blogger",
7 "version": "v2",
8 "revision": "20140827",
9 "title": "Blogger API",
10 "description": "API for access to the data within Blogger.",
11 "ownerDomain": "google.com",
12 "ownerName": "Google",
13 "icons": {
14  "x16": "https://www.google.com/images/icons/product/blogger-16.png",
15  "x32": "https://www.google.com/images/icons/product/blogger-32.png"
16 },
17 "documentationLink": "https://developers.google.com/blogger/docs/2.0/json/getting_started",
18 "labels": [
19  "limited_availability"
20 ],
21 "protocol": "rest",
22 "baseUrl": "https://www.googleapis.com/blogger/v2/",
23 "basePath": "/blogger/v2/",
24 "rootUrl": "https://www.googleapis.com/",
25 "servicePath": "blogger/v2/",
26 "batchPath": "batch",
27 "parameters": {
28  "alt": {
29   "type": "string",
30   "description": "Data format for the response.",
31   "default": "json",
32   "enum": [
33    "json"
34   ],
35   "enumDescriptions": [
36    "Responses with Content-Type of application/json"
37   ],
38   "location": "query"
39  },
40  "fields": {
41   "type": "string",
42   "description": "Selector specifying which fields to include in a partial response.",
43   "location": "query"
44  },
45  "key": {
46   "type": "string",
47   "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.",
48   "location": "query"
49  },
50  "oauth_token": {
51   "type": "string",
52   "description": "OAuth 2.0 token for the current user.",
53   "location": "query"
54  },
55  "prettyPrint": {
56   "type": "boolean",
57   "description": "Returns response with indentations and line breaks.",
58   "default": "true",
59   "location": "query"
60  },
61  "quotaUser": {
62   "type": "string",
63   "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. Overrides userIp if both are provided.",
64   "location": "query"
65  },
66  "userIp": {
67   "type": "string",
68   "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
69   "location": "query"
70  }
71 },
72 "auth": {
73  "oauth2": {
74   "scopes": {
75    "https://www.googleapis.com/auth/blogger": {
76     "description": "Manage your Blogger account"
77    }
78   }
79  }
80 },
81 "schemas": {
82  "Blog": {
83   "id": "Blog",
84   "type": "object",
85   "properties": {
86    "description": {
87     "type": "string",
88     "description": "The description of this blog. This is displayed underneath the title."
89    },
90    "id": {
91     "type": "string",
92     "description": "The identifier for this resource.",
93     "format": "int64"
94    },
95    "kind": {
96     "type": "string",
97     "description": "The kind of this entry. Always blogger#blog",
98     "default": "blogger#blog"
99    },
100    "locale": {
101     "type": "object",
102     "description": "The locale this Blog is set to.",
103     "properties": {
104      "country": {
105       "type": "string",
106       "description": "The country this blog's locale is set to."
107      },
108      "language": {
109       "type": "string",
110       "description": "The language this blog is authored in."
111      },
112      "variant": {
113       "type": "string",
114       "description": "The language variant this blog is authored in."
115      }
116     }
117    },
118    "name": {
119     "type": "string",
120     "description": "The name of this blog. This is displayed as the title."
121    },
122    "pages": {
123     "type": "object",
124     "description": "The container of pages in this blog.",
125     "properties": {
126      "selfLink": {
127       "type": "string",
128       "description": "The URL of the container for pages in this blog."
129      },
130      "totalItems": {
131       "type": "integer",
132       "description": "The count of pages in this blog.",
133       "format": "int32"
134      }
135     }
136    },
137    "posts": {
138     "type": "object",
139     "description": "The container of posts in this blog.",
140     "properties": {
141      "selfLink": {
142       "type": "string",
143       "description": "The URL of the container for posts in this blog."
144      },
145      "totalItems": {
146       "type": "integer",
147       "description": "The count of posts in this blog.",
148       "format": "int32"
149      }
150     }
151    },
152    "published": {
153     "type": "string",
154     "description": "RFC 3339 date-time when this blog was published.",
155     "format": "date-time"
156    },
157    "selfLink": {
158     "type": "string",
159     "description": "The API REST URL to fetch this resource from."
160    },
161    "updated": {
162     "type": "string",
163     "description": "RFC 3339 date-time when this blog was last updated.",
164     "format": "date-time"
165    },
166    "url": {
167     "type": "string",
168     "description": "The URL where this blog is published."
169    }
170   }
171  },
172  "BlogList": {
173   "id": "BlogList",
174   "type": "object",
175   "properties": {
176    "items": {
177     "type": "array",
178     "description": "The list of Blogs this user has Authorship or Admin rights over.",
179     "items": {
180      "$ref": "Blog"
181     }
182    },
183    "kind": {
184     "type": "string",
185     "description": "The kind of this entity. Always blogger#blogList",
186     "default": "blogger#blogList"
187    }
188   }
189  },
190  "Comment": {
191   "id": "Comment",
192   "type": "object",
193   "properties": {
194    "author": {
195     "type": "object",
196     "description": "The author of this Comment.",
197     "properties": {
198      "displayName": {
199       "type": "string",
200       "description": "The display name."
201      },
202      "id": {
203       "type": "string",
204       "description": "The identifier of the Comment creator."
205      },
206      "image": {
207       "type": "object",
208       "description": "The comment creator's avatar.",
209       "properties": {
210        "url": {
211         "type": "string",
212         "description": "The comment creator's avatar URL."
213        }
214       }
215      },
216      "url": {
217       "type": "string",
218       "description": "The URL of the Comment creator's Profile page."
219      }
220     }
221    },
222    "blog": {
223     "type": "object",
224     "description": "Data about the blog containing this comment.",
225     "properties": {
226      "id": {
227       "type": "string",
228       "description": "The identifier of the blog containing this comment.",
229       "format": "int64"
230      }
231     }
232    },
233    "content": {
234     "type": "string",
235     "description": "The actual content of the comment. May include HTML markup."
236    },
237    "id": {
238     "type": "string",
239     "description": "The identifier for this resource.",
240     "format": "int64"
241    },
242    "inReplyTo": {
243     "type": "object",
244     "description": "Data about the comment this is in reply to.",
245     "properties": {
246      "id": {
247       "type": "string",
248       "description": "The identified of the parent of this comment.",
249       "format": "int64"
250      }
251     }
252    },
253    "kind": {
254     "type": "string",
255     "description": "The kind of this entry. Always blogger#comment",
256     "default": "blogger#comment"
257    },
258    "post": {
259     "type": "object",
260     "description": "Data about the post containing this comment.",
261     "properties": {
262      "id": {
263       "type": "string",
264       "description": "The identifier of the post containing this comment.",
265       "format": "int64"
266      }
267     }
268    },
269    "published": {
270     "type": "string",
271     "description": "RFC 3339 date-time when this comment was published.",
272     "format": "date-time"
273    },
274    "selfLink": {
275     "type": "string",
276     "description": "The API REST URL to fetch this resource from."
277    },
278    "updated": {
279     "type": "string",
280     "description": "RFC 3339 date-time when this comment was last updated.",
281     "format": "date-time"
282    }
283   }
284  },
285  "CommentList": {
286   "id": "CommentList",
287   "type": "object",
288   "properties": {
289    "items": {
290     "type": "array",
291     "description": "The List of Comments for a Post.",
292     "items": {
293      "$ref": "Comment"
294     }
295    },
296    "kind": {
297     "type": "string",
298     "description": "The kind of this entry. Always blogger#commentList",
299     "default": "blogger#commentList"
300    },
301    "nextPageToken": {
302     "type": "string",
303     "description": "Pagination token to fetch the next page, if one exists."
304    },
305    "prevPageToken": {
306     "type": "string",
307     "description": "Pagination token to fetch the previous page, if one exists."
308    }
309   }
310  },
311  "Page": {
312   "id": "Page",
313   "type": "object",
314   "properties": {
315    "author": {
316     "type": "object",
317     "description": "The author of this Page.",
318     "properties": {
319      "displayName": {
320       "type": "string",
321       "description": "The display name."
322      },
323      "id": {
324       "type": "string",
325       "description": "The identifier of the Page creator."
326      },
327      "image": {
328       "type": "object",
329       "description": "The page author's avatar.",
330       "properties": {
331        "url": {
332         "type": "string",
333         "description": "The page author's avatar URL."
334        }
335       }
336      },
337      "url": {
338       "type": "string",
339       "description": "The URL of the Page creator's Profile page."
340      }
341     }
342    },
343    "blog": {
344     "type": "object",
345     "description": "Data about the blog containing this Page.",
346     "properties": {
347      "id": {
348       "type": "string",
349       "description": "The identifier of the blog containing this page.",
350       "format": "int64"
351      }
352     }
353    },
354    "content": {
355     "type": "string",
356     "description": "The body content of this Page, in HTML."
357    },
358    "id": {
359     "type": "string",
360     "description": "The identifier for this resource.",
361     "format": "int64"
362    },
363    "kind": {
364     "type": "string",
365     "description": "The kind of this entity. Always blogger#page",
366     "default": "blogger#page"
367    },
368    "published": {
369     "type": "string",
370     "description": "RFC 3339 date-time when this Page was published.",
371     "format": "date-time"
372    },
373    "selfLink": {
374     "type": "string",
375     "description": "The API REST URL to fetch this resource from."
376    },
377    "title": {
378     "type": "string",
379     "description": "The title of this entity. This is the name displayed in the Admin user interface."
380    },
381    "updated": {
382     "type": "string",
383     "description": "RFC 3339 date-time when this Page was last updated.",
384     "format": "date-time"
385    },
386    "url": {
387     "type": "string",
388     "description": "The URL that this Page is displayed at."
389    }
390   }
391  },
392  "PageList": {
393   "id": "PageList",
394   "type": "object",
395   "properties": {
396    "items": {
397     "type": "array",
398     "description": "The list of Pages for a Blog.",
399     "items": {
400      "$ref": "Page"
401     }
402    },
403    "kind": {
404     "type": "string",
405     "description": "The kind of this entity. Always blogger#pageList",
406     "default": "blogger#pageList"
407    }
408   }
409  },
410  "Post": {
411   "id": "Post",
412   "type": "object",
413   "properties": {
414    "author": {
415     "type": "object",
416     "description": "The author of this Post.",
417     "properties": {
418      "displayName": {
419       "type": "string",
420       "description": "The display name."
421      },
422      "id": {
423       "type": "string",
424       "description": "The identifier of the Post creator."
425      },
426      "image": {
427       "type": "object",
428       "description": "The Post author's avatar.",
429       "properties": {
430        "url": {
431         "type": "string",
432         "description": "The Post author's avatar URL."
433        }
434       }
435      },
436      "url": {
437       "type": "string",
438       "description": "The URL of the Post creator's Profile page."
439      }
440     }
441    },
442    "blog": {
443     "type": "object",
444     "description": "Data about the blog containing this Post.",
445     "properties": {
446      "id": {
447       "type": "string",
448       "description": "The identifier of the Blog that contains this Post.",
449       "format": "int64"
450      }
451     }
452    },
453    "content": {
454     "type": "string",
455     "description": "The content of the Post. May contain HTML markup."
456    },
457    "id": {
458     "type": "string",
459     "description": "The identifier of this Post.",
460     "format": "int64"
461    },
462    "kind": {
463     "type": "string",
464     "description": "The kind of this entity. Always blogger#post",
465     "default": "blogger#post"
466    },
467    "labels": {
468     "type": "array",
469     "description": "The list of labels this Post was tagged with.",
470     "items": {
471      "type": "string"
472     }
473    },
474    "published": {
475     "type": "string",
476     "description": "RFC 3339 date-time when this Post was published.",
477     "format": "date-time"
478    },
479    "replies": {
480     "type": "object",
481     "description": "The container of comments on this Post.",
482     "properties": {
483      "selfLink": {
484       "type": "string",
485       "description": "The URL of the comments on this post."
486      },
487      "totalItems": {
488       "type": "string",
489       "description": "The count of comments on this post.",
490       "format": "int64"
491      }
492     }
493    },
494    "selfLink": {
495     "type": "string",
496     "description": "The API REST URL to fetch this resource from."
497    },
498    "title": {
499     "type": "string",
500     "description": "The title of the Post."
501    },
502    "updated": {
503     "type": "string",
504     "description": "RFC 3339 date-time when this Post was last updated.",
505     "format": "date-time"
506    },
507    "url": {
508     "type": "string",
509     "description": "The URL where this Post is displayed."
510    }
511   }
512  },
513  "PostList": {
514   "id": "PostList",
515   "type": "object",
516   "properties": {
517    "items": {
518     "type": "array",
519     "description": "The list of Posts for this Blog.",
520     "items": {
521      "$ref": "Post"
522     }
523    },
524    "kind": {
525     "type": "string",
526     "description": "The kind of this entity. Always blogger#postList",
527     "default": "blogger#postList"
528    },
529    "nextPageToken": {
530     "type": "string",
531     "description": "Pagination token to fetch the next page, if one exists."
532    },
533    "prevPageToken": {
534     "type": "string",
535     "description": "Pagination token to fetch the previous page, if one exists."
536    }
537   }
538  },
539  "User": {
540   "id": "User",
541   "type": "object",
542   "properties": {
543    "about": {
544     "type": "string",
545     "description": "Profile summary information."
546    },
547    "blogs": {
548     "type": "object",
549     "description": "The container of blogs for this user.",
550     "properties": {
551      "selfLink": {
552       "type": "string",
553       "description": "The URL of the Blogs for this user."
554      }
555     }
556    },
557    "created": {
558     "type": "string",
559     "description": "The timestamp of when this profile was created, in seconds since epoch.",
560     "format": "date-time"
561    },
562    "displayName": {
563     "type": "string",
564     "description": "The display name."
565    },
566    "id": {
567     "type": "string",
568     "description": "The identifier for this User."
569    },
570    "kind": {
571     "type": "string",
572     "description": "The kind of this entity. Always blogger#user",
573     "default": "blogger#user"
574    },
575    "locale": {
576     "type": "object",
577     "description": "This user's locale",
578     "properties": {
579      "country": {
580       "type": "string",
581       "description": "The user's country setting."
582      },
583      "language": {
584       "type": "string",
585       "description": "The user's language setting."
586      },
587      "variant": {
588       "type": "string",
589       "description": "The user's language variant setting."
590      }
591     }
592    },
593    "selfLink": {
594     "type": "string",
595     "description": "The API REST URL to fetch this resource from."
596    },
597    "url": {
598     "type": "string",
599     "description": "The user's profile page."
600    }
601   }
602  }
603 },
604 "resources": {
605  "blogs": {
606   "methods": {
607    "get": {
608     "id": "blogger.blogs.get",
609     "path": "blogs/{blogId}",
610     "httpMethod": "GET",
611     "description": "Gets one blog by id.",
612     "parameters": {
613      "blogId": {
614       "type": "string",
615       "description": "The ID of the blog to get.",
616       "required": true,
617       "location": "path"
618      }
619     },
620     "parameterOrder": [
621      "blogId"
622     ],
623     "response": {
624      "$ref": "Blog"
625     },
626     "scopes": [
627      "https://www.googleapis.com/auth/blogger"
628     ]
629    }
630   }
631  },
632  "comments": {
633   "methods": {
634    "get": {
635     "id": "blogger.comments.get",
636     "path": "blogs/{blogId}/posts/{postId}/comments/{commentId}",
637     "httpMethod": "GET",
638     "description": "Gets one comment by id.",
639     "parameters": {
640      "blogId": {
641       "type": "string",
642       "description": "ID of the blog to containing the comment.",
643       "required": true,
644       "location": "path"
645      },
646      "commentId": {
647       "type": "string",
648       "description": "The ID of the comment to get.",
649       "required": true,
650       "location": "path"
651      },
652      "postId": {
653       "type": "string",
654       "description": "ID of the post to fetch posts from.",
655       "required": true,
656       "location": "path"
657      }
658     },
659     "parameterOrder": [
660      "blogId",
661      "postId",
662      "commentId"
663     ],
664     "response": {
665      "$ref": "Comment"
666     },
667     "scopes": [
668      "https://www.googleapis.com/auth/blogger"
669     ]
670    },
671    "list": {
672     "id": "blogger.comments.list",
673     "path": "blogs/{blogId}/posts/{postId}/comments",
674     "httpMethod": "GET",
675     "description": "Retrieves the comments for a blog, possibly filtered.",
676     "parameters": {
677      "blogId": {
678       "type": "string",
679       "description": "ID of the blog to fetch comments from.",
680       "required": true,
681       "location": "path"
682      },
683      "fetchBodies": {
684       "type": "boolean",
685       "description": "Whether the body content of the comments is included.",
686       "location": "query"
687      },
688      "maxResults": {
689       "type": "integer",
690       "description": "Maximum number of comments to include in the result.",
691       "format": "uint32",
692       "location": "query"
693      },
694      "pageToken": {
695       "type": "string",
696       "description": "Continuation token if request is paged.",
697       "location": "query"
698      },
699      "postId": {
700       "type": "string",
701       "description": "ID of the post to fetch posts from.",
702       "required": true,
703       "location": "path"
704      },
705      "startDate": {
706       "type": "string",
707       "description": "Earliest date of comment to fetch, a date-time with RFC 3339 formatting.",
708       "format": "date-time",
709       "location": "query"
710      }
711     },
712     "parameterOrder": [
713      "blogId",
714      "postId"
715     ],
716     "response": {
717      "$ref": "CommentList"
718     },
719     "scopes": [
720      "https://www.googleapis.com/auth/blogger"
721     ]
722    }
723   }
724  },
725  "pages": {
726   "methods": {
727    "get": {
728     "id": "blogger.pages.get",
729     "path": "blogs/{blogId}/pages/{pageId}",
730     "httpMethod": "GET",
731     "description": "Gets one blog page by id.",
732     "parameters": {
733      "blogId": {
734       "type": "string",
735       "description": "ID of the blog containing the page.",
736       "required": true,
737       "location": "path"
738      },
739      "pageId": {
740       "type": "string",
741       "description": "The ID of the page to get.",
742       "required": true,
743       "location": "path"
744      }
745     },
746     "parameterOrder": [
747      "blogId",
748      "pageId"
749     ],
750     "response": {
751      "$ref": "Page"
752     },
753     "scopes": [
754      "https://www.googleapis.com/auth/blogger"
755     ]
756    },
757    "list": {
758     "id": "blogger.pages.list",
759     "path": "blogs/{blogId}/pages",
760     "httpMethod": "GET",
761     "description": "Retrieves pages for a blog, possibly filtered.",
762     "parameters": {
763      "blogId": {
764       "type": "string",
765       "description": "ID of the blog to fetch pages from.",
766       "required": true,
767       "location": "path"
768      },
769      "fetchBodies": {
770       "type": "boolean",
771       "description": "Whether to retrieve the Page bodies.",
772       "location": "query"
773      }
774     },
775     "parameterOrder": [
776      "blogId"
777     ],
778     "response": {
779      "$ref": "PageList"
780     },
781     "scopes": [
782      "https://www.googleapis.com/auth/blogger"
783     ]
784    }
785   }
786  },
787  "posts": {
788   "methods": {
789    "get": {
790     "id": "blogger.posts.get",
791     "path": "blogs/{blogId}/posts/{postId}",
792     "httpMethod": "GET",
793     "description": "Get a post by id.",
794     "parameters": {
795      "blogId": {
796       "type": "string",
797       "description": "ID of the blog to fetch the post from.",
798       "required": true,
799       "location": "path"
800      },
801      "postId": {
802       "type": "string",
803       "description": "The ID of the post",
804       "required": true,
805       "location": "path"
806      }
807     },
808     "parameterOrder": [
809      "blogId",
810      "postId"
811     ],
812     "response": {
813      "$ref": "Post"
814     },
815     "scopes": [
816      "https://www.googleapis.com/auth/blogger"
817     ]
818    },
819    "list": {
820     "id": "blogger.posts.list",
821     "path": "blogs/{blogId}/posts",
822     "httpMethod": "GET",
823     "description": "Retrieves a list of posts, possibly filtered.",
824     "parameters": {
825      "blogId": {
826       "type": "string",
827       "description": "ID of the blog to fetch posts from.",
828       "required": true,
829       "location": "path"
830      },
831      "fetchBodies": {
832       "type": "boolean",
833       "description": "Whether the body content of posts is included.",
834       "location": "query"
835      },
836      "maxResults": {
837       "type": "integer",
838       "description": "Maximum number of posts to fetch.",
839       "format": "uint32",
840       "location": "query"
841      },
842      "pageToken": {
843       "type": "string",
844       "description": "Continuation token if the request is paged.",
845       "location": "query"
846      },
847      "startDate": {
848       "type": "string",
849       "description": "Earliest post date to fetch, a date-time with RFC 3339 formatting.",
850       "format": "date-time",
851       "location": "query"
852      }
853     },
854     "parameterOrder": [
855      "blogId"
856     ],
857     "response": {
858      "$ref": "PostList"
859     },
860     "scopes": [
861      "https://www.googleapis.com/auth/blogger"
862     ]
863    }
864   }
865  },
866  "users": {
867   "methods": {
868    "get": {
869     "id": "blogger.users.get",
870     "path": "users/{userId}",
871     "httpMethod": "GET",
872     "description": "Gets one user by id.",
873     "parameters": {
874      "userId": {
875       "type": "string",
876       "description": "The ID of the user to get.",
877       "required": true,
878       "location": "path"
879      }
880     },
881     "parameterOrder": [
882      "userId"
883     ],
884     "response": {
885      "$ref": "User"
886     },
887     "scopes": [
888      "https://www.googleapis.com/auth/blogger"
889     ]
890    }
891   },
892   "resources": {
893    "blogs": {
894     "methods": {
895      "list": {
896       "id": "blogger.users.blogs.list",
897       "path": "users/{userId}/blogs",
898       "httpMethod": "GET",
899       "description": "Retrieves a list of blogs, possibly filtered.",
900       "parameters": {
901        "userId": {
902         "type": "string",
903         "description": "ID of the user whose blogs are to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier.",
904         "required": true,
905         "location": "path"
906        }
907       },
908       "parameterOrder": [
909        "userId"
910       ],
911       "response": {
912        "$ref": "BlogList"
913       },
914       "scopes": [
915        "https://www.googleapis.com/auth/blogger"
916       ]
917      }
918     }
919    }
920   }
921  }
922 }
923}
924