コンテンツにスキップ

Admin API の型

Admin API のリクエストとレスポンスに出てくるデータの形(型)を、名前の順に並べています。各操作のページの「型」の列から、ここにリンクしています。共通の決まりは Admin API のリファレンス にあります。

「型」の列の「か null」は、値の代わりに null が入ることがあるという意味です。

受け入れた結果:参加したスペース。

名前 型 必須 決まり 説明
space InvitationSpace ○

ユーザーのアクセストークン。Admin API を Authorization: Bearer で使う。平文は保存しない。

名前 型 必須 決まり 説明
createdAt 日時 ○
expiresAt 日時か null null なら無期限
id 文字列 ○
lastUsedAt 日時か null
name 文字列 ○
scope TokenScope ○
tokenPrefix 文字列 ○ 画面で見分けるための先頭の部分(hako_pat_Ab3dE)
名前 型 必須 決まり 説明
expiresIn ExpiresIn か null
name 文字列 ○
scope TokenScope か null

ここにない名前の項目を送ると、422 が返ります。

名前 型 必須 決まり 説明
accessToken AccessToken ○
token 文字列 ○ トークンの平文。この応答でしか返さない(サーバーにはハッシュしか残らない)
名前 型 必須 決まり 説明
actions RoleActions ○
permissions 文字列の配列 ○

使用量と上限。max が null なら上限なし。

名前 型 必須 決まり 説明
max 整数か null 0 以上
used 整数 ○ 0 以上

Content API の API キー。平文のキーは保存せず、ハッシュだけを持つ。

名前 型 必須 決まり 説明
createdAt 日時 ○
id 文字列 ○
keyPrefix 文字列 ○ 管理画面で見分けるための先頭部分(例:hako_Ab3dE)
lastUsedAt 日時か null
name 文字列 ○
permissions ApiKeyPermissions ○
revokedAt 日時か null 失効した日時。有効なら null
revokedBy UserRef か null
spaceId 文字列 ○
名前 型 必須 決まり 説明
name 文字列 ○ 見分けるための名前
permissions ApiKeyPermissions か null
名前 型 必須 決まり 説明
apiKey ApiKey ○
key 文字列 ○ キーの平文。この応答でしか返さない(サーバーにはハッシュしか残らない)

API キーの権限。既定の権限と、コンテンツタイプごとの個別の権限を持つ。個別の権限を設定したコンテンツタイプでは、既定の権限を使わず、個別の権限だけで決める。

名前 型 必須 決まり 説明
contentTypes オブジェクト(値は MethodPermissions) コンテンツタイプの ID ごとの個別の権限。JSON では contentTypes
default MethodPermissions
media MediaPermissions メディアの操作(既存のキーで省略されていれば、すべて許さない)

ここにない名前の項目を送ると、422 が返ります。

名前 型 必須 決まり 説明
name 文字列か null 見分けるための名前
permissions ApiKeyPermissions か null

監査ログの 1 件(読むとき)

名前 型 必須 決まり 説明
action 文字列 ○
actor AuditLogActor ○
details どの形でもよい ○
id 文字列 ○
ip 文字列か null
occurredAt 日時 ○
target AuditLogTarget か null
userAgent 文字列か null
名前 型 必須 決まり 説明
email 文字列か null
id 文字列か null
name 文字列か null
tokenId 文字列か null ユーザーがアクセストークンで行ったなら、そのトークンの ID
type 文字列 ○
名前 型 必須 決まり 説明
logs AuditLog の配列 ○
nextCursor 文字列か null 続きがあれば、次のページの cursor
名前 型 必須 決まり 説明
id 文字列 ○
label 文字列か null
type 文字列 ○

ログイン画面で使える機能。

名前 型 必須 決まり 説明
passwordReset 真偽値 ○ メールでパスワードを再設定できる(mail.smtp_url を設定してある)
passwordResetLinkMinutes 整数か null メールで送るリンクの期限(分)。再設定できなければ null

コンテンツタイプ。Content API の /api/v1/{endpoint} に当たる。

