Qiita API v2 JSON Schema

In this schema file, we represents the public interface of Qiita API v2 in JSON Hyper Schema draft v4.

Access token

Access token for Qiita API v2

Properties

  • client_id
  • An unique ID to identify a registered client
  • Example: "a91f0396a0968ff593eafdd194e3d17d32c41b1da7b25e873b42e9058058cd9d"
  • Type: string
  • Pattern: /^[0-9a-f]{40}$/
  • scopes
  • Authorized action scopes of the access token
  • Type: array
  • token
  • Access token identifier string
  • Example: "ea5d0a593b2655e9568f144fb1826342292f5c6b7d406fda00577b8d1530d8a5"
  • Type: string
  • Pattern: /^[0-9a-f]{40}$/

POST /api/v2/access_tokens

Create a new access token.

  • client_id
  • An unique ID to identify a registered client
  • Example: "a91f0396a0968ff593eafdd194e3d17d32c41b1da7b25e873b42e9058058cd9d"
  • Type: string
  • Pattern: /^[0-9a-f]{40}$/
  • client_secret
  • A secret key to authenticate a registered API client
  • Example: "01fc259c31fe39e72c8ef911c3432a33d51e9337ff34c4fac86c491a0d37251f"
  • Type: string
  • Pattern: /^[0-9a-f]{40}$/
  • code
  • A temporary secret code to exchange with an access token
  • Example: "fefef5f067171f247fb415e38cb0631797b82f4141dcdee66db846c3ade57a03"
  • Type: string
  • Pattern: /^[0-9a-f]{40}$/
POST /api/v2/access_tokens HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "client_id": "a91f0396a0968ff593eafdd194e3d17d32c41b1da7b25e873b42e9058058cd9d",
  "client_secret": "01fc259c31fe39e72c8ef911c3432a33d51e9337ff34c4fac86c491a0d37251f",
  "code": "fefef5f067171f247fb415e38cb0631797b82f4141dcdee66db846c3ade57a03"
}
HTTP/1.1 201 Created
Content-Type: application/json

{
  "client_id": "a91f0396a0968ff593eafdd194e3d17d32c41b1da7b25e873b42e9058058cd9d",
  "scopes": [
    "read_qiita"
  ],
  "token": "ea5d0a593b2655e9568f144fb1826342292f5c6b7d406fda00577b8d1530d8a5"
}

DELETE /api/v2/access_tokens/:access_token

Deactivate an access token.

DELETE /api/v2/access_tokens/:access_token HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

Action on item

It represents actions (number of views/comments/emoji reactions) to an article on Qiita Team, and is valid only on Qiita Team.

Properties

  • comments
  • Type: array
  • created_at
  • Date-time when this data was created
  • Example: "2000-01-01T00:00:00+00:00"
  • Type: string
  • Format: date-time
  • id
  • An unique item ID
  • Example: "c686397e4a0f4f11683d"
  • Type: string
  • Pattern: /^[0-9a-f]{20}$/
  • page_views_count
  • The number of views.
  • Example: 100
  • Type: integer
  • reactions
  • Type: array
  • title
  • The title of this item
  • Example: "Example title"
  • Type: string
  • url
  • The URL of this item
  • Example: "https://qiita.com/Qiita/items/c686397e4a0f4f11683d"
  • Type: string
  • updated_at
  • Date-time when this data was updated
  • Example: "2000-01-01T00:00:00+00:00"
  • Type: string
  • Format: date-time
  • user_id
  • Posted user id
  • Example: "team_member"
  • Type: string

GET /api/v2/items/reactions

Returns article reactions in descending order of the date and time the article was created.

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
  • query
  • Search query
  • Example: "created:>=2020-01 created:<=2020-12"
  • Type: string
GET /api/v2/items/reactions?page=1&per_page=20&query=created%3A%3E%3D2020-01+created%3A%3C%3D2020-12 HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "comments": [
      {
        "created_at": "2000-01-01T00:00:00+00:00",
        "id": "3391f50c35f953abfc4f",
        "reactions": [
          {
            "created_at": "2000-01-01T00:00:00+00:00",
            "image_url": "https://cdn.qiita.com/emoji/twemoji/unicode/1f44d.png",
            "name": "+1",
            "user_id": "team_member"
          }
        ],
        "updated_at": "2000-01-01T00:00:00+00:00",
        "user_id": "team_member"
      }
    ],
    "created_at": "2000-01-01T00:00:00+00:00",
    "id": "c686397e4a0f4f11683d",
    "page_views_count": 100,
    "reactions": [
      {
        "created_at": "2000-01-01T00:00:00+00:00",
        "image_url": "https://cdn.qiita.com/emoji/twemoji/unicode/1f44d.png",
        "name": "+1",
        "user_id": "team_member"
      }
    ],
    "title": "Example title",
    "url": "https://qiita.com/Qiita/items/c686397e4a0f4f11683d",
    "updated_at": "2000-01-01T00:00:00+00:00",
    "user_id": "team_member"
  }
]

Authenticated user

An user currently authenticated by a given access token. This resources has more detailed information than normal User resource.

Properties

  • description
  • self-description
  • Example: "Hello, world."
  • Type: null, string
  • facebook_id
  • Facebook ID
  • Example: "qiita"
  • Type: null, string
  • followees_count
  • Followees count
  • Example: 100
  • Type: integer
  • followers_count
  • Followers count
  • Example: 200
  • Type: integer
  • github_login_name
  • GitHub ID
  • Example: "qiitan"
  • Type: null, string
  • id
  • User ID
  • Example: "qiita"
  • Type: string
  • items_count
  • How many items a user posted on qiita.com (Items on Qiita Team are not included)
  • Example: 300
  • Type: integer
  • linkedin_id
  • LinkedIn ID
  • Example: "qiita"
  • Type: null, string
  • location
  • Location
  • Example: "Tokyo, Japan"
  • Type: null, string
  • name
  • Customized user name
  • Example: "Qiita キータ"
  • Type: null, string
  • organization
  • Organization which a user belongs to
  • Example: "Qiita Inc."
  • Type: null, string
  • permanent_id
  • Unique integer ID
  • Example: 1
  • Type: integer
  • profile_image_url
  • Profile image URL
  • Example: "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439"
  • Type: string
  • team_only
  • A flag whether this user is configured as team-only
  • Example: false
  • Type: boolean
  • twitter_screen_name
  • Twitter screen name
  • Example: "qiita"
  • Type: null, string
  • website_url
  • Website URL
  • Example: "https://qiita.com"
  • Type: null, string
  • image_monthly_upload_limit
  • Monthly image upload limit
  • Example: 1048576
  • Type: integer
  • image_monthly_upload_remaining
  • Monthly remaining image upload size
  • Example: 524288
  • Type: integer

GET /api/v2/authenticated_user

Get a user associated to the current access token.

GET /api/v2/authenticated_user HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "description": "Hello, world.",
  "facebook_id": "qiita",
  "followees_count": 100,
  "followers_count": 200,
  "github_login_name": "qiitan",
  "id": "qiita",
  "items_count": 300,
  "linkedin_id": "qiita",
  "location": "Tokyo, Japan",
  "name": "Qiita キータ",
  "organization": "Qiita Inc.",
  "permanent_id": 1,
  "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
  "team_only": false,
  "twitter_screen_name": "qiita",
  "website_url": "https://qiita.com",
  "image_monthly_upload_limit": 1048576,
  "image_monthly_upload_remaining": 524288
}

Comment

A comment posted on an item or a project. A comment on a project is available only on Qiita Team.

Properties

  • body
  • Comment body in Markdown
  • Example: "# Example"
  • Type: string
  • created_at
  • Date-time when this data was created
  • Example: "2000-01-01T00:00:00+00:00"
  • Type: string
  • Format: date-time
  • id
  • Comment unique ID
  • Example: "3391f50c35f953abfc4f"
  • Type: string
  • Pattern: /^[0-9a-f]{20}$/
  • rendered_body
  • Comment body in HTML
  • Example: "<h1>Example</h1>"
  • Type: string
  • updated_at
  • Date-time when this data was updated
  • Example: "2000-01-01T00:00:00+00:00"
  • Type: string
  • Format: date-time
  • user
  • A Qiita user (a.k.a. account)

DELETE /api/v2/comments/:comment_id

Delete a comment.

DELETE /api/v2/comments/:comment_id HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

GET /api/v2/comments/:comment_id

Get a comment.

GET /api/v2/comments/:comment_id HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "body": "# Example",
  "created_at": "2000-01-01T00:00:00+00:00",
  "id": "3391f50c35f953abfc4f",
  "rendered_body": "<h1>Example</h1>",
  "updated_at": "2000-01-01T00:00:00+00:00",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
}

