microCMS

GET /api/v1/contents/{endpoint}

リスト形式のAPIにおいてはコンテンツのメタ情報一覧が取得でき、オブジェクト形式のAPIにおいては単一コンテンツのメタ情報が取得ができます。

オブジェクト形式のAPIの場合はGET /api/v1/contents/{endpoint}/{content_id}と同様の結果が得られます。

GET /api/v1/contents/{endpoint}/{content_id}
https://document.microcms.io/management-api/get-content

ここではリスト形式のAPIの場合におけるリクエストヘッダー、クエリパラメータについて解説します。

リクエストヘッダー

X-MICROCMS-API-KEY

マネジメントAPIのGET APIリクエストの際に必要な認証キーです。
マネジメントAPIのデフォルト権限で「コンテンツの取得 (一覧・詳細)」を有効にして、リクエストヘッダーに含めて送信してください。

Information

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

レスポンス例

こちらがマネジメントAPIで取得したコンテンツ一覧のレスポンス例です。

{
  "contents": [
    {
      "id": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z",
      "publishedAt": "2019-08-24T14:15:22Z",
      "revisedAt": "2019-08-24T14:15:22Z",
      // 公開終了時は日時が入る
      "closedAt": null,
      "status": [
        "DRAFT"
      ],
      //カスタムステータス
      "customStatus": null,
      //コンテンツの公開時はnullが入る
      "draftKey": "draftKey",
      "createdBy": "string",
      "updatedBy": "string",
      // 予約が設定されていない場合nullが入る
      "reservationTime": {
        "publishTime": "2019-08-24T14:15:22Z", //公開開始予約設定がされていない場合nullが入る
        "stopTime": "2019-08-24T14:15:22Z" //公開停止予約設定がされていない場合nullが入る
      }
    }
  ],
  "totalCount": 1,
  "offset": 0,
  "limit": 10
}


クエリストリング

本APIにはクエリストリングを指定できます。

limit

取得件数を指定します。
デフォルト値は10です。
上限値はありませんが、レスポンスサイズ(レスポンスヘッダのcontent-lengthの値)が約5MBを超えるとエラーが発生します。
そのため、大量のコンテンツの全件取得をしたい場合は下記のoffsetパラメータと組み合わせてページング処理を行ってください。

offset

何件目から取得するかを指定します。
デフォルト値は0です。

カスタムステータス

カスタムステータスが設定されたコンテンツでは以下のように customStatus がレスポンスに含まれます。

{
  "id": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "publishedAt": "2019-08-24T14:15:22Z",
  "revisedAt": "2019-08-24T14:15:22Z",
  "status": [
    "PUBLISH"
  ],
  // このcustomStatusが新たに追加されます。
  // customStatusが未対応のプランや設定されていない場合はnullになります。
  "customStatus": [
    {
      "key": "USER_DEFINED_CUSTOM_STATUS_KEY123",
      "description": "ユーザが定義したカスタムステータスです。",
      "name": "カスタムステータスのテスト",
      "behaviour": "PUBLISH",
      "color": "#a20063",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "draftKey": "string",
  "createdBy": "string",
  "updatedBy": "string",
  "reservationTime": {
    "publishTime": "2019-08-24T14:15:22Z",
    "stopTime": "2019-08-24T14:15:22Z"
  }
}


カスタムステータスについて詳しくは以下ドキュメントをご覧ください。

カスタムステータス
https://document.microcms.io/manual/custom-status