名前 型 必須 決まり 説明
createdAt 日時 ○
endpoint 文字列 ○
id 文字列 ○
kind ContentTypeKind ○
name 文字列 ○
schema オブジェクト ○ スキーマ
schemaVersion 整数 ○ スキーマを変えるたびに 1 増える。同時編集の検出に使う
spaceId 文字列 ○
updatedAt 日時 ○
名前 型 必須 決まり 説明
endpoint 文字列 ○ コンテンツタイプの ID(Content API のパスに入る)
kind ContentTypeKind ○
name 文字列 ○ 表示名
schema オブジェクト スキーマ

コンテンツタイプの種類。コレクションは複数のエントリー、シングルは 1 つだけのエントリーを持つ。JSON と DB で同じ値(collection / single)を使う。

"collection" "single"。

一覧の 1 件:コンテンツタイプと、そのコンテンツの件数。

ContentType、オブジェクト。

名前 型 必須 決まり 説明
endpoint 文字列か null コンテンツタイプの ID。変えると Content API のパスも変わる
name 文字列か null 表示名
名前 型 必須 決まり 説明
fileName 文字列 ○
size 整数 ○ 0 以上
名前 型 必須 決まり 説明
id 文字列 ○
name 文字列 ○

Invitation、オブジェクト。

名前 型 必須 決まり 説明
data どの形でもよい ○
名前 型 必須 決まり 説明
deliveries DeliveryView の配列 ○
nextCursor 文字列か null

"pending" "succeeded" "failed"。

名前 型 必須 決まり 説明
createdAt 日時 ○
event 文字列 ○
id 文字列 ○
responseCode 整数か null 0 以上
status DeliveryStatus ○
名前 型 必須 決まり 説明
attempts 整数 ○ 0 以上
createdAt 日時 ○
error 文字列か null
event 文字列 ○
finishedAt 日時か null
id 文字列 ○
nextAttemptAt 日時か null
payload どの形でもよい ○
responseBody 文字列か null
responseCode 整数か null 0 以上
status DeliveryStatus ○

コンテンツ。公開版と最新の下書きを別々に持つ。

名前 型 必須 決まり 説明
contentTypeId 文字列 ○
createdAt 日時 ○
draft どの形でもよい 最新の下書きの値。下書きがなければ null
id 文字列 ○
published どの形でもよい 公開版の値。公開中でなければ null
publishedAt 日時か null 最初に公開した日時
reservation Reservation ○ 予約公開・予約公開終了
revisedAt 日時か null 最後に公開した日時
status EntryStatus ○
updatedAt 日時 ○
名前 型 必須 決まり 説明
data どの形でもよい ○
id 文字列か null 省略すると自動で採番する
publish 真偽値 true ならすぐ公開する。false(既定)なら下書きとして作る
名前 型 必須 決まり 説明
entries Entry の配列 ○
limit 整数 ○ 0 以上
offset 整数 ○ 0 以上
totalCount 整数 ○

コンテンツのステータス。

"draft" "published" "published_with_draft" "closed"。

名前 型 必須 決まり 説明
issues オブジェクトの配列 入力の検証の誤り(400)。位置と内容
message 文字列 ○ 誤りの内容(英語)

期限の選び方。

"30d" "90d" "1y" "never"。

名前 型 必須 決まり 説明
mediaFiles 真偽値か null メディアの中身を入れるか(既定は入れる)

環境全体の使用量と上限。

名前 型 必須 決まり 説明
mediaBytes Amount ○ メディアの合計の大きさ(バイト)
spaces Amount ○ 取り込み中のものを含む
users Amount ○ 削除していないユーザー

招待。

名前 型 必須 決まり 説明
createdAt 日時 ○
email 文字列 ○
expiresAt 日時 ○
id 文字列 ○
invitedBy UserRef か null
role InvitationRole ○
名前 型 必須 決まり 説明
email 文字列 ○ 招待する人のメールアドレス
roleId 文字列 ○ 参加したときのロールの ID(roles list で見る)

ここにない名前の項目を送ると、422 が返ります。

招待の内容(受け入れの画面に出す)

名前 型 必須 決まり 説明
accountExists 真偽値 ○ 招待のメールアドレスのアカウントがあるか
email 文字列 ○
expiresAt 日時 ○
role InvitationRoleName ○
space InvitationSpace ○
名前 型 必須 決まり 説明
id 文字列 ○
name 文字列 ○
名前 型 必須 決まり 説明
name 文字列 ○
名前 型 必須 決まり 説明
name 文字列か null
slug 文字列 ○
名前 型 必須 決まり 説明
spaces LeftoverView の配列 ○
名前 型 必須 決まり 説明
id 文字列 ○
importStartedAt 日時 ○
name 文字列 ○
slug 文字列 ○
名前 型 必須 決まり 説明
media MediaView の配列 ○
nextCursor 文字列か null
totalCount 整数 ○ 0 以上
名前 型 必須 決まり 説明
email 文字列 ○
password 文字列 ○
名前 型 必須 決まり 説明
clientName 文字列 ○
code 文字列 ○
createdAt 日時 ○
expiresAt 日時 ○
status 文字列 ○ pending approved denied

ログイン直後と /me で返す。

名前 型 必須 決まり 説明
spaces Membership の配列 ○
user User ○

幅と高さを読めた画像なら Image、それ以外は File。

"image" "file"。

メディアの操作ごとの権限。省略したものは許さない。

名前 型 必須 決まり 説明
create 真偽値 既定 false アップロード
delete 真偽値 既定 false
read 真偽値 既定 false 一覧と 1 件の取得
update 真偽値 既定 false 代替テキスト・タグを変える

ここにない名前の項目を送ると、422 が返ります。

変えられるのは代替テキストとタグだけ。ファイル名と中身は変えられない(知らないキーは 422)

名前 型 必須 決まり 説明
alt 文字列か null 代替テキスト
tags 文字列の配列か null タグ(文字列の配列)。渡すと置き換える

ここにない名前の項目を送ると、422 が返ります。

アップロードのフォーム(multipart/form-data)。項目を変えたら、ここも直す。

名前 型 必須 決まり 説明
alt 文字列か null 代替テキスト
file ファイル ○ ファイル
tags 文字列か null タグ(文字列の JSON の配列、["news","top"])

Admin API が返すメディア。

名前 型 必須 決まり 説明
alt 文字列 ○
createdAt 日時 ○
createdBy 文字列か null
fileName 文字列 ○
height 整数か null 0 以上
id 文字列 ○
kind MediaKind ○
mime 文字列 ○
size 整数 ○ 0 以上
tags 文字列の配列 ○
updatedAt 日時 ○
url 文字列 ○
width 整数か null 0 以上

スペースのメンバー。

名前 型 必須 決まり 説明
joinedAt 日時 ○
role RoleRef ○
user MemberUser ○
名前 型 必須 決まり 説明
roleId 文字列 ○ 新しいロールの ID(roles list で見る)

ここにない名前の項目を送ると、422 が返ります。

名前 型 必須 決まり 説明
email 文字列 ○
id 文字列 ○
name 文字列 ○

Member、オブジェクト。

ユーザーがスペースで持つロール。

名前 型 必須 決まり 説明
role 文字列 ○
space Space ○

コンテンツの操作ごとの権限。省略したものは許さない。

名前 型 必須 決まり 説明
create 真偽値 既定 false エントリーを作る(下書き)
delete 真偽値 既定 false
preview 真偽値 既定 false プレビュー(preview=true):下書きと、一度も公開していないエントリーも読む。read も要る
publish 真偽値 既定 false 公開する・公開を終了する・予約する
read 真偽値 既定 false 公開中のエントリーを読む
update 真偽値 既定 false 下書きを変える・捨てる

ここにない名前の項目を送ると、422 が返ります。

名前 型 必須 決まり 説明
name 文字列 ○ 作るアカウントの表示名
password 文字列 ○ 作るアカウントのパスワード

ここにない名前の項目を送ると、422 が返ります。

名前 型 必須 決まり 説明
direct 真偽値 ○ ストレージに直接送るか
headers オブジェクト(値は文字列) ○
method 文字列 ○
url 文字列 ○
名前 型 必須 決まり 説明
expiresAt 日時 ○
path 文字列 ○ 管理画面のパス(/admin/password/hpw_…)。サーバーの URL につなげて本人に渡す。この応答でしか返さない

リンクの内容(パスワードを決める画面に出す)リンクの内容(パスワードを決める画面に出す)

名前 型 必須 決まり 説明
email 文字列 ○
expiresAt 日時 ○
名前 型 必須 決まり 説明
validHours 整数か null 0 以上 リンクの有効期間(時間、1〜168)。省くと 24

ここにない名前の項目を送ると、422 が返ります。

名前 型 必須 決まり 説明
email 文字列 ○ パスワードを忘れたアカウントのメールアドレス

ここにない名前の項目を送ると、422 が返ります。

名前 型 必須 決まり 説明
pollToken 文字列 ○

ここにない名前の項目を送ると、422 が返ります。

CLI のログインの結果。approved のときだけ、トークンとユーザーを返す。

名前 型 必須 決まり 説明
accessToken AccessToken か null
status 文字列 ○ pending approved denied
token 文字列か null トークンの平文。この応答でしか返さない
user User か null

"custom" "vercel" "netlify" "slack"。

名前 型 必須 決まり 説明
data どの形でもよい 指定すると、この値を保存して公開する。省略すると最新の下書き(なければ公開版)を公開し直す

コンテンツの予約と、最後に失敗した予約公開の記録。

名前 型 必須 決まり 説明
closeAt 日時か null
error 文字列か null 最後に失敗した予約公開の理由
failedAt 日時か null
publishAt 日時か null
名前 型 必須 決まり 説明
closeAt 文字列か null 予約公開終了の日時(RFC 3339)。null で取り消す。省くと変えない
publishAt 文字列か null 予約公開の日時(RFC 3339)。null で取り消す。省くと変えない

ここにない名前の項目を送ると、422 が返ります。

リビジョン 1 件(保存ごとの版)。値を含む。

RevisionSummary、オブジェクト。

版を保存した主体。

名前 型 必須 決まり 説明
deleted 真偽値 ○ ユーザーが削除済み、または API キーが失効している
id 文字列か null
name 文字列か null ユーザーの名前か API キーの名前。匿名化したユーザーは null
type 文字列 ○ “user” / “apiKey” / “system”
名前 型 必須 決まり 説明
nextCursor 文字列か null 続きがあれば、次のページの cursor
revisions RevisionSummary の配列 ○

リビジョンの一覧の 1 件(値を含めない)

名前 型 必須 決まり 説明
actor RevisionActor か null
createdAt 日時 ○
id 文字列 ○
kind 文字列 ○ “draft” か “published”
number 整数 ○ コンテンツごとの版の番号(1 から)
schemaVersion 整数 ○

スペースのロール。

名前 型 必須 決まり 説明
actions RoleActions ○
builtin 真偽値 ○ 組み込みのロール(owner / admin / editor / viewer)。変えられない
id 文字列 ○
memberCount 整数 ○
name 文字列 ○
permissions 文字列の配列 ○

ロールのコンテンツタイプごとの操作。個別の設定のあるコンテンツタイプでは、既定を使わず個別の設定だけを使う。

名前 型 必須 決まり 説明
contentTypes オブジェクト(値は文字列の配列) コンテンツタイプの ID から操作。JSON では contentTypes
default 文字列の配列

ここにない名前の項目を送ると、422 が返ります。

名前 型 必須 決まり 説明
builtin 真偽値 ○
id 文字列 ○
name 文字列 ○
名前 型 必須 決まり 説明
actions RoleActions コンテンツタイプごとの操作。既定はどれにも何もできない
name 文字列 ○ ロールの名前
permissions 文字列の配列 スペース全体への権限(文字列の配列)。既定は空

ここにない名前の項目を送ると、422 が返ります。

Role、オブジェクト。

スキーマの変更履歴 1 件。

名前 型 必須 決まり 説明
createdAt 日時 ○
createdBy 文字列か null
version 整数 ○
名前 型 必須 決まり 説明
password 文字列 ○

ここにない名前の項目を送ると、422 が返ります。

スペース。スキーマ・コンテンツ・メディア・メンバーの境界。

名前 型 必須 決まり 説明
createdAt 日時 ○
id 文字列 ○
name 文字列 ○
slug 文字列 ○
名前 型 必須 決まり 説明
name 文字列 ○ 表示名
slug 文字列 ○ スラッグ(URL に入る ID)

スペースの使用量と上限。

名前 型 必須 決まり 説明
apiKeys Amount ○ 取り消していない API キー
contentTypes Amount ○
entries Amount ○ すべてのコンテンツタイプの合計
mediaBytes Amount ○ メディアの合計の大きさ(バイト)
members Amount ○ メンバーと、まだ受け入れられていない招待
webhooks Amount ○

スペースと、ログイン中のユーザーのロール(メンバーでない環境の管理者は null)

Space、オブジェクト。

名前 型 必須 決まり 説明
confirm 真偽値 今のエントリーが違反する変更も反映する。省くと false
prune 真偽値 消える(delete の)コンテンツタイプを、エントリーごと消す。省くと false
名前 型 必須 決まり 説明
name 文字列 ○ 取り込んで作るスペースの名前
slug 文字列 ○ 取り込んで作るスペースのスラッグ
名前 型 必須 決まり 説明
clientName 文字列 ○ トークンの名前にする(CLI はコンピューターの名前を送る)

ここにない名前の項目を送ると、422 が返ります。

名前 型 必須 決まり 説明
code 文字列 ○ 端末に出し、管理画面で見比べてもらう文字
expiresAt 日時 ○
interval 整数 ○ 0 以上 問い合わせる間隔(秒)
pollToken 文字列 ○ CLI が受け取りに使う値。この応答でしか返さない
名前 型 必須 決まり 説明
md5 文字列か null ストレージに直接送るときに要る(GCS は MD5 でしか中身を確かめない)
sha256 文字列 ○
size 整数 ○ 0 以上
名前 型 必須 決まり 説明
path 文字列 ○
reason 文字列 ○

アクセストークンでできること。

"read" "all"。

"export" "import" "apply"。

名前 型 必須 決まり 説明
transfers TransferView の配列 ○

状態。取り込みは(分けて送るなら uploading →)uploaded(ZIP を受け取った)→ queued → running → succeeded / failed、書き出しは queued から始まる。スキーマの反映は queued → running → planned(差分を出し、同意を待つ)→queued → running → succeeded / failed。

"uploading" "uploaded" "queued" "running" "planned" "succeeded" "failed"。

名前 型 必須 決まり 説明
createdAt 日時 ○
createdBy CreatedBy か null
document どの形でもよい 取り込み:受け取った ZIP の中身の要約
downloadable 真偽値 ○ 書き出し:ZIP をダウンロードできるか(終わっていて、期限が来ていない)
error 文字列か null
expiresAt 日時か null
fileSize 整数か null 0 以上
finishedAt 日時か null
id 文字列 ○
kind TransferKind ○
options どの形でもよい ○ 書き出し:mediaFiles。取り込み:slug name(始めたあと)
progress どの形でもよい
space 文字列か null 取り込み:作ったスペースのスラッグ(終わったあと)
status TransferStatus ○
名前 型 必須 決まり 説明
confirm 真偽値 既存のコンテンツが新しいスキーマに違反するとき、承知のうえで適用する
schema オブジェクト ○ スキーマ
schemaVersion 整数 ○ 編集を始めたときの版。その後に誰かが更新していたら 409 を返す
名前 型 必須 決まり 説明
contentType ContentType ○
tightenings TighteningView の配列 ○ 既存のコンテンツが違反しうる変更。違反したコンテンツは次の保存時に修正を求められる
violationCount 整数 ○ 0 以上 新しいスキーマに違反しているコンテンツの数(confirm: true で適用したとき)
名前 型 必須 決まり 説明
direct 真偽値 ○ 片をストレージに直接送るか
documentVersion 整数 ○ 0 以上 このサーバーが読める、スペースの文書の版
maxBytes 整数 ○ 0 以上
partBytes 整数 ○ 0 以上

TransferView、オブジェクト。

名前 型 必須 決まり 説明
contentType UsageContentType ○
deletedField 真偽値 ○ 論理削除したフィールドに残っている値。管理画面には出ないが、復元に備えて残っている
entryId 文字列 ○
fieldPath 文字列 ○
kind 文字列 ○
名前 型 必須 決まり 説明
endpoint 文字列 ○
id 文字列 ○
name 文字列 ○

管理画面のユーザー。

名前 型 必須 決まり 説明
anonymizedAt 日時か null 匿名化した日時(3.10)
createdAt 日時 ○
deletedAt 日時か null 削除した日時。行は消さない
email 文字列 ○
id 文字列 ○
isAdmin 真偽値 ○ 環境全体の管理者。スペースを作成できる
locale 文字列 ○
name 文字列 ○
timezone 文字列 ○
名前 型 必須 決まり 説明
email 文字列 ○ メールアドレス(ログインに使う)
isAdmin 真偽値 環境の管理者にする(スペースを作成できる)
name 文字列か null 表示名。省くとメールアドレスの @ より前
password 文字列か null 省くと、パスワードのないユーザーを作る(パスワードを決めるリンクで、本人に決めてもらう)

ここにない名前の項目を送ると、422 が返ります。

ほかの記録から指す人(作った人、失効させた人など)。削除済みでも名前を出す。

名前 型 必須 決まり 説明
deleted 真偽値 ○
id 文字列 ○
name 文字列か null 匿名化したユーザーは null

環境の管理者が見るユーザーの一覧の 1 件。

名前 型 必須 決まり 説明
anonymizedAt 日時か null
createdAt 日時 ○
deletedAt 日時か null
email 文字列 ○
id 文字列 ○
isAdmin 真偽値 ○
name 文字列 ○
spaces 文字列の配列 ○ 所属するスペースのスラッグ
名前 型 必須 決まり 説明
contentTypeId 文字列か null このコンテンツタイプのイベントだけを送る。null ならすべてのコンテンツタイプとメディア
enabled 真偽値か null 送るか。既定 true
events 文字列の配列か null 送るイベント名の配列。既定 [“entry.published”, “entry.deleted”]
headers オブジェクト(値は文字列)か null カスタムヘッダー(名前から値のオブジェクト)。20 個まで
name 文字列 ○ 名前
preset 文字列か null 送る形。選べる値:custom, vercel, netlify, slack。既定 custom
secret 文字列か null 署名のシークレット(8〜256 文字)
url 文字列 ○ 送信先(http:// か https://)

ここにない名前の項目を送ると、422 が返ります。

名前 型 必須 決まり 説明
contentTypeId 文字列か null このコンテンツタイプのイベントだけを送る。null ならすべてのコンテンツタイプとメディア
enabled 真偽値か null 送るか
events 文字列の配列か null 送るイベント名の配列
headers オブジェクト(値は文字列)か null カスタムヘッダー(名前から値のオブジェクト)。20 個まで
name 文字列か null 名前
preset 文字列か null 送る形。選べる値:custom, vercel, netlify, slack
secret 文字列か null 署名のシークレット(8〜256 文字)。null で外す
url 文字列か null 送信先(http:// か https://)

ここにない名前の項目を送ると、422 が返ります。

名前 型 必須 決まり 説明
contentTypeId 文字列か null
createdAt 日時 ○
enabled 真偽値 ○
events 文字列の配列 ○
hasSecret 真偽値 ○ シークレットそのものは返さない
headers オブジェクト(値は文字列) ○
id 文字列 ○
lastDelivery DeliverySummary か null
name 文字列 ○
preset Preset ○
updatedAt 日時 ○
url 文字列 ○