PATCH /api/v2/comments/:comment_id

Update a comment.

  • body
  • Comment body in Markdown
  • Example: "# Example"
  • Type: string
PATCH /api/v2/comments/:comment_id HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "body": "# Example"
}
HTTP/1.1 200 OK
Content-Type: application/json

{
  "body": "# Example",
  "created_at": "2000-01-01T00:00:00+00:00",
  "id": "3391f50c35f953abfc4f",
  "rendered_body": "<h1>Example</h1>",
  "updated_at": "2000-01-01T00:00:00+00:00",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
}

GET /api/v2/items/:item_id/comments

List comments on an item in newest order.

GET /api/v2/items/:item_id/comments HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "body": "# Example",
    "created_at": "2000-01-01T00:00:00+00:00",
    "id": "3391f50c35f953abfc4f",
    "rendered_body": "<h1>Example</h1>",
    "updated_at": "2000-01-01T00:00:00+00:00",
    "user": {
      "description": "Hello, world.",
      "facebook_id": "qiita",
      "followees_count": 100,
      "followers_count": 200,
      "github_login_name": "qiitan",
      "id": "qiita",
      "items_count": 300,
      "linkedin_id": "qiita",
      "location": "Tokyo, Japan",
      "name": "Qiita キータ",
      "organization": "Qiita Inc.",
      "permanent_id": 1,
      "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
      "team_only": false,
      "twitter_screen_name": "qiita",
      "website_url": "https://qiita.com"
    }
  }
]

POST /api/v2/items/:item_id/comments

Post a comment on an item.

  • body
  • Comment body in Markdown
  • Example: "# Example"
  • Type: string
POST /api/v2/items/:item_id/comments HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "body": "# Example"
}
HTTP/1.1 201 Created
Content-Type: application/json

{
  "body": "# Example",
  "created_at": "2000-01-01T00:00:00+00:00",
  "id": "3391f50c35f953abfc4f",
  "rendered_body": "<h1>Example</h1>",
  "updated_at": "2000-01-01T00:00:00+00:00",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
}

POST /api/v2/items/:item_id/imported_comments

Create a comment by a specific user (only available on Qiita Team. administrative privileges required).

  • body
  • Comment body in Markdown
  • Example: "# Example"
  • Type: string
  • user_id
  • User ID
  • Example: "qiita"
  • Type: string
  • created_at
  • Date-time when this data was created
  • Example: "2000-01-01T00:00:00+00:00"
  • Type: string
  • Format: date-time
  • updated_at
  • Date-time when this data was updated
  • Example: "2000-01-01T00:00:00+00:00"
  • Type: string
  • Format: date-time
POST /api/v2/items/:item_id/imported_comments HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "body": "# Example",
  "user_id": "qiita",
  "created_at": "2000-01-01T00:00:00+00:00",
  "updated_at": "2000-01-01T00:00:00+00:00"
}
HTTP/1.1 201 Created
Content-Type: application/json

{
  "body": "# Example",
  "created_at": "2000-01-01T00:00:00+00:00",
  "id": "3391f50c35f953abfc4f",
  "rendered_body": "<h1>Example</h1>",
  "updated_at": "2000-01-01T00:00:00+00:00",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
}

DELETE /api/v2/comments/:comment_id/thank

DELETE /api/v2/comments/:comment_id/thank has been abolished since Nov 4 2020.

DELETE /api/v2/comments/:comment_id/thank HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "body": "# Example",
  "created_at": "2000-01-01T00:00:00+00:00",
  "id": "3391f50c35f953abfc4f",
  "rendered_body": "<h1>Example</h1>",
  "updated_at": "2000-01-01T00:00:00+00:00",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
}

PUT /api/v2/comments/:comment_id/thank

PUT /api/v2/comments/:comment_id/thank has been abolished since Nov 4 2020.

PUT /api/v2/comments/:comment_id/thank HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "body": "# Example",
  "created_at": "2000-01-01T00:00:00+00:00",
  "id": "3391f50c35f953abfc4f",
  "rendered_body": "<h1>Example</h1>",
  "updated_at": "2000-01-01T00:00:00+00:00",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
}

GET /api/v2/projects/:project_id/comments

GET /api/v2/projects/:project_id/comments has been abolished since Oct 1 2022.

GET /api/v2/projects/:project_id/comments HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "body": "# Example",
    "created_at": "2000-01-01T00:00:00+00:00",
    "id": "3391f50c35f953abfc4f",
    "rendered_body": "<h1>Example</h1>",
    "updated_at": "2000-01-01T00:00:00+00:00",
    "user": {
      "description": "Hello, world.",
      "facebook_id": "qiita",
      "followees_count": 100,
      "followers_count": 200,
      "github_login_name": "qiitan",
      "id": "qiita",
      "items_count": 300,
      "linkedin_id": "qiita",
      "location": "Tokyo, Japan",
      "name": "Qiita キータ",
      "organization": "Qiita Inc.",
      "permanent_id": 1,
      "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
      "team_only": false,
      "twitter_screen_name": "qiita",
      "website_url": "https://qiita.com"
    }
  }
]

POST /api/v2/projects/:project_id/comments

POST /api/v2/projects/:project_id/comments has been abolished since Oct 1 2022.

POST /api/v2/projects/:project_id/comments HTTP/1.1
Host: api.example.com
HTTP/1.1 201 Created
Content-Type: application/json

{
  "body": "# Example",
  "created_at": "2000-01-01T00:00:00+00:00",
  "id": "3391f50c35f953abfc4f",
  "rendered_body": "<h1>Example</h1>",
  "updated_at": "2000-01-01T00:00:00+00:00",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
}

POST /api/v2/projects/:project_id/imported_comments

POST /api/v2/projects/:project_id/imported_comments has been abolished since Oct 1 2022.

POST /api/v2/projects/:project_id/imported_comments HTTP/1.1
Host: api.example.com
HTTP/1.1 201 Created
Content-Type: application/json

{
  "body": "# Example",
  "created_at": "2000-01-01T00:00:00+00:00",
  "id": "3391f50c35f953abfc4f",
  "rendered_body": "<h1>Example</h1>",
  "updated_at": "2000-01-01T00:00:00+00:00",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
}

Emoji reaction

An emoji reaction on Qiita Team (only availabble on Qiita Team).

Properties

  • created_at
  • Date-time when this data was created
  • Example: "2000-01-01T00:00:00+00:00"
  • Type: string
  • Format: date-time
  • image_url
  • An emoji image URL
  • Example: "https://cdn.qiita.com/emoji/twemoji/unicode/1f44d.png"
  • Type: string
  • name
  • A unique emoji name
  • Example: "+1"
  • Type: string
  • user
  • A Qiita user (a.k.a. account)

POST /api/v2/comments/:comment_id/reactions

Add an emoji reaction to a comment.

  • name
  • A unique emoji name
  • Example: "+1"
  • Type: string
POST /api/v2/comments/:comment_id/reactions HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "name": "+1"
}
HTTP/1.1 201 Created
Content-Type: application/json

{
  "created_at": "2000-01-01T00:00:00+00:00",
  "image_url": "https://cdn.qiita.com/emoji/twemoji/unicode/1f44d.png",
  "name": "+1",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
}

POST /api/v2/items/:item_id/reactions

Add an emoji reaction to an item.

  • name
  • A unique emoji name
  • Example: "+1"
  • Type: string
POST /api/v2/items/:item_id/reactions HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "name": "+1"
}
HTTP/1.1 201 Created
Content-Type: application/json

{
  "created_at": "2000-01-01T00:00:00+00:00",
  "image_url": "https://cdn.qiita.com/emoji/twemoji/unicode/1f44d.png",
  "name": "+1",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
}

DELETE /api/v2/comments/:comment_id/reactions/:reaction_name

Delete an emoji reaction from a comment.

DELETE /api/v2/comments/:comment_id/reactions/:reaction_name HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "created_at": "2000-01-01T00:00:00+00:00",
  "image_url": "https://cdn.qiita.com/emoji/twemoji/unicode/1f44d.png",
  "name": "+1",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
}

DELETE /api/v2/items/:item_id/reactions/:reaction_name

Delete an emoji reaction from an item.

DELETE /api/v2/items/:item_id/reactions/:reaction_name HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "created_at": "2000-01-01T00:00:00+00:00",
  "image_url": "https://cdn.qiita.com/emoji/twemoji/unicode/1f44d.png",
  "name": "+1",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
}

GET /api/v2/comments/:comment_id/reactions

List emoji reactions of an comment in recently-created order.

