# API仕様書
## 1. 概要
### 1.1 目的
[APIの目的と主な機能について簡潔に説明してください]
### 1.2 対象ユーザー
[このAPIが想定するユーザー層や利用シーンについて説明してください]
### 1.3 技術仕様
- **API形式**: [REST, GraphQL, SOAP, gRPC等]
- **データフォーマット**: [JSON, XML, Protocol Buffers等]
- **プロトコル**: [HTTP/HTTPS, WebSocket等]
## 2. 認証とアクセス制御
### 2.1 認証方式
[APIの認証方式について説明してください(API Key, OAuth 2.0, JWT等)]
例: Authorization: Bearer {token}
### 2.2 アクセス権限
[利用可能な権限レベルと各権限での操作範囲について説明してください]
### 2.3 レート制限
| プラン | リクエスト上限 | 期間 |
|--------|----------------|------|
| 無料 | [例: 100] | [例: 1時間あたり] |
| 有料 | [例: 1000] | [例: 1時間あたり] |
## 3. エンドポイント情報
### ベースURL
### 3.1 リソース: [リソース名]
#### [HTTPメソッド] [パス]
[このエンドポイントの機能説明]
**URL**: `[完全なURLパス]`
## 4. リクエスト仕様
### 4.1 クエリパラメータ
| パラメータ名 | 必須 | 型 | 説明 | デフォルト値 |
|------------|------|--------|------------------------|------------|
| [param1] | はい | string | [パラメータの説明] | - |
| [param2] | いいえ | number | [パラメータの説明] | [値] |
### 4.2 リクエストヘッダー
| ヘッダー名 | 必須 | 説明 |
|-------------------|------|--------------------------|
| Content-Type | はい | [例: application/json] |
| Authorization | はい | [認証情報について説明] |
### 4.3 リクエストボディ
[リクエストのボディ形式について説明してください(該当する場合)]
```json
{
"property1": "value1",
"property2": 123,
"nestedObject": {
"nestedProperty": "value"
}
}
プロパティ名 | 必須 | 型 | 説明 | 制約 |
---|---|---|---|---|
property1 | はい | string | [説明] | [例: 最大50文字] |
property2 | いいえ | number | [説明] | [例: 1から100の整数] |
nestedObject | いいえ | object | [説明] | - |
ステータスコード: 200 OK
{
"status": "success",
"data": {
"id": "12345",
"name": "サンプル名",
"createdAt": "2023-01-01T12:00:00Z"
}
}
フィールド名 | 型 | 説明 |
---|---|---|
status | string | リクエスト処理状態 |
data | object | レスポンスデータオブジェクト |
data.id | string | リソースの一意識別子 |
data.name | string | リソース名 |
data.createdAt | string | 作成日時(ISO 8601形式) |
ステータスコード: [適切なエラーコード(400, 401, 403, 404, 500等)]
{
"status": "error",
"code": "ERROR_CODE",
"message": "エラーメッセージ",
"details": {
"field": "エラーが発生したフィールド名",
"reason": "エラーの詳細な理由"
}
}
HTTPステータス | エラーコード | 説明 | 対処法 |
---|---|---|---|
400 | INVALID_REQUEST | リクエストパラメータが不正 | リクエスト内容を確認してください |
401 | UNAUTHORIZED | 認証に失敗 | 認証情報を確認してください |
403 | FORBIDDEN | 権限がない | 適切な権限を取得してください |
404 | RESOURCE_NOT_FOUND | リソースが見つからない | IDを確認してください |
429 | RATE_LIMIT_EXCEEDED | レート制限を超過 | リクエスト頻度を下げてください |
500 | INTERNAL_ERROR | サーバー内部エラー | サポートに連絡してください |
[リソースの概要説明]
プロパティ名 | 型 | 説明 | 例 |
---|---|---|---|
id | string | リソースの一意識別子 | "12345" |
name | string | リソースの名前 | "サンプル名" |
type | enum | リソースのタイプ | "standard", "premium" |
createdAt | string | 作成日時 | "2023-01-01T12:00:00Z" |
curl -X GET "<https://api.example.com/v1/resources?param1=value1>" \\
-H "Authorization: Bearer YOUR_API_TOKEN" \\
-H "Content-Type: application/json"
fetch('<https://api.example.com/v1/resources?param1=value1>', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
API Version: v1
バージョン | リリース日 | 変更内容 |
---|---|---|
v1.0.0 | 2025-05-01 | 初期リリース |
機能 | 非推奨バージョン | 削除予定バージョン | 代替手段 |
---|---|---|---|
/v1/old-endpoint |
v1.1.0 | v2.0.0 | /v1/new-endpoint を使用 |
[APIの利用条件について説明してください]