Edited at

Qiita API v2 の概要(非公式)

More than 1 year has passed since last update.

Qiita API v2 の全体像を把握しやすいように下記をまとめました。


  • Qiita APIとは

  • 認証状態とユーザータイプによる違い

  • 認証認可

  • モデル一覧

  • API一覧

APIの詳細はQiita公式のAPIドキュメントを参照してください。


Qiita APIとは

Qiita API は、Qiitaが提供しているサービスから様々なデータの取得、投稿やストックなどの操作ができるWeb-APIです。


認証状態とユーザータイプによる違い

Qiita APIはQiitaのアカウントがなくても使用できますが、アカウントの認証を行うことでより多くの機能が使用できます。


  • 未認証

    投稿やユーザーなどのデータ取得のみ実行できます。

  • Qiitaアカウントで認証済み

    投稿やストックなど、アカウントに紐付いた操作が実行できます。

  • Qiita:Teamに所属するQiitaアカウントで認証済み(以下、Qiita:Teamアカウント)

    所属しているチームのプロジェクトやテンプレートの操作が可能です。


認証認可

認証はアクセストークンをリクエストに含めることで行います。

アクセストークンは、OAuthを利用した認可フローか、ユーザの管理画面から発行できます。

詳細は公式ドキュメントの認証認可を参照して下さい。


モデル一覧

Qiita APIで取得/登録が可能なデータモデルの一覧と公式ドキュメントへのリンクです。

説明文は公式ドキュメントからそのまま引用しました。


Qiitaアカウント向けモデル



  • コメント

    投稿に付けられたコメントを表します。


  • タギング

    投稿とタグとの関連を表します。


  • タグ

    投稿に付けられた個々のタグを表します。


  • ユーザ

    Qiita上のユーザを表します。


  • 投稿

    ユーザからの投稿を表します。


  • 認証中のユーザ

    現在のアクセストークンで認証中のユーザを表します。通常のユーザ情報よりも詳細な情報を含んでいます。


Qiita:Teamアカウント向けモデル



  • いいね

    投稿につけられた「いいね!」を表します。


  • グループ

    Qiita:Teamのグループを表します。


  • チーム

    Qiita:Team上で所属しているチームを表します。Qiita:Teamでのみ有効です。


  • テンプレート

    投稿のひな形に利用できるテンプレートを表します。Qiita:Teamでのみ有効です。


  • プロジェクト

    Qiita:Team上でのプロジェクトを表します。Qiita:Teamでのみ有効です。


  • 展開済みテンプレート

    テンプレートを保存する前に変数展開後の状態をプレビューできます。Qiita:Teamでのみ有効です。


API一覧

APIの一覧と公式ドキュメントへのリンクです。


認証認可API

メソッド
URI
内容

GET
/api/v2/oauth/authorize
OAuth認証画面を開きます。

POST
/api/v2/access_tokens
与えられた認証情報をもとに新しいアクセストークンを発行します。

DELETE
/api/v2/access_tokens/:access_token
指定されたアクセストークンを失効させ、それ以降利用できないようにします。


未認証でも使用可能なAPI

メソッド
URI
内容

GET
/api/v2/comments/:comment_id
コメントを取得します。

GET
/api/v2/items/:item_id/comments
投稿に付けられたコメント一覧を投稿日時の降順で取得します。

GET
/api/v2/tags
タグ一覧を作成日時の降順で返します。

GET
/api/v2/tags/:tag_id
タグを取得します。

GET
/api/v2/users/:user_id/following_tags
ユーザがフォローしているタグ一覧をフォロー日時の降順で返します。

GET
/api/v2/items/:item_id/stockers
投稿をストックしているユーザ一覧を、ストックした日時の降順で返します。

GET
/api/v2/users
全てのユーザの一覧を作成日時の降順で取得します。

GET
/api/v2/users/:user_id
ユーザを取得します。

GET
/api/v2/users/:user_id/followees
ユーザがフォローしているユーザ一覧を取得します。

GET
/api/v2/users/:user_id/followers
ユーザをフォローしているユーザ一覧を取得します。

