RACCO DevelopersAPIキーを管理 ↗

RACCO API / v1

あなたの実績を、
いつものツールへ。

RACCOに記録した稼働実績を、AIやスクリプトから読み取れます。APIキー1本で、自分の案件・月次・日別の実績にアクセス。

ベースURLhttps://app.racco-app.link/api/external/v1

読み取り専用 · 日本時間 · 時間は分単位

はじめる

  1. 設定 → API連携でAPIキーを発行します。
  2. 秘密情報ストアから環境変数 RACCO_API_KEY にキーを設定します。
  3. 月次APIを呼び出します。
curl --fail-with-body \
  --header "Authorization: Bearer $RACCO_API_KEY" \
  'https://app.racco-app.link/api/external/v1/reports/monthly?month=2026-10'
Pythonの例
import json
import os
from urllib.request import Request, urlopen

request = Request(
    "https://app.racco-app.link/api/external/v1/reports/monthly?month=2026-10",
    headers={"Authorization": f"Bearer {os.environ['RACCO_API_KEY']}"},
)
with urlopen(request, timeout=30) as response:
    report = json.load(response)
print(json.dumps(report, ensure_ascii=False, indent=2))

AIに接続する場合も、キーはツールの秘密情報設定に保存してください。プロンプト・公開リポジトリ・URLには含めません。このページにキーを入力する必要はありません。

認証とキー管理

Authorization: Bearer <APIキー>

キーに紐づく本人の実績だけを取得します。ユーザーIDを指定して対象を切り替えることはできません。APIキーでは管理・更新APIを操作できません。

発行・有効期限・再発行について

1ユーザーにつき1本です。全文は発行直後だけ表示されます。有効期限は1・7・14・30・60・90・180・365日、日付指定、無期限から選べます(初期値30日)。日数指定は発行時刻から、日付指定は翌日から365日先までの指定日の終了(日本時間)までです。

再発行・無効化が完了すると、旧キーは次の認証から使えません。認証済みのリクエストは完了する場合があります。アカウント削除の受付後も認証できません。

キーはバックアップ・復元の対象外です。有効なキーは復元後の現在のデータを読み取ります。

ENDPOINT

本人の月次実績

GET /reports/monthly

日本時間・分単位。稼働中を含む。月ごと・案件ごとに集計し、メモ・勤務時刻・契約条件は返さない。

クエリパラメーター

名前型・必須説明
monthstring必須対象月。日本時間の YYYY-MM(例:2026-10)。
形式^(?!0000)\d{4}-(0[1-9]|1[0-2])$
projectIdstring(任意)案件のUUID。省略すると本人の全案件。別ユーザーの案件は取得できません。

リクエスト例

curl --fail-with-body \
  --header "Authorization: Bearer $RACCO_API_KEY" \
  'https://app.racco-app.link/api/external/v1/reports/monthly?month=2026-10'
レスポンスの構造
フィールド型説明
data必須MonthlyReport[]
serverNow必須stringレスポンス生成時刻(UTC)

成功時は 200。該当する案件がない場合は data: [] を返します。

ENDPOINT

本人の期間指定実績(最大366日、両端を含む)

GET /reports/range

日本時間・分単位。稼働中を含む。月ごと・案件ごとに集計し、メモ・勤務時刻・契約条件は返さない。

クエリパラメーター

名前型・必須説明
fromstring必須開始日。日本時間の YYYY-MM-DD。
tostring必須終了日。開始日・終了日を含めて最大366日。
projectIdstring(任意)案件のUUID。省略すると本人の全案件。別ユーザーの案件は取得できません。

リクエスト例

curl --fail-with-body \
  --header "Authorization: Bearer $RACCO_API_KEY" \
  'https://app.racco-app.link/api/external/v1/reports/range?from=2026-10-01&to=2026-10-31'
レスポンスの構造
フィールド型説明
data必須MonthlyReport[]
serverNow必須stringレスポンス生成時刻(UTC)

成功時は 200。該当する案件がない場合は data: [] を返します。

レスポンス

案件・月ごとの集計を data に返します。以下は説明用の架空データです。

{
  "data": [
    {
      "month": "2026-10",
      "projectId": "00000000-0000-4000-8000-000000000001",
      "projectName": "サンプル案件",
      "actualMinutes": 480,
      "billableMinutes": 480,
      "breakMinutes": 60,
      "workDays": 1,
      "days": [
        {
          "date": "2026-10-01",
          "actualMinutes": 480,
          "billableMinutes": 480,
          "breakMinutes": 60
        }
      ]
    }
  ],
  "serverNow": "2026-10-16T09:00:00.000Z"
}

案件・月ごとの集計

フィールド型説明
month必須string対象月。日本時間の YYYY-MM(例:2026-10)。
projectId必須string案件のUUID
projectName必須string案件名
actualMinutes必須integer実稼働時間(分)
billableMinutes必須integer契約の丸め処理を適用した請求時間(分)。日別は月単位の丸めの場合 null。
breakMinutes必須integer休憩時間(分)
workDays必須integer案件ごとの稼働日数。同じ日に複数案件で働くと各案件で数えます。
days必須DailyReport[]日付ごとの実績

日別の実績

フィールド型説明
date必須string実績の日付(日本時間)
actualMinutes必須integer実稼働時間(分)
billableMinutes必須integer | null契約の丸め処理を適用した請求時間(分)。日別は月単位の丸めの場合 null。
breakMinutes必須integer休憩時間(分)
集計の読み方

稼働中の時間も含みます。期間指定は、各月の指定範囲内だけを集計します。請求時間は契約の丸め処理に従い、月単位の丸めでは日別の billableMinutes が null になります。

勤務メモ・開始終了時刻・契約条件・月末見込みは返しません。serverNow はUTCのレスポンス生成時刻で、複数案件にまたがるデータベースの同一時点を保証するものではありません。

エラーと制限

HTTP意味・対応
400入力が不正です。日付・必須項目・UUIDを確認してください。定義にないパラメーターは指定できません。
401キーが不正・期限切れ・無効化済みです。設定画面で状態を確認してください。
429リクエスト過多です。間隔を空けて再試行してください。
5xx一時的なサーバーエラーです。間隔を空けて再試行してください。

各外部ルートは全ユーザー合計で毎秒5リクエスト・バースト10を目安に制限します。ベストエフォート制御のため、必ずこの回数まで成功する保証はありません。APIレスポンスはキャッシュしません。

アプリケーションエラーの形式
{
  "error": {
    "code": "UNAUTHENTICATED",
    "message": "有効なAPIキーが必要です"
  },
  "requestId": "example-request-id"
}

API Gateway側で拒否された場合は、この形式と異なることがあります。