GET /api/v2/comments/:comment_id/reactions HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "created_at": "2000-01-01T00:00:00+00:00",
    "image_url": "https://cdn.qiita.com/emoji/twemoji/unicode/1f44d.png",
    "name": "+1",
    "user": {
      "description": "Hello, world.",
      "facebook_id": "qiita",
      "followees_count": 100,
      "followers_count": 200,
      "github_login_name": "qiitan",
      "id": "qiita",
      "items_count": 300,
      "linkedin_id": "qiita",
      "location": "Tokyo, Japan",
      "name": "Qiita キータ",
      "organization": "Qiita Inc.",
      "permanent_id": 1,
      "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
      "team_only": false,
      "twitter_screen_name": "qiita",
      "website_url": "https://qiita.com"
    }
  }
]

GET /api/v2/items/:item_id/reactions

List emoji reactions of an item in recently-created order.

GET /api/v2/items/:item_id/reactions HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "created_at": "2000-01-01T00:00:00+00:00",
    "image_url": "https://cdn.qiita.com/emoji/twemoji/unicode/1f44d.png",
    "name": "+1",
    "user": {
      "description": "Hello, world.",
      "facebook_id": "qiita",
      "followees_count": 100,
      "followers_count": 200,
      "github_login_name": "qiitan",
      "id": "qiita",
      "items_count": 300,
      "linkedin_id": "qiita",
      "location": "Tokyo, Japan",
      "name": "Qiita キータ",
      "organization": "Qiita Inc.",
      "permanent_id": 1,
      "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
      "team_only": false,
      "twitter_screen_name": "qiita",
      "website_url": "https://qiita.com"
    }
  }
]

GET /api/v2/projects/:project_id/reactions

GET /api/v2/projects/:project_id/reactions has been abolished since Oct 1 2022.

GET /api/v2/projects/:project_id/reactions HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "created_at": "2000-01-01T00:00:00+00:00",
    "image_url": "https://cdn.qiita.com/emoji/twemoji/unicode/1f44d.png",
    "name": "+1",
    "user": {
      "description": "Hello, world.",
      "facebook_id": "qiita",
      "followees_count": 100,
      "followers_count": 200,
      "github_login_name": "qiitan",
      "id": "qiita",
      "items_count": 300,
      "linkedin_id": "qiita",
      "location": "Tokyo, Japan",
      "name": "Qiita キータ",
      "organization": "Qiita Inc.",
      "permanent_id": 1,
      "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
      "team_only": false,
      "twitter_screen_name": "qiita",
      "website_url": "https://qiita.com"
    }
  }
]

POST /api/v2/projects/:project_id/reactions

POST /api/v2/projects/:project_id/reactions has been abolished since Oct 1 2022.

POST /api/v2/projects/:project_id/reactions HTTP/1.1
Host: api.example.com
HTTP/1.1 201 Created
Content-Type: application/json

{
  "created_at": "2000-01-01T00:00:00+00:00",
  "image_url": "https://cdn.qiita.com/emoji/twemoji/unicode/1f44d.png",
  "name": "+1",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
}

DELETE /api/v2/projects/:project_id/reactions/:reaction_name

DELETE /api/v2/projects/:project_id/reactions/:reaction_name has been abolished since Oct 1 2022.

DELETE /api/v2/projects/:project_id/reactions/:reaction_name HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "created_at": "2000-01-01T00:00:00+00:00",
  "image_url": "https://cdn.qiita.com/emoji/twemoji/unicode/1f44d.png",
  "name": "+1",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
}

Expanded template

You can preview the expanded result of a given template. This is available only on Qiita Team.

Properties

  • expanded_body
  • An item body where variables are expanded
  • Example: "Weekly MTG on 2000/01/01"
  • Type: string
  • expanded_tags
  • A list of tags where variables are expanded
  • Example: [{"name"=>"MTG/2000/01/01", "versions"=>["0.0.1"]}]
  • Type: array
  • expanded_title
  • An item title where variables are expanded
  • Example: "Weekly MTG on 2015/06/03"
  • Type: string

POST /api/v2/expanded_templates

Get a template where its variables are expanded.

  • body
  • The body of this template
  • Example: "Weekly MTG on %{Year}/%{month}/%{day}"
  • Type: string
  • tags
  • A list of tags
  • Example: [{"name"=>"MTG/%{Year}/%{month}/%{day}", "versions"=>["0.0.1"]}]
  • Type: array
  • title
  • A template title where variables are to be expanded
  • Example: "Weekly MTG on %{Year}/%{month}/%{day}"
  • Type: string
POST /api/v2/expanded_templates HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "body": "Weekly MTG on %{Year}/%{month}/%{day}",
  "tags": [
    {
      "name": "MTG/%{Year}/%{month}/%{day}",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "title": "Weekly MTG on %{Year}/%{month}/%{day}"
}
HTTP/1.1 201 Created
Content-Type: application/json

{
  "expanded_body": "Weekly MTG on 2000/01/01",
  "expanded_tags": [
    {
      "name": "MTG/2000/01/01",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "expanded_title": "Weekly MTG on 2015/06/03"
}

Group

Represents a group on Qiita Team

Properties

  • created_at
  • Date-time when this data was created
  • Example: "2000-01-01T00:00:00+00:00"
  • Type: string
  • Format: date-time
  • description
  • A group description.
  • Example: "This group is for developers."
  • Type: string
  • name
  • Group name for display.
  • Example: "Dev"
  • Type: string
  • private
  • A flag to tell which this group is private or public.
  • Example: false
  • Type: boolean
  • updated_at
  • Date-time when this data was updated
  • Example: "2000-01-01T00:00:00+00:00"
  • Type: string
  • Format: date-time
  • url_name
  • Unique name on a team.
  • Example: "dev"
  • Type: string

GET /api/v2/groups

List groups.

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
GET /api/v2/groups?page=1&per_page=20 HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "created_at": "2000-01-01T00:00:00+00:00",
    "description": "This group is for developers.",
    "name": "Dev",
    "private": false,
    "updated_at": "2000-01-01T00:00:00+00:00",
    "url_name": "dev"
  }
]

GET /api/v2/groups/:url_name

Get a group.

GET /api/v2/groups/:url_name HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "created_at": "2000-01-01T00:00:00+00:00",
  "description": "This group is for developers.",
  "name": "Dev",
  "private": false,
  "updated_at": "2000-01-01T00:00:00+00:00",
  "url_name": "dev"
}

POST /api/v2/groups

Create a group.

  • url_name
  • Unique name on a team.
  • Example: "dev"
  • Type: string
  • name
  • Group name for display.
  • Example: "Dev"
  • Type: string
  • description
  • Represents a group on Qiita Team
  • Example: "This group is for developers."
  • Type: string
  • private
  • A flag to tell which this group is private or public.
  • Example: false
  • Type: boolean
POST /api/v2/groups HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "url_name": "dev",
  "name": "Dev",
  "description": "This group is for developers.",
  "private": false
}
HTTP/1.1 201 Created
Content-Type: application/json

{
  "created_at": "2000-01-01T00:00:00+00:00",
  "description": "This group is for developers.",
  "name": "Dev",
  "private": false,
  "updated_at": "2000-01-01T00:00:00+00:00",
  "url_name": "dev"
}

PATCH /api/v2/groups/:url_name

Update a group.

  • name
  • Group name for display.
  • Example: "Dev"
  • Type: string
  • description
  • Represents a group on Qiita Team
  • Example: "This group is for developers."
  • Type: string
  • private
  • A flag to tell which this group is private or public.
  • Example: false
  • Type: boolean
PATCH /api/v2/groups/:url_name HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "name": "Dev",
  "description": "This group is for developers.",
  "private": false
}
HTTP/1.1 200 OK
Content-Type: application/json

{
  "created_at": "2000-01-01T00:00:00+00:00",
  "description": "This group is for developers.",
  "name": "Dev",
  "private": false,
  "updated_at": "2000-01-01T00:00:00+00:00",
  "url_name": "dev"
}

DELETE /api/v2/groups/:url_name

Delete a group

DELETE /api/v2/groups/:url_name HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

Group member

Represents a group member on Qiita Team

Properties

  • id
  • User ID
  • Example: "qiita"
  • Type: string
  • name
  • User name in the team
  • Example: "Qiita キータ"
  • Type: string
  • email
  • Email address of the member(return empty string when you are neither admin nor owner in team)
  • Example: "example@example.com"
  • Type: string

GET /api/v2/groups/:url_name/members

List members in group.

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
GET /api/v2/groups/:url_name/members?page=1&per_page=20 HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "id": "qiita",
    "name": "Qiita キータ",
    "email": "example@example.com"
  }
]