GET
/api/v2/items
投稿の一覧を作成日時の降順で返します。

GET
/api/v2/items/:item_id
投稿を取得します。

GET
/api/v2/tags/:tag_id/items
指定されたタグが付けられた投稿一覧を、タグを付けた日時の降順で返します。

GET
/api/v2/users/:user_id/items
指定されたユーザの投稿一覧を、作成日時の降順で返します。

GET
/api/v2/users/:user_id/stocks
指定されたユーザがストックした投稿一覧を、ストックした日時の降順で返します。


Qiitaアカウント向けAPI

メソッド
URI
内容

DELETE
/api/v2/comments/:comment_id
コメントを削除します。

PATCH
/api/v2/comments/:comment_id
コメントを更新します。

DELETE
/api/v2/comments/:comment_id/thank
コメントからThankを外します。

PUT
/api/v2/comments/:comment_id/thank
コメントにThankを付けます。

POST
/api/v2/items/:item_id/comments
投稿に対してコメントを投稿します。

DELETE
/api/v2/tags/:tag_id/following
タグのフォローを外します。

GET
/api/v2/tags/:tag_id/following
タグをフォローしているかどうかを調べます。

PUT
/api/v2/tags/:tag_id/following
タグをフォローします。

DELETE
/api/v2/users/:user_id/following
ユーザへのフォローを外します。

GET
/api/v2/users/:user_id/following
ユーザをフォローしている場合に204を返します。

PUT
/api/v2/users/:user_id/following
ユーザをフォローします。

GET
/api/v2/authenticated_user/items
認証中のユーザの投稿の一覧を作成日時の降順で返します。

POST
/api/v2/items
新たに投稿を作成します。

DELETE
/api/v2/items/:item_id
投稿を削除します。

PATCH
/api/v2/items/:item_id
投稿を更新します。

DELETE
/api/v2/items/:item_id/stock
投稿をストックから取り除きます。

GET
/api/v2/items/:item_id/stock
投稿をストックしているかどうかを調べます。

PUT
/api/v2/items/:item_id/stock
投稿をストックします。

GET
/api/v2/authenticated_user
アクセストークンに紐付いたユーザを返します。


Qiita:Teamアカウント向けAPI

メソッド
URI
内容

GET
/api/v2/items/:item_id/likes
投稿につけられた「いいね!」を作成日時の降順で返します。

POST
/api/v2/items/:item_id/taggings
投稿にタグを追加します。Qiita:Teamでのみ有効です。

DELETE
/api/v2/items/:item_id/taggings/:tagging_id
投稿から指定されたタグを取り除きます。Qiita:Teamでのみ有効です。

GET
/api/v2/teams
ユーザが所属している全てのチームを、チーム作成日時の降順で返します。

GET
/api/v2/templates
チーム内のテンプレート一覧を返します。

DELETE
/api/v2/templates/:template_id
テンプレートを削除します。

GET
/api/v2/templates/:template_id
テンプレートを取得します。

POST
/api/v2/templates
新しくテンプレートを作成します。

PATCH
/api/v2/templates/:template_id
テンプレートを更新します。

GET
/api/v2/projects
チーム内に存在するプロジェクト一覧をプロジェクト作成日時の降順で返します。

POST
/api/v2/projects
プロジェクトを新たに作成します。

DELETE
/api/v2/projects/:project_id
プロジェクトを削除します。

GET
/api/v2/projects/:project_id
プロジェクトを返します。

PATCH
/api/v2/projects/:project_id
プロジェクトを更新します。

POST
/api/v2/expanded_templates
受け取ったテンプレート用文字列の変数を展開して返します。

DELETE
/api/v2/items/:item_id/like
投稿への「いいね!」を取り消します。Qiita:Teamでのみ有効です。

PUT
/api/v2/items/:item_id/like
投稿に「いいね!」を付けます。Qiita:Teamでのみ有効です。

GET
/api/v2/items/:item_id/like
投稿に「いいね!」を付けているかどうかを調べます。