# オープンデータ API

Tempussit で公開されているすべて — コース、ブログ記事、用語、よくある質問 — を、プログラムや AI アシスタント向けに JSON で提供しています。読み取り専用で、キーや登録は不要です。

## 提供内容

**`GET /data/v1/index.json`**

目次：サイトの言語、コースカタログ、すべてのデータファイルへのリンク。

**`GET /data/v1/courses/{languageKey}.json`**

カタログの 1 言語のコース、1 ページ 100 件（?page= パラメーター）。

**`GET /data/v1/course/{slug}.json`**

公開中のコース 1 件のカード：タイトル、説明、著者、言語、価格、カリキュラム、ページのアドレス、カバー画像。

**`GET /data/v1/{languageCode}/{kind}.json`**

サイトの 1 言語の用語、よくある質問、ブログのセクションと記事。

**`GET /data/v1/openapi.json`**

すべての応答を OpenAPI 3.1 形式で記述したもの。

## リクエストの例

```
curl https://tempussit.com/data/v1/index.json
curl https://tempussit.com/data/v1/courses/ja.json
curl https://tempussit.com/data/v1/course/{slug}.json
curl -I https://tempussit.com/data/v1/ja/faq.json

fetch("https://tempussit.com/data/v1/ja/glossary.json")
  .then(response => response.json());
```

## 利用条件

- 読み取り専用：受け付けるのは GET と HEAD のリクエストのみです。
- 1 つの IP アドレスからの 1 分あたりのリクエスト数は制限されています。上限を超えると Retry-After ヘッダー付きの 429 を返します。
- 応答は 5 分間キャッシュでき、どのサイトのブラウザーからでも取得できます（Access-Control-Allow-Origin: \*）。
- 公開ページで見える内容のみ：下書き、購入情報、個人データは含みません。
- バージョンはアドレスの一部です（/data/v1/）。バージョンなしの以前のアドレスも引き続き使えます。

2026年11月9日更新