GET /api/v2/groups/:url_name/members/:user_id

Get a member in group.

GET /api/v2/groups/:url_name/members/:user_id HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "qiita",
  "name": "Qiita キータ",
  "email": "example@example.com"
}

POST /api/v2/groups/:url_name/members

Add a member in group.

  • identities
  • List of user ID or email address in the team
  • Example: ["Qiita", "Qiitan"]
  • Type: array
POST /api/v2/groups/:url_name/members HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "identities": [
    "Qiita",
    "Qiitan"
  ]
}
HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "qiita",
  "name": "Qiita キータ",
  "email": "example@example.com"
}

DELETE /api/v2/groups/:url_name/members

Delete a member in group.

  • identities
  • List of user ID or email address in the team
  • Example: ["Qiita", "Qiitan"]
  • Type: array
DELETE /api/v2/groups/:url_name/members HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

Invited member

Represents members who are invited to on Qiita Team (only available on Qiita Team. administrative privileges required).

Properties

  • email
  • Email address of the invited member
  • Example: "example@example.com"
  • Type: string
  • url
  • Invitation URL. The expiration date is one day.
  • Example: "https://team-name.qiita.com/registration/confirm?id=3&token=456c84ae60070161a36c08c9e710050abe5852cc"
  • Type: string

GET api/v2/team_invitations

Return list of invited members

GET api/v2/team_invitations HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "email": "example@example.com",
    "url": "https://team-name.qiita.com/registration/confirm?id=3&token=456c84ae60070161a36c08c9e710050abe5852cc"
  }
]

POST api/v2/team_invitations

Invite a member to the team

POST api/v2/team_invitations HTTP/1.1
Host: api.example.com
HTTP/1.1 201 Created
Content-Type: application/json

{
  "email": "example@example.com",
  "url": "https://team-name.qiita.com/registration/confirm?id=3&token=456c84ae60070161a36c08c9e710050abe5852cc"
}

DELETE api/v2/team_invitations/:email

Revoke the invitation

DELETE api/v2/team_invitations/:email HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

Item

Represents an item posted from a user

Properties

  • rendered_body
  • Item body in HTML
  • Example: "<h1>Example</h1>"
  • Type: string
  • body
  • Item body in Markdown
  • Example: "# Example"
  • Type: string
  • coediting
  • A flag whether this item is co-edit mode (only available on Qiita Team)
  • Example: false
  • Type: boolean
  • comments_count
  • Comments count
  • Example: 100
  • Type: integer
  • created_at
  • Date-time when this data was created
  • Example: "2000-01-01T00:00:00+00:00"
  • Type: string
  • Format: date-time
  • group
  • Represents a group on Qiita Team
  • id
  • An unique item ID
  • Example: "c686397e4a0f4f11683d"
  • Type: string
  • Pattern: /^[0-9a-f]{20}$/
  • likes_count
  • Likes count (only available on Qiita)
  • Example: 100
  • Type: integer
  • private
  • A flag whether this item is private (only available on Qiita)
  • Example: false
  • Type: boolean
  • reactions_count
  • Emoji reactions count (only availabble on Qiita Team)
  • Example: 100
  • Type: integer
  • stocks_count
  • Stocks count
  • Example: 100
  • Type: integer
  • tags
  • A list of tags
  • Example: [{"name"=>"Ruby", "versions"=>["0.0.1"]}]
  • Type: array
  • title
  • The title of this item
  • Example: "Example title"
  • Type: string
  • updated_at
  • Date-time when this data was updated
  • Example: "2000-01-01T00:00:00+00:00"
  • Type: string
  • Format: date-time
  • url
  • The URL of this item
  • Example: "https://qiita.com/Qiita/items/c686397e4a0f4f11683d"
  • Type: string
  • user
  • A Qiita user (a.k.a. account)
  • page_views_count
  • The number of views.
  • Example: 100
  • Type: null, integer
  • team_membership
  • A Qiita Team member.

GET /api/v2/authenticated_user/items

List the authenticated user's items in newest order

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
GET /api/v2/authenticated_user/items?page=1&per_page=20 HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "rendered_body": "<h1>Example</h1>",
    "body": "# Example",
    "coediting": false,
    "comments_count": 100,
    "created_at": "2000-01-01T00:00:00+00:00",
    "group": {
      "created_at": "2000-01-01T00:00:00+00:00",
      "description": "This group is for developers.",
      "name": "Dev",
      "private": false,
      "updated_at": "2000-01-01T00:00:00+00:00",
      "url_name": "dev"
    },
    "id": "c686397e4a0f4f11683d",
    "likes_count": 100,
    "private": false,
    "reactions_count": 100,
    "stocks_count": 100,
    "tags": [
      {
        "name": "Ruby",
        "versions": [
          "0.0.1"
        ]
      }
    ],
    "title": "Example title",
    "updated_at": "2000-01-01T00:00:00+00:00",
    "url": "https://qiita.com/Qiita/items/c686397e4a0f4f11683d",
    "user": {
      "description": "Hello, world.",
      "facebook_id": "qiita",
      "followees_count": 100,
      "followers_count": 200,
      "github_login_name": "qiitan",
      "id": "qiita",
      "items_count": 300,
      "linkedin_id": "qiita",
      "location": "Tokyo, Japan",
      "name": "Qiita キータ",
      "organization": "Qiita Inc.",
      "permanent_id": 1,
      "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
      "team_only": false,
      "twitter_screen_name": "qiita",
      "website_url": "https://qiita.com"
    },
    "page_views_count": 100,
    "team_membership": {
      "name": "Qiita キータ"
    }
  }
]

GET /api/v2/items

List items.

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
  • query
  • Search query
  • Example: "qiita user:Qiita"
  • Type: string
GET /api/v2/items?page=1&per_page=20&query=qiita+user%3AQiita HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "rendered_body": "<h1>Example</h1>",
    "body": "# Example",
    "coediting": false,
    "comments_count": 100,
    "created_at": "2000-01-01T00:00:00+00:00",
    "group": {
      "created_at": "2000-01-01T00:00:00+00:00",
      "description": "This group is for developers.",
      "name": "Dev",
      "private": false,
      "updated_at": "2000-01-01T00:00:00+00:00",
      "url_name": "dev"
    },
    "id": "c686397e4a0f4f11683d",
    "likes_count": 100,
    "private": false,
    "reactions_count": 100,
    "stocks_count": 100,
    "tags": [
      {
        "name": "Ruby",
        "versions": [
          "0.0.1"
        ]
      }
    ],
    "title": "Example title",
    "updated_at": "2000-01-01T00:00:00+00:00",
    "url": "https://qiita.com/Qiita/items/c686397e4a0f4f11683d",
    "user": {
      "description": "Hello, world.",
      "facebook_id": "qiita",
      "followees_count": 100,
      "followers_count": 200,
      "github_login_name": "qiitan",
      "id": "qiita",
      "items_count": 300,
      "linkedin_id": "qiita",
      "location": "Tokyo, Japan",
      "name": "Qiita キータ",
      "organization": "Qiita Inc.",
      "permanent_id": 1,
      "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
      "team_only": false,
      "twitter_screen_name": "qiita",
      "website_url": "https://qiita.com"
    },
    "page_views_count": 100,
    "team_membership": {
      "name": "Qiita キータ"
    }
  }
]

POST /api/v2/items

Create an item.

  • body
  • Item body in Markdown
  • Example: "# Example"
  • Type: string
  • coediting
  • A flag whether this item is co-edit mode (only available on Qiita Team)
  • Example: false
  • Type: boolean
  • group_url_name
  • A group's url_name on which share this item (pass null to make public; only available on Qiita Team)
  • Example: "dev"
  • Type: null, string
  • private
  • A flag whether this item is private (only available on Qiita)
  • Example: false
  • Type: boolean
  • tags
  • A list of tags
  • Example: [{"name"=>"Ruby", "versions"=>["0.0.1"]}]
  • Type: array
  • title
  • The title of this item
  • Example: "Example title"
  • Type: string
  • tweet
  • A flag to post a tweet (only availabble if Twitter integration is enabled)
  • Example: false
  • Type: boolean
