2つのAPI

Hirameki Web には2つのAPIがあります。

Internal API

Firebase Bearer Token認証。サイト作成・削除・メディア管理・アナリティクス設定など、アプリ内部で使用するエンドポイント。

Public API (v1)

X-API-Key認証。外部アプリケーションからサイトデータの読み取り・ページ更新を行うためのRESTエンドポイント。

ベースURL

https://app.hirameki-web.com/api

認証

Internal API

Firebase IDトークンをBearerヘッダーに付与:
Authorization: Bearer {firebase_id_token}

Public API (v1)

APIキーを X-API-Key ヘッダーに付与:
X-API-Key: hrmk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
APIキーの管理方法は APIキー管理 を参照してください。

レート制限

対象制限
Internal API (/api/*)100リクエスト / 15分
Public API (/api/v1/*)60リクエスト / 分

エラーレスポンス

{
  "success": false,
  "error": "Error message"
}

ステータスコード

ステータス意味
200成功
400パラメータ不足・バリデーションエラー
401認証失敗(トークン/APIキー未設定・期限切れ)
403サイト所有権がない / スコープ不足
404リソースが存在しない
429レート上限超過
500サーバーエラー

APIキー管理

APIキーはアプリの「連携」ページから管理できます。1ユーザーにつき1つのアクティブなキーを持てます。

スコープ

スコープ権限
readGET エンドポイントのみ(デフォルト)
readwriteGET + PUT エンドポイント

キーの操作(Internal API)

操作メソッドエンドポイント
作成POST/api/api-keys
取得GET/api/api-keys
再生成POST/api/api-keys/regenerate
無効化DELETE/api/api-keys
監査ログGET/api/api-audit-logs

Public API (v1) エンドポイント

メソッドエンドポイント説明スコープ
GET/api/v1/userユーザー情報を取得read
GET/api/v1/sitesサイト一覧を取得read
GET/api/v1/sites/:siteIdサイト詳細を取得read
GET/api/v1/sites/:siteId/pagesページ一覧を取得read
GET/api/v1/sites/:siteId/pages/:slugページHTMLを取得read
PUT/api/v1/sites/:siteId/pages/:slugページHTMLを更新readwrite

Internal API エンドポイント