microCMS

GET /api/v1/{endpoint}/{content_id}

最終更新日: 2020/10/12

リスト型APIにおいて、idで指定したコンテンツを取得できるAPIです。

リクエストヘッダー

X-API-KEY

GET APIリクエストの際に必要な認証キーです。リクエストヘッダーに含めて送信してください。

Information

API-KEY / WRITE-API-KEYはサービス内の全API共通となります。
そのため、クライアントサイドから直接APIを呼び出すことでユーザーがキーを把握できてしまう場合、エンドポイントさえ分かれば他のAPIも呼び出せてしまうことにご注意ください。
対処法としては、サーバサイドからAPIを呼び出す、またはJamstack構成にするなどしてキーを漏洩しないことが挙げられます。

X-GLOBAL-DRAFT-KEY

全ての下書き状態のコンテンツを一度に取得するための認証キーです。
複数の下書きコンテンツを同時に取得する必要がある場合にリクエストヘッダに値を設定して送信してください。
通常、下書き状態のコンテンツを取得するにはコンテンツ毎に生成されたdraftKeyを使用します。)

Information

X-GLOBAL-DRAFT-KEYは漏洩しないよう管理してください。漏洩すると全ての下書き状態のコンテンツを読み取られる危険性があります。
特にクライアントサイドで利用する場合は検証環境内のみで利用するなど注意して取り扱ってください。

クエリ

URLの語尾にGETパラメータ形式で指定できます。

draftKey

下書き状態のコンテンツを取得するためのパラメータです。 コンテンツの編集画面で確認できるdraftKeyをパラメータとして追加してください。
draftKeyを使って取得できる下書きコンテンツは通常1つのみです。
複数の下書き状態のコンテンツを同時に取得したい場合には認証キーであるX-GLOBAL-DRAFT-KEYをご利用ください。

fields

コンテンツの中で取得する要素を指定します。
fields=title,main_image,updatedAt,author.nameのようにカンマ区切りで値を記載してください。author.organization.nameのようにドットでつないでキーを指定することで参照コンテンツの要素も指定できます。fieldsが指定されていない場合は全ての要素を取得します。

depth

参照コンテンツを取得する階層の深さを指定します。
デフォルト値は1、最大値は3です。

例えば、ブログコンテンツに関連記事を表示するために、自分自身を循環参照しているとします。

例)depth = 1の場合

{
  "id": "id1",
  "title": "title1",
  "body": "body1",
  "related_blog": {
    "id": "id2",
    "title": "title2",
    "body": "body2",
    "related_blog": {
      "id": "id3"
    }
  }
}


例)depth = 2の場合

{
  "id": "id1",
  "title": "title1",
  "body": "body1",
  "related_blog": {
    "id": "id2",
    "title": "title2",
    "body": "body2",
    "related_blog": {
      "id": "id3",
      "title": "title3",
      "body": "body3",
      "related_blog": {
        "id": "id4"
      }
    }
  }
}