Mewk

カードレイアウト

カスタムカードレイアウトの作成・更新・共有・取り込みを行うエンドポイントです。

制限と検証

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": []
}
GET/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"
    }
  ]
}
POST/api/v1/card-layouts

新しいカードレイアウトを作成します。

認証

card-layouts:write

リクエストボディ

パラメータ説明
namestringレイアウト名(1〜100文字)
descriptionstring | nullレイアウト説明(任意、最大500文字)
layoutDataobjectキャンバスと要素を含むレイアウト定義(JSON、最大1MB)
visibilitystringprivate / link_shared / same_instance / public。省略時は private。
GET/api/v1/card-layouts/:id

IDでカードレイアウト詳細を取得します。ログイン時は isOwner / canImport / isImported なども返ります。

認証

認証不要(公開エンドポイント)

private は所有者のみ、same_instance は同一ドメインのログインユーザーのみ、link_shared / public は公開アクセス可能です。

パスパラメータ

パラメータ説明
idレイアウトID
PUT/api/v1/card-layouts/:id

既存レイアウトを更新します。指定したフィールドのみ更新されます。

認証

card-layouts:write

更新・削除はレイアウト所有者のみ実行できます。

DELETE/api/v1/card-layouts/:id

既存レイアウトを削除します。アクティブ設定中なら activeCardLayoutId も解除されます。

認証

card-layouts:write

更新・削除はレイアウト所有者のみ実行できます。

POST/api/v1/card-layouts/:id/import

共有レイアウトを自分のライブラリへコピー(import)します。取り込み先 visibility は private になります。

認証

card-layouts:write