RACCO API / v1
あなたの実績を、
いつものツールへ。
RACCOに記録した稼働実績を、AIやスクリプトから読み取れます。APIキー1本で、自分の案件・月次・日別の実績にアクセス。
https://app.racco-app.link/api/external/v1読み取り専用 · 日本時間 · 時間は分単位
はじめる
- 設定 → API連携でAPIキーを発行します。
- 秘密情報ストアから環境変数
RACCO_API_KEYにキーを設定します。 - 月次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
日本時間・分単位。稼働中を含む。月ごと・案件ごとに集計し、メモ・勤務時刻・契約条件は返さない。
クエリパラメーター
| 名前 | 型・必須 | 説明 |
|---|---|---|
month | string必須 | 対象月。日本時間の YYYY-MM(例:2026-10)。形式^(?!0000)\d{4}-(0[1-9]|1[0-2])$ |
projectId | string(任意) | 案件の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
日本時間・分単位。稼働中を含む。月ごと・案件ごとに集計し、メモ・勤務時刻・契約条件は返さない。
クエリパラメーター
| 名前 | 型・必須 | 説明 |
|---|---|---|
from | string必須 | 開始日。日本時間の YYYY-MM-DD。 |
to | string必須 | 終了日。開始日・終了日を含めて最大366日。 |
projectId | string(任意) | 案件の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側で拒否された場合は、この形式と異なることがあります。