コンテンツにスキップ

Overview

行政区域・郵便番号・最低賃金を、日付を指定して取得する API。決めた理由は docs/decisions/public-api.md にある。

日付(at)

どのエンドポイントも、at で日付を指定する。形式は YYYY-MM-DD(日本の暦の日付)だけで、時刻を含むと 400 になる。 省略すると日本時間の今日を使う。応答の at には、実際に使った日付が必ず入る。

有効期間

有効期間は valid_since の日を含み、valid_until の日を含まない。valid_until が null なら、データを更新した時点では終了日が分かっていない。 有効期間は応答の 1 件ごとに付き、その 1 件のどの値も変わらない期間のうち、at を含むものになる。

まだ効力のない値

答申された最低賃金や、告示済みでまだ施行されていない行政区域の変更のように、まだ効力のない値も、at に将来の日付を指定すれば返る。 応答の 1 件ごとに付く scheduled は、その 1 件の valid_since が日本時間の今日より後なら true になる。基準は at ではなく、呼び出した日である。

どの日付までのデータがあるかと見込み

sources[].known_through は、そのデータでどの日付まで分かっているかを示す。郵便番号は取り込んだ最新の更新の公開日、行政区域は最後に確認した日、最低賃金は最も遅い発効日になる。 at が sources のどれかの known_through より後なら、応答の projected が true になる。この応答は、今分かっている最新の状態がその日まで続くと仮定したもので、新しいデータを取り込むと変わることがある。 projected は 404 の本文にも付き、同じエンドポイントが 200 で返す sources のデータで決まる。

履歴の範囲外

履歴の起点はデータの種類ごとに違う。行政区域は 1970-04-01、郵便番号は 2023-04-28、最低賃金は都道府県ごとの 2002 年度の発効日。 起点より前の at には 422 out-of-coverage を返し、存在しない場合の 404 と区別する。

データの訂正

取り込んだデータの誤りを訂正すると、過去の日付に対する応答も変わる。訂正の履歴は https://strata.lambdado.com/corrections に載せ、sources[].updated_on も変わる。

バージョニング

フィールド・エンドポイント・列挙値を追加しても、バージョンは上げない。利用者は、知らないフィールドと列挙値を無視すること。 後方互換性のない変更では /v2 を新設し、/v1 も一定期間並行して提供する。

認証

公開サイトで組織ごとに発行した API キーを、Authorization: Bearer <API キー> で渡す。キーがない・正しくない・失効している場合と、組織が停止されている場合は 401 になる。

利用上限

上限は組織ごとに、日本時間の暦月あたり 10,000 回と、1 分(毎分 0 秒で区切る)あたり 60 回。超えると 429 を返し、Retry-After に次に呼び出せるまでの秒数を入れる。 認証を通り、上限で拒否されなかった呼び出しはすべて数える(400・404・422 も数える)。401 と 429 は数えない。

エラー

エラーはすべて application/problem+json(RFC 9457)で返す。種類は type で見分ける。

例について

例に載せた行政区域・郵便番号・最低賃金は、データ源にある実際の値である。ただし sources[].updated_on と sources[].known_through は、サービスの運用開始前のため、形式を示すための仮の値である。

公開サイトで組織ごとに発行する API キー

Security scheme type: http