POST /api/v2/items HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "body": "# Example",
  "coediting": false,
  "group_url_name": "dev",
  "private": false,
  "tags": [
    {
      "name": "Ruby",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "title": "Example title",
  "tweet": false
}
HTTP/1.1 201 Created
Content-Type: application/json

{
  "rendered_body": "<h1>Example</h1>",
  "body": "# Example",
  "coediting": false,
  "comments_count": 100,
  "created_at": "2000-01-01T00:00:00+00:00",
  "group": {
    "created_at": "2000-01-01T00:00:00+00:00",
    "description": "This group is for developers.",
    "name": "Dev",
    "private": false,
    "updated_at": "2000-01-01T00:00:00+00:00",
    "url_name": "dev"
  },
  "id": "c686397e4a0f4f11683d",
  "likes_count": 100,
  "private": false,
  "reactions_count": 100,
  "stocks_count": 100,
  "tags": [
    {
      "name": "Ruby",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "title": "Example title",
  "updated_at": "2000-01-01T00:00:00+00:00",
  "url": "https://qiita.com/Qiita/items/c686397e4a0f4f11683d",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  },
  "page_views_count": 100,
  "team_membership": {
    "name": "Qiita キータ"
  }
}

DELETE /api/v2/items/:item_id

Delete an item.

DELETE /api/v2/items/:item_id HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "rendered_body": "<h1>Example</h1>",
  "body": "# Example",
  "coediting": false,
  "comments_count": 100,
  "created_at": "2000-01-01T00:00:00+00:00",
  "group": {
    "created_at": "2000-01-01T00:00:00+00:00",
    "description": "This group is for developers.",
    "name": "Dev",
    "private": false,
    "updated_at": "2000-01-01T00:00:00+00:00",
    "url_name": "dev"
  },
  "id": "c686397e4a0f4f11683d",
  "likes_count": 100,
  "private": false,
  "reactions_count": 100,
  "stocks_count": 100,
  "tags": [
    {
      "name": "Ruby",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "title": "Example title",
  "updated_at": "2000-01-01T00:00:00+00:00",
  "url": "https://qiita.com/Qiita/items/c686397e4a0f4f11683d",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  },
  "page_views_count": 100,
  "team_membership": {
    "name": "Qiita キータ"
  }
}

GET /api/v2/items/:item_id

Get an item.

GET /api/v2/items/:item_id HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "rendered_body": "<h1>Example</h1>",
  "body": "# Example",
  "coediting": false,
  "comments_count": 100,
  "created_at": "2000-01-01T00:00:00+00:00",
  "group": {
    "created_at": "2000-01-01T00:00:00+00:00",
    "description": "This group is for developers.",
    "name": "Dev",
    "private": false,
    "updated_at": "2000-01-01T00:00:00+00:00",
    "url_name": "dev"
  },
  "id": "c686397e4a0f4f11683d",
  "likes_count": 100,
  "private": false,
  "reactions_count": 100,
  "stocks_count": 100,
  "tags": [
    {
      "name": "Ruby",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "title": "Example title",
  "updated_at": "2000-01-01T00:00:00+00:00",
  "url": "https://qiita.com/Qiita/items/c686397e4a0f4f11683d",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  },
  "page_views_count": 100,
  "team_membership": {
    "name": "Qiita キータ"
  }
}

PATCH /api/v2/items/:item_id

Update an item.

  • body
  • Item body in Markdown
  • Example: "# Example"
  • Type: string
  • coediting
  • A flag whether this item is co-edit mode (only available on Qiita Team)
  • Example: false
  • Type: boolean
  • group_url_name
  • A group's url_name on which share this item (pass null to make public; only available on Qiita Team)
  • Example: "dev"
  • Type: null, string
  • private
  • A flag whether this item is private (only available on Qiita)
  • Example: false
  • Type: boolean
  • tags
  • A list of tags
  • Example: [{"name"=>"Ruby", "versions"=>["0.0.1"]}]
  • Type: array
  • title
  • The title of this item
  • Example: "Example title"
  • Type: string
PATCH /api/v2/items/:item_id HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "body": "# Example",
  "coediting": false,
  "group_url_name": "dev",
  "private": false,
  "tags": [
    {
      "name": "Ruby",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "title": "Example title"
}
HTTP/1.1 200 OK
Content-Type: application/json

{
  "rendered_body": "<h1>Example</h1>",
  "body": "# Example",
  "coediting": false,
  "comments_count": 100,
  "created_at": "2000-01-01T00:00:00+00:00",
  "group": {
    "created_at": "2000-01-01T00:00:00+00:00",
    "description": "This group is for developers.",
    "name": "Dev",
    "private": false,
    "updated_at": "2000-01-01T00:00:00+00:00",
    "url_name": "dev"
  },
  "id": "c686397e4a0f4f11683d",
  "likes_count": 100,
  "private": false,
  "reactions_count": 100,
  "stocks_count": 100,
  "tags": [
    {
      "name": "Ruby",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "title": "Example title",
  "updated_at": "2000-01-01T00:00:00+00:00",
  "url": "https://qiita.com/Qiita/items/c686397e4a0f4f11683d",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  },
  "page_views_count": 100,
  "team_membership": {
    "name": "Qiita キータ"
  }
}

POST /api/v2/imported_items

Create an item by a specific user (only available on Qiita Team. administrative privileges required).

  • body
  • Item body in Markdown
  • Example: "# Example"
  • Type: string
  • coediting
  • A flag whether this item is co-edit mode (only available on Qiita Team)
  • Example: false
  • Type: boolean
  • group_url_name
  • A group's url_name on which share this item (pass null to make public; only available on Qiita Team)
  • Example: "dev"
  • Type: null, string
  • tags
  • A list of tags
  • Example: [{"name"=>"Ruby", "versions"=>["0.0.1"]}]
  • Type: array
  • title
  • The title of this item
  • Example: "Example title"
  • Type: string
  • user_id
  • User ID
  • Example: "qiita"
  • Type: string
  • created_at
  • Date-time when this data was created
  • Example: "2000-01-01T00:00:00+00:00"
  • Type: string
  • Format: date-time
  • updated_at
  • Date-time when this data was updated
  • Example: "2000-01-01T00:00:00+00:00"
  • Type: string
  • Format: date-time
POST /api/v2/imported_items HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "body": "# Example",
  "coediting": false,
  "group_url_name": "dev",
  "tags": [
    {
      "name": "Ruby",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "title": "Example title",
  "user_id": "qiita",
  "created_at": "2000-01-01T00:00:00+00:00",
  "updated_at": "2000-01-01T00:00:00+00:00"
}
HTTP/1.1 201 Created
Content-Type: application/json

{
  "rendered_body": "<h1>Example</h1>",
  "body": "# Example",
  "coediting": false,
  "comments_count": 100,
  "created_at": "2000-01-01T00:00:00+00:00",
  "group": {
    "created_at": "2000-01-01T00:00:00+00:00",
    "description": "This group is for developers.",
    "name": "Dev",
    "private": false,
    "updated_at": "2000-01-01T00:00:00+00:00",
    "url_name": "dev"
  },
  "id": "c686397e4a0f4f11683d",
  "likes_count": 100,
  "private": false,
  "reactions_count": 100,
  "stocks_count": 100,
  "tags": [
    {
      "name": "Ruby",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "title": "Example title",
  "updated_at": "2000-01-01T00:00:00+00:00",
  "url": "https://qiita.com/Qiita/items/c686397e4a0f4f11683d",
  "user": {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  },
  "page_views_count": 100,
  "team_membership": {
    "name": "Qiita キータ"
  }
}

DELETE /api/v2/items/:item_id/like

The Like API on Qiita Team has been abolished since Nov 4 2020. Please use the Emoji reaction API instead. Unlike an item.

DELETE /api/v2/items/:item_id/like HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

PUT /api/v2/items/:item_id/like

The Like API on Qiita Team has been abolished since Nov 4 2020. Please use the Emoji reaction API instead. Like an item

PUT /api/v2/items/:item_id/like HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

PUT /api/v2/items/:item_id/stock

Stock an item.

PUT /api/v2/items/:item_id/stock HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

DELETE /api/v2/items/:item_id/stock

Unstock an item.

DELETE /api/v2/items/:item_id/stock HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

GET /api/v2/items/:item_id/stock

Check if you stocked an item.

GET /api/v2/items/:item_id/stock HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

GET /api/v2/items/:item_id/like

The Like API on Qiita Team has been abolished since Nov 4 2020. Please use the Emoji reaction API instead. Check if you liked an item.

GET /api/v2/items/:item_id/like HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

PUT /api/v2/items/:item_id/stock

Stock an item.

PUT /api/v2/items/:item_id/stock HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

GET /api/v2/tags/:tag_id/items

List tagged items in recently-tagged order.

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
GET /api/v2/tags/:tag_id/items?page=1&per_page=20 HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "rendered_body": "<h1>Example</h1>",
    "body": "# Example",
    "coediting": false,
    "comments_count": 100,
    "created_at": "2000-01-01T00:00:00+00:00",
    "group": {
      "created_at": "2000-01-01T00:00:00+00:00",
      "description": "This group is for developers.",
      "name": "Dev",
      "private": false,
      "updated_at": "2000-01-01T00:00:00+00:00",
      "url_name": "dev"
    },
    "id": "c686397e4a0f4f11683d",
    "likes_count": 100,
    "private": false,
    "reactions_count": 100,
    "stocks_count": 100,
    "tags": [
      {
        "name": "Ruby",
        "versions": [
          "0.0.1"
        ]
      }
    ],
    "title": "Example title",
    "updated_at": "2000-01-01T00:00:00+00:00",
    "url": "https://qiita.com/Qiita/items/c686397e4a0f4f11683d",
    "user": {
      "description": "Hello, world.",
      "facebook_id": "qiita",
      "followees_count": 100,
      "followers_count": 200,
      "github_login_name": "qiitan",
      "id": "qiita",
      "items_count": 300,
      "linkedin_id": "qiita",
      "location": "Tokyo, Japan",
      "name": "Qiita キータ",
      "organization": "Qiita Inc.",
      "permanent_id": 1,
      "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
      "team_only": false,
      "twitter_screen_name": "qiita",
      "website_url": "https://qiita.com"
    },
    "page_views_count": 100,
    "team_membership": {
      "name": "Qiita キータ"
    }
  }
]

GET /api/v2/users/:user_id/items

List a user's items in newest order.

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
GET /api/v2/users/:user_id/items?page=1&per_page=20 HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "rendered_body": "<h1>Example</h1>",
    "body": "# Example",
    "coediting": false,
    "comments_count": 100,
    "created_at": "2000-01-01T00:00:00+00:00",
    "group": {
      "created_at": "2000-01-01T00:00:00+00:00",
      "description": "This group is for developers.",
      "name": "Dev",
      "private": false,
      "updated_at": "2000-01-01T00:00:00+00:00",
      "url_name": "dev"
    },
    "id": "c686397e4a0f4f11683d",
    "likes_count": 100,
    "private": false,
    "reactions_count": 100,
    "stocks_count": 100,
    "tags": [
      {
        "name": "Ruby",
        "versions": [
          "0.0.1"
        ]
      }
    ],
    "title": "Example title",
    "updated_at": "2000-01-01T00:00:00+00:00",
    "url": "https://qiita.com/Qiita/items/c686397e4a0f4f11683d",
    "user": {
      "description": "Hello, world.",
      "facebook_id": "qiita",
      "followees_count": 100,
      "followers_count": 200,
      "github_login_name": "qiitan",
      "id": "qiita",
      "items_count": 300,
      "linkedin_id": "qiita",
      "location": "Tokyo, Japan",
      "name": "Qiita キータ",
      "organization": "Qiita Inc.",
      "permanent_id": 1,
      "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
      "team_only": false,
      "twitter_screen_name": "qiita",
      "website_url": "https://qiita.com"
    },
    "page_views_count": 100,
    "team_membership": {
      "name": "Qiita キータ"
    }
  }
]

GET /api/v2/users/:user_id/stocks

List a user's stocked items in recently-stocked order.

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
GET /api/v2/users/:user_id/stocks?page=1&per_page=20 HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "rendered_body": "<h1>Example</h1>",
    "body": "# Example",
    "coediting": false,
    "comments_count": 100,
    "created_at": "2000-01-01T00:00:00+00:00",
    "group": {
      "created_at": "2000-01-01T00:00:00+00:00",
      "description": "This group is for developers.",
      "name": "Dev",
      "private": false,
      "updated_at": "2000-01-01T00:00:00+00:00",
      "url_name": "dev"
    },
    "id": "c686397e4a0f4f11683d",
    "likes_count": 100,
    "private": false,
    "reactions_count": 100,
    "stocks_count": 100,
    "tags": [
      {
        "name": "Ruby",
        "versions": [
          "0.0.1"
        ]
      }
    ],
    "title": "Example title",
    "updated_at": "2000-01-01T00:00:00+00:00",
    "url": "https://qiita.com/Qiita/items/c686397e4a0f4f11683d",
    "user": {
      "description": "Hello, world.",
      "facebook_id": "qiita",
      "followees_count": 100,
      "followers_count": 200,
      "github_login_name": "qiitan",
      "id": "qiita",
      "items_count": 300,
      "linkedin_id": "qiita",
      "location": "Tokyo, Japan",
      "name": "Qiita キータ",
      "organization": "Qiita Inc.",
      "permanent_id": 1,
      "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
      "team_only": false,
      "twitter_screen_name": "qiita",
      "website_url": "https://qiita.com"
    },
    "page_views_count": 100,
    "team_membership": {
      "name": "Qiita キータ"
    }
  }
]

Like

The Like API on Qiita Team has been abolished since Nov 4 2020. Please use the Emoji reaction API instead. Represents a like to an item.

Properties

  • created_at
  • Date-time when this data was created
  • Example: "2000-01-01T00:00:00+00:00"
  • Type: string
  • Format: date-time
  • user
  • A Qiita user (a.k.a. account)

GET /api/v2/items/:item_id/likes

List likes in newest order.

GET /api/v2/items/:item_id/likes HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "created_at": "2000-01-01T00:00:00+00:00",
    "user": {
      "description": "Hello, world.",
      "facebook_id": "qiita",
      "followees_count": 100,
      "followers_count": 200,
      "github_login_name": "qiitan",
      "id": "qiita",
      "items_count": 300,
      "linkedin_id": "qiita",
      "location": "Tokyo, Japan",
      "name": "Qiita キータ",
      "organization": "Qiita Inc.",
      "permanent_id": 1,
      "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
      "team_only": false,
      "twitter_screen_name": "qiita",
      "website_url": "https://qiita.com"
    }
  }
]

