コンテンツにスキップ

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
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 <アクセストークン>"
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"
}'
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
}'
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 <アクセストークン>"