Skip to content

Instantly share code, notes, and snippets.

@keitaoouchi
Created May 15, 2018 10:37
Show Gist options
  • Save keitaoouchi/e65352efa0ff8957062e568ecf907151 to your computer and use it in GitHub Desktop.
Save keitaoouchi/e65352efa0ff8957062e568ecf907151 to your computer and use it in GitHub Desktop.
Swagger definition for Qiita API
swagger: '2.0'
info:
version: 0.0.1
title: Qiita API
host: 'qiita.com'
basePath: '/api/v2'
schemes:
- https
consumes:
- application/json
produces:
- application/json
paths:
'/access_token':
post:
parameters:
- in: body
name: credential
schema:
type: object
required:
- client_id
- client_secret
- code
properties:
client_id:
type: string
client_secret:
type: string
code:
type: string
responses:
'200':
description: 与えられた認証情報をもとに新しいアクセストークンを発行します。
'/access_token/{accessToken}':
delete:
parameters:
- in: path
name: accessToken
type: string
required: true
responses:
'200':
description: 指定されたアクセストークンを失効させ、それ以降利用できないようにします。
'/authenticated_user':
get:
responses:
'200':
description: 現在のアクセストークンで認証中のユーザを表します。通常のユーザ情報よりも詳細な情報を含んでいます。
schema:
$ref: '#/definitions/User'
'/tags/{tagId}/items':
get:
parameters:
- in: path
name: tagId
type: string
required: true
- $ref: '#/parameters/pageParam'
- $ref: '#/parameters/perPageParam'
responses:
'200':
description: 指定されたタグが付けられた投稿一覧を、タグを付けた日時の降順で返します。
schema:
title: タグ記事一覧
type: array
items:
$ref: '#/definitions/Item'
'/tags/{tagId}/following':
parameters:
- in: path
name: tagId
type: string
required: true
get:
responses:
'204':
description: タグをフォローしているかどうかを調べます。
delete:
responses:
'204':
description: タグのフォローを外します。
put:
responses:
'204':
description: タグをフォローします。
'/users/{userId}':
get:
parameters:
- in: path
name: userId
type: string
required: true
responses:
'200':
description: ユーザを取得します。
schema:
$ref: '#/definitions/User'
'/users/{userId}/items':
get:
parameters:
- in: path
name: userId
type: string
required: true
- $ref: '#/parameters/pageParam'
- $ref: '#/parameters/perPageParam'
responses:
'200':
description: ユーザの投稿の一覧を作成日時の降順で返します。
schema:
title: ユーザー記事一覧
type: array
items:
$ref: '#/definitions/Item'
'/users/{userId}/following_tags':
get:
parameters:
- in: path
name: userId
type: string
required: true
- $ref: '#/parameters/pageParam'
- $ref: '#/parameters/perPageParam'
responses:
'200':
description: ユーザがフォローしているタグ一覧をフォロー日時の降順で返します。
schema:
title: フォロータグ一覧
type: array
items:
$ref: '#/definitions/Tag'
'/users/{userId}/stocks':
get:
parameters:
- in: path
name: userId
type: string
required: true
- $ref: '#/parameters/pageParam'
- $ref: '#/parameters/perPageParam'
responses:
'200':
description: 指定されたユーザがストックした投稿一覧を、ストックした日時の降順で返します。
schema:
title: ストック記事一覧
type: array
items:
$ref: '#/definitions/Item'
'/items':
get:
parameters:
- $ref: '#/parameters/pageParam'
- $ref: '#/parameters/perPageParam'
- name: query
in: query
description: 検索クエリ
required: false
type: string
responses:
'200':
description: 投稿の一覧を作成日時の降順で返します。
schema:
title: 記事一覧
type: array
items:
$ref: '#/definitions/Item'
'/items/{itemId}/like':
parameters:
- in: path
name: itemId
type: string
required: true
get:
responses:
'204':
description: 投稿に「いいね!」を付けているかどうかを調べます。
delete:
responses:
'204':
description: 投稿への「いいね!」を取り消します。
put:
responses:
'204':
description: 投稿に「いいね!」を付けます。
'/items/{itemId}/stock':
parameters:
- in: path
name: itemId
type: string
required: true
get:
responses:
'204':
description: 投稿をストックしているかどうかを調べます。
delete:
responses:
'204':
description: 投稿をストックから取り除きます。
put:
responses:
'204':
description: 投稿をストックします。
parameters:
pageParam:
in: query
name: page
description: ページ番号 (1から100まで)
type: number
perPageParam:
in: query
name: per_page
description: 1ページあたりに含まれる要素数 (1から100まで)
type: number
definitions:
ErrorMessage:
description: エラーの内容を説明するmessageプロパティと、エラーの種類を表すtypeプロパティで構成されます
type: object
properties:
message:
type: string
type:
type: string
Group:
description: 'Qiita:Teamのグループを表します。'
type: object
properties:
created_at:
type: string
id:
type: integer
name:
type: string
private:
type: boolean
updated_at:
type: string
url_name:
type: string
Tag:
description: タグ
properties:
name:
type: string
example: Ruby
versions:
type: array
items:
type: string
example: 0.0.1
User:
properties:
description:
description: 自己紹介文
type: string
facebook_id:
type: string
followees_count:
description: このユーザがフォローしているユーザの数
type: integer
followers_count:
description: このユーザをフォローしているユーザの数
type: integer
github_login_name:
type: string
id:
type: string
items_count:
description: 'このユーザが qiita.com 上で公開している投稿の数 (Qiita:Teamでの投稿数は含まれません)'
type: integer
linkedin_id:
type: string
location:
type: string
name:
type: string
organization:
type: string
permanent_id:
description: ユーザごとに割り当てられる整数のID
type: integer
profile_image_url:
description: 設定しているプロフィール画像のURL
type: string
twitter_screen_name:
type: string
website_url:
type: string
Item:
type: object
properties:
rendered_body:
type: string
body:
type: string
coediting:
type: boolean
comments_count:
type: integer
created_at:
type: string
id:
type: string
likes_count:
type: string
private:
type: boolean
reactions_count:
type: integer
title:
type: string
updated_at:
type: string
url:
type: string
page_views_count:
type: integer
tags:
type: array
items:
$ref: '#/definitions/Tag'
user:
$ref: '#/definitions/User'
group:
$ref: '#/definitions/Group'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment