カードレイアウト
カスタムカードレイアウトの作成・更新・共有・取り込みを行うエンドポイントです。
制限と検証
1ユーザーあたり最大10件まで作成できます。name は最大100文字、description は最大500文字、layoutData は最大1MBです。
公開範囲 (visibility)
レイアウト詳細の取得可否やギャラリー掲載範囲は visibility によって制御されます。
| パラメータ | 説明 |
|---|---|
| private | 作成者本人のみ閲覧できます。 |
| link_shared | リンクを知っているユーザーが閲覧できます。 |
| same_instance | 同一インスタンスのログインユーザーのみ閲覧できます。 |
| public | 誰でも閲覧でき、ギャラリーにも掲載されます。 |
layoutData 最小構造
layoutData は version / compatibility / canvas / elements を持つ JSON です。詳細要素はサーバー側バリデーションに従います。
{
"version": 1,
"compatibility": {
"minReaderVersion": 1,
"minWriterVersion": 1
},
"canvas": {
"width": 560,
"height": 275,
"backgroundColor": "#ffffff",
"borderRadius": 24
},
"elements": []
}/api/v1/card-layouts認証済みユーザーが所有するレイアウト一覧を新しい順で取得します。
認証
card-layouts:readレスポンス
{
"layouts": [
{
"id": "cl_xxx",
"name": "My Layout",
"description": null,
"visibility": "private",
"sourceId": null,
"createdAt": "2026-03-08T12:00:00.000Z",
"updatedAt": "2026-03-08T12:00:00.000Z"
}
]
}/api/v1/card-layouts新しいカードレイアウトを作成します。
認証
card-layouts:writeリクエストボディ
| パラメータ | 型 | 説明 |
|---|---|---|
| name | string | レイアウト名(1〜100文字) |
| description | string | null | レイアウト説明(任意、最大500文字) |
| layoutData | object | キャンバスと要素を含むレイアウト定義(JSON、最大1MB) |
| visibility | string | private / link_shared / same_instance / public。省略時は private。 |
/api/v1/card-layouts/:idIDでカードレイアウト詳細を取得します。ログイン時は isOwner / canImport / isImported なども返ります。
認証
認証不要(公開エンドポイント)
private は所有者のみ、same_instance は同一ドメインのログインユーザーのみ、link_shared / public は公開アクセス可能です。
パスパラメータ
| パラメータ | 説明 |
|---|---|
| id | レイアウトID |
/api/v1/card-layouts/:id既存レイアウトを更新します。指定したフィールドのみ更新されます。
認証
card-layouts:write更新・削除はレイアウト所有者のみ実行できます。
/api/v1/card-layouts/:id既存レイアウトを削除します。アクティブ設定中なら activeCardLayoutId も解除されます。
認証
card-layouts:write更新・削除はレイアウト所有者のみ実行できます。
/api/v1/card-layouts/gallery共有ギャラリーを取得します。未ログイン時は public のみ、ログイン時は same_instance も対象になります。
認証
認証不要(公開エンドポイント)
クエリパラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
| cursor | string | 前のレスポンスからのページネーションカーソル(質問 ID) |
/api/v1/card-layouts/:id/import共有レイアウトを自分のライブラリへコピー(import)します。取り込み先 visibility は private になります。
認証
card-layouts:write