Admin API:コンテンツタイプ
コンテンツタイプを作る、変える、削除する操作と、スキーマの更新の操作です。共通の決まり(認証、エラーの形、日時)は Admin API のリファレンス にあります。
スキーマ(schema)の形は、フィールドの種類と値の形 にあります。
例の <ホスト名> はあなたの環境のホスト名、<アクセストークン> は hako_pat_ で始まるアクセストークンに置き換えます。<slug> などのほかの山かっこの値は、各操作のパラメーターの表にあるものに置き換えます。
| 操作 | メソッドとパス |
|---|---|
| コンテンツタイプの一覧 | GET /admin/api/spaces/{slug}/content-types |
| コンテンツタイプを作る | POST /admin/api/spaces/{slug}/content-types |
| コンテンツタイプを取得する | GET /admin/api/spaces/{slug}/content-types/{endpoint} |
| コンテンツタイプの名前と ID を変える | PATCH /admin/api/spaces/{slug}/content-types/{endpoint} |
| コンテンツタイプとそのエントリーをすべて消す | DELETE /admin/api/spaces/{slug}/content-types/{endpoint} |
| コンテンツタイプのスキーマを置き換える | PUT /admin/api/spaces/{slug}/content-types/{endpoint}/schema |
| スキーマの変更履歴 | GET /admin/api/spaces/{slug}/content-types/{endpoint}/schema/versions |
コンテンツタイプの一覧
Section titled “コンテンツタイプの一覧”GET /admin/api/spaces/{slug}/content-types- ログイン:要る(セッションかアクセストークン)
パラメーター:
| 名前 | 場所 | 型 | 必須 | 決まり | 説明 |
|---|---|---|---|---|---|
slug |
パス | 文字列 | ○ | スペースのスラッグ |
返る値:
| 状態 | 本文 |
|---|---|
200 |
ContentTypeListItem の配列(application/json) |
うまくいかなかったときは、4xx か 5xx と、message を持つ JSON が返ります。状態ごとの意味は エラーの一覧 にあります。
例:
curl "https://<ホスト名>.hakocms.net/admin/api/spaces/<slug>/content-types" \ -H "Authorization: Bearer <アクセストークン>"コンテンツタイプを作る
Section titled “コンテンツタイプを作る”POST /admin/api/spaces/{slug}/content-types- ログイン:要る(セッションかアクセストークン)
パラメーター:
| 名前 | 場所 | 型 | 必須 | 決まり | 説明 |
|---|---|---|---|---|---|
slug |
パス | 文字列 | ○ | スペースのスラッグ |
リクエストの本文(application/json):
| 名前 | 型 | 必須 | 決まり | 説明 |
|---|---|---|---|---|
endpoint |
文字列 | ○ | コンテンツタイプの ID(Content API のパスに入る) | |
kind |
ContentTypeKind | ○ | ||
name |
文字列 | ○ | 表示名 | |
schema |
オブジェクト | スキーマ |
返る値:
| 状態 | 本文 |
|---|---|
201 |
ContentType(application/json) |
うまくいかなかったときは、4xx か 5xx と、message を持つ JSON が返ります。状態ごとの意味は エラーの一覧 にあります。
例:
curl -X POST "https://<ホスト名>.hakocms.net/admin/api/spaces/<slug>/content-types" \ -H "Authorization: Bearer <アクセストークン>" \ -H "Content-Type: application/json" \ -d '{ "endpoint": "<endpoint>", "name": "<name>", "kind": "collection"}'コンテンツタイプを取得する
Section titled “コンテンツタイプを取得する”GET /admin/api/spaces/{slug}/content-types/{endpoint}- ログイン:要る(セッションかアクセストークン)
パラメーター:
| 名前 | 場所 | 型 | 必須 | 決まり | 説明 |
|---|---|---|---|---|---|
slug |
パス | 文字列 | ○ | スペースのスラッグ | |
endpoint |
パス | 文字列 | ○ | コンテンツタイプの ID |
返る値:
| 状態 | 本文 |
|---|---|
200 |
ContentType(application/json) |
うまくいかなかったときは、4xx か 5xx と、message を持つ JSON が返ります。状態ごとの意味は エラーの一覧 にあります。
例:
curl "https://<ホスト名>.hakocms.net/admin/api/spaces/<slug>/content-types/<endpoint>" \ -H "Authorization: Bearer <アクセストークン>"コンテンツタイプの名前と ID を変える
Section titled “コンテンツタイプの名前と ID を変える”名前とエンドポイントを変える。エンドポイントを変えると Content API のパスも変わる。
PATCH /admin/api/spaces/{slug}/content-types/{endpoint}- ログイン:要る(セッションかアクセストークン)
パラメーター:
| 名前 | 場所 | 型 | 必須 | 決まり | 説明 |
|---|---|---|---|---|---|
slug |
パス | 文字列 | ○ | スペースのスラッグ | |
endpoint |
パス | 文字列 | ○ | コンテンツタイプの ID |
リクエストの本文(application/json):
| 名前 | 型 | 必須 | 決まり | 説明 |
|---|---|---|---|---|
endpoint |
文字列か null | コンテンツタイプの ID。変えると Content API のパスも変わる | ||
name |
文字列か null | 表示名 |
返る値:
| 状態 | 本文 |
|---|---|
200 |
ContentType(application/json) |
うまくいかなかったときは、4xx か 5xx と、message を持つ JSON が返ります。状態ごとの意味は エラーの一覧 にあります。
例:
curl -X PATCH "https://<ホスト名>.hakocms.net/admin/api/spaces/<slug>/content-types/<endpoint>" \ -H "Authorization: Bearer <アクセストークン>" \ -H "Content-Type: application/json" \ -d '{}'コンテンツタイプとそのエントリーをすべて消す
Section titled “コンテンツタイプとそのエントリーをすべて消す”API とそのコンテンツをすべて消す。他のコンテンツタイプから参照されている間は消せない。
DELETE /admin/api/spaces/{slug}/content-types/{endpoint}- ログイン:要る(セッションかアクセストークン)
パラメーター:
| 名前 | 場所 | 型 | 必須 | 決まり | 説明 |
|---|---|---|---|---|---|
slug |
パス | 文字列 | ○ | スペースのスラッグ | |
endpoint |
パス | 文字列 | ○ | コンテンツタイプの ID |
返る値:
| 状態 | 本文 |
|---|---|
204 |
なし |
うまくいかなかったときは、4xx か 5xx と、message を持つ JSON が返ります。状態ごとの意味は エラーの一覧 にあります。
例:
curl -X DELETE "https://<ホスト名>.hakocms.net/admin/api/spaces/<slug>/content-types/<endpoint>" \ -H "Authorization: Bearer <アクセストークン>"コンテンツタイプのスキーマを置き換える
Section titled “コンテンツタイプのスキーマを置き換える”PUT /admin/api/spaces/{slug}/content-types/{endpoint}/schema- ログイン:要る(セッションかアクセストークン)
パラメーター:
| 名前 | 場所 | 型 | 必須 | 決まり | 説明 |
|---|---|---|---|---|---|
slug |
パス | 文字列 | ○ | スペースのスラッグ | |
endpoint |
パス | 文字列 | ○ | コンテンツタイプの ID |
リクエストの本文(application/json):
| 名前 | 型 | 必須 | 決まり | 説明 |
|---|---|---|---|---|
confirm |
真偽値 | 既存のコンテンツが新しいスキーマに違反するとき、承知のうえで適用する | ||
schema |
オブジェクト | ○ | スキーマ | |
schemaVersion |
整数 | ○ | 編集を始めたときの版。その後に誰かが更新していたら 409 を返す |
返る値:
| 状態 | 本文 |
|---|---|
200 |
UpdateSchemaResponse(application/json) |
うまくいかなかったときは、4xx か 5xx と、message を持つ JSON が返ります。状態ごとの意味は エラーの一覧 にあります。
例:
curl -X PUT "https://<ホスト名>.hakocms.net/admin/api/spaces/<slug>/content-types/<endpoint>/schema" \ -H "Authorization: Bearer <アクセストークン>" \ -H "Content-Type: application/json" \ -d '{ "schema": {}, "schemaVersion": 1}'スキーマの変更履歴
Section titled “スキーマの変更履歴”GET /admin/api/spaces/{slug}/content-types/{endpoint}/schema/versions- ログイン:要る(セッションかアクセストークン)
パラメーター:
| 名前 | 場所 | 型 | 必須 | 決まり | 説明 |
|---|---|---|---|---|---|
slug |
パス | 文字列 | ○ | スペースのスラッグ | |
endpoint |
パス | 文字列 | ○ | コンテンツタイプの ID |
返る値:
| 状態 | 本文 |
|---|---|
200 |
SchemaVersion の配列(application/json) |
うまくいかなかったときは、4xx か 5xx と、message を持つ JSON が返ります。状態ごとの意味は エラーの一覧 にあります。
例:
curl "https://<ホスト名>.hakocms.net/admin/api/spaces/<slug>/content-types/<endpoint>/schema/versions" \ -H "Authorization: Bearer <アクセストークン>"