Open API v1
クイックスタート
自分のアカウントで API を使う場合は、個人 API キーを作成します。他のユーザー向けのアプリには、下記の事業者向け OAuth 手順を使います。
アプリ連携個人 API キーを使う
個人コンソールで profile.read 権限を持つ API キーを作成し、下の例で自分のアカウント情報を取得できます。キーは一度しか表示されないため、保存してください。
利用方法を見るGET https://api.harperharbor.com/open/v1/me
Authorization: Bearer <personal API key>
language: en事業者向け連携 · OAuth
1 · クライアントを登録
オリジンごとに一度登録します。リダイレクト URI は https(開発時は localhost 可)で、フラグメントを含めてはいけません。返された client_id を保存します。
POST https://api.harperharbor.com/oauth/register Content-Type: application/json { "client_name": "Your app", "redirect_uris": ["https://app.example.com/oauth/callback"], "grant_types": ["authorization_code", "refresh_token"] } → 201 { "client_id": "…" }2 · ユーザーに認可を求める
PKCE(S256)付き認可コード。resource 指示子を含めると、トークンがオープン API のオーディエンスに束縛されます。
https://api.harperharbor.com/oauth/authorize ?response_type=code &client_id=… &redirect_uri=https://app.example.com/oauth/callback &resource=https://api.harperharbor.com/open/v1 &state=… &code_challenge=… # base64url(sha256(verifier)) &code_challenge_method=S2563 · コードを交換
コードと verifier をトークンエンドポイントに POST。アクセストークンとリフレッシュトークンを受け取ります。
POST https://api.harperharbor.com/oauth/token Content-Type: application/x-www-form-urlencoded grant_type=authorization_code&code=…&client_id=… &redirect_uri=…&code_verifier=…&resource=https://api.harperharbor.com/open/v1 → 200 { "access_token": "…", "refresh_token": "…", "expires_in": 3600 }4 · 最初の呼び出し
Authorization ヘッダーに Bearer トークンを設定し、language ヘッダーを付けます。レスポンスのユーザー ID は公開の数値 ID で、内部アカウント識別子は含みません。
GET https://api.harperharbor.com/open/v1/me Authorization: Bearer <access token> language: en → 200 { "id": 100001, "nickname": "Aoi" }
リクエストヘッダー
| Authorization | Bearer <access token> |
| language | zh-Hant · zh-Hans · en · ja · ko |
| from | web (任意) |
エラー
エラーにはコード、メッセージ、再試行の可否が含まれます。個人 API キーで 401 が返る場合は、有効期限や取り消しの状態を確認してください。OAuth はトークンの更新を試し、失敗した場合は再認可を求めます。
{ "error": "unauthorized | forbidden | not_found | internal",
"message": "…",
"retryable": true }上限
アプリごとに日次の credits 上限があり、利用量を制限します。上限に対する追加料金はありません。使用量は開発者コンソールでアプリ、サービス、レーン別に確認できます。