Project

Project function has been abolished since Oct 1 2022.

Properties

GET /api/v2/projects

GET /api/v2/projects has been abolished since Oct 1 2022.

GET /api/v2/projects HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
  }
]

POST /api/v2/projects

POST /api/v2/projects has been abolished since Oct 1 2022.

POST /api/v2/projects HTTP/1.1
Host: api.example.com
HTTP/1.1 201 Created
Content-Type: application/json

{
}

DELETE /api/v2/projects/:project_id

DELETE /api/v2/projects/:project_id has been abolished since Oct 1 2022.

DELETE /api/v2/projects/:project_id HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

GET /api/v2/projects/:project_id

GET /api/v2/projects/:project_id has been abolished since Oct 1 2022.

GET /api/v2/projects/:project_id HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
}

PATCH /api/v2/projects/:project_id

PATCH /api/v2/projects/:project_id has been abolished since Oct 1 2022.

PATCH /api/v2/projects/:project_id HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
}

POST /api/v2/imported_projects

POST /api/v2/imported_projects has been abolished since Oct 1 2022.

POST /api/v2/imported_projects HTTP/1.1
Host: api.example.com
HTTP/1.1 201 Created
Content-Type: application/json

{
}

Remove team member

Removes the specified user from the team (you and the team owner cannot be removed with this API).

Properties

DELETE /api/v2/remove_team_member/:user_id

DELETE /api/v2/remove_team_member/:user_id HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

Tag

A tag attached to an item

Properties

  • followers_count
  • Followes count
  • Example: 100
  • Type: integer
  • icon_url
  • Tag Icon URL
  • Example: "https://s3-ap-northeast-1.amazonaws.com/qiita-tag-image/9de6a11d330f5694820082438f88ccf4a1b289b2/medium.jpg"
  • Type: null, string
  • id
  • Tag name
  • Example: "qiita"
  • Type: string
  • items_count
  • Items count
  • Example: 200
  • Type: integer

GET /api/v2/tags

List tags in newest order.

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
  • sort
  • Sort order ("count" and "name" are available)
  • Example: "count"
  • Type: string
GET /api/v2/tags?page=1&per_page=20&sort=count HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "followers_count": 100,
    "icon_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-tag-image/9de6a11d330f5694820082438f88ccf4a1b289b2/medium.jpg",
    "id": "qiita",
    "items_count": 200
  }
]

GET /api/v2/tags/:tag_id

Get a tag.

GET /api/v2/tags/:tag_id HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "followers_count": 100,
  "icon_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-tag-image/9de6a11d330f5694820082438f88ccf4a1b289b2/medium.jpg",
  "id": "qiita",
  "items_count": 200
}

GET /api/v2/users/:user_id/following_tags

List tags a user is following to in recently-tagged order.

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
GET /api/v2/users/:user_id/following_tags?page=1&per_page=20 HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "followers_count": 100,
    "icon_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-tag-image/9de6a11d330f5694820082438f88ccf4a1b289b2/medium.jpg",
    "id": "qiita",
    "items_count": 200
  }
]

