2つのAPI
Hirameki Web には2つのAPIがあります。Internal API
Firebase Bearer Token認証。サイト作成・削除・メディア管理・アナリティクス設定など、アプリ内部で使用するエンドポイント。
Public API (v1)
X-API-Key認証。外部アプリケーションからサイトデータの読み取り・ページ更新を行うためのRESTエンドポイント。
ベースURL
認証
Internal API
Firebase IDトークンをBearerヘッダーに付与:Public API (v1)
APIキーをX-API-Key ヘッダーに付与:
レート制限
| 対象 | 制限 |
|---|---|
Internal API (/api/*) | 100リクエスト / 15分 |
Public API (/api/v1/*) | 60リクエスト / 分 |
エラーレスポンス
ステータスコード
| ステータス | 意味 |
|---|---|
200 | 成功 |
400 | パラメータ不足・バリデーションエラー |
401 | 認証失敗(トークン/APIキー未設定・期限切れ) |
403 | サイト所有権がない / スコープ不足 |
404 | リソースが存在しない |
429 | レート上限超過 |
500 | サーバーエラー |
APIキー管理
APIキーはアプリの「連携」ページから管理できます。1ユーザーにつき1つのアクティブなキーを持てます。スコープ
| スコープ | 権限 |
|---|---|
read | GET エンドポイントのみ(デフォルト) |
readwrite | GET + 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 |