swagger: '2.0' info: title: Dotclear API description: Manage your(s) blogs with this API version: 0.0.1 host: dotclear.localhost schemes: - http basePath: /dotclear/index.php?rest produces: - application/json paths: /specs: get: summary: Get this API SWAGGER documentation responses: '200': description: swagger.json schema: title: doc type: string default: description: Unexpected error schema: $ref: '#/definitions/Error' /blogs: get: summary: Get list of availables blogs parameters: - name: x_dc_key in: header required: false type: string responses: '200': description: array serving blogs properties schema: type: array items: type: string default: description: Unexpected error schema: $ref: '#/definitions/Error' post: summary: Create a new blog parameters: - name: x_dc_key in: header type: string required: true - name: blog in: body description: The blog you want to create schema: $ref: '#/definitions/blog' required: true responses: '201': description: 'Success, array containing the new blog''s identifiant' schema: type: object properties: code: type: integer blog_id: type: integer message: type: string default: description: Unexpected error schema: $ref: '#/definitions/Error' '/blogs/{blog-id}': get: summary: Get a blog poperties parameters: - name: x_dc_key in: header type: string required: false - name: blog-id in: path type: string required: true responses: '200': description: 'Core blog properties. use {blog_id}/settings methods for more settings.' schema: $ref: '#/definitions/blogProperties' '404': description: this blog id does not exists default: description: Unexpected error schema: $ref: '#/definitions/Error' patch: summary: Update part of blog properties parameters: - name: x_dc_key in: header type: string required: true - name: blog-id in: path type: string required: true - name: blog in: body description: This list of parameters is not exhaustive required: true schema: $ref: '#/definitions/blogProperties' responses: '200': description: array containing the edited blog's identifiant schema: $ref: '#/definitions/Ids' '404': description: this blog id does not exists default: description: Unexpected error schema: $ref: '#/definitions/Error' put: summary: 'Overwrite blog Properties (if an optional parameter is not set, his value will be erased by the default value)' parameters: - name: x_dc_key in: header type: string required: true - name: blog-id in: path type: string required: true - name: blog in: body description: This list of parameters is not exhaustive required: true schema: $ref: '#/definitions/blogPropertiesPut' responses: '200': description: array containing the edited blog's identifiant schema: $ref: '#/definitions/Ids' '404': description: this blog id does not exists default: description: Unexpected error schema: $ref: '#/definitions/Error' delete: summary: Delete this blog parameters: - name: x_dc_key in: header type: string required: true - name: blog-id in: path type: string required: true responses: '200': description: array containing the deleted blog's identifiant schema: $ref: '#/definitions/Ids' '404': description: this blog id does not exists default: description: Unexpected error schema: $ref: '#/definitions/Error' '/{blog_id}/settings': get: summary: 'Get the about:config' description: Get all parameters parameters: - name: x_dc_key in: header type: string required: true - name: blog_id in: path type: string required: true responses: '200': description: OK '404': description: this blog id does not exists default: description: Unexpected error schema: $ref: '#/definitions/Error' '/{blog-id}/posts': get: summary: Get list of posts parameters: - name: x_dc_key in: header type: string required: true - name: blog-id in: path type: string required: true - name: filters in: query description: sql like filters type: array items: type: string required: false - name: fields in: query type: array items: type: string required: false description: 'Fields you want to get. If unset, fields are post_id, post_url, post_status, post_title, post_date' responses: '200': description: list of posts schema: title: posts type: array items: $ref: '#/definitions/dc_post' default: description: Unexpected error schema: $ref: '#/definitions/Error' post: summary: Create a new post parameters: - name: x_dc_key in: header type: string required: true - name: blog-id in: path type: string required: true - name: properties in: body description: Some non required fields you don't define will be set (default value) by the API schema: $ref: '#/definitions/new_dc_post' responses: '200': description: Id of newly created post schema: $ref: '#/definitions/Ids' default: description: Unexpected error schema: $ref: '#/definitions/Error' '/{blog-id}/posts/{post-id}': get: summary: Get a post entry parameters: - name: x_dc_key in: header type: string required: false - name: blog-id in: path type: string required: true - name: post-id in: path type: string required: true - name: filters in: query description: sql like filters type: array items: type: string required: false - name: fields in: query type: array items: type: string required: false description: 'Fields you want to get. If unset, all available fields will be get.' responses: '200': description: The post values schema: $ref: '#/definitions/dc_post' default: description: Unexpected error schema: $ref: '#/definitions/Error' patch: summary: Update part of a post entry's properties parameters: - name: x_dc_key in: header type: string required: true - name: blog-id in: path type: string required: true - name: post-id in: path type: string required: true - name: properties in: body schema: $ref: '#/definitions/dc_post' responses: '200': description: array containing the updated post's id schema: $ref: '#/definitions/Ids' '404': description: this post does not exists default: description: Unexpected error schema: $ref: '#/definitions/Error' put: summary: Update full blog properties. Unsetted parameters will be erased parameters: - name: x_dc_key in: header type: string required: true - name: blog-id in: path type: string required: true - name: post-id in: path type: string required: true - name: properties in: body schema: $ref: '#/definitions/new_dc_post' responses: '200': description: array containing the updated post's id schema: $ref: '#/definitions/Ids' '404': description: this post does not exists default: description: Unexpected error schema: $ref: '#/definitions/Error' delete: summary: Delete the post parameters: - name: x_dc_key in: header type: string required: true - name: blog-id in: path type: string required: true - name: post-id in: path type: string required: true responses: '200': description: array containing the deleted post's id schema: $ref: '#/definitions/Ids' '404': description: this post does not exists default: description: Unexpected error schema: $ref: '#/definitions/Error' '/{blog-id}/categories': get: summary: Get list of available categories parameters: - name: x_dc_key in: header type: string required: false - name: blog-id in: path type: string required: true responses: '200': description: array containing the categories properties schema: title: categories type: array items: $ref: '#/definitions/category' default: description: Unexpected error schema: $ref: '#/definitions/Error' post: summary: Create a new category parameters: - name: x_dc_key in: header type: string required: true - name: blog-id in: path type: string required: true - name: properties in: body schema: $ref: '#/definitions/new_category' responses: '200': description: array containing the created category id schema: $ref: '#/definitions/Ids' default: description: Unexpected error schema: $ref: '#/definitions/Error' '/{blog-id}/categories/{cat-id}': get: summary: get one category properties parameters: - name: x_dc_key in: header type: string required: false - name: blog-id in: path type: string required: true - name: cat-id in: path type: string required: true responses: '200': description: array containing the created category properties schema: $ref: '#/definitions/category' default: description: Unexpected error schema: $ref: '#/definitions/Error' patch: summary: Update some attributes parameters: - name: blog-id in: path type: string required: true - name: cat-id in: path type: string required: true - name: category in: body schema: $ref: '#/definitions/category' responses: '200': description: array containing the modified category id schema: $ref: '#/definitions/Ids' default: description: Unexpected error schema: $ref: '#/definitions/Error' definitions: blog: type: object required: - blog_id - blog_name - blog_url properties: blog_id: type: string blog_name: type: string blog_url: type: string blog_desc: type: string lang: type: string blog_timezone: type: string url_scan: type: string enum: - query_string - path_info Ids: type: object properties: id: type: integer description: New blog id blogPropertiesPut: required: - blog_id - blog_name - blog_url - blog_desc type: object properties: blog_id: type: string blog_name: type: string blog_url: type: string blog_desc: type: string blogProperties: type: object properties: blog_id: type: string blog_name: type: string blog_url: type: string blog_desc: type: string new_dc_post: type: object required: - post_content - post_title properties: cat_id: type: string post_dt: type: string post_tz: type: string post_creadt: type: string post_upddt: type: string post_password: type: string post_type: type: string post_format: type: string post_url: type: string post_lang: type: string post_title: type: string post_excerpt: type: string post_excerpt_xhtml: type: string post_content: type: string post_content_xhtml: type: string post_notes: type: string post_meta: type: string post_words: type: string post_status: type: string enum: - Pending - Scheduled - Unpublished - Published post_selected: type: boolean post_position: type: string post_open_comment: type: boolean post_open_tb: type: boolean dc_post: type: object properties: post_id: type: string blog_id: type: string user_id: type: string cat_id: type: string post_dt: type: string post_tz: type: string post_creadt: type: string post_upddt: type: string post_password: type: string post_type: type: string post_format: type: string post_url: type: string post_lang: type: string post_title: type: string post_excerpt: type: string post_excerpt_xhtml: type: string post_content: type: string post_content_xhtml: type: string post_notes: type: string post_meta: type: string post_words: type: string post_status: type: string enum: - Pending - Scheduled - Unpublished - Published post_selected: type: boolean post_position: type: string post_open_comment: type: boolean post_open_tb: type: boolean nb_comment: type: integer nb_trackback: type: integer post_firstpub: type: string category: type: object properties: cat_id: type: integer cat_title: type: string cat_url: type: string cat_desc: type: string cat_position: type: integer temporary: type: boolean new_category: type: object required: - cat_title properties: cat_title: type: string cat_url: type: string cat_desc: type: string cat_position: type: integer temporary: type: boolean Error: type: object properties: code: type: integer format: int32 message: type: string fields: type: string