DELETE /api/v2/tags/:tag_id/following

Unfollow a tag.

DELETE /api/v2/tags/:tag_id/following HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

GET /api/v2/tags/:tag_id/following

Check if you are following a tag or not.

GET /api/v2/tags/:tag_id/following HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "followers_count": 100,
  "icon_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-tag-image/9de6a11d330f5694820082438f88ccf4a1b289b2/medium.jpg",
  "id": "qiita",
  "items_count": 200
}

PUT /api/v2/tags/:tag_id/following

Follow a tag.

PUT /api/v2/tags/:tag_id/following HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

Tagging

Represents an association between an item and a tag.

Properties

  • name
  • Tag name
  • Example: "qiita"
  • Type: string
  • versions
  • Example: ["0.0.1"]
  • Type: array

POST /api/v2/items/:item_id/taggings

Add a tag to an item (only available on Qiita Team)

  • name
  • Tag name
  • Example: "qiita"
  • Type: string
  • versions
  • Example: ["0.0.1"]
  • Type: array
POST /api/v2/items/:item_id/taggings HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "name": "qiita",
  "versions": [
    "0.0.1"
  ]
}
HTTP/1.1 201 Created
Content-Type: application/json

{
  "name": "qiita",
  "versions": [
    "0.0.1"
  ]
}

DELETE /api/v2/items/:item_id/taggings/:tagging_id

Remove a tag from an item (only available on Qiita Team)

DELETE /api/v2/items/:item_id/taggings/:tagging_id HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

Team

Represents a team on Qiita Team (only available on Qiita Team).

Properties

  • active
  • A flag whether this team is active or not
  • Example: true
  • Type: boolean
  • id
  • A unique team ID
  • Example: "qiita-inc"
  • Type: string
  • name
  • The team name configured for this team
  • Example: "Qiita Inc."
  • Type: string

GET /api/v2/teams

List teams the user belongs to in newest order.

GET /api/v2/teams HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "active": true,
    "id": "qiita-inc",
    "name": "Qiita Inc."
  }
]

Team access token

Access token for Qiita API v2 (only available on Qiita Team).

Properties

  • client_id
  • An unique ID to identify a registered client
  • Example: "a91f0396a0968ff593eafdd194e3d17d32c41b1da7b25e873b42e9058058cd9d"
  • Type: string
  • Pattern: /^[0-9a-f]{40}$/
  • scopes
  • Authorized action scopes of the team access token
  • Type: array
  • token
  • Team access token identifier string
  • Example: "ea5d0a593b2655e9568f144fb1826342292f5c6b7d406fda00577b8d1530d8a5"
  • Type: string
  • Pattern: /^[0-9a-f]{40}$/

POST /api/v2/team_access_tokens

Create a new team access token.

  • client_id
  • An unique ID to identify a registered client
  • Example: "a91f0396a0968ff593eafdd194e3d17d32c41b1da7b25e873b42e9058058cd9d"
  • Type: string
  • Pattern: /^[0-9a-f]{40}$/
  • client_secret
  • A secret key to authenticate a registered API client
  • Example: "01fc259c31fe39e72c8ef911c3432a33d51e9337ff34c4fac86c491a0d37251f"
  • Type: string
  • Pattern: /^[0-9a-f]{40}$/
  • code
  • A temporary secret code to exchange with a team access token
  • Example: "fefef5f067171f247fb415e38cb0631797b82f4141dcdee66db846c3ade57a03"
  • Type: string
  • Pattern: /^[0-9a-f]{40}$/
POST /api/v2/team_access_tokens HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "client_id": "a91f0396a0968ff593eafdd194e3d17d32c41b1da7b25e873b42e9058058cd9d",
  "client_secret": "01fc259c31fe39e72c8ef911c3432a33d51e9337ff34c4fac86c491a0d37251f",
  "code": "fefef5f067171f247fb415e38cb0631797b82f4141dcdee66db846c3ade57a03"
}
HTTP/1.1 201 Created
Content-Type: application/json

{
  "client_id": "a91f0396a0968ff593eafdd194e3d17d32c41b1da7b25e873b42e9058058cd9d",
  "scopes": [
    "read_qiita_team"
  ],
  "token": "ea5d0a593b2655e9568f144fb1826342292f5c6b7d406fda00577b8d1530d8a5"
}

DELETE /api/v2/team_access_tokens/:team_access_token

Deactivate a team access token.

DELETE /api/v2/team_access_tokens/:team_access_token HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

Team member

Represents a member in team (only available on Qiita Team).

Properties

  • description
  • Self introduction
  • Example: "Qiitaの公式アカウントです。"
  • Type: string
  • email
  • Email address of the member (return empty string when you are neither admin nor owner in team)
  • Example: "example@example.com"
  • Type: string
  • id
  • User ID
  • Example: "Qiita"
  • Type: string
  • last_accessed_at
  • Date-time when this member was accessed (return empty string when you are neither admin nor owner in team)
  • Example: "2000-01-01T00:00:00+00:00"
  • Type: string
  • name
  • User name in the team
  • Example: "Qiita キータ"
  • Type: string

GET /api/v2/team_memberships

List members in team.

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
GET /api/v2/team_memberships?page=1&per_page=20 HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "description": "Qiitaの公式アカウントです。",
    "email": "example@example.com",
    "id": "Qiita",
    "last_accessed_at": "2000-01-01T00:00:00+00:00",
    "name": "Qiita キータ"
  }
]

Template

Represents a template for generating an item boilerplate (only available on Qiita Team).

Properties

  • body
  • The body of this template
  • Example: "Weekly MTG on %{Year}/%{month}/%{day}"
  • Type: string
  • id
  • A unique template ID
  • Example: 1
  • Type: integer
  • name
  • A template name
  • Example: "Weekly MTG"
  • Type: string
  • expanded_body
  • An item body where variables are expanded
  • Example: "Weekly MTG on 2000/01/01"
  • Type: string
  • expanded_tags
  • A list of tags where variables are expanded
  • Example: [{"name"=>"MTG/2000/01/01", "versions"=>["0.0.1"]}]
  • Type: array
  • expanded_title
  • An item title where variables are expanded
  • Example: "Weekly MTG on 2015/06/03"
  • Type: string
  • group
  • Represents a group on Qiita Team
  • tags
  • A list of tags
  • Example: [{"name"=>"MTG/%{Year}/%{month}/%{day}", "versions"=>["0.0.1"]}]
  • Type: array
  • title
  • A template title where variables are to be expanded
  • Example: "Weekly MTG on %{Year}/%{month}/%{day}"
  • Type: string
  • coedit
  • Co-editing mode.
  • Example: true
  • Type: boolean

GET /api/v2/templates

List templates in a team.

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
GET /api/v2/templates?page=1&per_page=20 HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "body": "Weekly MTG on %{Year}/%{month}/%{day}",
    "id": 1,
    "name": "Weekly MTG",
    "expanded_body": "Weekly MTG on 2000/01/01",
    "expanded_tags": [
      {
        "name": "MTG/2000/01/01",
        "versions": [
          "0.0.1"
        ]
      }
    ],
    "expanded_title": "Weekly MTG on 2015/06/03",
    "group": {
      "created_at": "2000-01-01T00:00:00+00:00",
      "description": "This group is for developers.",
      "name": "Dev",
      "private": false,
      "updated_at": "2000-01-01T00:00:00+00:00",
      "url_name": "dev"
    },
    "tags": [
      {
        "name": "MTG/%{Year}/%{month}/%{day}",
        "versions": [
          "0.0.1"
        ]
      }
    ],
    "title": "Weekly MTG on %{Year}/%{month}/%{day}",
    "coedit": true
  }
]

DELETE /api/v2/templates/:template_id

Delete a template.

DELETE /api/v2/templates/:template_id HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

GET /api/v2/templates/:template_id

Get a template.

