Help us understand the problem. What is going on with this article?

Qiita API v2 の概要(非公式)

More than 3 years have 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 投稿に「いいね!」を付けているかどうかを調べます。
tag1216
Qiita戦闘力はキュイレベルです! /作ったもの ◆QiiTrend:https://qiitrend.herokuapp.com/ ◆Qiiner:https://qiiner.tag1216.net/ ◆Qiitaでいいねしたら草生えるページ:https://qiiner.tag1216.net/likes-heatmap
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away