GET /api/v2/templates/:template_id HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "body": "Weekly MTG on %{Year}/%{month}/%{day}",
  "id": 1,
  "name": "Weekly MTG",
  "expanded_body": "Weekly MTG on 2000/01/01",
  "expanded_tags": [
    {
      "name": "MTG/2000/01/01",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "expanded_title": "Weekly MTG on 2015/06/03",
  "group": {
    "created_at": "2000-01-01T00:00:00+00:00",
    "description": "This group is for developers.",
    "name": "Dev",
    "private": false,
    "updated_at": "2000-01-01T00:00:00+00:00",
    "url_name": "dev"
  },
  "tags": [
    {
      "name": "MTG/%{Year}/%{month}/%{day}",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "title": "Weekly MTG on %{Year}/%{month}/%{day}",
  "coedit": true
}

POST /api/v2/templates

Create a new template.

  • body
  • The body of this template
  • Example: "Weekly MTG on %{Year}/%{month}/%{day}"
  • Type: string
  • name
  • A template name
  • Example: "Weekly MTG"
  • Type: string
  • tags
  • A list of tags
  • Example: [{"name"=>"MTG/%{Year}/%{month}/%{day}", "versions"=>["0.0.1"]}]
  • Type: array
  • title
  • A template title where variables are to be expanded
  • Example: "Weekly MTG on %{Year}/%{month}/%{day}"
  • Type: string
  • coedit
  • Co-editing mode.
  • Example: true
  • Type: boolean
  • group_url_name
  • A group's url_name on which share item using this template (pass null to make public).
  • Example: "dev"
  • Type: string, null
POST /api/v2/templates HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "body": "Weekly MTG on %{Year}/%{month}/%{day}",
  "name": "Weekly MTG",
  "tags": [
    {
      "name": "MTG/%{Year}/%{month}/%{day}",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "title": "Weekly MTG on %{Year}/%{month}/%{day}",
  "coedit": true,
  "group_url_name": "dev"
}
HTTP/1.1 201 Created
Content-Type: application/json

{
  "body": "Weekly MTG on %{Year}/%{month}/%{day}",
  "id": 1,
  "name": "Weekly MTG",
  "expanded_body": "Weekly MTG on 2000/01/01",
  "expanded_tags": [
    {
      "name": "MTG/2000/01/01",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "expanded_title": "Weekly MTG on 2015/06/03",
  "group": {
    "created_at": "2000-01-01T00:00:00+00:00",
    "description": "This group is for developers.",
    "name": "Dev",
    "private": false,
    "updated_at": "2000-01-01T00:00:00+00:00",
    "url_name": "dev"
  },
  "tags": [
    {
      "name": "MTG/%{Year}/%{month}/%{day}",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "title": "Weekly MTG on %{Year}/%{month}/%{day}",
  "coedit": true
}

PATCH /api/v2/templates/:template_id

Update a template.

  • body
  • The body of this template
  • Example: "Weekly MTG on %{Year}/%{month}/%{day}"
  • Type: string
  • name
  • A template name
  • Example: "Weekly MTG"
  • Type: string
  • tags
  • A list of tags
  • Example: [{"name"=>"MTG/%{Year}/%{month}/%{day}", "versions"=>["0.0.1"]}]
  • Type: array
  • title
  • A template title where variables are to be expanded
  • Example: "Weekly MTG on %{Year}/%{month}/%{day}"
  • Type: string
  • coedit
  • Co-editing mode.
  • Example: true
  • Type: boolean
  • group_url_name
  • A group's url_name on which share item using this template (pass null to make public).
  • Example: "dev"
  • Type: string, null
PATCH /api/v2/templates/:template_id HTTP/1.1
Content-Type: application/json
Host: api.example.com

{
  "body": "Weekly MTG on %{Year}/%{month}/%{day}",
  "name": "Weekly MTG",
  "tags": [
    {
      "name": "MTG/%{Year}/%{month}/%{day}",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "title": "Weekly MTG on %{Year}/%{month}/%{day}",
  "coedit": true,
  "group_url_name": "dev"
}
HTTP/1.1 200 OK
Content-Type: application/json

{
  "body": "Weekly MTG on %{Year}/%{month}/%{day}",
  "id": 1,
  "name": "Weekly MTG",
  "expanded_body": "Weekly MTG on 2000/01/01",
  "expanded_tags": [
    {
      "name": "MTG/2000/01/01",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "expanded_title": "Weekly MTG on 2015/06/03",
  "group": {
    "created_at": "2000-01-01T00:00:00+00:00",
    "description": "This group is for developers.",
    "name": "Dev",
    "private": false,
    "updated_at": "2000-01-01T00:00:00+00:00",
    "url_name": "dev"
  },
  "tags": [
    {
      "name": "MTG/%{Year}/%{month}/%{day}",
      "versions": [
        "0.0.1"
      ]
    }
  ],
  "title": "Weekly MTG on %{Year}/%{month}/%{day}",
  "coedit": true
}

User

A Qiita user (a.k.a. account)

Properties

  • description
  • self-description
  • Example: "Hello, world."
  • Type: null, string
  • facebook_id
  • Facebook ID
  • Example: "qiita"
  • Type: null, string
  • followees_count
  • Followees count
  • Example: 100
  • Type: integer
  • followers_count
  • Followers count
  • Example: 200
  • Type: integer
  • github_login_name
  • GitHub ID
  • Example: "qiitan"
  • Type: null, string
  • id
  • User ID
  • Example: "qiita"
  • Type: string
  • items_count
  • How many items a user posted on qiita.com (Items on Qiita Team are not included)
  • Example: 300
  • Type: integer
  • linkedin_id
  • LinkedIn ID
  • Example: "qiita"
  • Type: null, string
  • location
  • Location
  • Example: "Tokyo, Japan"
  • Type: null, string
  • name
  • Customized user name
  • Example: "Qiita キータ"
  • Type: null, string
  • organization
  • Organization which a user belongs to
  • Example: "Qiita Inc."
  • Type: null, string
  • permanent_id
  • Unique integer ID
  • Example: 1
  • Type: integer
  • profile_image_url
  • Profile image URL
  • Example: "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439"
  • Type: string
  • team_only
  • A flag whether this user is configured as team-only
  • Example: false
  • Type: boolean
  • twitter_screen_name
  • Twitter screen name
  • Example: "qiita"
  • Type: null, string
  • website_url
  • Website URL
  • Example: "https://qiita.com"
  • Type: null, string

GET /api/v2/items/:item_id/stockers

List users who stocked an item in recent-stocked order.

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
GET /api/v2/items/:item_id/stockers?page=1&per_page=20 HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
]

GET /api/v2/users

List users in newest order.

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
GET /api/v2/users?page=1&per_page=20 HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
]

GET /api/v2/users/:user_id

Get a user.

GET /api/v2/users/:user_id HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "description": "Hello, world.",
  "facebook_id": "qiita",
  "followees_count": 100,
  "followers_count": 200,
  "github_login_name": "qiitan",
  "id": "qiita",
  "items_count": 300,
  "linkedin_id": "qiita",
  "location": "Tokyo, Japan",
  "name": "Qiita キータ",
  "organization": "Qiita Inc.",
  "permanent_id": 1,
  "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
  "team_only": false,
  "twitter_screen_name": "qiita",
  "website_url": "https://qiita.com"
}

GET /api/v2/users/:user_id/followees

List users a user is following.

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
GET /api/v2/users/:user_id/followees?page=1&per_page=20 HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
]

GET /api/v2/users/:user_id/followers

List users who are following a user.

  • page
  • Page number (from 1 to 100)
  • Example: 1
  • Type: string
  • Pattern: /^[0-9]+$/
  • per_page
  • Records count per page (from 1 to 100)
  • Example: 20
  • Type: string
  • Pattern: /^[0-9]+$/
GET /api/v2/users/:user_id/followers?page=1&per_page=20 HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "description": "Hello, world.",
    "facebook_id": "qiita",
    "followees_count": 100,
    "followers_count": 200,
    "github_login_name": "qiitan",
    "id": "qiita",
    "items_count": 300,
    "linkedin_id": "qiita",
    "location": "Tokyo, Japan",
    "name": "Qiita キータ",
    "organization": "Qiita Inc.",
    "permanent_id": 1,
    "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
    "team_only": false,
    "twitter_screen_name": "qiita",
    "website_url": "https://qiita.com"
  }
]

DELETE /api/v2/users/:user_id/following

Unfollow a user.

DELETE /api/v2/users/:user_id/following HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content

GET /api/v2/users/:user_id/following

Check if the current user is following a user.

GET /api/v2/users/:user_id/following HTTP/1.1
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json

{
  "description": "Hello, world.",
  "facebook_id": "qiita",
  "followees_count": 100,
  "followers_count": 200,
  "github_login_name": "qiitan",
  "id": "qiita",
  "items_count": 300,
  "linkedin_id": "qiita",
  "location": "Tokyo, Japan",
  "name": "Qiita キータ",
  "organization": "Qiita Inc.",
  "permanent_id": 1,
  "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
  "team_only": false,
  "twitter_screen_name": "qiita",
  "website_url": "https://qiita.com"
}

PUT /api/v2/users/:user_id/following

Follow a user.

PUT /api/v2/users/:user_id/following HTTP/1.1
Host: api.example.com
HTTP/1.1 204 No Content